Skip to content

fix: restore release builds and finish Minecraft 26.3 migration - #6

Merged
CoasterFreakDE merged 3 commits into
mainfrom
fix/26.3-release-build
Nov 4, 2026
Merged

CoasterFreakDE merged 3 commits into
mainfrom
fix/26.3-release-build

Conversation

@CoasterFreakDE

@CoasterFreakDE CoasterFreakDE commented Nov 4, 2026 •

Copy link
Copy Markdown
Member

Description

Restore reproducible release builds and complete the Minecraft 26.3 dimension migration.

  • Restore the last-green KPaperGradle version and canonical Maven Central, ModLabs hosted, and CodeMC repositories. KPaper stays at 2026.9.23.1637. The newer plugin changed both build resolution and its generated runtime loader to the broad mirror, which returned malformed .module JSON/POMs in the failed release. The mirror currently responds again, but is no longer a single dependency for all libraries.
  • Accept 26.3 Misode shares and emit data pack format 121.0. Upgrade existing WorldEngine 107.1 metadata and migrate bed_rule.explodes to destroy_on_use, preserving explicit new values, custom/rich-text metadata, and Geyser normalization. Dimension files migrate atomically before metadata is advanced; repeat runs are idempotent.
  • Update README compatibility, upgrade notes, build instructions, canonical dependency repository, and the pre-release server smoke-test checklist.
  • Add a PR-only read-only build workflow. It runs bash gradlew clean build --refresh-dependencies --no-daemon and uploads test reports, without publishing packages or releases.

Type of change

  • Bug fix
  • Documentation update

Validation

Validated head: dc35648408b012582a6f98274588bba2ad7aff0a.

The local workspace could not resolve Gradle plugins through its Java networking, so full builds ran in the existing GitHub/Jenkins infrastructure. Existing Gradle/Node deprecation warnings remain; they do not fail the build.

Sources

This remains a draft. Nothing has been merged, deployed, or released.

@diffy-bot

diffy-bot Bot commented Nov 4, 2026

Copy link
Copy Markdown

Summary of changes

Overview

  • Added a GitHub Actions workflow to build and test pull requests targeting main.
  • Updated and extended unit tests in WorldEngineTest.kt:
    • Bumped snippet version from 26.2 to 26.3.
    • Added validation that decoding an outdated snippet (26.2) fails.
    • Added stricter assertions for staged pack metadata (pack_format and min/max formats).
    • Introduced three new tests covering migration and metadata refresh behavior for dimension datapacks.

Files added

.github/workflows/build.yml (new)

  • Workflow name: Build
  • Trigger: pull_request on branch main.
  • Permissions: contents: read.
  • Single job build:
    • runs-on: blacksmith-4vcpu-ubuntu-2404 (custom/self-hosted runner label).
    • Steps:
      • actions/checkout@v4
      • actions/setup-java@v4 with distribution temurin, java-version: 25
      • gradle/actions/setup-gradle@v4
      • Run build: bash gradlew clean build --refresh-dependencies --no-daemon
      • Upload test reports artifact from build/reports/tests/test/ (if any)

Files modified

src/test/kotlin/cc/modlabs/worldengine/WorldEngineTest.kt

Key changes:

  • In the existing test:
    • Updated snippet version property from "26.2" to "26.3".
    • Added an assertion that decoding a snippet stamped with the older "26.2" version throws an IllegalArgumentException.
    • Replaced a simple existence check of pack.mcmeta with more explicit JSON assertions:
      • Asserts pack_format == 121
      • Asserts min_format == [121,0] and max_format == [121,0]
  • Added test: existing dimension packs migrate to 26_3 without losing custom metadata
    • Sets up a temp dimension-datapack with:
      • pack.mcmeta containing custom fields and older formats (pack_format 107 and min/max [107,1]).
      • Two sample dimension type files: legacy.json and explicit.json.
    • Calls DimensionDatapack.normalizeStagedDimensions(directory) and asserts:
      • It returns 2 (two items normalized).
      • pack.mcmeta updated to pack_format == 121 and min/max [121,0]
      • Custom description and custom.keep retained.
      • Migration logic applied to the minecraft:gameplay/bed_rule attribute:
        • legacy.json ends up with destroy_on_use = true, can_sleep = "never", and no explodes.
        • explicit.json has destroy_on_use = false and no explodes.
      • A second call to normalizeStagedDimensions returns 0 and leaves pack.mcmeta unchanged (idempotence).
    • Cleans up temporary directory on completion.
  • Added test: staging a dimension refreshes existing pack metadata
    • Creates pack.mcmeta with old pack format (107 + min/max [107,1]).
    • Calls DimensionDatapack.stage(...) to stage a new dimension.
    • Asserts pack.mcmeta updated to pack_format == 121 and min/max [121,0].
    • Cleans up temporary directory.

