Skip to content

Changelog

embeddedt edited this page Jul 27, 2024 · 23 revisions

I will try to write informal changelogs here for important releases (i.e. minor/major versions) as I find time. Patch releases probably won't be documented here as they usually contain very small bugfixes.

5.19.0

This release has two minor feature improvements:

  • The (undocumented) -Dmodernfix.debugReloader=true flag now works on datapack reloads as well as resource pack reloads. This flag causes Minecraft to print profiling data about which parts of the reload took longest.
  • On 1.21, fixed some launch time regressions compared to 1.20 when dynamic resources is enabled.

5.18.1

This release ports to 1.21 (support for 1.20.6 is dropped).

  • Dynamic resources was rewritten from the ground up due to 1.21 internal changes. Mod compatibility may initially be worse than 1.20.
  • Improve speed of resource reloads when pressing F3+T in a world with dynamic resources enabled
  • Optimize retrieval of block models from cache when dynamic resources is enabled

5.18.0

This will likely be the last release to support 1.16.5, 1.18.2, and 1.19.2.

  • Fix a launch crash on the latest version of Forge for 1.20.1
  • Add option to restore proper dragon flight behavior from 1.13 and older (disabled by default as it changes vanilla behavior, and will break one-cycling)
  • Fix integrated server watchdog printing error messages on laggy servers that are still ticking, but slowly (thanks KostromDan for pointing this out and providing fix suggestions)
  • Fix a potential concurrency crash in Forge 1.16
  • Fix remove_spawn_chunks causing falling blocks traveling through an end portal to the world spawn point to fall into the void
  • Fix WorldEdit being unable to change biomes on 1.16
  • Fix a potential crash with Wither Storm Mod

5.17.0

  • Update to Minecraft 1.20.5. Support for Minecraft 1.20.4 will likely end very soon.
  • Only apply optimized texture stitching algorithm to atlases with a significant number of textures. This should prevent ModernFix from contributing to the issue where a pink line appears near the arrow buttons in JEI.

5.16.0

  • Emulate recipe book search tree when JEI/REI is installed (makes searching in the recipe book work again, results may be slightly different form vanilla)
  • Fix OptiFine options displaying translation keys on 1.18 & 1.19
  • Fix crash with Carpet when mixin.perf.remove_spawn_chunks is enabled and the spawn chunk radius is set to 0 in Carpet at the same time
  • Patch Mantle on 1.16 to fix ConcurrentModificationException crashes
  • Fix MC-183518 (excessive CPU usage when idle)
  • Fix optimized texture stitching algorithm creating atlases that are too large instead of crashing with an error
  • Fix mixin.perf.clear_mixin_classinfo causing crashes with mixins containing inner classes if enabled
  • Fix a crash when another mod errors during startup on Forge
  • Fix loot table items possibly having the wrong name on 1.16
  • Add documentation for more mixin options

5.15.0

  • Improve performance of dynamic resources when many threads are concurrently trying to retrieve block models
  • Fix a crash with OptiFine installed
  • Disable stalled chunkload detection by default, as it rarely seems to be a problem anymore, and the detection logic might reduce performance in some cases
  • Improve launch time when dynamic resources is enabled on Forge
  • Reduce overhead in chunk ticking on 1.18+
  • Reduce overhead of Forge event for collecting potential mob spawns
  • Work around a bug in Forge's config library that causes excessive background resource usage
  • Fix a crash on NeoForge 20.4 caused by an oversight when porting
  • Fix a crash when using CTM on NeoForge 20.4
  • Add bandaid to potentially work around crashes with More Culling with dynamic resources on

5.14.0

This release introduces some minor performance improvements to Forge registries (on 1.20.1 and older), a workaround for Pose stack not empty errors, and an optional feature toggle that disables chat message signing (you may not be able to join servers that require it if this is enabled).

5.12.0

This release fixes some concurrency issues in Forge's model data manager on 1.20.1 and older. (The NeoForge 1.20.4+ model data manager was redesigned, and has none of these flaws.)

There are also some miscellaneous bugfixes.

5.11.0

