Quilt loader 0.19.0 Changelog

Features:

  • Updated provided version of Fabric Loader to 0.14.21

  • #262 Added a way for mods to display error messages in QuiltLoaderGui.

    • These errors can have buttons to act on the error, potentially fixing them
    • Errors in the quilt-loader-overrides.json file use this error system.
  • #255 Added QuiltLoader.getCacheDir, which defaults to <game>/.cache

    • Any new quilt-loader caches will use this directory. Older files will not be removed. If you want to remove any older files you can delete the .quilt_loader folder.
  • [#263, #267] Added some French translations (Mysterious-Dev)

  • #259 Added the system property loader.disable_forked_guis to disable all swing guis shown via loader.

  • #283 Only use a single Sub-File column, drasticaly reducing the width of the mod table in crash reports and logs.

  • #280 Switch to mod “kind” in the mod table instead of the plugin which loaded that mod.

  • #272 Added SHA-1 hashes of mod files to the mods table.

    • This is primarily to support automatic analysis by tools like cozy.
  • Tweaks to the transform cache:

    • Always disable using the previous transform cache in a development environment.
    • Add the mod file name to the cache entry, to make it easier to debug why the cache changed.
    • Hide detailed cache key changes behind a new system property loader.transform_cache.log_changed_keys
  • #312 Improved the solver error messages:

    • Removed “transitively” wording from long dependency chain error messages.
    • Collapsed multiple identical dependences into a single error message.
    • Show the full detail of unhandled solver errors, now called “Complex” errors.

Bug Fixes:

  • Fix mod dependencies interpreting “1.17.x” as [1.17, 2) rather than [1.17, 1.18)
  • #279 Fixed provides not exposing the provided version.
    • This fixes an issue where Essential didn’t recognise Quilt Kotlin Libraries providing a newer version of Fabric Language Kotlin, and redownloading FLK, which caused a crash on the next launch.
  • #285 Fixed QuiltBaseFileSystem not supporting glob syntax matching.
  • Switched loaders forked gui system to use a file for the classpath, which prevents crashes from the command line being too long.
  • Fixed the reflections patch not being applied in a development environment.

Optimisations:

  • Optimised QuiltBasePath by folding two boolen fields into the int field.
    • This saves about 2 MB in large packs.
  • Fixed the memory file systems being kept in-memory by the path references from ModContainer.getSourcePaths
    • This saves about 400 MB in large packs, but this depends heavily on how big the mods are and what version you’re updating from.