Jauml

Jauml is a lightweight configuration library for Minecraft mods, designed to simplify JSON-based config management
Back to Files

2.3.0 · fabric · 26.1.2

File namejauml-fabric-26.1.2-2.3.0.jar
Uploaded
Sep 10, 2026
Downloads
33
Size
46.0 KB
Mod Loaders
Fabric
File ID
8852365
Type
R
Release
Supported game versions
  • 26.1.2

Curse Maven Snippet

Fabric

modImplementation "curse.maven:jauml-1281310:8852365"

Learn more about Curse Maven

What's new

[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.

This mod has no additional files