Testing & behavior changes

  • Tests now verify strict migration behavior to pack format 121 and that custom metadata is preserved during migration.
  • Added regression test ensuring decoding rejects outdated snippet versions.
  • Assertions focus on JSON content rather than just file presence.

Suggestions / Potential issues

  • Workflow runner label blacksmith-4vcpu-ubuntu-2404 appears to be a self-hosted or custom runner name. Ensure this runner exists in your CI environment; otherwise the workflow will not run on GitHub-hosted runners.
  • actions/setup-java: java-version: 25 is fairly recent — confirm build tools (Gradle, dependencies, and the project) are compatible with Java 25.
  • The workflow step runs bash gradlew ... instead of ./gradlew — this works when gradlew is executable, but consider using ./gradlew for portability or ensuring gradlew has execute permission.
  • Tests compare JSON array string representations (e.g., "[121,0]"). This can be brittle if JSON formatting or library behavior changes; consider comparing parsed JSON arrays directly for robustness.
  • Ensure artifact upload path build/reports/tests/test/ matches the actual test report output location across CI environments.

TL;DR

  • Added a CI build workflow for PRs.
  • Extended tests to require migration to pack_format 121 and to verify migration preserves custom metadata and behavior; added checks for rejecting old snippet versions.

You can generate a new summary by commenting @diffy-bot.

@blacksmith-sh

This comment has been minimized.

@diffy-bot

diffy-bot Bot commented Nov 4, 2026

Copy link
Copy Markdown

Summary

TL;DR: Adds a GitHub Actions workflow for building/tests, adjusts Gradle plugin and repositories to avoid a mirrored modlabs repo, and updates/extends unit tests to bump snippet version and add multiple migration/validation tests for dimension datapacks and pack metadata.

Files changed

  • Added: .github/workflows/build.yml
  • Modified: build.gradle.kts
  • Modified: settings.gradle.kts
  • Modified: src/test/kotlin/cc/modlabs/worldengine/WorldEngineTest.kt

.github/workflows/build.yml (new)

  • New GitHub Actions workflow named "Build".
  • Triggers: pull_request on branch main.
  • Permissions: contents: read.
  • Job build:
    • runs-on: blacksmith-4vcpu-ubuntu-2404 (custom/self-hosted runner label).
    • Steps:
      • actions/checkout@v4
      • actions/setup-java@v4 (temurin, java-version: 25)
      • gradle/actions/setup-gradle@v4
      • Runs: bash gradlew clean build --refresh-dependencies --no-daemon
      • Uploads test reports artifact from build/reports/tests/test/ (if any)

build.gradle.kts (modified)

  • Plugins:
    • Kept kotlin("jvm"), java-library, io.papermc.paperweight.userdev, maven-publish.
    • Downgraded/changed cc.modlabs.kpaper-gradle plugin version from
      2026.9.26.1231+kpaper.2026.9.23.1637 to 2026.9.23.1656+kpaper.2026.9.23.1637.
      • Comment: "Keep the loader on canonical repositories; the newer plugin hardcodes the mirror."
  • Repositories:

settings.gradle.kts (modified)


