From 2e5d6e042787d85dbec2b757ecea5d90081b9ea4 Mon Sep 17 00:00:00 2001 From: Dustin Norberg Date: Mon, 19 Oct 2026 05:37:46 -0400 Subject: [PATCH] Adopt NeoForge 21.1.264 after compatibility testing --- README.md | 2 +- build.gradle | 2 + docs/MILESTONE_7_COMPATIBILITY_REVIEW.md | 47 +++++++++++------------- docs/PREVIEW_COMPATIBILITY.md | 2 +- gradle.properties | 4 +- 5 files changed, 27 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index a5deb4d..e1c282e 100644 --- a/README.md +++ b/README.md @@ -208,7 +208,7 @@ Data-pack runtime profiles are documented in - A Java 21 JDK - Minecraft 1.21.1 -- NeoForge 21.1.251 or newer in the 21.1 line +- NeoForge 21.1.264 or newer in the 21.1 line - Dynamic Dimensions AR Edition 0.9.1 and Bad Packets 0.8.2 (client and server) Create is optional. When installed, Rivencraft uses its Ponder renderer for diff --git a/build.gradle b/build.gradle index 11a27ad..f0334ed 100644 --- a/build.gradle +++ b/build.gradle @@ -132,6 +132,8 @@ neoForge { server { server() + // Keep dedicated compatibility runs away from the normal dev world. + gameDirectory = project.file(project.findProperty('serverRunDir') ?: 'run') programArgument '--nogui' systemProperty 'neoforge.enabledGameTestNamespaces', project.mod_id } diff --git a/docs/MILESTONE_7_COMPATIBILITY_REVIEW.md b/docs/MILESTONE_7_COMPATIBILITY_REVIEW.md index b881a85..f47c3be 100644 --- a/docs/MILESTONE_7_COMPATIBILITY_REVIEW.md +++ b/docs/MILESTONE_7_COMPATIBILITY_REVIEW.md @@ -1,7 +1,7 @@ # Milestone 7 compatibility review (#82) -Reviewed 2026-10-19 for Minecraft 1.21.1. The project compiles against -NeoForge 21.1.251 and advertises that as its minimum. The official +Reviewed 2026-10-19 for Minecraft 1.21.1. The project now compiles against +NeoForge 21.1.264 and advertises that as its minimum. The official [NeoForge Maven metadata](https://maven.neoforged.net/releases/net/neoforged/neoforge/maven-metadata.xml) lists 21.1.264 as the newest 21.1 release. Its [changelog](https://maven.neoforged.net/releases/net/neoforged/neoforge/21.1.264/neoforge-21.1.264-changelog.txt) @@ -11,15 +11,16 @@ direction/decoding limits (21.1.261), ad-hoc channel identifier limits reasons to evaluate an upgrade, but do not by themselves prove Rivencraft and its optional integrations work on that loader. -**Decision: keep 21.1.251 as the build target and minimum for now.** -`./gradlew build runGameTestServer -Pneo_version=21.1.264` compiled and built -successfully, but the GameTest server repeated its storage-progress display -without producing test results. The run was stopped; it is neither a pass nor -evidence of a NeoForge defect. Under the project's stalled-test rule, hand -the equivalent in-game validation to the player. No 21.1.264 client or -dedicated-server compatibility pass has been recorded, so do not claim a -supported upgrade or raise the required version yet. The earlier 21.1.251 -baseline passed 70 required GameTests for release V0.6.6.0. +**Decision: adopt 21.1.264 beginning with 0.6.6.2.** An override build +succeeded, but its GameTest server repeated its storage-progress display +without producing test results. That run was stopped; it is neither a pass nor +evidence of a NeoForge defect. The player subsequently passed an in-game +singleplayer test on 21.1.264 with the optional stack, then passed a dedicated +server test including Immersive Portals travel to a Rivencraft Age. The +dedicated server also reached the ready state with only the required mods +before the full optional stack was installed. Both modes used Rivencraft +0.6.6.1. The earlier 21.1.251 baseline passed 70 required GameTests for +release V0.6.6.0. | Dependency | Project baseline | Newest checked 1.21.1 release | Follow-up | | --- | --- | --- | --- | @@ -41,18 +42,12 @@ separate library-artifact comparison came from Create's Maven. Dynamic Dimensions was checked on CurseForge. Versions for other Minecraft lines and similarly named mods were excluded. -The player reported an in-game pass for the 0.6.6.1 slice on 2026-10-19. -That confirms the current gameplay change, not the untested 21.1.264 -dedicated-server and optional-mod matrix. The keep decision therefore remains -unchanged. [Issue #89](https://truenas-scale.tail180fb1.ts.net:8443/dnorberg/rivencraft/issues/89) -tracks the remaining loader qualification separately. - -Before raising the loader target, test a clean 21.1.264 client and dedicated -server with only the two required dependencies. Create and enter an Age, -restart and revisit it, and confirm the LEGACY book-preview fallback without -Create/Immersive Portals. Then test separate optional combinations: JEI; -Create/Ponder; Immersive Portals alone and with Create; TerraBlender with -Biomes O' Plenty; Serene Seasons with GlitchCore. In each combination, verify -startup, book/portal travel, relevant previews or recipe/biome/season behavior, -and restart. Repeat the baseline with each optional addon absent. Serene's -GameTest mock-player network limitation requires a real client/server check. +The full dedicated test stack contained Create/Ponder, Immersive Portals, JEI, +TerraBlender with Biomes O' Plenty, and Serene Seasons with GlitchCore. The +server loaded a new `rivencraft:age/test`, and its shutdown log confirms that +all Overworld, Nether, End, and Age chunks were saved. The player explicitly +approved 21.1.264 after that test. This does not independently certify every +optional combination, the LEGACY preview fallback on a client without Create +and Immersive Portals, or a full restart/rejoin cycle; keep those in the +regression checklist. Serene's GameTest mock-player network limitation still +requires real-client checks for seasonal behavior. diff --git a/docs/PREVIEW_COMPATIBILITY.md b/docs/PREVIEW_COMPATIBILITY.md index cc42fc0..07ccdb0 100644 --- a/docs/PREVIEW_COMPATIBILITY.md +++ b/docs/PREVIEW_COMPATIBILITY.md @@ -45,7 +45,7 @@ being captured in the preview. ## Supported combinations and upstream limits -The compatibility baseline is Minecraft 1.21.1, NeoForge 21.1.251, Create +The compatibility baseline is Minecraft 1.21.1, NeoForge 21.1.264, Create 6.0.10, and Immersive Portals 6.0.7. Core Age generation and the `LEGACY` backend run without Create or Immersive Portals; the headless GameTest server uses that dependency-free path. diff --git a/gradle.properties b/gradle.properties index 2bdb09b..cc1c5a0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -18,7 +18,7 @@ minecraft_version=1.21.1 # as they do not follow standard versioning conventions. minecraft_version_range=[1.21.1] # The Neo version must agree with the Minecraft version to get a valid artifact -neo_version=21.1.251 +neo_version=21.1.264 ponder_version=1.0.82 dynamic_dimensions_file_id=7707789 badpackets_version=0.8.2 @@ -36,7 +36,7 @@ mod_name=Rivencraft # The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default. mod_license=LGPL-3.0-or-later # The mod version. Rivencraft uses the x.y.z.b policy documented in README.md. -mod_version=0.6.6.1 +mod_version=0.6.6.2 immersive_portals_version=6.0.7 terrablender_version=4.1.0.8 serene_seasons_version_id=B6nTjh4b