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.0 - 2022-11-27
Commits
- Changed: Ensure Libraries are built as Deterministic in CI/CD
b5870dc
- Changed: Mod Load Model to Load Non-Parallel in Single Step w/o Preload
6f836d7
- Updated: Reloaded Bootstrapper to not use JSON for smaller binary & faster boot.
7fb61db
- Updated: NetHost Library
02e7543
- Improved: Reduced DLL Size via Visual C++ Dependency & custom libNetHost
ff3375b
- Bootstrapper: Optimise Exports for File Size
914a753
- Optimised: Removed RTTI from Bootstrapper
1a08ee8
- Added: Load Reloaded.SharedLib.Hooks from Mod into ModLoader
f8c0f90
- Changed: Reorder Set Process & System Env Vars because System is Slow!
be84335
- Added: Download Loader Dependency Mods from Launcher & Error Report
ea6a8ba
- Fixed: Typo in Loader Project
556ac09
- Changed: Class to Struct in Loader, idk what I was smoking here
f1f22a5
- Fixed: GetHashCode overwritten by Fody.Equals where not intended.
4a1c27d
- Bumped: IO Version
860701d
- Changed: Don't replace full mod list on addition/reload.
be311e7
- Added: Support for adding tags in the GUI
1c8c0f0
- Added: Filter Mods by Tag
f6fc3cb
- Bumped: Project Version(s)
e2a6a45
- Added: Auto-tag for Code Injection
a9e5c33
- Added: Auto-tag for No Code Injection
d553e02
- Added: No Universal Mods Tag
dd78503
- Removed: Code Injection Tag (now Auto-Tag)
60cf1ef
- Added: Auto-tag for Native Mods
8461736
- Changed: Order Auto Tags by Name
774a26e
- Added: Force Full GC in Loader
ad3e271
- Added: Changelog for 1.23.0
f8d9849
- Added: Logging of unsuccessful call to GetController.
9ce3d90
====