src/test/kotlin/cc/modlabs/worldengine/WorldEngineTest.kt (modified, tests extended)

  • Updated an existing test snippet version:

    • version changed from "26.2" → "26.3".
  • Added assertion to reject outdated snippet versions:

    • Creates outdatedSnippet with version "26.2" and asserts that decoding it throws IllegalArgumentException.
  • Replaced a simple existence check for pack.mcmeta with detailed metadata assertions:

    • Validates pack_format equals 121 and min_format/max_format equal "[121,0]".
  • Added multiple new tests focusing on migration and metadata behavior:

    1. existing dimension packs migrate to 26_3 without losing custom metadata
      • Creates a temporary dimension-datapack with pack.mcmeta (pack_format 107 and custom metadata).
      • Writes three types: legacy.json (with min_y, height and gameplay bed_rule), explicit.json, non_explosive.json.
      • Calls DimensionDatapack.normalizeStagedDimensions(directory) and validates:
        • It reports 3 normalized dimensions.
        • pack.mcmeta still contains the custom metadata.
        • pack_format updated to 121 and min_format/max_format updated to "[121,0]".
        • Confirms bed_rule attributes were normalized: converts/remove explode flags and sets destroy_on_use appropriately per file.
        • After normalization, calling normalizeStagedDimensions again returns 0 and pack.mcmeta unchanged.
    2. staging a dimension refreshes existing pack metadata
      • Creates pack.mcmeta with pack_format 107 and custom metadata.
      • Calls DimensionDatapack.stage to add a new dimension and asserts pack.mcmeta pack_format updated to 121 while preserving custom metadata.
    3. metadata-only packs migrate before dimension discovery
      • Creates only pack.mcmeta with pack_format 107.
      • Calls normalizeStagedDimensions and asserts pack.mcmeta pack_format/min/max updated to 121 / "[121,0]" even when no dimension files exist.
  • Cleanup: temporary directories are deleted recursively in finally blocks.


Behavioral impact

  • Tests assert migration from pack_format 107 to 121 and add stricter validation for snippet versions and pack metadata.
  • Build workflow added to run Gradle build and upload test reports for PRs targeting main.
  • Plugin change reverts to a version that (per comment) uses canonical repositories instead of a mirror.

Suggestions / Potential issues

  • GitHub Actions runner:
    • The workflow uses a runner label blacksmith-4vcpu-ubuntu-2404. Ensure this runner exists (self-hosted or organization runner). If intended to use GitHub-hosted runners, switch to a supported label (e.g., ubuntu-latest).
  • Java version:
    • actions/setup-java sets java-version: 25. Java 25 is very new/early access; ensure dependencies and build tools support it. Consider targeting a stable LTS (e.g., 17, 21) unless Java 25 is required.
  • Repository/trust:
    • Changing repository ordering to prefer Maven Central is good; however pulling from external/mirrored repos (repo-api.modlabs.cc) can be a supply-chain risk. Verify repository trust and availability.
  • Action pins:
    • Actions are pinned to major versions (v4). Consider pinning to exact minor/patch if reproducibility and security are a concern (or rely on dependabot for updates).
  • Caching and performance:
    • Workflow runs a full gradle build with --refresh-dependencies. Consider adding Gradle dependency/cache steps to speed CI and reduce network usage.
  • Artifact path:
    • Uploaded artifact path build/reports/tests/test/ is typical; confirm test report output location matches (Kotlin/JUnit paths can differ).
  • Tests assumptions:
    • The tests mutate filesystem metadata and expect normalizeStagedDimensions/stage behavior. Ensure these functions are tested in isolation and are deterministic on CI.

You can generate a new summary by commenting @diffy-bot.

@diffy-bot

diffy-bot Bot commented Nov 4, 2026

Copy link
Copy Markdown