This release largely eliminates the bottleneck dynamic resources introduced to chunk meshing & item rendering. If you do not use dynamic resources, not much happened here, sorry. :(

There was also a minor optimization introduced to a Forge registry method that is used in relatively hot code.

5.10.0

  • Fix ModernFix's resource pack optimization having issues with double slashes (//) in paths
  • Suppress log messages caused by client mixins trying to load on dedicated servers
  • Fix a Forge oversight that causes excessive memory allocation with some mod setups
  • Fix some parity issues with dynamic resources' model registry emulation on 1.20+
  • Fix a crash with Forge 47.2.16+
  • Fix config screen rendering incorrectly on 1.20.2
  • Ported to Forge 1.20.2 (thanks to @TonimatasDEV)

5.10 will likely be the last release series that supports 1.20.2.

In 1.20.3, ModernFix will shift to supporting Fabric & NeoForge only. Forge will continue to be supported on 1.20.1 and older.

5.9.3

Fixes a warning message sometimes spamming the log and fixes a launch time regression on Forge 1.20+ introduced in 5.9.1.

5.9.1

This release:

  • rewrites some of the logic for dynamic_resources on Forge to improve compatibility with mods running via Sinytra Connector,
  • fixes removing dimension mods on Forge 1.20.1 causing the game to refuse to load any existing worlds,
  • works around Embers Rekindled being incompatible with dynamic resources on 1.20.1,
  • adds a patch to speed up skull rendering slightly (thanks Phoenix-Starlight), and
  • fixes Refined Storage covers rendering as a missing model when dynamic resources is on.

5.9.0

5.9 is a fairly small release, but still includes several important patches.

  • Important note for 1.16 users: the asynchronous JEI patch is no longer enabled by default, to keep behavior consistent across all supported Minecraft versions. Depending on the number of mods installed, this patch can actually make performance worse initially, as the JEI loading is so CPU-intensive that playing the game is not really enjoyable until it finishes. Feel free to re-enable it in your config if you did not experience any problems; the option is at the top of the config screen. There is no change for 1.18+, as this feature was never ported beyond 1.16.
  • Improve reliability of the buffer builder leak fix (thanks Moulberry). This should resolve EXCEPTION_ACCESS_VIOLATION crashes with some mod sets.
  • Fixed several issues when using Forgified Fabric API with dynamic resources enabled.
  • Re-enable dynamic sound unloading by default.
  • Config screen no longer scrolls to the top after returning from an info page.
  • Applied the same security patch as Fabric Loader 0.14.24 on Forge, to protect users of legacy Forge versions.

5.8.1

5.8.0 contains an experimental sound patch that causes sound to not work on some Minecraft versions. Please update to 5.8.1, which disables this by default.

5.7.5

  • Fix a fairly major issue on 1.20.1+ where blocks might not have been considered as solid when the game first starts. This could cause worlds to generate incorrectly.

5.7.0

  • Added button in the config screen that takes you directly to the wiki page.
  • Disabled the config reload message since it's difficult to make work correctly.
  • Improved memory usage of the canonizing NBT map.
  • Added a feature to show time before Minecraft bootstrap begins running. This will be useful for improving the early startup times of (Neo)Forge in future releases.
  • Added feature to clear chunk data when changing dimensions or switching worlds on the client; this helps mitigate memory leaks in other mods.
  • Added workaround for mods causing deadlocks in BlockStateBase.getOffset, this should help with some worldgen crashes.
  • Improved compatibility with mods manipulating the vanilla blockstate cache logic.
  • Added warning/error when Continuity & dynamic resources are used together on 1.18.2 & 1.19.2.
  • Made extended stacktraces from the ModernFix watchdog a bit easier to read.
  • Fix crash with Custom Machinery when dynamic resources is enabled.

5.6.0

Much smaller release than 5.5.0 but a few key additions (including a change to Forge config mechanics):

  • Access transformers are now forcefully injected on Forge even if a mod loading error occurs. This will prevent weird IllegalAccessError crash reports when mods have mixins that depend on ATs and still show the Forge mod loading error screen.
  • Fixed a crash that occurs right after displaying the mod loading error screen due to an oversight in ModernFix. Oops.
  • Some edge cases in dynamic model loading have been fixed.
  • Config file watching has been disabled when mixin.bugfix.fix_config_crashes is on (on by default). This will fix weird corruption issues when relaunching the game or using Notepad++. You will now be prompted in the log to manually run /mfrc or /mfsrc to reload configs on the client/server respectively.

5.5.0

From a user perspective, this is a minor release with mostly inconsequential bugfixes and feature additions.

  • Users will note that documentation has now been written for all of the existing options in the 5.4.x series; this documentation is available both through the config menu in-game and on the wiki's patch summary pages.
  • The CoFH Core patch has been improved so it will work with very outdated versions of CoFH Core as well, this should fix the rare crashes that were still happening to a few users.
  • On Forge, mods using custom model bake events will load a bit faster with dynamic resources enabled now compared to in the previous release.
  • On 1.16.5, the patch to skip reloading datapacks when in singleplayer (reuse_datapacks) has been disabled by default, due to it breaking some obscure mods. Packs that have not experienced issues with this option enabled are encouraged to re-enable it. Defaults are chosen for compatibility reasons.
  • There have been some improvements made to registry speed as part of ongoing work towards better support for huge quantities of items/blocks (e.g. 1 million).
  • The ModernFix branding in F3 has been moved to the right side of the screen to be consistent with other mods.
  • The code to track game load/world joining has been rewritten, and should now work more reliably on Fabric.
  • The creative search tree optimization now more closely emulates some vanilla quirks in order to prevent weird issues with mods (e.g. Gateways To Eternity).

From a development perspective there have been quite a few changes, notably:

  • On Fabric, ModernFix no longer depends on any Fabric API modules, and thus no longer ships them. This is mostly useful for players attempting to run released versions on snapshots that break Fabric API, but it should also reduce the file size a bit. It also allows ModernFix to more easily be updated to snapshots.
  • All dependency on Architectury Loom-specific development functionality was removed. This means the ModernFixPlatformHooks class received substantial changes. You should not be depending on this class from other mods.
  • The game is now configured to use a heap size of 512MB within dev by default.