Skip to content

Changelog

embeddedt edited this page Dec 22, 2023 · 31 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.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.
Clone this wiki locally