Summary of changes

  • Added: .github/workflows/build.yml

    • New GitHub Actions workflow named "Build" that runs on pull_requests to main.
    • Runs on runner: blacksmith-4vcpu-ubuntu-2404.
    • Steps:
      • checkout
      • setup Java (Temurin) java-version: 25
      • setup gradle
      • run: bash gradlew clean build --refresh-dependencies --no-daemon
      • upload test reports artifact (build/reports/tests/test/), if-no-files-found: ignore
  • README.md

    • Bumped Paper compatibility note from 26.2 -> 26.3 and documents compilation against 26.3.build.42-alpha.
    • Added "Build and validate" section with suggested local build command (bash gradlew ...) and instructions for smoke-testing before release (Paper 26.3 server, backup advice).
    • Documents that KPaperGradle is pinned to a version that resolves through canonical repositories rather than a ModLabs mirror and notes KPaper library version remains 2026.9.23.1637.
    • Updated Misode/Misode share instructions to reference Minecraft 26.3 and added note about pack format 121.0 and migration of explodes -> destroy_on_use.
    • Repository URL change: examples show switching from ModLabs "maven-mirror" to "maven-public".
  • build.gradle.kts

    • Downgraded/changed KPaperGradle plugin version from
      2026.9.26.1231+kpaper.2026.9.23.1637
      to
      2026.9.23.1656+kpaper.2026.9.23.1637 with comment: "Keep the loader on canonical repositories; the newer plugin hardcodes the mirror."
    • Repositories:
      • Added mavenCentral()
      • Removed direct use of the modlabs "maven-mirror" URL; added https://repo-api.modlabs.cc/repo/maven/maven-public/ (in addition to other repos).
  • settings.gradle.kts

    • pluginManagement repository changed from ModLabs "maven-mirror" to "maven-public".
  • src/main/kotlin/.../DimensionDatapack.kt

    • Bumped MINECRAFT_VERSION constant from "26.2" -> "26.3".
    • Renamed and extended normalization logic:
      • normalizeForGeyser -> normalizeDimensionType
      • New behavior: when an attributes.minecraft:gameplay/bed_rule object contains explodes, the code will remove explodes and add destroy_on_use if destroy_on_use is not already present (preserving explicit new values if provided).
    • normalizeStagedDimensions:
      • Now iterates only if type directory exists (previous flow restructured).
      • Calls normalizeDimensionType for each JSON and writes back if changed.
      • After migrating files, calls new upgradePackMetadata to update pack metadata.
    • New function upgradePackMetadata(path: Path):
      • Only runs if pack.mcmeta exists and pack.pack_format == 107 (the old WorldEngine 26.2 pack).
      • Replaces fields pack_format/min_format/max_format with the current PACK_META values (now 121 / [121,0]).
      • Updates description only when it exactly matches the old default description.
      • Preserves unrelated top-level JSON fields (e.g., custom metadata) while updating pack data.
    • When staging a dimension, the code now calls normalizeStagedDimensions(dataDirectory) earlier, and writes normalized dimension type JSON via normalizeDimensionType.
    • Updated log message to: "Migrated $migrated WorldEngine dimension types for Minecraft $MINECRAFT_VERSION and Geyser".
    • PACK_META updated:
      • Description now includes the MINECRAFT_VERSION variable.
      • pack_format changed 107 -> 121 and min/max formats updated to [121,0].
  • Tests (src/test/kotlin/.../WorldEngineTest.kt)

    • Updated snippet version expectation from "26.2" -> "26.3".
    • Added test asserting that an outdated snippet (26.2) will cause decodeSnippet to throw IllegalArgumentException.
    • Adjusted tests to check that produced pack.mcmeta has pack_format 121 and min/max format arrays [121,0].
    • Added several new tests:
      • existing dimension packs migrate to 26_3 without losing custom metadata:
        • Creates a legacy pack.mcmeta and several dimension_type JSONs (with explodes variations).
        • Asserts normalizeStagedDimensions migrates 3 files and checks:
          • custom top-level metadata preserved
          • pack metadata updated to pack_format 121 and formats [121,0]
          • bed_rule explodes removed and destroy_on_use added appropriately (preserves explicit destroy_on_use).
          • repeated call to normalizeStagedDimensions returns 0 and pack.mcmeta is unchanged.
      • staging a dimension refreshes existing pack metadata:
        • Ensures staging a new dimension refreshes pack.mcmeta fields while preserving custom description objects (rich JSON description).
      • metadata-only packs migrate before dimension discovery:
        • Ensures that if only pack.mcmeta exists (no types), normalizeStagedDimensions still upgrades metadata and returns 0 changes for types.

TL;DR

  • Upgrade target to Minecraft/Paper 26.3, bump pack format to 121, migrate bed_rule explodes -> destroy_on_use.
  • Add CI workflow building with Java 25 and the Gradle wrapper.
  • Pin KPaperGradle to a version that avoids a ModLabs mirror and switch repositories to canonical modlabs "maven-public" + mavenCentral.
  • Add robust pack metadata migration and a suite of tests verifying migration and metadata preservation.

Suggestions

  • CI runner: verify the specified runner label (blacksmith-4vcpu-ubuntu-2404) is available in your GitHub environment (it looks like a custom/self-hosted label). If this is intended to be github-hosted, confirm availability; otherwise add self-hosted runner setup docs or use ubuntu-latest if appropriate.
  • Java 25 availability: ensure actions/setup-java provides Temurin JDK 25 on the chosen runner. If JDK 25 is not commonly available, the workflow may fail on GitHub hosted runners.
  • Artifact upload: uploading test reports is fine, but be sure test report contents do not include sensitive data before storing artifacts publicly accessible to PRs.
  • Migration safety: the pack metadata upgrade only targets pack_format == 107 (good). Still validate on a backup world before production upgrade (README already recommends this).
  • Consider adding CI job step to run the new unit tests in an isolated environment that simulates pack migration edge cases (some are covered already, but integration/smoke tests could be useful).
  • Keep an eye on third-party repository availability (modlabs, codemc, etc.) in CI; adding mavenCentral is good, but you may want to add retry logic or mirror fallbacks if builds become flaky.

