Repository navigation
Releases: imCinq/water-optimisation
Release list
Water Optimisation v1.1.1
Water Optimisation v1.1.1
Water Optimisation v1.1.1 adds Minecraft 26.1.2 support for Fabric.
Included targets
- New: Fabric 26.1.2: Java 25+, Fabric Loader 0.19.5+, Fabric API 0.155.3+26.1.2, optional Mod Menu 18.0.2.
Download water-optimisation-1.1.1-mc26.1.2-fabric.jar. Pick the JAR that matches both your Minecraft version and your loader.
Highlights
- Minecraft 26.1.2 on Fabric. Same features and behaviour as v1.1.0. Rendering changes are opt-in and off by default.
- Internal changes. Version-specific client calls now live in a small compatibility layer, and section compile diagnostics stay balanced if a compile throws. CI now builds and startup-smoke-tests 26.1.2.
- Client-only behavior is unchanged: world simulation, gameplay, networking, and server state are not affected.
Not included
The v1.1.0 builds are unchanged: Fabric 26.3 and 1.21.11, NeoForge 26.3 and 1.21.11, and Forge 26.3. If you play on one of those, you don't need to update.
Verification
Checked with a CI build, a startup smoke test on 26.1.2, and a manual in-game playtest. The full hardware, shader, resource-pack and frame-time matrix has not been completed, and the release makes no universal FPS promise.
Water Optimisation v1.1.0
Water Optimisation v1.1.0
Water Optimisation v1.1.0 brings a redesigned settings screen and three new loader builds.
Included targets
- Fabric 26.3: Java 25+, Fabric Loader 0.19.5+, Fabric API 0.160.6+26.3, optional Mod Menu 21.0.0-beta.1.
- Fabric 1.21.11: Java 21+, Fabric Loader 0.18.5+, Fabric API 0.141.4+1.21.11, optional Mod Menu 17.0.1-beta.1.
- New: NeoForge 26.3: Java 25+, NeoForge 26.3.0.45-beta+. Built on NeoForge's 26.3 beta line; v1.1.1 will move it to the first stable NeoForge 26.3 release.
- New: NeoForge 1.21.11: Java 21+, NeoForge 21.11.45+.
- New: Forge 26.3: Java 25+, Forge 66.0.2+. This is a one-time Forge release; no further Forge updates are planned.
Pick the JAR that matches both your Minecraft version and your loader. The -sources JARs are for developers only.
Highlights
- New settings screen. One screen with three tabs (General, Water, Particles) replaces the old main and Advanced screens. Every option has an icon and a plain-language explanation. A yellow note tells you when an option is unavailable or currently has no effect, for example with Sodium installed or when water particles are off.
- New default key:
K. The settings now open withKinstead ofO, because Minecraft 26.3 usesOfor its Friends screen. If you already have a saved binding, it stays as it is; you can change it under Controls → Key Binds → Water Optimisation. - NeoForge 26.3, NeoForge 1.21.11, and Forge 26.3 builds. All three open the settings from the Mods screen and work the same way as the matching Fabric version.
- Client-only behavior is unchanged: world simulation, gameplay, networking, and server state are not affected.
Not included
Fabric 26.2, Fabric 1.21.1, and NeoForge 26.2 remain historical 0.0.10 targets.
Known limitations
The release makes no universal FPS promise. The full hardware, shader, resource-pack, backend, Sodium, visual, and frame-time matrix has not been completed. Start with the Balanced or Performance preset and compare on your own client. Sodium remains the owner of water geometry when it is present, so the Water tab options are unavailable with Sodium; particle settings still work.
The exact runtime JARs and sources JARs are accompanied by SHA256SUMS-1.1.0.txt.
Water Optimisation v1.0.0
Water Optimisation v1.0.0
Water Optimisation v1.0.0 supports Fabric on Minecraft 26.3 and Minecraft 1.21.11.
Included targets
- Fabric 26.3 — Java 25+, Fabric Loader 0.19.5+, Fabric API 0.160.6+26.3, optional Mod Menu 21.0.0-beta.1.
- Fabric 1.21.11 — Java 21+, Fabric Loader 0.18.5+, Fabric API 0.141.4+1.21.11, optional Mod Menu 17.0.1-beta.1.
Highlights
- Improved Mod Menu/settings presentation with clearer presets and effective-path explanations.
- Explicit advanced controls for hidden-water skipping and reduced inward faces where supported.
- Scrollable Advanced settings screen with a fixed Reset/Done footer.
- Fabric 1.21.11 compatibility port with the conservative hidden-water and particle paths.
- Client-only behavior is preserved; world simulation, gameplay, networking, and server state are unchanged.
Not included
NeoForge 26.3 is planned as a later support update after its development tooling stabilises. Fabric 26.2, Fabric 1.21.1, and NeoForge 26.2 remain historical 0.0.10 targets.
Known limitations
The release makes no universal FPS promise. The full hardware, shader, resource-pack, backend, Sodium, visual, and frame-time matrix has not been completed. Start with the Balanced or Performance preset and compare behavior on the target client. Sodium remains the owner of water geometry when it is present.
The exact runtime JARs and sources JARs are accompanied by SHA256SUMS-1.0.0.txt.
Water Optimisation 0.0.10
Water Optimisation 0.0.10
Stable release adding supported Fabric 26.3 alongside Fabric 26.2, Fabric 1.21.1, and NeoForge 26.2. The 0.0.9 package is superseded but remains in the changelog and tags as history.
Target and installation
| Minecraft | Loader | Java | Runtime artifact |
|---|---|---|---|
| 26.3 | Fabric Loader 0.19.5+, Fabric API 0.160.6+26.3 | 25+ | water-optimisation-0.0.10-mc26.3-fabric.jar |
| 26.2 | Fabric Loader 0.19.3+, Fabric API 0.158.0+26.2 | 25+ | water-optimisation-0.0.10-mc26.2-fabric.jar |
| 1.21.1 | Fabric Loader 0.16.13+, Fabric API 0.116.12+1.21.1 | 21+ | water-optimisation-0.0.10-mc1.21.1-fabric.jar |
| 26.2 | NeoForge 26.2.0.77+ | 25+ | water-optimisation-neoforge-26.2-0.0.10.jar |
Mod Menu is optional: 21.0.0-beta.1 for 26.3, 19.0.0-alpha.1 for 26.2, 11.0.4 for 1.21.1. Matching -sources jars are provided for reference; install the runtime JAR, not the sources JAR, in the client's mods folder. Verify integrity with SHA256SUMS-0.0.10.txt.
What changed
- Stable Fabric 26.3 support: the 26.3 target (Java 25, Loader 0.19.5, API floor
>=0.160.6+26.3for 26.3 only) is promoted from preview; only the keyboard input adapter differs from the shared modern client code. - Pinned build download: the Gradle 9.7.1 wrapper pins the distribution SHA-256 checksum.
- Configuration-log privacy: modern Fabric, legacy Fabric 1.21.1, and NeoForge log a fixed relative configuration label with generic error categories instead of absolute paths, values, or exception payloads.
- Invocation cleanup: the shared modern fluid mixin brackets tessellation in a MixinExtras
@WrapMethodtry/finally;TessellationContextclears per-worker eligibility on ordinary returns, cancellation, and exceptions and restores outer eligibility for nested calls. - Ceiling-water correction: shared modern Fabric and NeoForge 26.2 require ordinary source water above before skipping a hidden source-water block; a solid ceiling alone no longer hides the surface beneath it.
Validation evidence
- Tag CI on
v0.0.10passed: build https://github.com/imCinq/water-optimisation/actions/runs/35243514347, production startup smoke https://github.com/imCinq/water-optimisation/actions/runs/35243514369, NeoForge 26.2 with packaged client/server smoke and mixin audit https://github.com/imCinq/water-optimisation/actions/runs/35243514413. - In-world validation ran against the preview.2 CI build of identical code (SHA-256
d50d3074a14a0bd70daa7474e91f4f5d54a8751d6ceb5f4a8f84be6ab0db7d24): general pass plus Mod Menu with most settings, then Sodium present and the Vulkan backend, all with no failures observed on Apple M2, macOS 27, OpenGL and Vulkan, Sodium absent and present. The Sodium version and tested scenes were not specified. - The 0.0.10 artifacts below were rebuilt from the merged tree with passing tag CI and startup smoke; inspect
SHA256SUMS-0.0.10.txtbefore installing.
Release artifact checksums:
4dfcff1dc0ca1857a013d2d1ef3749a4142986664e9f0a69d80179c553720f6cwater-optimisation-0.0.10-mc26.3-fabric.jar881df6b1a4ebd066c68729b81b18920fccb87b7c44b4ed54e72c787932332072water-optimisation-0.0.10-mc26.3-fabric-sources.jar43125ce88acefcae6f7ae127182ae0953bc661c354a173dda655299706b2b963water-optimisation-0.0.10-mc26.2-fabric.jare4e241c285e0a8f7216c24fc419881a58bc1e382e6e7abca65227874a2a00586water-optimisation-0.0.10-mc26.2-fabric-sources.jarb1271c1b6535c71a64fdc36ad9471d36ae9e443016bd4fec1ed4a40e360a2b5dwater-optimisation-0.0.10-mc1.21.1-fabric.jar8027d8b38994a3dd5d1366f941efaa84c7f201d474a392f5f79bc60d53ec8ebfwater-optimisation-0.0.10-mc1.21.1-fabric-sources.jare2b5385c9d2ab69ec8e981316dbebf5ed3bfaf94db1ceb383b02c5b1772fb0f1water-optimisation-neoforge-26.2-0.0.10.jarab60edfe0e8a9ac7d728974bae496ccecfe27532c092be7390d467ba16d17d03water-optimisation-neoforge-26.2-0.0.10-sources.jar
Known limitations
- The OIT on/off matrix is untested; record unsupported combinations as untested, not passed.
- No FPS benchmarks establish a gain or negligible overhead; no universal FPS improvement is promised.
- Transformed-Mixin cancellation/exception behavior has no integration proof; helper tests cover only the isolated context.
- Hook observation is unproven: startup success alone does not prove the optional local-capture hook executed.
- Opt-in Maximum FPS reduced geometry can remove underwater inward faces; this remains a documented trade-off.
- Sodium owns fluid geometry when present; Water Optimisation stays particle-only on that path. Compatibility with unknown replacement renderers, shaders, and resource packs is not established.
- This is a client-side rendering mod: no fluid simulation, gameplay, networking, or server-state changes. No server approval is claimed.
Water Optimisation 0.0.10-26.3-preview.2 — Fabric 26.3 PREVIEW
Superseded by the stable 0.0.10 release. Kept below as the historical preview.2 record.
Water Optimisation 0.0.10-26.3-preview.2 — Fabric 26.3 PREVIEW
This is a preview-only pre-release and is not stable. It is not a stable release and not an extension of the public 0.0.9 support matrix. Visual correctness and performance benefits are not validated. Do not treat it as stable support and do not use it in place of the public 0.0.9 release.
Target and installation
- Minecraft 26.3, Fabric, client only.
- Java 25, Fabric Loader 0.19.5.
- Fabric API 0.160.6+26.3; the generated metadata requires
>=0.160.6+26.3for the 26.3 target only. Older targets keep their existing metadata behavior. - Optional Mod Menu 21.0.0-beta.1.
- Build selector:
-Ptarget_minecraft=26.3. - Runtime artifact:
water-optimisation-0.0.10-26.3-preview.2-mc26.3-fabric.jar - Sources artifact (optional, not for installation):
water-optimisation-0.0.10-26.3-preview.2-mc26.3-fabric-sources.jar
Install the runtime JAR, not the sources JAR, in an isolated matching client.
What changed
- Pinned build download: the Gradle 9.7.1 wrapper now pins the distribution SHA-256 checksum.
- Configuration-log privacy: modern Fabric, legacy Fabric 1.21.1, and NeoForge use a fixed relative configuration label and generic error categories rather than logging absolute paths, configuration values, or exception payloads.
- Invocation cleanup: the shared modern fluid mixin uses a real MixinExtras
@WrapMethodwith try/finally around tessellation.TessellationContextclears per-worker eligibility on ordinary returns, cancellation, and exceptions, and restores outer eligibility after nested invocations. Fluid diagnostics closure uses the entry-time flag. - Ceiling-water correction: shared modern Fabric and NeoForge 26.2 now require ordinary source water above before skipping a hidden source-water block. Solid-rendering neighbors remain allowed below and at the sides, but a solid ceiling alone does not hide the water surface beneath it. The earlier dismissal of this visual-review finding was incorrect; the dated historical audit follow-up records the correction.
- API minimum: Fabric 26.3 metadata enforces
>=0.160.6+26.3; this does not change older targets' API metadata behavior.
Validation evidence
- Tag CI on
v0.0.10-26.3-preview.2passed: build https://github.com/imCinq/water-optimisation/actions/runs/35240645088, production startup smoke https://github.com/imCinq/water-optimisation/actions/runs/35240644936, NeoForge https://github.com/imCinq/water-optimisation/actions/runs/35240645057. - User-reported client pass dated 2026-09-17: CI runtime
water-optimisation-0.0.10-26.3-preview.2-mc26.3-fabric.jarwith SHA-256d50d3074a14a0bd70daa7474e91f4f5d54a8751d6ceb5f4a8f84be6ab0db7d24on Apple M2 hardware, macOS 27, OpenGL backend, Sodium absent, Mod Menu present. This records only that tested combination.
Release artifact checksums:
- Runtime JAR SHA-256:
d50d3074a14a0bd70daa7474e91f4f5d54a8751d6ceb5f4a8f84be6ab0db7d24 - Sources JAR SHA-256:
881df6b1a4ebd066c68729b81b18920fccb87b7c44b4ed54e72c787932332072
Known gaps
- Sodium present is untested; the Mod Menu-absent combination is untested.
- Vulkan is untested.
- The OIT on/off matrix is untested.
- No FPS benchmarks establish a gain or negligible overhead.
- Transformed-Mixin cancellation/exception behavior remains an open nonvisual gate; no transformed-Mixin evidence exists for this exact artifact.
- Hook observation is unproven: startup success alone does not prove the optional local-capture hook executed, and selected/effective-active settings alone do not prove the hook was applied or observed.
The public 0.0.9 release is unchanged, and this preview must not replace it or extend its support claims.
Water Optimisation 0.0.9
Water Optimisation 0.0.9 adds standalone NeoForge 26.2 support while keeping the existing Fabric builds for Minecraft 26.2 and 1.21.1.
What's new
- Standalone NeoForge 26.2 target for NeoForge 26.2.0.77+ and Java 25.
- Packaged NeoForge runtime verification, required renderer-mixin audit, client startup smoke, and dedicated-server smoke.
- Safer handling of newer config files when downgrading.
- Vanilla widget scrolling on both Fabric targets after removing the remaining 1.21.1 global scrolling hook.
- A small 1.21.1 hidden-water probe fast-path cleanup.
Downloads
Choose the runtime JAR matching both your Minecraft version and loader:
water-optimisation-0.0.9-mc26.2-fabric.jarwater-optimisation-0.0.9-mc26.2-neoforge.jarwater-optimisation-0.0.9-mc1.21.1-fabric.jar
Matching sources JARs and SHA256SUMS-0.0.9.txt are included.
Automated release checks completed before publication: repository/privacy and client-only audits, unit/build verification, exact Fabric production-client startup smokes, and packaged NeoForge client/server smoke plus mixin/package auditing.
Maximum FPS remains opt-in because reduced inward water faces can affect unusual underwater or transparent-boundary views. No universal FPS gain is claimed.
Water Optimisation 0.0.8.1
Emergency startup-crash hotfix for Minecraft 26.2.
- Removes the incompatible optional 26.2 text-scrolling mixin.
- Keeps the water optimisation and 1.21.1 improvements.
- Includes replacement jars for Minecraft 26.2 and 1.21.1.
Use the JAR that matches your Minecraft version. Reduced Water Geometry remains experimental.
Water Optimisation 0.0.8 (superseded)
Superseded by Water Optimisation 0.0.8.1.
The 26.2 artifact from this release can crash during startup because of an incompatible optional text-scrolling mixin. Use v0.0.8.1 instead.
Water Optimisation 0.0.7
Water Optimisation v0.0.7
- 🛡️ Fixed diagnostics fluid-timing state after toggling the diagnostics HUD during a sampled tessellation.
- 🛡️ Made reduced-face support target-aware so Minecraft 1.21.1 safely falls back when the reviewed renderer hook is unavailable.
- ⚡ Short-circuited the 1.21.1 source-water probe on visible top faces and reused its mutable neighbor position.
- 📊 Added fast-path hook observability to the diagnostics HUD.
- 🧹 Removed the unused fallback-logging setting and migrated it out of existing client configuration files.
- 🛠️ Reflowed the preset screen after profile changes and removed an Advanced-screen footer overlap source.
- ✅ Added target-specific artifacts for Minecraft 26.2 and 1.21.1; remote tests, privacy audits, client-only audits, and packaging passed.
- 🎮 Kept the mod client-only: no gameplay, world simulation, networking, or server behavior changes.
The FPS impact remains hardware- and scene-dependent. Reduced Water Geometry is experimental and remains opt-in; compare the same warmed water-heavy scene with the option enabled and disabled.
Water Optimisation 0.0.6
Water Optimisation v0.0.6
- 🛡️ Restores strict 26.2 mixin hook requirements; only the local-capture hook remains explicitly fail-soft.
- 🧹 Removes the unvalidated far-water prototype and its public control after visual correctness failures.
- 🧹 Rewrites older configuration files that contain the retired far-water setting without changing the remaining settings.
- ⚡ Reduces 1.21.1 fast-path probe overhead by reusing one mutable neighbor position.
- 🛠️ Keeps Sodium renderer-owned and preserves conservative vanilla fallbacks for unsupported or ambiguous cases.
- ✅ Remote builds, tests, privacy audits, and client-only audits pass for Minecraft 26.2 and 1.21.1.
The mod remains client-side only. FPS impact is hardware- and scene-dependent; validate the same water-heavy scene with the relevant settings enabled and disabled.