JaumlСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачатьСкачать
ВЕРСИИ (104)
release
3.0.0 · neoforge · 26.3
3.0.0+neoforge-26.323 окт. 2026 г.110Minecraft: 26.3neoforge
Что нового
## [3.0.0] - 2026-10-23
JAUML grows from a JSON config library into the common library for NightBeam mods. Every 2.x API is kept with
unchanged signatures; mods built against 2.x keep working.
### Added
- **Typed configs** (`tn.naizo.jauml.config`): `JaumlConfig.bind(subdir, name, MyConfig.class)` binds a plain Java class to a JSON file. `@Comment` text and `@Range` bounds are written as `//` comment lines, comments are accepted when reading, missing keys get defaults, wrong types are coerced, out-of-range values are clamped, and change listeners, `update`, `reload`/`reloadIfChanged` and `JsonMigrator` migrations are supported.
- **Platform facade** (`tn.naizo.jauml.platform`): `Platform` (loader, physical side, game and config directories, Minecraft version, mod versions with range checks) and `Services.load` for a mod's own `META-INF/services` implementations. Replaces the per-mod MultiLoader `Services`/`IPlatformHelper` copy.
- **Server events and scheduler** (`tn.naizo.jauml.server`): `ServerEvents` (starting, started, stopping, stopped, tick start/end, `currentServer()`), `PlayerEvents` (join, leave) and `Scheduler` (`runLater`, `runRepeating`, `queueServerWork`), fired from Fabric API, NeoForge and Forge events.
- **`Event<T>`** (`tn.naizo.jauml.event`): a small prioritized listener list for mods' own events.
- **Utilities**: `Version`/`VersionRange` (Maven ranges, comparators, `~`/`^`, wildcards) and `Cooldowns` (per-key cooldowns on any clock).
- **`PlatformProvider`** default methods: `getGameDirectory`, `isPhysicalClient`, `getModVersion`, `getModName`, `getLoadedModIds`, `getMinecraftVersion`.
- Root Gradle build (`./gradlew buildAll`, `testAll`, `cleanAll`, `syncVersion -PmodVersion=x.y.z`) and a CI workflow that tests and builds every workspace.
- `-Djauml.selfTest=true` boot check that logs every server event and a scheduler run, plus GameTest server runs (`runGameTestServer`, `runGametest`) in the 26.x loader modules and 1.20.1 Forge to use it without a EULA prompt.
### Changed
- **Supported Minecraft versions: 1.20.1, 1.21.1, 26.2 and 26.3.** The 1.21.11 and 26.1.2 workspaces are removed.
- Each jar declares only its own Minecraft version (`[26.2,26.3)`, `[26.3,26.4)` instead of `[26.x,27)`).
- On Fabric, JAUML recommends Fabric API; without it configs still work and server events stay idle with a warning.
- Fabric 1.20.1 now needs Fabric Loader 0.16.10 or newer (the minimum of current Fabric API 0.92.12).
- `JaumlConfig.isCompatible` accepts 2.x requirements (`API_BASELINE_MAJOR = 2`).
- `JaumlConfigLib` stays deprecated but is no longer marked for removal; its signatures are pinned by a test.
- `Constants.MOD_VERSION` reads `JaumlConfig.LIBRARY_VERSION`, and a test fails if it drifts from `gradle.properties`.
- Platform providers are loaded once and shared (`PlatformUtil`, `JaumlInitializer` and `JaumlConfig` no longer each scan `ServiceLoader`).
- Loader entrypoints no longer log template "Hello world" messages.
- **Toolchains**: 26.2 and 26.3 on Gradle 9.8.1, Fabric Loom 1.19.3 and ModDevGradle 2.0.148; Fabric API 0.165.0+26.3 / 0.161.0+26.2 / 0.116.17+1.21.1 / 0.92.12+1.20.1; NeoForge 26.3.0.95 (stable) / 26.2.0.93 / 21.1.264; Forge 47.4.28; Parchment 2024.11.17 for 1.21.1; Fabric Loom 1.10.5 for 1.21.1.
### Removed
- Minecraft 1.21.11 and 26.1.2 builds (use JAUML 2.3.1 on those versions).
release
3.0.0 · fabric · 26.3
3.0.0+fabric-26.323 окт. 2026 г.395Minecraft: 26.3fabric
Что нового
## [3.0.0] - 2026-10-23
JAUML grows from a JSON config library into the common library for NightBeam mods. Every 2.x API is kept with
unchanged signatures; mods built against 2.x keep working.
### Added
- **Typed configs** (`tn.naizo.jauml.config`): `JaumlConfig.bind(subdir, name, MyConfig.class)` binds a plain Java class to a JSON file. `@Comment` text and `@Range` bounds are written as `//` comment lines, comments are accepted when reading, missing keys get defaults, wrong types are coerced, out-of-range values are clamped, and change listeners, `update`, `reload`/`reloadIfChanged` and `JsonMigrator` migrations are supported.
- **Platform facade** (`tn.naizo.jauml.platform`): `Platform` (loader, physical side, game and config directories, Minecraft version, mod versions with range checks) and `Services.load` for a mod's own `META-INF/services` implementations. Replaces the per-mod MultiLoader `Services`/`IPlatformHelper` copy.
- **Server events and scheduler** (`tn.naizo.jauml.server`): `ServerEvents` (starting, started, stopping, stopped, tick start/end, `currentServer()`), `PlayerEvents` (join, leave) and `Scheduler` (`runLater`, `runRepeating`, `queueServerWork`), fired from Fabric API, NeoForge and Forge events.
- **`Event<T>`** (`tn.naizo.jauml.event`): a small prioritized listener list for mods' own events.
- **Utilities**: `Version`/`VersionRange` (Maven ranges, comparators, `~`/`^`, wildcards) and `Cooldowns` (per-key cooldowns on any clock).
- **`PlatformProvider`** default methods: `getGameDirectory`, `isPhysicalClient`, `getModVersion`, `getModName`, `getLoadedModIds`, `getMinecraftVersion`.
- Root Gradle build (`./gradlew buildAll`, `testAll`, `cleanAll`, `syncVersion -PmodVersion=x.y.z`) and a CI workflow that tests and builds every workspace.
- `-Djauml.selfTest=true` boot check that logs every server event and a scheduler run, plus GameTest server runs (`runGameTestServer`, `runGametest`) in the 26.x loader modules and 1.20.1 Forge to use it without a EULA prompt.
### Changed
- **Supported Minecraft versions: 1.20.1, 1.21.1, 26.2 and 26.3.** The 1.21.11 and 26.1.2 workspaces are removed.
- Each jar declares only its own Minecraft version (`[26.2,26.3)`, `[26.3,26.4)` instead of `[26.x,27)`).
- On Fabric, JAUML recommends Fabric API; without it configs still work and server events stay idle with a warning.
- Fabric 1.20.1 now needs Fabric Loader 0.16.10 or newer (the minimum of current Fabric API 0.92.12).
- `JaumlConfig.isCompatible` accepts 2.x requirements (`API_BASELINE_MAJOR = 2`).
- `JaumlConfigLib` stays deprecated but is no longer marked for removal; its signatures are pinned by a test.
- `Constants.MOD_VERSION` reads `JaumlConfig.LIBRARY_VERSION`, and a test fails if it drifts from `gradle.properties`.
- Platform providers are loaded once and shared (`PlatformUtil`, `JaumlInitializer` and `JaumlConfig` no longer each scan `ServiceLoader`).
- Loader entrypoints no longer log template "Hello world" messages.
- **Toolchains**: 26.2 and 26.3 on Gradle 9.8.1, Fabric Loom 1.19.3 and ModDevGradle 2.0.148; Fabric API 0.165.0+26.3 / 0.161.0+26.2 / 0.116.17+1.21.1 / 0.92.12+1.20.1; NeoForge 26.3.0.95 (stable) / 26.2.0.93 / 21.1.264; Forge 47.4.28; Parchment 2024.11.17 for 1.21.1; Fabric Loom 1.10.5 for 1.21.1.
### Removed
- Minecraft 1.21.11 and 26.1.2 builds (use JAUML 2.3.1 on those versions).
release
3.0.0 · neoforge · 26.2
3.0.0+neoforge-26.223 окт. 2026 г.81Minecraft: 26.2neoforge
Что нового
## [3.0.0] - 2026-10-23
JAUML grows from a JSON config library into the common library for NightBeam mods. Every 2.x API is kept with
unchanged signatures; mods built against 2.x keep working.
### Added
- **Typed configs** (`tn.naizo.jauml.config`): `JaumlConfig.bind(subdir, name, MyConfig.class)` binds a plain Java class to a JSON file. `@Comment` text and `@Range` bounds are written as `//` comment lines, comments are accepted when reading, missing keys get defaults, wrong types are coerced, out-of-range values are clamped, and change listeners, `update`, `reload`/`reloadIfChanged` and `JsonMigrator` migrations are supported.
- **Platform facade** (`tn.naizo.jauml.platform`): `Platform` (loader, physical side, game and config directories, Minecraft version, mod versions with range checks) and `Services.load` for a mod's own `META-INF/services` implementations. Replaces the per-mod MultiLoader `Services`/`IPlatformHelper` copy.
- **Server events and scheduler** (`tn.naizo.jauml.server`): `ServerEvents` (starting, started, stopping, stopped, tick start/end, `currentServer()`), `PlayerEvents` (join, leave) and `Scheduler` (`runLater`, `runRepeating`, `queueServerWork`), fired from Fabric API, NeoForge and Forge events.
- **`Event<T>`** (`tn.naizo.jauml.event`): a small prioritized listener list for mods' own events.
- **Utilities**: `Version`/`VersionRange` (Maven ranges, comparators, `~`/`^`, wildcards) and `Cooldowns` (per-key cooldowns on any clock).
- **`PlatformProvider`** default methods: `getGameDirectory`, `isPhysicalClient`, `getModVersion`, `getModName`, `getLoadedModIds`, `getMinecraftVersion`.
- Root Gradle build (`./gradlew buildAll`, `testAll`, `cleanAll`, `syncVersion -PmodVersion=x.y.z`) and a CI workflow that tests and builds every workspace.
- `-Djauml.selfTest=true` boot check that logs every server event and a scheduler run, plus GameTest server runs (`runGameTestServer`, `runGametest`) in the 26.x loader modules and 1.20.1 Forge to use it without a EULA prompt.
### Changed
- **Supported Minecraft versions: 1.20.1, 1.21.1, 26.2 and 26.3.** The 1.21.11 and 26.1.2 workspaces are removed.
- Each jar declares only its own Minecraft version (`[26.2,26.3)`, `[26.3,26.4)` instead of `[26.x,27)`).
- On Fabric, JAUML recommends Fabric API; without it configs still work and server events stay idle with a warning.
- Fabric 1.20.1 now needs Fabric Loader 0.16.10 or newer (the minimum of current Fabric API 0.92.12).
- `JaumlConfig.isCompatible` accepts 2.x requirements (`API_BASELINE_MAJOR = 2`).
- `JaumlConfigLib` stays deprecated but is no longer marked for removal; its signatures are pinned by a test.
- `Constants.MOD_VERSION` reads `JaumlConfig.LIBRARY_VERSION`, and a test fails if it drifts from `gradle.properties`.
- Platform providers are loaded once and shared (`PlatformUtil`, `JaumlInitializer` and `JaumlConfig` no longer each scan `ServiceLoader`).
- Loader entrypoints no longer log template "Hello world" messages.
- **Toolchains**: 26.2 and 26.3 on Gradle 9.8.1, Fabric Loom 1.19.3 and ModDevGradle 2.0.148; Fabric API 0.165.0+26.3 / 0.161.0+26.2 / 0.116.17+1.21.1 / 0.92.12+1.20.1; NeoForge 26.3.0.95 (stable) / 26.2.0.93 / 21.1.264; Forge 47.4.28; Parchment 2024.11.17 for 1.21.1; Fabric Loom 1.10.5 for 1.21.1.
### Removed
- Minecraft 1.21.11 and 26.1.2 builds (use JAUML 2.3.1 on those versions).
release
3.0.0 · fabric · 26.2
3.0.0+fabric-26.223 окт. 2026 г.248Minecraft: 26.2fabric
Что нового
## [3.0.0] - 2026-10-23
JAUML grows from a JSON config library into the common library for NightBeam mods. Every 2.x API is kept with
unchanged signatures; mods built against 2.x keep working.
### Added
- **Typed configs** (`tn.naizo.jauml.config`): `JaumlConfig.bind(subdir, name, MyConfig.class)` binds a plain Java class to a JSON file. `@Comment` text and `@Range` bounds are written as `//` comment lines, comments are accepted when reading, missing keys get defaults, wrong types are coerced, out-of-range values are clamped, and change listeners, `update`, `reload`/`reloadIfChanged` and `JsonMigrator` migrations are supported.
- **Platform facade** (`tn.naizo.jauml.platform`): `Platform` (loader, physical side, game and config directories, Minecraft version, mod versions with range checks) and `Services.load` for a mod's own `META-INF/services` implementations. Replaces the per-mod MultiLoader `Services`/`IPlatformHelper` copy.
- **Server events and scheduler** (`tn.naizo.jauml.server`): `ServerEvents` (starting, started, stopping, stopped, tick start/end, `currentServer()`), `PlayerEvents` (join, leave) and `Scheduler` (`runLater`, `runRepeating`, `queueServerWork`), fired from Fabric API, NeoForge and Forge events.
- **`Event<T>`** (`tn.naizo.jauml.event`): a small prioritized listener list for mods' own events.
- **Utilities**: `Version`/`VersionRange` (Maven ranges, comparators, `~`/`^`, wildcards) and `Cooldowns` (per-key cooldowns on any clock).
- **`PlatformProvider`** default methods: `getGameDirectory`, `isPhysicalClient`, `getModVersion`, `getModName`, `getLoadedModIds`, `getMinecraftVersion`.
- Root Gradle build (`./gradlew buildAll`, `testAll`, `cleanAll`, `syncVersion -PmodVersion=x.y.z`) and a CI workflow that tests and builds every workspace.
- `-Djauml.selfTest=true` boot check that logs every server event and a scheduler run, plus GameTest server runs (`runGameTestServer`, `runGametest`) in the 26.x loader modules and 1.20.1 Forge to use it without a EULA prompt.
### Changed
- **Supported Minecraft versions: 1.20.1, 1.21.1, 26.2 and 26.3.** The 1.21.11 and 26.1.2 workspaces are removed.
- Each jar declares only its own Minecraft version (`[26.2,26.3)`, `[26.3,26.4)` instead of `[26.x,27)`).
- On Fabric, JAUML recommends Fabric API; without it configs still work and server events stay idle with a warning.
- Fabric 1.20.1 now needs Fabric Loader 0.16.10 or newer (the minimum of current Fabric API 0.92.12).
- `JaumlConfig.isCompatible` accepts 2.x requirements (`API_BASELINE_MAJOR = 2`).
- `JaumlConfigLib` stays deprecated but is no longer marked for removal; its signatures are pinned by a test.
- `Constants.MOD_VERSION` reads `JaumlConfig.LIBRARY_VERSION`, and a test fails if it drifts from `gradle.properties`.
- Platform providers are loaded once and shared (`PlatformUtil`, `JaumlInitializer` and `JaumlConfig` no longer each scan `ServiceLoader`).
- Loader entrypoints no longer log template "Hello world" messages.
- **Toolchains**: 26.2 and 26.3 on Gradle 9.8.1, Fabric Loom 1.19.3 and ModDevGradle 2.0.148; Fabric API 0.165.0+26.3 / 0.161.0+26.2 / 0.116.17+1.21.1 / 0.92.12+1.20.1; NeoForge 26.3.0.95 (stable) / 26.2.0.93 / 21.1.264; Forge 47.4.28; Parchment 2024.11.17 for 1.21.1; Fabric Loom 1.10.5 for 1.21.1.
### Removed
- Minecraft 1.21.11 and 26.1.2 builds (use JAUML 2.3.1 on those versions).
release
3.0.0 · neoforge · 1.21.1
3.0.0+neoforge-1.21.123 окт. 2026 г.577Minecraft: 1.21.1neoforge
Что нового
## [3.0.0] - 2026-10-23
JAUML grows from a JSON config library into the common library for NightBeam mods. Every 2.x API is kept with
unchanged signatures; mods built against 2.x keep working.
### Added
- **Typed configs** (`tn.naizo.jauml.config`): `JaumlConfig.bind(subdir, name, MyConfig.class)` binds a plain Java class to a JSON file. `@Comment` text and `@Range` bounds are written as `//` comment lines, comments are accepted when reading, missing keys get defaults, wrong types are coerced, out-of-range values are clamped, and change listeners, `update`, `reload`/`reloadIfChanged` and `JsonMigrator` migrations are supported.
- **Platform facade** (`tn.naizo.jauml.platform`): `Platform` (loader, physical side, game and config directories, Minecraft version, mod versions with range checks) and `Services.load` for a mod's own `META-INF/services` implementations. Replaces the per-mod MultiLoader `Services`/`IPlatformHelper` copy.
- **Server events and scheduler** (`tn.naizo.jauml.server`): `ServerEvents` (starting, started, stopping, stopped, tick start/end, `currentServer()`), `PlayerEvents` (join, leave) and `Scheduler` (`runLater`, `runRepeating`, `queueServerWork`), fired from Fabric API, NeoForge and Forge events.
- **`Event<T>`** (`tn.naizo.jauml.event`): a small prioritized listener list for mods' own events.
- **Utilities**: `Version`/`VersionRange` (Maven ranges, comparators, `~`/`^`, wildcards) and `Cooldowns` (per-key cooldowns on any clock).
- **`PlatformProvider`** default methods: `getGameDirectory`, `isPhysicalClient`, `getModVersion`, `getModName`, `getLoadedModIds`, `getMinecraftVersion`.
- Root Gradle build (`./gradlew buildAll`, `testAll`, `cleanAll`, `syncVersion -PmodVersion=x.y.z`) and a CI workflow that tests and builds every workspace.
- `-Djauml.selfTest=true` boot check that logs every server event and a scheduler run, plus GameTest server runs (`runGameTestServer`, `runGametest`) in the 26.x loader modules and 1.20.1 Forge to use it without a EULA prompt.
### Changed
- **Supported Minecraft versions: 1.20.1, 1.21.1, 26.2 and 26.3.** The 1.21.11 and 26.1.2 workspaces are removed.
- Each jar declares only its own Minecraft version (`[26.2,26.3)`, `[26.3,26.4)` instead of `[26.x,27)`).
- On Fabric, JAUML recommends Fabric API; without it configs still work and server events stay idle with a warning.
- Fabric 1.20.1 now needs Fabric Loader 0.16.10 or newer (the minimum of current Fabric API 0.92.12).
- `JaumlConfig.isCompatible` accepts 2.x requirements (`API_BASELINE_MAJOR = 2`).
- `JaumlConfigLib` stays deprecated but is no longer marked for removal; its signatures are pinned by a test.
- `Constants.MOD_VERSION` reads `JaumlConfig.LIBRARY_VERSION`, and a test fails if it drifts from `gradle.properties`.
- Platform providers are loaded once and shared (`PlatformUtil`, `JaumlInitializer` and `JaumlConfig` no longer each scan `ServiceLoader`).
- Loader entrypoints no longer log template "Hello world" messages.
- **Toolchains**: 26.2 and 26.3 on Gradle 9.8.1, Fabric Loom 1.19.3 and ModDevGradle 2.0.148; Fabric API 0.165.0+26.3 / 0.161.0+26.2 / 0.116.17+1.21.1 / 0.92.12+1.20.1; NeoForge 26.3.0.95 (stable) / 26.2.0.93 / 21.1.264; Forge 47.4.28; Parchment 2024.11.17 for 1.21.1; Fabric Loom 1.10.5 for 1.21.1.
### Removed
- Minecraft 1.21.11 and 26.1.2 builds (use JAUML 2.3.1 on those versions).
release
3.0.0 · fabric · 1.21.1
3.0.0+fabric-1.21.123 окт. 2026 г.270Minecraft: 1.21.1fabric
Что нового
## [3.0.0] - 2026-10-23
JAUML grows from a JSON config library into the common library for NightBeam mods. Every 2.x API is kept with
unchanged signatures; mods built against 2.x keep working.
### Added
- **Typed configs** (`tn.naizo.jauml.config`): `JaumlConfig.bind(subdir, name, MyConfig.class)` binds a plain Java class to a JSON file. `@Comment` text and `@Range` bounds are written as `//` comment lines, comments are accepted when reading, missing keys get defaults, wrong types are coerced, out-of-range values are clamped, and change listeners, `update`, `reload`/`reloadIfChanged` and `JsonMigrator` migrations are supported.
- **Platform facade** (`tn.naizo.jauml.platform`): `Platform` (loader, physical side, game and config directories, Minecraft version, mod versions with range checks) and `Services.load` for a mod's own `META-INF/services` implementations. Replaces the per-mod MultiLoader `Services`/`IPlatformHelper` copy.
- **Server events and scheduler** (`tn.naizo.jauml.server`): `ServerEvents` (starting, started, stopping, stopped, tick start/end, `currentServer()`), `PlayerEvents` (join, leave) and `Scheduler` (`runLater`, `runRepeating`, `queueServerWork`), fired from Fabric API, NeoForge and Forge events.
- **`Event<T>`** (`tn.naizo.jauml.event`): a small prioritized listener list for mods' own events.
- **Utilities**: `Version`/`VersionRange` (Maven ranges, comparators, `~`/`^`, wildcards) and `Cooldowns` (per-key cooldowns on any clock).
- **`PlatformProvider`** default methods: `getGameDirectory`, `isPhysicalClient`, `getModVersion`, `getModName`, `getLoadedModIds`, `getMinecraftVersion`.
- Root Gradle build (`./gradlew buildAll`, `testAll`, `cleanAll`, `syncVersion -PmodVersion=x.y.z`) and a CI workflow that tests and builds every workspace.
- `-Djauml.selfTest=true` boot check that logs every server event and a scheduler run, plus GameTest server runs (`runGameTestServer`, `runGametest`) in the 26.x loader modules and 1.20.1 Forge to use it without a EULA prompt.
### Changed
- **Supported Minecraft versions: 1.20.1, 1.21.1, 26.2 and 26.3.** The 1.21.11 and 26.1.2 workspaces are removed.
- Each jar declares only its own Minecraft version (`[26.2,26.3)`, `[26.3,26.4)` instead of `[26.x,27)`).
- On Fabric, JAUML recommends Fabric API; without it configs still work and server events stay idle with a warning.
- Fabric 1.20.1 now needs Fabric Loader 0.16.10 or newer (the minimum of current Fabric API 0.92.12).
- `JaumlConfig.isCompatible` accepts 2.x requirements (`API_BASELINE_MAJOR = 2`).
- `JaumlConfigLib` stays deprecated but is no longer marked for removal; its signatures are pinned by a test.
- `Constants.MOD_VERSION` reads `JaumlConfig.LIBRARY_VERSION`, and a test fails if it drifts from `gradle.properties`.
- Platform providers are loaded once and shared (`PlatformUtil`, `JaumlInitializer` and `JaumlConfig` no longer each scan `ServiceLoader`).
- Loader entrypoints no longer log template "Hello world" messages.
- **Toolchains**: 26.2 and 26.3 on Gradle 9.8.1, Fabric Loom 1.19.3 and ModDevGradle 2.0.148; Fabric API 0.165.0+26.3 / 0.161.0+26.2 / 0.116.17+1.21.1 / 0.92.12+1.20.1; NeoForge 26.3.0.95 (stable) / 26.2.0.93 / 21.1.264; Forge 47.4.28; Parchment 2024.11.17 for 1.21.1; Fabric Loom 1.10.5 for 1.21.1.
### Removed
- Minecraft 1.21.11 and 26.1.2 builds (use JAUML 2.3.1 on those versions).
release
3.0.0 · forge · 1.20.1
3.0.0+forge-1.20.123 окт. 2026 г.692Minecraft: 1.20.1forge
Что нового
## [3.0.0] - 2026-10-23
JAUML grows from a JSON config library into the common library for NightBeam mods. Every 2.x API is kept with
unchanged signatures; mods built against 2.x keep working.
### Added
- **Typed configs** (`tn.naizo.jauml.config`): `JaumlConfig.bind(subdir, name, MyConfig.class)` binds a plain Java class to a JSON file. `@Comment` text and `@Range` bounds are written as `//` comment lines, comments are accepted when reading, missing keys get defaults, wrong types are coerced, out-of-range values are clamped, and change listeners, `update`, `reload`/`reloadIfChanged` and `JsonMigrator` migrations are supported.
- **Platform facade** (`tn.naizo.jauml.platform`): `Platform` (loader, physical side, game and config directories, Minecraft version, mod versions with range checks) and `Services.load` for a mod's own `META-INF/services` implementations. Replaces the per-mod MultiLoader `Services`/`IPlatformHelper` copy.
- **Server events and scheduler** (`tn.naizo.jauml.server`): `ServerEvents` (starting, started, stopping, stopped, tick start/end, `currentServer()`), `PlayerEvents` (join, leave) and `Scheduler` (`runLater`, `runRepeating`, `queueServerWork`), fired from Fabric API, NeoForge and Forge events.
- **`Event<T>`** (`tn.naizo.jauml.event`): a small prioritized listener list for mods' own events.
- **Utilities**: `Version`/`VersionRange` (Maven ranges, comparators, `~`/`^`, wildcards) and `Cooldowns` (per-key cooldowns on any clock).
- **`PlatformProvider`** default methods: `getGameDirectory`, `isPhysicalClient`, `getModVersion`, `getModName`, `getLoadedModIds`, `getMinecraftVersion`.
- Root Gradle build (`./gradlew buildAll`, `testAll`, `cleanAll`, `syncVersion -PmodVersion=x.y.z`) and a CI workflow that tests and builds every workspace.
- `-Djauml.selfTest=true` boot check that logs every server event and a scheduler run, plus GameTest server runs (`runGameTestServer`, `runGametest`) in the 26.x loader modules and 1.20.1 Forge to use it without a EULA prompt.
### Changed
- **Supported Minecraft versions: 1.20.1, 1.21.1, 26.2 and 26.3.** The 1.21.11 and 26.1.2 workspaces are removed.
- Each jar declares only its own Minecraft version (`[26.2,26.3)`, `[26.3,26.4)` instead of `[26.x,27)`).
- On Fabric, JAUML recommends Fabric API; without it configs still work and server events stay idle with a warning.
- Fabric 1.20.1 now needs Fabric Loader 0.16.10 or newer (the minimum of current Fabric API 0.92.12).
- `JaumlConfig.isCompatible` accepts 2.x requirements (`API_BASELINE_MAJOR = 2`).
- `JaumlConfigLib` stays deprecated but is no longer marked for removal; its signatures are pinned by a test.
- `Constants.MOD_VERSION` reads `JaumlConfig.LIBRARY_VERSION`, and a test fails if it drifts from `gradle.properties`.
- Platform providers are loaded once and shared (`PlatformUtil`, `JaumlInitializer` and `JaumlConfig` no longer each scan `ServiceLoader`).
- Loader entrypoints no longer log template "Hello world" messages.
- **Toolchains**: 26.2 and 26.3 on Gradle 9.8.1, Fabric Loom 1.19.3 and ModDevGradle 2.0.148; Fabric API 0.165.0+26.3 / 0.161.0+26.2 / 0.116.17+1.21.1 / 0.92.12+1.20.1; NeoForge 26.3.0.95 (stable) / 26.2.0.93 / 21.1.264; Forge 47.4.28; Parchment 2024.11.17 for 1.21.1; Fabric Loom 1.10.5 for 1.21.1.
### Removed
- Minecraft 1.21.11 and 26.1.2 builds (use JAUML 2.3.1 on those versions).
release
3.0.0 · fabric · 1.20.1
3.0.0+fabric-1.20.123 окт. 2026 г.202Minecraft: 1.20.1fabric
Что нового
## [3.0.0] - 2026-10-23
JAUML grows from a JSON config library into the common library for NightBeam mods. Every 2.x API is kept with
unchanged signatures; mods built against 2.x keep working.
### Added
- **Typed configs** (`tn.naizo.jauml.config`): `JaumlConfig.bind(subdir, name, MyConfig.class)` binds a plain Java class to a JSON file. `@Comment` text and `@Range` bounds are written as `//` comment lines, comments are accepted when reading, missing keys get defaults, wrong types are coerced, out-of-range values are clamped, and change listeners, `update`, `reload`/`reloadIfChanged` and `JsonMigrator` migrations are supported.
- **Platform facade** (`tn.naizo.jauml.platform`): `Platform` (loader, physical side, game and config directories, Minecraft version, mod versions with range checks) and `Services.load` for a mod's own `META-INF/services` implementations. Replaces the per-mod MultiLoader `Services`/`IPlatformHelper` copy.
- **Server events and scheduler** (`tn.naizo.jauml.server`): `ServerEvents` (starting, started, stopping, stopped, tick start/end, `currentServer()`), `PlayerEvents` (join, leave) and `Scheduler` (`runLater`, `runRepeating`, `queueServerWork`), fired from Fabric API, NeoForge and Forge events.
- **`Event<T>`** (`tn.naizo.jauml.event`): a small prioritized listener list for mods' own events.
- **Utilities**: `Version`/`VersionRange` (Maven ranges, comparators, `~`/`^`, wildcards) and `Cooldowns` (per-key cooldowns on any clock).
- **`PlatformProvider`** default methods: `getGameDirectory`, `isPhysicalClient`, `getModVersion`, `getModName`, `getLoadedModIds`, `getMinecraftVersion`.
- Root Gradle build (`./gradlew buildAll`, `testAll`, `cleanAll`, `syncVersion -PmodVersion=x.y.z`) and a CI workflow that tests and builds every workspace.
- `-Djauml.selfTest=true` boot check that logs every server event and a scheduler run, plus GameTest server runs (`runGameTestServer`, `runGametest`) in the 26.x loader modules and 1.20.1 Forge to use it without a EULA prompt.
### Changed
- **Supported Minecraft versions: 1.20.1, 1.21.1, 26.2 and 26.3.** The 1.21.11 and 26.1.2 workspaces are removed.
- Each jar declares only its own Minecraft version (`[26.2,26.3)`, `[26.3,26.4)` instead of `[26.x,27)`).
- On Fabric, JAUML recommends Fabric API; without it configs still work and server events stay idle with a warning.
- Fabric 1.20.1 now needs Fabric Loader 0.16.10 or newer (the minimum of current Fabric API 0.92.12).
- `JaumlConfig.isCompatible` accepts 2.x requirements (`API_BASELINE_MAJOR = 2`).
- `JaumlConfigLib` stays deprecated but is no longer marked for removal; its signatures are pinned by a test.
- `Constants.MOD_VERSION` reads `JaumlConfig.LIBRARY_VERSION`, and a test fails if it drifts from `gradle.properties`.
- Platform providers are loaded once and shared (`PlatformUtil`, `JaumlInitializer` and `JaumlConfig` no longer each scan `ServiceLoader`).
- Loader entrypoints no longer log template "Hello world" messages.
- **Toolchains**: 26.2 and 26.3 on Gradle 9.8.1, Fabric Loom 1.19.3 and ModDevGradle 2.0.148; Fabric API 0.165.0+26.3 / 0.161.0+26.2 / 0.116.17+1.21.1 / 0.92.12+1.20.1; NeoForge 26.3.0.95 (stable) / 26.2.0.93 / 21.1.264; Forge 47.4.28; Parchment 2024.11.17 for 1.21.1; Fabric Loom 1.10.5 for 1.21.1.
### Removed
- Minecraft 1.21.11 and 26.1.2 builds (use JAUML 2.3.1 on those versions).
release
2.3.1 · neoforge · 26.3
2.3.1+neoforge-26.330 сент. 2026 г.83Minecraft: 26.3neoforge
Что нового
## [2.3.1] - 2026-09-30
### Added
- Minecraft **26.3** MultiLoader workspace (Fabric and NeoForge), matching the existing `26.2` layout.
### Changed
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.1**.
- **Build (26.3)**: Gradle 9.7.0, Fabric Loom 1.18.2, and ModDevGradle 2.0.148 (required for NeoForge 26.3 artifact generation).
release
2.3.1 · fabric · 26.3
2.3.1+fabric-26.330 сент. 2026 г.408Minecraft: 26.3fabric
Что нового
## [2.3.1] - 2026-09-30
### Added
- Minecraft **26.3** MultiLoader workspace (Fabric and NeoForge), matching the existing `26.2` layout.
### Changed
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.1**.
- **Build (26.3)**: Gradle 9.7.0, Fabric Loom 1.18.2, and ModDevGradle 2.0.148 (required for NeoForge 26.3 artifact generation).
release
2.3.1 · neoforge · 26.2
2.3.1+neoforge-26.230 сент. 2026 г.248Minecraft: 26.2neoforge
Что нового
## [2.3.1] - 2026-09-30
### Added
- Minecraft **26.3** MultiLoader workspace (Fabric and NeoForge), matching the existing `26.2` layout.
### Changed
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.1**.
- **Build (26.3)**: Gradle 9.7.0, Fabric Loom 1.18.2, and ModDevGradle 2.0.148 (required for NeoForge 26.3 artifact generation).
release
2.3.1 · fabric · 26.2
2.3.1+fabric-26.230 сент. 2026 г.986Minecraft: 26.2fabric
Что нового
## [2.3.1] - 2026-09-30
### Added
- Minecraft **26.3** MultiLoader workspace (Fabric and NeoForge), matching the existing `26.2` layout.
### Changed
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.1**.
- **Build (26.3)**: Gradle 9.7.0, Fabric Loom 1.18.2, and ModDevGradle 2.0.148 (required for NeoForge 26.3 artifact generation).
release
2.3.1 · neoforge · 26.1.2
2.3.1+neoforge-26.1.230 сент. 2026 г.146Minecraft: 26.1.2neoforge
Что нового
## [2.3.1] - 2026-09-30
### Added
- Minecraft **26.3** MultiLoader workspace (Fabric and NeoForge), matching the existing `26.2` layout.
### Changed
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.1**.
- **Build (26.3)**: Gradle 9.7.0, Fabric Loom 1.18.2, and ModDevGradle 2.0.148 (required for NeoForge 26.3 artifact generation).
release
2.3.1 · fabric · 26.1.2
2.3.1+fabric-26.1.230 сент. 2026 г.230Minecraft: 26.1.2fabric
Что нового
## [2.3.1] - 2026-09-30
### Added
- Minecraft **26.3** MultiLoader workspace (Fabric and NeoForge), matching the existing `26.2` layout.
### Changed
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.1**.
- **Build (26.3)**: Gradle 9.7.0, Fabric Loom 1.18.2, and ModDevGradle 2.0.148 (required for NeoForge 26.3 artifact generation).
release
2.3.1 · neoforge · 1.21.11
2.3.1+neoforge-1.21.1130 сент. 2026 г.193Minecraft: 1.21.11neoforge
Что нового
## [2.3.1] - 2026-09-30
### Added
- Minecraft **26.3** MultiLoader workspace (Fabric and NeoForge), matching the existing `26.2` layout.
### Changed
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.1**.
- **Build (26.3)**: Gradle 9.7.0, Fabric Loom 1.18.2, and ModDevGradle 2.0.148 (required for NeoForge 26.3 artifact generation).
release
2.3.1 · fabric · 1.21.11
2.3.1+fabric-1.21.1130 сент. 2026 г.1,3 тыс.Minecraft: 1.21.11fabric
Что нового
## [2.3.1] - 2026-09-30
### Added
- Minecraft **26.3** MultiLoader workspace (Fabric and NeoForge), matching the existing `26.2` layout.
### Changed
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.1**.
- **Build (26.3)**: Gradle 9.7.0, Fabric Loom 1.18.2, and ModDevGradle 2.0.148 (required for NeoForge 26.3 artifact generation).
release
2.3.1 · neoforge · 1.21.1
2.3.1+neoforge-1.21.130 сент. 2026 г.3,7 тыс.Minecraft: 1.21.1neoforge
Что нового
## [2.3.1] - 2026-09-30
### Added
- Minecraft **26.3** MultiLoader workspace (Fabric and NeoForge), matching the existing `26.2` layout.
### Changed
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.1**.
- **Build (26.3)**: Gradle 9.7.0, Fabric Loom 1.18.2, and ModDevGradle 2.0.148 (required for NeoForge 26.3 artifact generation).
release
2.3.1 · fabric · 1.21.1
2.3.1+fabric-1.21.130 сент. 2026 г.2,3 тыс.Minecraft: 1.21.1fabric
Что нового
## [2.3.1] - 2026-09-30
### Added
- Minecraft **26.3** MultiLoader workspace (Fabric and NeoForge), matching the existing `26.2` layout.
### Changed
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.1**.
- **Build (26.3)**: Gradle 9.7.0, Fabric Loom 1.18.2, and ModDevGradle 2.0.148 (required for NeoForge 26.3 artifact generation).
release
2.3.1 · forge · 1.20.1
2.3.1+forge-1.20.130 сент. 2026 г.4,7 тыс.Minecraft: 1.20.1forge
Что нового
## [2.3.1] - 2026-09-30
### Added
- Minecraft **26.3** MultiLoader workspace (Fabric and NeoForge), matching the existing `26.2` layout.
### Changed
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.1**.
- **Build (26.3)**: Gradle 9.7.0, Fabric Loom 1.18.2, and ModDevGradle 2.0.148 (required for NeoForge 26.3 artifact generation).
release
2.3.1 · fabric · 1.20.1
2.3.1+fabric-1.20.130 сент. 2026 г.1,9 тыс.Minecraft: 1.20.1fabric
Что нового
## [2.3.1] - 2026-09-30
### Added
- Minecraft **26.3** MultiLoader workspace (Fabric and NeoForge), matching the existing `26.2` layout.
### Changed
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.1**.
- **Build (26.3)**: Gradle 9.7.0, Fabric Loom 1.18.2, and ModDevGradle 2.0.148 (required for NeoForge 26.3 artifact generation).
release
2.3.0 · neoforge · 26.2
2.3.0+neoforge-26.210 сент. 2026 г.178Minecraft: 26.2neoforge
Что нового
## [2.3.0] - 2026-09-10
### Added
- **`ConfigFile`**: `asJsonObject()` / `getRoot()` returning a deep clone of the root JSON object.
- **`ConfigFile`**: Path-based accessors — `getByPath`, `setByPath`, `getStringByPath`, `getIntByPath`, `getBooleanByPath`, `getDoubleByPath` (with default-value overloads).
- **`ConfigFile`**: `setBackupRotation(int)` for multi-generation `.bak` rotation on corrupted config recovery.
- **`ConfigFile`**: `reloadIfChanged()` to reload only when file size or mtime changed.
- **`ConfigFile`**: `setStableSave(boolean)` opt-in deterministic save via `JsonLib.stableStringify`.
- **`JaumlConfig`**: `invalidate(String, String)`, `invalidate(Path)`, and `clearCache()` for cache management.
- **`JsonMigrator`**: `setPreferredVersionKey(String)` to control which version key is read and updated during migration.
- **`JsonLib`**: `detectVersion(JsonElement, String preferredKey)` overload checking a preferred key first.
- **`JaumlInitializer`**: `initializeWithDemoConfig()` for explicit demo config workflow; `initialize()` now skips demo config write in production.
- **`JsonSchema`**: Optional constraint keywords — `enum`, `minimum`/`maximum`, `minLength`/`maxLength`, `additionalProperties: false`, and `minItems`/`maxItems`. Schemas that omit these keywords behave exactly as before.
- **`tn.naizo.jauml.util`**: Optional utility package — `PlatformUtil`, `JaumlLogger`, `ModuleVersion`, and `Lifecycle` helpers. Additive only; core config API unchanged.
### Changed
- **Build (Phase 4)**: Explicit `compileOnly` Gson and SLF4J API dependencies in all MultiLoader workspaces; `26.1.2` migrated from `buildSrc` to composite `build-logic` (aligned with `26.2`). See `BUILD.md`.
- **`ConfigFile`**: `save()` now writes atomically via a temp file and `Files.move` (with `ATOMIC_MOVE` when supported).
- **`JaumlInitializer`**: `initialize()` logs compatibility and library version but only writes demo config in development environments or when `-Djauml.writeDemoConfig=true`.
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.0**.
- **README**: Fixed usage example to use `asJsonObject()` and typed getters instead of nonexistent `config.get()`.
### Fixed
- Documentation and migration guide updated for 2.3.0 compatibility matrix while preserving 2.0 API support.
release
2.3.0 · neoforge · 26.1.2
2.3.0+neoforge-26.1.210 сент. 2026 г.70Minecraft: 26.1.2neoforge
Что нового
## [2.3.0] - 2026-09-10
### Added
- **`ConfigFile`**: `asJsonObject()` / `getRoot()` returning a deep clone of the root JSON object.
- **`ConfigFile`**: Path-based accessors — `getByPath`, `setByPath`, `getStringByPath`, `getIntByPath`, `getBooleanByPath`, `getDoubleByPath` (with default-value overloads).
- **`ConfigFile`**: `setBackupRotation(int)` for multi-generation `.bak` rotation on corrupted config recovery.
- **`ConfigFile`**: `reloadIfChanged()` to reload only when file size or mtime changed.
- **`ConfigFile`**: `setStableSave(boolean)` opt-in deterministic save via `JsonLib.stableStringify`.
- **`JaumlConfig`**: `invalidate(String, String)`, `invalidate(Path)`, and `clearCache()` for cache management.
- **`JsonMigrator`**: `setPreferredVersionKey(String)` to control which version key is read and updated during migration.
- **`JsonLib`**: `detectVersion(JsonElement, String preferredKey)` overload checking a preferred key first.
- **`JaumlInitializer`**: `initializeWithDemoConfig()` for explicit demo config workflow; `initialize()` now skips demo config write in production.
- **`JsonSchema`**: Optional constraint keywords — `enum`, `minimum`/`maximum`, `minLength`/`maxLength`, `additionalProperties: false`, and `minItems`/`maxItems`. Schemas that omit these keywords behave exactly as before.
- **`tn.naizo.jauml.util`**: Optional utility package — `PlatformUtil`, `JaumlLogger`, `ModuleVersion`, and `Lifecycle` helpers. Additive only; core config API unchanged.
### Changed
- **Build (Phase 4)**: Explicit `compileOnly` Gson and SLF4J API dependencies in all MultiLoader workspaces; `26.1.2` migrated from `buildSrc` to composite `build-logic` (aligned with `26.2`). See `BUILD.md`.
- **`ConfigFile`**: `save()` now writes atomically via a temp file and `Files.move` (with `ATOMIC_MOVE` when supported).
- **`JaumlInitializer`**: `initialize()` logs compatibility and library version but only writes demo config in development environments or when `-Djauml.writeDemoConfig=true`.
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.0**.
- **README**: Fixed usage example to use `asJsonObject()` and typed getters instead of nonexistent `config.get()`.
### Fixed
- Documentation and migration guide updated for 2.3.0 compatibility matrix while preserving 2.0 API support.
release
2.3.0 · neoforge · 1.21.11
2.3.0+neoforge-1.21.1110 сент. 2026 г.81Minecraft: 1.21.11neoforge
Что нового
## [2.3.0] - 2026-09-10
### Added
- **`ConfigFile`**: `asJsonObject()` / `getRoot()` returning a deep clone of the root JSON object.
- **`ConfigFile`**: Path-based accessors — `getByPath`, `setByPath`, `getStringByPath`, `getIntByPath`, `getBooleanByPath`, `getDoubleByPath` (with default-value overloads).
- **`ConfigFile`**: `setBackupRotation(int)` for multi-generation `.bak` rotation on corrupted config recovery.
- **`ConfigFile`**: `reloadIfChanged()` to reload only when file size or mtime changed.
- **`ConfigFile`**: `setStableSave(boolean)` opt-in deterministic save via `JsonLib.stableStringify`.
- **`JaumlConfig`**: `invalidate(String, String)`, `invalidate(Path)`, and `clearCache()` for cache management.
- **`JsonMigrator`**: `setPreferredVersionKey(String)` to control which version key is read and updated during migration.
- **`JsonLib`**: `detectVersion(JsonElement, String preferredKey)` overload checking a preferred key first.
- **`JaumlInitializer`**: `initializeWithDemoConfig()` for explicit demo config workflow; `initialize()` now skips demo config write in production.
- **`JsonSchema`**: Optional constraint keywords — `enum`, `minimum`/`maximum`, `minLength`/`maxLength`, `additionalProperties: false`, and `minItems`/`maxItems`. Schemas that omit these keywords behave exactly as before.
- **`tn.naizo.jauml.util`**: Optional utility package — `PlatformUtil`, `JaumlLogger`, `ModuleVersion`, and `Lifecycle` helpers. Additive only; core config API unchanged.
### Changed
- **Build (Phase 4)**: Explicit `compileOnly` Gson and SLF4J API dependencies in all MultiLoader workspaces; `26.1.2` migrated from `buildSrc` to composite `build-logic` (aligned with `26.2`). See `BUILD.md`.
- **`ConfigFile`**: `save()` now writes atomically via a temp file and `Files.move` (with `ATOMIC_MOVE` when supported).
- **`JaumlInitializer`**: `initialize()` logs compatibility and library version but only writes demo config in development environments or when `-Djauml.writeDemoConfig=true`.
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.0**.
- **README**: Fixed usage example to use `asJsonObject()` and typed getters instead of nonexistent `config.get()`.
### Fixed
- Documentation and migration guide updated for 2.3.0 compatibility matrix while preserving 2.0 API support.
release
2.3.0 · neoforge · 1.21.1
2.3.0+neoforge-1.21.110 сент. 2026 г.1,9 тыс.Minecraft: 1.21.1neoforge
Что нового
## [2.3.0] - 2026-09-10
### Added
- **`ConfigFile`**: `asJsonObject()` / `getRoot()` returning a deep clone of the root JSON object.
- **`ConfigFile`**: Path-based accessors — `getByPath`, `setByPath`, `getStringByPath`, `getIntByPath`, `getBooleanByPath`, `getDoubleByPath` (with default-value overloads).
- **`ConfigFile`**: `setBackupRotation(int)` for multi-generation `.bak` rotation on corrupted config recovery.
- **`ConfigFile`**: `reloadIfChanged()` to reload only when file size or mtime changed.
- **`ConfigFile`**: `setStableSave(boolean)` opt-in deterministic save via `JsonLib.stableStringify`.
- **`JaumlConfig`**: `invalidate(String, String)`, `invalidate(Path)`, and `clearCache()` for cache management.
- **`JsonMigrator`**: `setPreferredVersionKey(String)` to control which version key is read and updated during migration.
- **`JsonLib`**: `detectVersion(JsonElement, String preferredKey)` overload checking a preferred key first.
- **`JaumlInitializer`**: `initializeWithDemoConfig()` for explicit demo config workflow; `initialize()` now skips demo config write in production.
- **`JsonSchema`**: Optional constraint keywords — `enum`, `minimum`/`maximum`, `minLength`/`maxLength`, `additionalProperties: false`, and `minItems`/`maxItems`. Schemas that omit these keywords behave exactly as before.
- **`tn.naizo.jauml.util`**: Optional utility package — `PlatformUtil`, `JaumlLogger`, `ModuleVersion`, and `Lifecycle` helpers. Additive only; core config API unchanged.
### Changed
- **Build (Phase 4)**: Explicit `compileOnly` Gson and SLF4J API dependencies in all MultiLoader workspaces; `26.1.2` migrated from `buildSrc` to composite `build-logic` (aligned with `26.2`). See `BUILD.md`.
- **`ConfigFile`**: `save()` now writes atomically via a temp file and `Files.move` (with `ATOMIC_MOVE` when supported).
- **`JaumlInitializer`**: `initialize()` logs compatibility and library version but only writes demo config in development environments or when `-Djauml.writeDemoConfig=true`.
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.0**.
- **README**: Fixed usage example to use `asJsonObject()` and typed getters instead of nonexistent `config.get()`.
### Fixed
- Documentation and migration guide updated for 2.3.0 compatibility matrix while preserving 2.0 API support.
release
2.3.0 · forge · 1.20.1
2.3.0+forge-1.20.110 сент. 2026 г.2,6 тыс.Minecraft: 1.20.1forge
Что нового
## [2.3.0] - 2026-09-10
### Added
- **`ConfigFile`**: `asJsonObject()` / `getRoot()` returning a deep clone of the root JSON object.
- **`ConfigFile`**: Path-based accessors — `getByPath`, `setByPath`, `getStringByPath`, `getIntByPath`, `getBooleanByPath`, `getDoubleByPath` (with default-value overloads).
- **`ConfigFile`**: `setBackupRotation(int)` for multi-generation `.bak` rotation on corrupted config recovery.
- **`ConfigFile`**: `reloadIfChanged()` to reload only when file size or mtime changed.
- **`ConfigFile`**: `setStableSave(boolean)` opt-in deterministic save via `JsonLib.stableStringify`.
- **`JaumlConfig`**: `invalidate(String, String)`, `invalidate(Path)`, and `clearCache()` for cache management.
- **`JsonMigrator`**: `setPreferredVersionKey(String)` to control which version key is read and updated during migration.
- **`JsonLib`**: `detectVersion(JsonElement, String preferredKey)` overload checking a preferred key first.
- **`JaumlInitializer`**: `initializeWithDemoConfig()` for explicit demo config workflow; `initialize()` now skips demo config write in production.
- **`JsonSchema`**: Optional constraint keywords — `enum`, `minimum`/`maximum`, `minLength`/`maxLength`, `additionalProperties: false`, and `minItems`/`maxItems`. Schemas that omit these keywords behave exactly as before.
- **`tn.naizo.jauml.util`**: Optional utility package — `PlatformUtil`, `JaumlLogger`, `ModuleVersion`, and `Lifecycle` helpers. Additive only; core config API unchanged.
### Changed
- **Build (Phase 4)**: Explicit `compileOnly` Gson and SLF4J API dependencies in all MultiLoader workspaces; `26.1.2` migrated from `buildSrc` to composite `build-logic` (aligned with `26.2`). See `BUILD.md`.
- **`ConfigFile`**: `save()` now writes atomically via a temp file and `Files.move` (with `ATOMIC_MOVE` when supported).
- **`JaumlInitializer`**: `initialize()` logs compatibility and library version but only writes demo config in development environments or when `-Djauml.writeDemoConfig=true`.
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.0**.
- **README**: Fixed usage example to use `asJsonObject()` and typed getters instead of nonexistent `config.get()`.
### Fixed
- Documentation and migration guide updated for 2.3.0 compatibility matrix while preserving 2.0 API support.
release
2.3.0 · fabric · 26.2
2.3.0+fabric-26.210 сент. 2026 г.855Minecraft: 26.2fabric
Что нового
## [2.3.0] - 2026-09-10
### Added
- **`ConfigFile`**: `asJsonObject()` / `getRoot()` returning a deep clone of the root JSON object.
- **`ConfigFile`**: Path-based accessors — `getByPath`, `setByPath`, `getStringByPath`, `getIntByPath`, `getBooleanByPath`, `getDoubleByPath` (with default-value overloads).
- **`ConfigFile`**: `setBackupRotation(int)` for multi-generation `.bak` rotation on corrupted config recovery.
- **`ConfigFile`**: `reloadIfChanged()` to reload only when file size or mtime changed.
- **`ConfigFile`**: `setStableSave(boolean)` opt-in deterministic save via `JsonLib.stableStringify`.
- **`JaumlConfig`**: `invalidate(String, String)`, `invalidate(Path)`, and `clearCache()` for cache management.
- **`JsonMigrator`**: `setPreferredVersionKey(String)` to control which version key is read and updated during migration.
- **`JsonLib`**: `detectVersion(JsonElement, String preferredKey)` overload checking a preferred key first.
- **`JaumlInitializer`**: `initializeWithDemoConfig()` for explicit demo config workflow; `initialize()` now skips demo config write in production.
- **`JsonSchema`**: Optional constraint keywords — `enum`, `minimum`/`maximum`, `minLength`/`maxLength`, `additionalProperties: false`, and `minItems`/`maxItems`. Schemas that omit these keywords behave exactly as before.
- **`tn.naizo.jauml.util`**: Optional utility package — `PlatformUtil`, `JaumlLogger`, `ModuleVersion`, and `Lifecycle` helpers. Additive only; core config API unchanged.
### Changed
- **Build (Phase 4)**: Explicit `compileOnly` Gson and SLF4J API dependencies in all MultiLoader workspaces; `26.1.2` migrated from `buildSrc` to composite `build-logic` (aligned with `26.2`). See `BUILD.md`.
- **`ConfigFile`**: `save()` now writes atomically via a temp file and `Files.move` (with `ATOMIC_MOVE` when supported).
- **`JaumlInitializer`**: `initialize()` logs compatibility and library version but only writes demo config in development environments or when `-Djauml.writeDemoConfig=true`.
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.0**.
- **README**: Fixed usage example to use `asJsonObject()` and typed getters instead of nonexistent `config.get()`.
### Fixed
- Documentation and migration guide updated for 2.3.0 compatibility matrix while preserving 2.0 API support.
release
2.3.0 · fabric · 26.1.2
2.3.0+fabric-26.1.210 сент. 2026 г.218Minecraft: 26.1.2fabric
Что нового
## [2.3.0] - 2026-09-10
### Added
- **`ConfigFile`**: `asJsonObject()` / `getRoot()` returning a deep clone of the root JSON object.
- **`ConfigFile`**: Path-based accessors — `getByPath`, `setByPath`, `getStringByPath`, `getIntByPath`, `getBooleanByPath`, `getDoubleByPath` (with default-value overloads).
- **`ConfigFile`**: `setBackupRotation(int)` for multi-generation `.bak` rotation on corrupted config recovery.
- **`ConfigFile`**: `reloadIfChanged()` to reload only when file size or mtime changed.
- **`ConfigFile`**: `setStableSave(boolean)` opt-in deterministic save via `JsonLib.stableStringify`.
- **`JaumlConfig`**: `invalidate(String, String)`, `invalidate(Path)`, and `clearCache()` for cache management.
- **`JsonMigrator`**: `setPreferredVersionKey(String)` to control which version key is read and updated during migration.
- **`JsonLib`**: `detectVersion(JsonElement, String preferredKey)` overload checking a preferred key first.
- **`JaumlInitializer`**: `initializeWithDemoConfig()` for explicit demo config workflow; `initialize()` now skips demo config write in production.
- **`JsonSchema`**: Optional constraint keywords — `enum`, `minimum`/`maximum`, `minLength`/`maxLength`, `additionalProperties: false`, and `minItems`/`maxItems`. Schemas that omit these keywords behave exactly as before.
- **`tn.naizo.jauml.util`**: Optional utility package — `PlatformUtil`, `JaumlLogger`, `ModuleVersion`, and `Lifecycle` helpers. Additive only; core config API unchanged.
### Changed
- **Build (Phase 4)**: Explicit `compileOnly` Gson and SLF4J API dependencies in all MultiLoader workspaces; `26.1.2` migrated from `buildSrc` to composite `build-logic` (aligned with `26.2`). See `BUILD.md`.
- **`ConfigFile`**: `save()` now writes atomically via a temp file and `Files.move` (with `ATOMIC_MOVE` when supported).
- **`JaumlInitializer`**: `initialize()` logs compatibility and library version but only writes demo config in development environments or when `-Djauml.writeDemoConfig=true`.
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.0**.
- **README**: Fixed usage example to use `asJsonObject()` and typed getters instead of nonexistent `config.get()`.
### Fixed
- Documentation and migration guide updated for 2.3.0 compatibility matrix while preserving 2.0 API support.
release
2.3.0 · fabric · 1.21.11
2.3.0+fabric-1.21.1110 сент. 2026 г.585Minecraft: 1.21.11fabric
Что нового
## [2.3.0] - 2026-09-10
### Added
- **`ConfigFile`**: `asJsonObject()` / `getRoot()` returning a deep clone of the root JSON object.
- **`ConfigFile`**: Path-based accessors — `getByPath`, `setByPath`, `getStringByPath`, `getIntByPath`, `getBooleanByPath`, `getDoubleByPath` (with default-value overloads).
- **`ConfigFile`**: `setBackupRotation(int)` for multi-generation `.bak` rotation on corrupted config recovery.
- **`ConfigFile`**: `reloadIfChanged()` to reload only when file size or mtime changed.
- **`ConfigFile`**: `setStableSave(boolean)` opt-in deterministic save via `JsonLib.stableStringify`.
- **`JaumlConfig`**: `invalidate(String, String)`, `invalidate(Path)`, and `clearCache()` for cache management.
- **`JsonMigrator`**: `setPreferredVersionKey(String)` to control which version key is read and updated during migration.
- **`JsonLib`**: `detectVersion(JsonElement, String preferredKey)` overload checking a preferred key first.
- **`JaumlInitializer`**: `initializeWithDemoConfig()` for explicit demo config workflow; `initialize()` now skips demo config write in production.
- **`JsonSchema`**: Optional constraint keywords — `enum`, `minimum`/`maximum`, `minLength`/`maxLength`, `additionalProperties: false`, and `minItems`/`maxItems`. Schemas that omit these keywords behave exactly as before.
- **`tn.naizo.jauml.util`**: Optional utility package — `PlatformUtil`, `JaumlLogger`, `ModuleVersion`, and `Lifecycle` helpers. Additive only; core config API unchanged.
### Changed
- **Build (Phase 4)**: Explicit `compileOnly` Gson and SLF4J API dependencies in all MultiLoader workspaces; `26.1.2` migrated from `buildSrc` to composite `build-logic` (aligned with `26.2`). See `BUILD.md`.
- **`ConfigFile`**: `save()` now writes atomically via a temp file and `Files.move` (with `ATOMIC_MOVE` when supported).
- **`JaumlInitializer`**: `initialize()` logs compatibility and library version but only writes demo config in development environments or when `-Djauml.writeDemoConfig=true`.
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.0**.
- **README**: Fixed usage example to use `asJsonObject()` and typed getters instead of nonexistent `config.get()`.
### Fixed
- Documentation and migration guide updated for 2.3.0 compatibility matrix while preserving 2.0 API support.
release
2.3.0 · fabric · 1.21.1
2.3.0+fabric-1.21.110 сент. 2026 г.857Minecraft: 1.21.1fabric
Что нового
## [2.3.0] - 2026-09-10
### Added
- **`ConfigFile`**: `asJsonObject()` / `getRoot()` returning a deep clone of the root JSON object.
- **`ConfigFile`**: Path-based accessors — `getByPath`, `setByPath`, `getStringByPath`, `getIntByPath`, `getBooleanByPath`, `getDoubleByPath` (with default-value overloads).
- **`ConfigFile`**: `setBackupRotation(int)` for multi-generation `.bak` rotation on corrupted config recovery.
- **`ConfigFile`**: `reloadIfChanged()` to reload only when file size or mtime changed.
- **`ConfigFile`**: `setStableSave(boolean)` opt-in deterministic save via `JsonLib.stableStringify`.
- **`JaumlConfig`**: `invalidate(String, String)`, `invalidate(Path)`, and `clearCache()` for cache management.
- **`JsonMigrator`**: `setPreferredVersionKey(String)` to control which version key is read and updated during migration.
- **`JsonLib`**: `detectVersion(JsonElement, String preferredKey)` overload checking a preferred key first.
- **`JaumlInitializer`**: `initializeWithDemoConfig()` for explicit demo config workflow; `initialize()` now skips demo config write in production.
- **`JsonSchema`**: Optional constraint keywords — `enum`, `minimum`/`maximum`, `minLength`/`maxLength`, `additionalProperties: false`, and `minItems`/`maxItems`. Schemas that omit these keywords behave exactly as before.
- **`tn.naizo.jauml.util`**: Optional utility package — `PlatformUtil`, `JaumlLogger`, `ModuleVersion`, and `Lifecycle` helpers. Additive only; core config API unchanged.
### Changed
- **Build (Phase 4)**: Explicit `compileOnly` Gson and SLF4J API dependencies in all MultiLoader workspaces; `26.1.2` migrated from `buildSrc` to composite `build-logic` (aligned with `26.2`). See `BUILD.md`.
- **`ConfigFile`**: `save()` now writes atomically via a temp file and `Files.move` (with `ATOMIC_MOVE` when supported).
- **`JaumlInitializer`**: `initialize()` logs compatibility and library version but only writes demo config in development environments or when `-Djauml.writeDemoConfig=true`.
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.0**.
- **README**: Fixed usage example to use `asJsonObject()` and typed getters instead of nonexistent `config.get()`.
### Fixed
- Documentation and migration guide updated for 2.3.0 compatibility matrix while preserving 2.0 API support.
release
2.3.0 · fabric · 1.20.1
2.3.0+fabric-1.20.110 сент. 2026 г.690Minecraft: 1.20.1fabric
Что нового
## [2.3.0] - 2026-09-10
### Added
- **`ConfigFile`**: `asJsonObject()` / `getRoot()` returning a deep clone of the root JSON object.
- **`ConfigFile`**: Path-based accessors — `getByPath`, `setByPath`, `getStringByPath`, `getIntByPath`, `getBooleanByPath`, `getDoubleByPath` (with default-value overloads).
- **`ConfigFile`**: `setBackupRotation(int)` for multi-generation `.bak` rotation on corrupted config recovery.
- **`ConfigFile`**: `reloadIfChanged()` to reload only when file size or mtime changed.
- **`ConfigFile`**: `setStableSave(boolean)` opt-in deterministic save via `JsonLib.stableStringify`.
- **`JaumlConfig`**: `invalidate(String, String)`, `invalidate(Path)`, and `clearCache()` for cache management.
- **`JsonMigrator`**: `setPreferredVersionKey(String)` to control which version key is read and updated during migration.
- **`JsonLib`**: `detectVersion(JsonElement, String preferredKey)` overload checking a preferred key first.
- **`JaumlInitializer`**: `initializeWithDemoConfig()` for explicit demo config workflow; `initialize()` now skips demo config write in production.
- **`JsonSchema`**: Optional constraint keywords — `enum`, `minimum`/`maximum`, `minLength`/`maxLength`, `additionalProperties: false`, and `minItems`/`maxItems`. Schemas that omit these keywords behave exactly as before.
- **`tn.naizo.jauml.util`**: Optional utility package — `PlatformUtil`, `JaumlLogger`, `ModuleVersion`, and `Lifecycle` helpers. Additive only; core config API unchanged.
### Changed
- **Build (Phase 4)**: Explicit `compileOnly` Gson and SLF4J API dependencies in all MultiLoader workspaces; `26.1.2` migrated from `buildSrc` to composite `build-logic` (aligned with `26.2`). See `BUILD.md`.
- **`ConfigFile`**: `save()` now writes atomically via a temp file and `Files.move` (with `ATOMIC_MOVE` when supported).
- **`JaumlInitializer`**: `initialize()` logs compatibility and library version but only writes demo config in development environments or when `-Djauml.writeDemoConfig=true`.
- **Version alignment**: `LIBRARY_VERSION`, all workspace `gradle.properties`, and all `MOD_VERSION` constants bumped to **2.3.0**.
- **README**: Fixed usage example to use `asJsonObject()` and typed getters instead of nonexistent `config.get()`.
### Fixed
- Documentation and migration guide updated for 2.3.0 compatibility matrix while preserving 2.0 API support.
release
Jauml 2.1.1
2.1.130 июл. 2026 г.504Minecraft: 26.2neoforge
Что нового
## Jauml 2.1.1
### Bug Fixes
* Fixed Fabric/NeoForge 26.1.2 crash from stub MixinMinecraft missing @Mixin (#3/#4).
### File
* jauml-neoforge-26.2-2.1.1.jar
release
Jauml 2.1.1
2.1.130 июл. 2026 г.233Minecraft: 26.1.2neoforge
Что нового
## Jauml 2.1.1
### Bug Fixes
* Fixed Fabric/NeoForge 26.1.2 crash from stub MixinMinecraft missing @Mixin (#3/#4).
### File
* jauml-neoforge-26.1.2-2.1.1.jar
release
Jauml 2.1.1
2.1.130 июл. 2026 г.149Minecraft: 1.21.11neoforge
Что нового
## Jauml 2.1.1
### Bug Fixes
* Fixed Fabric/NeoForge 26.1.2 crash from stub MixinMinecraft missing @Mixin (#3/#4).
### File
* jauml-neoforge-1.21.11-2.1.1.jar
release
Jauml 2.1.1
2.1.130 июл. 2026 г.5,8 тыс.Minecraft: 1.21.1neoforge
Что нового
## Jauml 2.1.1
### Bug Fixes
* Fixed Fabric/NeoForge 26.1.2 crash from stub MixinMinecraft missing @Mixin (#3/#4).
### File
* jauml-neoforge-1.21.1-2.1.1.jar
release
Jauml 2.1.1
2.1.130 июл. 2026 г.6,8 тыс.Minecraft: 1.20.1forge
Что нового
## Jauml 2.1.1
### Bug Fixes
* Fixed Fabric/NeoForge 26.1.2 crash from stub MixinMinecraft missing @Mixin (#3/#4).
### File
* jauml-forge-1.20.1-2.1.1.jar
release
Jauml 2.1.1
2.1.130 июл. 2026 г.2 тыс.Minecraft: 26.2fabric
Что нового
## Jauml 2.1.1
### Bug Fixes
* Fixed Fabric/NeoForge 26.1.2 crash from stub MixinMinecraft missing @Mixin (#3/#4).
### File
* jauml-fabric-26.2-2.1.1.jar
release
Jauml 2.1.1
2.1.130 июл. 2026 г.2 тыс.Minecraft: 26.1.2fabric
Что нового
## Jauml 2.1.1
### Bug Fixes
* Fixed Fabric/NeoForge 26.1.2 crash from stub MixinMinecraft missing @Mixin (#3/#4).
### File
* jauml-fabric-26.1.2-2.1.1.jar
release
Jauml 2.1.1
2.1.130 июл. 2026 г.1,3 тыс.Minecraft: 1.21.11fabric
Что нового
## Jauml 2.1.1
### Bug Fixes
* Fixed Fabric/NeoForge 26.1.2 crash from stub MixinMinecraft missing @Mixin (#3/#4).
### File
* jauml-fabric-1.21.11-2.1.1.jar
release
Jauml 2.1.1
2.1.130 июл. 2026 г.2,1 тыс.Minecraft: 1.21.1fabric
Что нового
## Jauml 2.1.1
### Bug Fixes
* Fixed Fabric/NeoForge 26.1.2 crash from stub MixinMinecraft missing @Mixin (#3/#4).
### File
* jauml-fabric-1.21.1-2.1.1.jar
release
Jauml 2.1.1
2.1.130 июл. 2026 г.1,5 тыс.Minecraft: 1.20.1fabric
Что нового
## Jauml 2.1.1
### Bug Fixes
* Fixed Fabric/NeoForge 26.1.2 crash from stub MixinMinecraft missing @Mixin (#3/#4).
### File
* jauml-fabric-1.20.1-2.1.1.jar
release
Jauml 2.1.0
2.1.025 июн. 2026 г.284Minecraft: 26.2neoforge
Что нового
### Added
- **`JsonLib`**: Modern JSON utility class providing:
- `safeParse` for exception-free parsing.
- `strictParse` to enforce standard RFC 8259 compliance.
- `stableStringify` for key-sorted deterministic JSON serialization.
- `deepClone` for clean nested JSON copies.
- `getByPath` and `setByPath` for dot-bracket path navigation (e.g. `settings.users[0].name`).
- `merge` to recursively combine configuration layers.
- `normalize` to apply type coercion and default templates to user configurations.
- `detectVersion` for finding schema version tags.
- **`JsonSchema`**: Embedded lightweight JSON Schema validator supporting type checks, required keys constraint, object property validation, and array item schema checking.
- **`JsonMigrator`**: Sequence-based directed BFS path-finding migrator for sequential version upgrades.
- **`JsonException`**: Unified, typed exception class for all library errors.
- **`JaumlInitializer`**: Mod-level startup checker verifying configuration health, executing migrations, and performing library/app compatibility checks.
- **JUnit 5 Test Framework**: Shared test suite inside `common-shared` running tests natively across all supported Minecraft versions.
- **Launch Verification script**: PowerShell runner `verify_launch.ps1` to clean, compile, run tests, and package mod jars automatically.
### Changed
- **`ConfigFile`**: Enhanced in-place with:
- Graceful recovery of corrupted config files (backs up corrupted configs to `.json.bak` and re-creates clean configs from default templates).
- Implicit type coercion and template normalization during loads.
- Schema validation check support.
- Auto-migrations before initialization.
- **`JaumlConfig`**: Added overloaded `open` methods supporting schemas, migrators, and default templates. Added runtime checks (`LIBRARY_VERSION` and `isCompatible`).
release
Jauml 2.1.0
2.1.025 июн. 2026 г.125Minecraft: 26.1.2neoforge
Что нового
### Added
- **`JsonLib`**: Modern JSON utility class providing:
- `safeParse` for exception-free parsing.
- `strictParse` to enforce standard RFC 8259 compliance.
- `stableStringify` for key-sorted deterministic JSON serialization.
- `deepClone` for clean nested JSON copies.
- `getByPath` and `setByPath` for dot-bracket path navigation (e.g. `settings.users[0].name`).
- `merge` to recursively combine configuration layers.
- `normalize` to apply type coercion and default templates to user configurations.
- `detectVersion` for finding schema version tags.
- **`JsonSchema`**: Embedded lightweight JSON Schema validator supporting type checks, required keys constraint, object property validation, and array item schema checking.
- **`JsonMigrator`**: Sequence-based directed BFS path-finding migrator for sequential version upgrades.
- **`JsonException`**: Unified, typed exception class for all library errors.
- **`JaumlInitializer`**: Mod-level startup checker verifying configuration health, executing migrations, and performing library/app compatibility checks.
- **JUnit 5 Test Framework**: Shared test suite inside `common-shared` running tests natively across all supported Minecraft versions.
- **Launch Verification script**: PowerShell runner `verify_launch.ps1` to clean, compile, run tests, and package mod jars automatically.
### Changed
- **`ConfigFile`**: Enhanced in-place with:
- Graceful recovery of corrupted config files (backs up corrupted configs to `.json.bak` and re-creates clean configs from default templates).
- Implicit type coercion and template normalization during loads.
- Schema validation check support.
- Auto-migrations before initialization.
- **`JaumlConfig`**: Added overloaded `open` methods supporting schemas, migrators, and default templates. Added runtime checks (`LIBRARY_VERSION` and `isCompatible`).
release
Jauml 2.1.0
2.1.025 июн. 2026 г.121Minecraft: 1.21.11neoforge
Что нового
### Added
- **`JsonLib`**: Modern JSON utility class providing:
- `safeParse` for exception-free parsing.
- `strictParse` to enforce standard RFC 8259 compliance.
- `stableStringify` for key-sorted deterministic JSON serialization.
- `deepClone` for clean nested JSON copies.
- `getByPath` and `setByPath` for dot-bracket path navigation (e.g. `settings.users[0].name`).
- `merge` to recursively combine configuration layers.
- `normalize` to apply type coercion and default templates to user configurations.
- `detectVersion` for finding schema version tags.
- **`JsonSchema`**: Embedded lightweight JSON Schema validator supporting type checks, required keys constraint, object property validation, and array item schema checking.
- **`JsonMigrator`**: Sequence-based directed BFS path-finding migrator for sequential version upgrades.
- **`JsonException`**: Unified, typed exception class for all library errors.
- **`JaumlInitializer`**: Mod-level startup checker verifying configuration health, executing migrations, and performing library/app compatibility checks.
- **JUnit 5 Test Framework**: Shared test suite inside `common-shared` running tests natively across all supported Minecraft versions.
- **Launch Verification script**: PowerShell runner `verify_launch.ps1` to clean, compile, run tests, and package mod jars automatically.
### Changed
- **`ConfigFile`**: Enhanced in-place with:
- Graceful recovery of corrupted config files (backs up corrupted configs to `.json.bak` and re-creates clean configs from default templates).
- Implicit type coercion and template normalization during loads.
- Schema validation check support.
- Auto-migrations before initialization.
- **`JaumlConfig`**: Added overloaded `open` methods supporting schemas, migrators, and default templates. Added runtime checks (`LIBRARY_VERSION` and `isCompatible`).
release
Jauml 2.1.0
2.1.025 июн. 2026 г.5,7 тыс.Minecraft: 1.21.1neoforge
Что нового
### Added
- **`JsonLib`**: Modern JSON utility class providing:
- `safeParse` for exception-free parsing.
- `strictParse` to enforce standard RFC 8259 compliance.
- `stableStringify` for key-sorted deterministic JSON serialization.
- `deepClone` for clean nested JSON copies.
- `getByPath` and `setByPath` for dot-bracket path navigation (e.g. `settings.users[0].name`).
- `merge` to recursively combine configuration layers.
- `normalize` to apply type coercion and default templates to user configurations.
- `detectVersion` for finding schema version tags.
- **`JsonSchema`**: Embedded lightweight JSON Schema validator supporting type checks, required keys constraint, object property validation, and array item schema checking.
- **`JsonMigrator`**: Sequence-based directed BFS path-finding migrator for sequential version upgrades.
- **`JsonException`**: Unified, typed exception class for all library errors.
- **`JaumlInitializer`**: Mod-level startup checker verifying configuration health, executing migrations, and performing library/app compatibility checks.
- **JUnit 5 Test Framework**: Shared test suite inside `common-shared` running tests natively across all supported Minecraft versions.
- **Launch Verification script**: PowerShell runner `verify_launch.ps1` to clean, compile, run tests, and package mod jars automatically.
### Changed
- **`ConfigFile`**: Enhanced in-place with:
- Graceful recovery of corrupted config files (backs up corrupted configs to `.json.bak` and re-creates clean configs from default templates).
- Implicit type coercion and template normalization during loads.
- Schema validation check support.
- Auto-migrations before initialization.
- **`JaumlConfig`**: Added overloaded `open` methods supporting schemas, migrators, and default templates. Added runtime checks (`LIBRARY_VERSION` and `isCompatible`).
release
Jauml 2.1.0
2.1.025 июн. 2026 г.7 тыс.Minecraft: 1.20.1forge, neoforge
Что нового
### Added
- **`JsonLib`**: Modern JSON utility class providing:
- `safeParse` for exception-free parsing.
- `strictParse` to enforce standard RFC 8259 compliance.
- `stableStringify` for key-sorted deterministic JSON serialization.
- `deepClone` for clean nested JSON copies.
- `getByPath` and `setByPath` for dot-bracket path navigation (e.g. `settings.users[0].name`).
- `merge` to recursively combine configuration layers.
- `normalize` to apply type coercion and default templates to user configurations.
- `detectVersion` for finding schema version tags.
- **`JsonSchema`**: Embedded lightweight JSON Schema validator supporting type checks, required keys constraint, object property validation, and array item schema checking.
- **`JsonMigrator`**: Sequence-based directed BFS path-finding migrator for sequential version upgrades.
- **`JsonException`**: Unified, typed exception class for all library errors.
- **`JaumlInitializer`**: Mod-level startup checker verifying configuration health, executing migrations, and performing library/app compatibility checks.
- **JUnit 5 Test Framework**: Shared test suite inside `common-shared` running tests natively across all supported Minecraft versions.
- **Launch Verification script**: PowerShell runner `verify_launch.ps1` to clean, compile, run tests, and package mod jars automatically.
### Changed
- **`ConfigFile`**: Enhanced in-place with:
- Graceful recovery of corrupted config files (backs up corrupted configs to `.json.bak` and re-creates clean configs from default templates).
- Implicit type coercion and template normalization during loads.
- Schema validation check support.
- Auto-migrations before initialization.
- **`JaumlConfig`**: Added overloaded `open` methods supporting schemas, migrators, and default templates. Added runtime checks (`LIBRARY_VERSION` and `isCompatible`).
release
Jauml 2.1.0
2.1.025 июн. 2026 г.1,1 тыс.Minecraft: 26.2fabric
Что нового
### Added
- **`JsonLib`**: Modern JSON utility class providing:
- `safeParse` for exception-free parsing.
- `strictParse` to enforce standard RFC 8259 compliance.
- `stableStringify` for key-sorted deterministic JSON serialization.
- `deepClone` for clean nested JSON copies.
- `getByPath` and `setByPath` for dot-bracket path navigation (e.g. `settings.users[0].name`).
- `merge` to recursively combine configuration layers.
- `normalize` to apply type coercion and default templates to user configurations.
- `detectVersion` for finding schema version tags.
- **`JsonSchema`**: Embedded lightweight JSON Schema validator supporting type checks, required keys constraint, object property validation, and array item schema checking.
- **`JsonMigrator`**: Sequence-based directed BFS path-finding migrator for sequential version upgrades.
- **`JsonException`**: Unified, typed exception class for all library errors.
- **`JaumlInitializer`**: Mod-level startup checker verifying configuration health, executing migrations, and performing library/app compatibility checks.
- **JUnit 5 Test Framework**: Shared test suite inside `common-shared` running tests natively across all supported Minecraft versions.
- **Launch Verification script**: PowerShell runner `verify_launch.ps1` to clean, compile, run tests, and package mod jars automatically.
### Changed
- **`ConfigFile`**: Enhanced in-place with:
- Graceful recovery of corrupted config files (backs up corrupted configs to `.json.bak` and re-creates clean configs from default templates).
- Implicit type coercion and template normalization during loads.
- Schema validation check support.
- Auto-migrations before initialization.
- **`JaumlConfig`**: Added overloaded `open` methods supporting schemas, migrators, and default templates. Added runtime checks (`LIBRARY_VERSION` and `isCompatible`).
release
Jauml 2.1.0
2.1.025 июн. 2026 г.690Minecraft: 26.1.2fabric
Что нового
### Added
- **`JsonLib`**: Modern JSON utility class providing:
- `safeParse` for exception-free parsing.
- `strictParse` to enforce standard RFC 8259 compliance.
- `stableStringify` for key-sorted deterministic JSON serialization.
- `deepClone` for clean nested JSON copies.
- `getByPath` and `setByPath` for dot-bracket path navigation (e.g. `settings.users[0].name`).
- `merge` to recursively combine configuration layers.
- `normalize` to apply type coercion and default templates to user configurations.
- `detectVersion` for finding schema version tags.
- **`JsonSchema`**: Embedded lightweight JSON Schema validator supporting type checks, required keys constraint, object property validation, and array item schema checking.
- **`JsonMigrator`**: Sequence-based directed BFS path-finding migrator for sequential version upgrades.
- **`JsonException`**: Unified, typed exception class for all library errors.
- **`JaumlInitializer`**: Mod-level startup checker verifying configuration health, executing migrations, and performing library/app compatibility checks.
- **JUnit 5 Test Framework**: Shared test suite inside `common-shared` running tests natively across all supported Minecraft versions.
- **Launch Verification script**: PowerShell runner `verify_launch.ps1` to clean, compile, run tests, and package mod jars automatically.
### Changed
- **`ConfigFile`**: Enhanced in-place with:
- Graceful recovery of corrupted config files (backs up corrupted configs to `.json.bak` and re-creates clean configs from default templates).
- Implicit type coercion and template normalization during loads.
- Schema validation check support.
- Auto-migrations before initialization.
- **`JaumlConfig`**: Added overloaded `open` methods supporting schemas, migrators, and default templates. Added runtime checks (`LIBRARY_VERSION` and `isCompatible`).
release
Jauml 2.1.0
2.1.025 июн. 2026 г.1,1 тыс.Minecraft: 1.21.11fabric
Что нового
### Added
- **`JsonLib`**: Modern JSON utility class providing:
- `safeParse` for exception-free parsing.
- `strictParse` to enforce standard RFC 8259 compliance.
- `stableStringify` for key-sorted deterministic JSON serialization.
- `deepClone` for clean nested JSON copies.
- `getByPath` and `setByPath` for dot-bracket path navigation (e.g. `settings.users[0].name`).
- `merge` to recursively combine configuration layers.
- `normalize` to apply type coercion and default templates to user configurations.
- `detectVersion` for finding schema version tags.
- **`JsonSchema`**: Embedded lightweight JSON Schema validator supporting type checks, required keys constraint, object property validation, and array item schema checking.
- **`JsonMigrator`**: Sequence-based directed BFS path-finding migrator for sequential version upgrades.
- **`JsonException`**: Unified, typed exception class for all library errors.
- **`JaumlInitializer`**: Mod-level startup checker verifying configuration health, executing migrations, and performing library/app compatibility checks.
- **JUnit 5 Test Framework**: Shared test suite inside `common-shared` running tests natively across all supported Minecraft versions.
- **Launch Verification script**: PowerShell runner `verify_launch.ps1` to clean, compile, run tests, and package mod jars automatically.
### Changed
- **`ConfigFile`**: Enhanced in-place with:
- Graceful recovery of corrupted config files (backs up corrupted configs to `.json.bak` and re-creates clean configs from default templates).
- Implicit type coercion and template normalization during loads.
- Schema validation check support.
- Auto-migrations before initialization.
- **`JaumlConfig`**: Added overloaded `open` methods supporting schemas, migrators, and default templates. Added runtime checks (`LIBRARY_VERSION` and `isCompatible`).
release
Jauml 2.1.0
2.1.025 июн. 2026 г.1,3 тыс.Minecraft: 1.21.1fabric
Что нового
### Added
- **`JsonLib`**: Modern JSON utility class providing:
- `safeParse` for exception-free parsing.
- `strictParse` to enforce standard RFC 8259 compliance.
- `stableStringify` for key-sorted deterministic JSON serialization.
- `deepClone` for clean nested JSON copies.
- `getByPath` and `setByPath` for dot-bracket path navigation (e.g. `settings.users[0].name`).
- `merge` to recursively combine configuration layers.
- `normalize` to apply type coercion and default templates to user configurations.
- `detectVersion` for finding schema version tags.
- **`JsonSchema`**: Embedded lightweight JSON Schema validator supporting type checks, required keys constraint, object property validation, and array item schema checking.
- **`JsonMigrator`**: Sequence-based directed BFS path-finding migrator for sequential version upgrades.
- **`JsonException`**: Unified, typed exception class for all library errors.
- **`JaumlInitializer`**: Mod-level startup checker verifying configuration health, executing migrations, and performing library/app compatibility checks.
- **JUnit 5 Test Framework**: Shared test suite inside `common-shared` running tests natively across all supported Minecraft versions.
- **Launch Verification script**: PowerShell runner `verify_launch.ps1` to clean, compile, run tests, and package mod jars automatically.
### Changed
- **`ConfigFile`**: Enhanced in-place with:
- Graceful recovery of corrupted config files (backs up corrupted configs to `.json.bak` and re-creates clean configs from default templates).
- Implicit type coercion and template normalization during loads.
- Schema validation check support.
- Auto-migrations before initialization.
- **`JaumlConfig`**: Added overloaded `open` methods supporting schemas, migrators, and default templates. Added runtime checks (`LIBRARY_VERSION` and `isCompatible`).
release
Jauml 2.1.0
2.1.025 июн. 2026 г.1,5 тыс.Minecraft: 1.20.1fabric
Что нового
### Added
- **`JsonLib`**: Modern JSON utility class providing:
- `safeParse` for exception-free parsing.
- `strictParse` to enforce standard RFC 8259 compliance.
- `stableStringify` for key-sorted deterministic JSON serialization.
- `deepClone` for clean nested JSON copies.
- `getByPath` and `setByPath` for dot-bracket path navigation (e.g. `settings.users[0].name`).
- `merge` to recursively combine configuration layers.
- `normalize` to apply type coercion and default templates to user configurations.
- `detectVersion` for finding schema version tags.
- **`JsonSchema`**: Embedded lightweight JSON Schema validator supporting type checks, required keys constraint, object property validation, and array item schema checking.
- **`JsonMigrator`**: Sequence-based directed BFS path-finding migrator for sequential version upgrades.
- **`JsonException`**: Unified, typed exception class for all library errors.
- **`JaumlInitializer`**: Mod-level startup checker verifying configuration health, executing migrations, and performing library/app compatibility checks.
- **JUnit 5 Test Framework**: Shared test suite inside `common-shared` running tests natively across all supported Minecraft versions.
- **Launch Verification script**: PowerShell runner `verify_launch.ps1` to clean, compile, run tests, and package mod jars automatically.
### Changed
- **`ConfigFile`**: Enhanced in-place with:
- Graceful recovery of corrupted config files (backs up corrupted configs to `.json.bak` and re-creates clean configs from default templates).
- Implicit type coercion and template normalization during loads.
- Schema validation check support.
- Auto-migrations before initialization.
- **`JaumlConfig`**: Added overloaded `open` methods supporting schemas, migrators, and default templates. Added runtime checks (`LIBRARY_VERSION` and `isCompatible`).
release
Jauml 2.0.0
2.0.021 мая 2026 г.441Minecraft: 26.1.2neoforge
Что нового
* Standardized Java toolchain configuration across all supported versions.
* Added `targetJavaVersion` support for consistent Java compilation.
* Fixed NeoForge metadata generation by exposing `neoforge_version_range`.
* Updated `neoforge.mods.toml` files to use proper `versionRange` values.
* Added the correct NeoForge dependency declaration.
* Fixed and reordered Minecraft dependency metadata for `1.21.11`.
* Normalized TOML fields such as `modId`, `type`, `ordering`, and `side`.
* Updated `NeoForgePlatformHelper` to use `FMLEnvironment.isProduction`.
* Added Gradle publishing/component fixes for `26.1.2`.
* Set NeoForge component variants to target JVM 21.
* Added custom Gradle attributes to separate Java and resource configurations.
release
Jauml 2.0.0
2.0.021 мая 2026 г.123Minecraft: 1.21.11neoforge
Что нового
* Standardized Java toolchain configuration across all supported versions.
* Added `targetJavaVersion` support for consistent Java compilation.
* Fixed NeoForge metadata generation by exposing `neoforge_version_range`.
* Updated `neoforge.mods.toml` files to use proper `versionRange` values.
* Added the correct NeoForge dependency declaration.
* Fixed and reordered Minecraft dependency metadata for `1.21.11`.
* Normalized TOML fields such as `modId`, `type`, `ordering`, and `side`.
* Updated `NeoForgePlatformHelper` to use `FMLEnvironment.isProduction`.
* Added Gradle publishing/component fixes for `26.1.2`.
* Set NeoForge component variants to target JVM 21.
* Added custom Gradle attributes to separate Java and resource configurations.
release
Jauml 2.0.0
2.0.021 мая 2026 г.4,1 тыс.Minecraft: 1.21.1neoforge
Что нового
* Standardized Java toolchain configuration across all supported versions.
* Added `targetJavaVersion` support for consistent Java compilation.
* Fixed NeoForge metadata generation by exposing `neoforge_version_range`.
* Updated `neoforge.mods.toml` files to use proper `versionRange` values.
* Added the correct NeoForge dependency declaration.
* Fixed and reordered Minecraft dependency metadata for `1.21.11`.
* Normalized TOML fields such as `modId`, `type`, `ordering`, and `side`.
* Updated `NeoForgePlatformHelper` to use `FMLEnvironment.isProduction`.
* Added Gradle publishing/component fixes for `26.1.2`.
* Set NeoForge component variants to target JVM 21.
* Added custom Gradle attributes to separate Java and resource configurations.
release
Jauml 2.0.0
2.0.021 мая 2026 г.4,8 тыс.Minecraft: 1.20.1forge, neoforge
Что нового
* Standardized Java toolchain configuration across all supported versions.
* Added `targetJavaVersion` support for consistent Java compilation.
* Fixed NeoForge metadata generation by exposing `neoforge_version_range`.
* Updated `neoforge.mods.toml` files to use proper `versionRange` values.
* Added the correct NeoForge dependency declaration.
* Fixed and reordered Minecraft dependency metadata for `1.21.11`.
* Normalized TOML fields such as `modId`, `type`, `ordering`, and `side`.
* Updated `NeoForgePlatformHelper` to use `FMLEnvironment.isProduction`.
* Added Gradle publishing/component fixes for `26.1.2`.
* Set NeoForge component variants to target JVM 21.
* Added custom Gradle attributes to separate Java and resource configurations.
release
Jauml 2.0.0
2.0.021 мая 2026 г.1,4 тыс.Minecraft: 26.1.2fabric
Что нового
* Standardized Java toolchain configuration across all supported versions.
* Added `targetJavaVersion` support for consistent Java compilation.
* Fixed NeoForge metadata generation by exposing `neoforge_version_range`.
* Updated `neoforge.mods.toml` files to use proper `versionRange` values.
* Added the correct NeoForge dependency declaration.
* Fixed and reordered Minecraft dependency metadata for `1.21.11`.
* Normalized TOML fields such as `modId`, `type`, `ordering`, and `side`.
* Updated `NeoForgePlatformHelper` to use `FMLEnvironment.isProduction`.
* Added Gradle publishing/component fixes for `26.1.2`.
* Set NeoForge component variants to target JVM 21.
* Added custom Gradle attributes to separate Java and resource configurations.
release
Jauml 2.0.0
2.0.021 мая 2026 г.752Minecraft: 1.21.11fabric
Что нового
* Standardized Java toolchain configuration across all supported versions.
* Added `targetJavaVersion` support for consistent Java compilation.
* Fixed NeoForge metadata generation by exposing `neoforge_version_range`.
* Updated `neoforge.mods.toml` files to use proper `versionRange` values.
* Added the correct NeoForge dependency declaration.
* Fixed and reordered Minecraft dependency metadata for `1.21.11`.
* Normalized TOML fields such as `modId`, `type`, `ordering`, and `side`.
* Updated `NeoForgePlatformHelper` to use `FMLEnvironment.isProduction`.
* Added Gradle publishing/component fixes for `26.1.2`.
* Set NeoForge component variants to target JVM 21.
* Added custom Gradle attributes to separate Java and resource configurations.
release
Jauml 2.0.0
2.0.021 мая 2026 г.1,8 тыс.Minecraft: 1.21.1fabric
Что нового
* Standardized Java toolchain configuration across all supported versions.
* Added `targetJavaVersion` support for consistent Java compilation.
* Fixed NeoForge metadata generation by exposing `neoforge_version_range`.
* Updated `neoforge.mods.toml` files to use proper `versionRange` values.
* Added the correct NeoForge dependency declaration.
* Fixed and reordered Minecraft dependency metadata for `1.21.11`.
* Normalized TOML fields such as `modId`, `type`, `ordering`, and `side`.
* Updated `NeoForgePlatformHelper` to use `FMLEnvironment.isProduction`.
* Added Gradle publishing/component fixes for `26.1.2`.
* Set NeoForge component variants to target JVM 21.
* Added custom Gradle attributes to separate Java and resource configurations.
release
Jauml 2.0.0
2.0.021 мая 2026 г.1,2 тыс.Minecraft: 1.20.1fabric
Что нового
* Standardized Java toolchain configuration across all supported versions.
* Added `targetJavaVersion` support for consistent Java compilation.
* Fixed NeoForge metadata generation by exposing `neoforge_version_range`.
* Updated `neoforge.mods.toml` files to use proper `versionRange` values.
* Added the correct NeoForge dependency declaration.
* Fixed and reordered Minecraft dependency metadata for `1.21.11`.
* Normalized TOML fields such as `modId`, `type`, `ordering`, and `side`.
* Updated `NeoForgePlatformHelper` to use `FMLEnvironment.isProduction`.
* Added Gradle publishing/component fixes for `26.1.2`.
* Set NeoForge component variants to target JVM 21.
* Added custom Gradle attributes to separate Java and resource configurations.
release
Jauml 1.3.0
1.3.028 апр. 2026 г.121Minecraft: 26.1.2neoforge
release
Jauml 1.3.0
1.3.028 апр. 2026 г.547Minecraft: 26.1.2fabric
release
Jauml 26.1.1
1.3.08 апр. 2026 г.111Minecraft: 26.1.1neoforge
release
Jauml 26.1.1
1.3.08 апр. 2026 г.265Minecraft: 26.1.1fabric
release
1.3.0
1.3.029 мар. 2026 г.105Minecraft: 26.1neoforge
Что нового
- Optimized start-up process and fixed some issues.
release
Jauml 1.3.0
1.3.029 мар. 2026 г.232Minecraft: 26.1fabric
Что нового
- Optimized start-up process and fixed some issues.
release
Jauml 1.3.0
1.3.029 мар. 2026 г.149Minecraft: 1.21.11neoforge
Что нового
- Optimized start-up process and fixed some issues.
release
Jauml 1.3.0
1.3.029 мар. 2026 г.1,2 тыс.Minecraft: 1.21.11fabric
Что нового
- Optimized start-up process and fixed some issues.
release
Jauml 1.3.0
1.3.029 мар. 2026 г.357Minecraft: 1.21.8neoforge
Что нового
- Optimized start-up process and fixed some issues.
release
Jauml 1.3.0
1.3.029 мар. 2026 г.201Minecraft: 1.21.8fabric
Что нового
- Optimized start-up process and fixed some issues.
release
Jauml 1.3.0
1.3.029 мар. 2026 г.168Minecraft: 1.21.5neoforge
Что нового
- Optimized start-up process and fixed some issues.
release
Jauml 1.3.0
1.3.029 мар. 2026 г.214Minecraft: 1.21.5fabric
Что нового
- Optimized start-up process and fixed some issues.
release
Jauml 1.3.0
1.3.029 мар. 2026 г.5,2 тыс.Minecraft: 1.21.1neoforge
Что нового
- Optimized start-up process and fixed some issues.
release
Jauml 1.3.0
1.3.029 мар. 2026 г.979Minecraft: 1.21.1fabric
Что нового
- Optimized start-up process and fixed some issues.
release
Jauml 1.3.0
1.3.029 мар. 2026 г.19,3 тыс.Minecraft: 1.20.1forge, neoforge
Что нового
- Optimized start-up process and fixed some issues.
release
Jauml 1.3.0
1.3.029 мар. 2026 г.1,7 тыс.Minecraft: 1.20.1fabric
Что нового
- Optimized start-up process and fixed some issues.
release
Jauml 1.2.0
1.2.016 янв. 2026 г.700Minecraft: 1.21.11fabric
release
Jauml 1.2.0
1.2.016 янв. 2026 г.94Minecraft: 1.21.11neoforge
release
Jauml 1.2.0
1.2.016 янв. 2026 г.28Minecraft: 1.21.8fabric
release
Jauml 1.2.0
1.2.016 янв. 2026 г.94Minecraft: 1.21.8neoforge
release
Jauml 1.2.0
1.2.016 янв. 2026 г.27Minecraft: 1.21.5fabric
release
Jauml 1.2.0
1.2.016 янв. 2026 г.49Minecraft: 1.21.5neoforge
release
Jauml 1.2.0
1.2.016 янв. 2026 г.537Minecraft: 1.21.1fabric
release
Jauml 1.2.0
1.2.016 янв. 2026 г.4,9 тыс.Minecraft: 1.21.1neoforge
release
Jauml 1.2.0
1.2.016 янв. 2026 г.913Minecraft: 1.20.1fabric
release
Jauml 1.2.0
1.2.016 янв. 2026 г.11,3 тыс.Minecraft: 1.20.1forge, neoforge
release
Jauml 1.1.0-forge-1.21.8
1.1.0-forge-1.21.83 нояб. 2025 г.172Minecraft: 1.21.8neoforge
Что нового
Added 3 new methods
* **`clearArray`**
* **`removeArrayElement`**
* **`getArrayAsList`**
release
Jauml 1.1.0-neoforge-1.21.5
1.1.0-neoforge-1.21.53 нояб. 2025 г.61Minecraft: 1.21.5neoforge
Что нового
Added 3 new methods
* **`clearArray`**
* **`removeArrayElement`**
* **`getArrayAsList`**
release
Jauml 1.1.0-neoforge-1.21.1
1.1.0-neoforge-1.21.13 нояб. 2025 г.7,1 тыс.Minecraft: 1.21.1neoforge
Что нового
Added 3 new methods
* **`clearArray`**
* **`removeArrayElement`**
* **`getArrayAsList`**
release
Jauml 1.1.0-forge-1.20.1
1.1.0-forge-1.20.13 нояб. 2025 г.9,6 тыс.Minecraft: 1.20.1forge, neoforge
Что нового
Added 3 new methods
* **`clearArray`**
* **`removeArrayElement`**
* **`getArrayAsList`**
release
Jauml 1.1.0-forge-1.19.2
1.1.0-forge-1.19.23 нояб. 2025 г.1,7 тыс.Minecraft: 1.19.2forge
Что нового
Added 3 new methods
* **`clearArray`**
* **`removeArrayElement`**
* **`getArrayAsList`**
release
Jauml 1.1.0-forge-1.18.2
1.1.0-forge-1.18.23 нояб. 2025 г.4,5 тыс.Minecraft: 1.18.2forge
Что нового
Added 3 new methods
* **`clearArray`**
* **`removeArrayElement`**
* **`getArrayAsList`**
release
Jauml 1.1.0-forge-1.16.5
1.1.0-forge-1.16.53 нояб. 2025 г.2,4 тыс.Minecraft: 1.16.5forge
Что нового
Added 3 new methods
* **`clearArray`**
* **`removeArrayElement`**
* **`getArrayAsList`**
release
Jauml 1.0.4b-forge-1.21.5
1.0.4b-forge-1.21.526 авг. 2025 г.50Minecraft: 1.21.5neoforge
Что нового
- Switched build system from **`net.minecraftforge.gradle`** to **NeoForged `moddev.legacyforge`**.
- Improved array search:
- The `find` method now also matches **substrings** in the array, allowing for more flexible and accurate search results.
- Updated **Mod Icon** with a new design.
release
Jauml 1.0.4b-neoforge-1.21.1
1.0.4b-neoforge-1.21.126 авг. 2025 г.7,4 тыс.Minecraft: 1.21.1neoforge
Что нового
- Switched build system from **`net.minecraftforge.gradle`** to **NeoForged `moddev.legacyforge`**.
- Improved array search:
- The `find` method now also matches **substrings** in the array, allowing for more flexible and accurate search results.
- Updated **Mod Icon** with a new design.
release
Jauml 1.0.4b-forge-1.20.1
1.0.4b-forge-1.20.126 авг. 2025 г.5,1 тыс.Minecraft: 1.20.1forge, neoforge
Что нового
- Switched build system from **`net.minecraftforge.gradle`** to **NeoForged `moddev.legacyforge`**.
- Improved array search:
- The `find` method now also matches **substrings** in the array, allowing for more flexible and accurate search results.
- Updated **Mod Icon** with a new design.
release
Jauml 1.0.4b-forge-1.19.2
1.0.4b-forge-1.19.226 авг. 2025 г.250Minecraft: 1.19.2forge
Что нового
- Switched build system from **`net.minecraftforge.gradle`** to **NeoForged `moddev.legacyforge`**.
- Improved array search:
- The `find` method now also matches **substrings** in the array, allowing for more flexible and accurate search results.
- Updated **Mod Icon** with a new design.
release
Jauml 1.0.4b-forge-1.18.2
1.0.4b-forge-1.18.226 авг. 2025 г.300Minecraft: 1.18.2forge
Что нового
- Switched build system from **`net.minecraftforge.gradle`** to **NeoForged `moddev.legacyforge`**.
- Improved array search:
- The `find` method now also matches **substrings** in the array, allowing for more flexible and accurate search results.
- Updated **Mod Icon** with a new design.
release
Jauml 1.0.4b-forge-1.16.5
1.0.4b-forge-1.16.526 авг. 2025 г.242Minecraft: 1.16.5forge
Что нового
- Switched build system from **`net.minecraftforge.gradle`** to **NeoForged `moddev.legacyforge`**.
- Improved array search:
- The `find` method now also matches **substrings** in the array, allowing for more flexible and accurate search results.
- Updated **Mod Icon** with a new design.
release
jauml 1.0.3-neoforge-1.21.5
1.0.3-neoforge-1.21.515 июл. 2025 г.51Minecraft: 1.21.5neoforge
release
jauml 1.0.3-neoforge-1.21.1
1.0.3-neoforge-1.21.113 июн. 2025 г.2,1 тыс.Minecraft: 1.21.1neoforge
release
jauml 1.0.3-neoforge-forge-1.20.1
1.0.3-forge-1.20.113 июн. 2025 г.26,3 тыс.Minecraft: 1.20.1forge, neoforge
release
jauml 1.0.3-forge-1.19.2
1.0.3-forge-1.19.213 июн. 2025 г.235Minecraft: 1.19.2forge
release
jauml 1.0.3-forge-1.18.2
1.0.3-forge-1.18.213 июн. 2025 г.266Minecraft: 1.18.2forge
release
jauml 1.0.3-forge-1.16.5
1.0.3-forge-1.16.513 июн. 2025 г.266Minecraft: 1.16.5forge
beta
jauml 0.1.0-beta
0.1.0-beta6 июн. 2025 г.128Minecraft: 1.20.1forge