You can generate a new summary by commenting @diffy-bot.

@CoasterFreakDE
CoasterFreakDE marked this pull request as ready for review November 4, 2026 12:19
@diffy-bot

diffy-bot Bot commented Nov 4, 2026

Copy link
Copy Markdown

Summary

TL;DR

  • Introduces a GitHub Actions build workflow.
  • Upgrades supported Minecraft / data-pack format from 26.2 → 26.3 and pack_format 107 → 121.
  • Adds robust migration logic for staged dimension datapacks (including migrating bed_rule.explodes → destroy_on_use) and updates pack metadata safely.
  • Pins/changes Gradle plugin and repository URLs to avoid a problematic ModLabs mirror.
  • Adds many unit tests around migration and staging behavior.
  • README expanded with build/validation instructions and migration guidance.

Files changed / added

  • Added: .github/workflows/build.yml
  • Modified: README.md
  • Modified: build.gradle.kts
  • Modified: settings.gradle.kts
  • Modified: src/main/kotlin/cc/modlabs/worldengine/dimensions/DimensionDatapack.kt
  • Modified: src/test/kotlin/cc/modlabs/worldengine/WorldEngineTest.kt

Key changes by area

CI: .github/workflows/build.yml (new)

  • New "Build" workflow triggered on pull_request to main.
  • Runs on runner: blacksmith-4vcpu-ubuntu-2404.
  • Steps:
    • actions/checkout@v4
    • actions/setup-java@v4 (Temurin, java-version: 25)
    • gradle/actions/setup-gradle@v4
    • Runs: bash gradlew clean build --refresh-dependencies --no-daemon
    • Uploads test reports artifact from build/reports/tests/test/ (if present)
  • Permissions: contents: read

README.md

  • Updates compatibility section to:
    • Paper 26.3 (compiled against 26.3.build.42-alpha)
    • Java 25
  • Adds a "Build and validate" section with:
    • Instructions to run the checked-in Gradle wrapper (bash gradlew clean build --refresh-dependencies --no-daemon).
    • Notes about Jenkins and build artifact.
    • Explanation that KPaperGradle is pinned to avoid a ModLabs mirror and KPaper library version remains 2026.9.23.1637.
    • Upgrade guidance — smoke-test JAR on isolated Paper 26.3 server and back up before upgrading.
  • Updates documentation to reference staging/importing Misode shares for Minecraft 26.3 and notes pack format 121.0; warns to back up worlds and dimension-datapack before upgrading.
  • Changes dependency repository URL example from ModLabs "maven-mirror" to "maven-public".

build.gradle.kts

  • Plugin version change:
    • Replaced: cc.modlabs.kpaper-gradle version "2026.9.26.1231+kpaper.2026.9.23.1637"
    • With pinned: "2026.9.23.1656+kpaper.2026.9.23.1637" and a comment explaining reason (avoid mirror).
  • Reworked repositories:
    • Removed direct use of modlabs maven-mirror as primary, added mavenCentral().
    • Added modlabs maven-public URL, keeping existing other repositories (extendedclip, papermc, codemc).

settings.gradle.kts

  • Plugin management repository switched from modlabs maven-mirror -> modlabs maven-public.
  • Keeps gradlePluginPortal and PaperMC repository, and mavenLocal.

