Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog
and this project adheres to Semantic Versioning.
Release (1.23) Highlights
This release focuses on memory and load speed optimisations.
Launcher Changes:
-
Added: Support for assigning tags to mods, mods can now use tags to help end users filter their mod collection.
-
This includes support for some automated tags, e.g.
Has Code Injection
. -
Fixed: Bug that prevented users from selecting other mods after updating a mod in
Edit Mod
menu.
Space and Memory Related Changes:
- Changed: Loader now uses hooking functionality from
Reloaded.SharedLib.Hooks
mod, as opposed to including its own hooking library. (Saves ~1.4MiB) - Changed: Bootstrapper library now dynamically links with Visual C++ Runtime using custom build of .NET Runtime's
libnethost
. (Saves ~300KiB) - Removed: JSON parser from boostrapper, now uses Environment Variables (Saves ~200KiB)
- Added: Full GC After Loader Initialisation. In practice most mods idle outside the occasional hooks.
- Mods can now use
ExcludeAssets="runtime"
in NuGet PackageReference(s) to not unnecessarily include DLLs from interfaces/DI packages.
Load Speed Related Changes:
- Changed: Mod loading logic/model now is singlethreaded (again) but with merged preparing and initialising step. Will not interface/DI DLLs unused at runtime from disk.
- Added: Mod loader now caches whether mods can unload and/or have exports as part of
ModConfig.json
. - This change is what allows for preparing and initialising to be done in one step.
CI/CD
- Builds produced by CI should now hopefully be more deterministic.
Other
- Loader: Now prints unsuccessful attempts at calls to GetController API.
Complete Changes
1.23.6 - 2022-11-29
Commits
- Changed: Delete pre-existing folders when extracting new mods.
50f18cc
- Bumped: Launcher & Loader Version(s)
1ce93fa
====