DimensionDatapack.kt

  • Bumped MINECRAFT_VERSION constant from "26.2" → "26.3".
  • Changed log message when migrating staged dimensions to include new version and Geyser mention.
  • Renamed normalizeForGeyser → normalizeDimensionType and expanded behavior:
    • If attributes.minecraft:gameplay/bed_rule contains legacy "explodes", removes it and adds "destroy_on_use" unless destroy_on_use already present — preserving explicit new values if both existed.
    • Keeps logic to drop skybox for negative min_y and certain skybox values.
  • On stage() call:
    • Ensure normalizeStagedDimensions(dataDirectory) is called before writing the pack and type to ensure metadata is updated earlier.
  • normalizeStagedDimensions:
    • Adjusts to only process files if directory exists, iterates *.json files and uses normalizeDimensionType, writes back if changed, increments changed.
    • After processing all files, calls upgradePackMetadata(packDirectory(...).resolve("pack.mcmeta")) — only advertises new format after successful migration.
  • Added upgradePackMetadata(path: Path):
    • If pack.mcmeta exists and pack_format == 107 (the version produced by WorldEngine 26.2), upgrades fields pack_format/min_format/max_format to the new values from PACK_META and conditionally replaces the description if it matches the old default description string.
    • Preserves other metadata (e.g., custom fields) and avoids touching unknown/newer pack formats.
  • PACK_META updated:
    • description now interpolates MINECRAFT_VERSION and pack_format/min/max changed to 121 / [121,0].
  • hasDimension unchanged except path checks remain.

Tests: WorldEngineTest.kt

  • Updated existing test snippet version from "26.2" → "26.3".
  • Added assertion that outdated snippets (version 26.2) are rejected (assertFailsWith).
  • Updated assertions to check pack.mcmeta now reports pack_format 121 and min/max format arrays [121,0].
  • Added many new tests:
    • existing dimension packs migrate to 26_3 without losing custom metadata
      • Creates a fake pack with pack_format 107 and various dimension type JSONs (legacy/explodes, explicit destroy_on_use, non_explosive).
      • Verifies normalizeStagedDimensions migrates 3 files, updates pack.mcmeta (preserves custom metadata), converts "explodes" -> "destroy_on_use" appropriately, and that multiple idempotent runs do nothing.
    • staging a dimension refreshes existing pack metadata
      • Writes custom description pack.mcmeta with old format and ensures DimensionDatapack.stage upgrades pack_format while preserving custom description object and other custom fields.
    • metadata-only packs migrate before dimension discovery
      • Ensures a pack with only pack.mcmeta but no types is upgraded by normalizeStagedDimensions (0 type changes returned but pack metadata is refreshed).

Behavior & intent

  • The change upgrades the internal data-pack format and ensures automatic migration of previously staged dimension packs created by WorldEngine 26.2 to the new 26.3 format safely.
  • Migration preserves custom metadata keys and only upgrades pack metadata when it matches expected legacy values to avoid downgrading unknown/newer packs.
  • Bed-rule migration logic specifically converts/remaps the legacy "explodes" boolean to the new "destroy_on_use" boolean, but respects an explicit destroy_on_use value if present.
  • The repo usage and build tooling are adjusted to avoid a previously problematic ModLabs mirror; KPaper plugin pinned to a canonical plugin that uses the canonical repositories.

Suggestions / Notes

  • Repositories: moving away from a mirror to canonical repositories is a good safety measure. Ensure the new modlabs maven-public endpoint is trusted and available in CI.
  • GitHub Actions runner: the workflow uses a custom runner label (blacksmith-4vcpu-ubuntu-2404). Confirm this runner exists in your org/hosted runners; otherwise, use standard GitHub-hosted runner labels like ubuntu-latest.
  • Version pinning: the kpaper-gradle plugin was pinned to an earlier version to avoid mirror behavior. Consider adding a comment in build.gradle.kts about auditing/updating this pin when ModLabs repository routing is fixed.
  • Tests: new tests are thorough around migration; consider adding integration/smoke tests that run on an actual Paper 26.3 server as README recommends (this cannot be fully covered by unit tests).
  • Pack metadata upgrade logic is conservative (only upgrades when pack_format == 107 and description exactly matches legacy string for description replacement). This is intentional but be aware packs from other tools that happen to have pack_format 107 may get modified.
  • Thread-safety / concurrency: normalizeStagedDimensions is synchronized and migration writes files atomically; still validate behavior under concurrent server startup scenarios (pack discovery + staging) in integration testing.
  • Audit any other places relying on PACK_META or pack_format numeric constants to ensure consistency across the codebase.

You can generate a new summary by commenting @diffy-bot.

@CoasterFreakDE
CoasterFreakDE merged commit 279baaa into main Nov 4, 2026
4 checks passed
@CoasterFreakDE
CoasterFreakDE deleted the fix/26.3-release-build branch November 4, 2026 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant