Releases: BepInEx/HarmonyX
Release v2.16.1
What's Changed
- Fix an invalid cast excpetion in CodeInstruction.LocalIndex() by @aldelaro5 in #139
- Bump MonoMod.RuntimeDetour version to 25.3.4 by @aldelaro5 in #140
Full Changelog: v2.16.0...v2.16.1
Release v2.16.0
What's Changed
- Backport a ReversePatch fix from upstream by @aldelaro5 in #134
- Upgrade MonoMod.RuntimeDetour to 25.3.3 and Add .NET 10 support by @hazre in #136
New Contributors
Full Changelog: v2.15.0...v2.16.0
Release v2.15.0
This version is the first to feature ARM support (including Apple Silicon). Be aware that while it should work, it was not tested yet. Please let us know if it works or not on the BepInEx discord server or in discussions.
Warning: There may be some issues with IL manipulation on mono runtimes (see MonoMod/MonoMod#233). The v2.13 release is the last release without this problem.
What's Changed
- Add nuget publish to CI by @ManlyMarco in #124
- Update MonoMod to 25.3.0 by @aldelaro5 in #132
- Rebase upstream to 2.3.6 by @aldelaro5 in #131
Full Changelog: v2.14.0...v2.15.0
Release v2.14.0
Warning: There may be some issues with IL manipulation on mono runtimes (see MonoMod/MonoMod#233). The v2.13 release is the last release without this problem.
What's Changed
- .NET 9 Support by @ds5678 in #121
- Synchronizing dumper with monomod and fixing ILLabel dumping by @kohanis in #118
- Support non-static signatures in NativeDetourMethodPatcher, fixes #122. by @CptMoore in #123
New Contributors
Full Changelog: v2.13.0...v2.14.0
Release v2.13.0
This release includes all changes made to upstream since Harmony v2.2.1. See Harmony changelog here for details on the merged changes.
What's Changed
- Merging upstream up to v2.3.1.1 by @kohanis in #97
- Merging upstream up to v2.3.3.0 by @kohanis in #114
- Add test build workflow for PRs by @ManlyMarco in #113
- Upgrade MonoMod.RuntimeDetour to 25.1.2 by @aldelaro5 in #115
New Contributors
- @aldelaro5 made their first contribution in #115
Full Changelog: v2.12.0...v2.13.0
Release v2.12.0
What's Changed
- Fix for unintentional removal of some
leaveinstructions by @kohanis in #96 - Fix invalid file name when dumping compiler-generated methods by @Meivyn in #99
- CreateAndPatchAll - use a counter + target name as default ID instead of a GUID by @ManlyMarco in #103
- Add HarmonyOptional attribute by @ManlyMarco in #105
New Contributors
Full Changelog: v2.11.0...v2.12.0
Release v2.11.0
What's Changed
- For log file open with full share access, if user sets "HARMONY_LOG_FILE" append obsolete to old FileLog by @mitchcapper in #83
- Update MonoMod to 25.0.0, add Harmony 2.3 features by @Windows10CE in #79
- Fix AccessTools.GetTypesFromAssembly sometimes returning an array with a null in it by @ManlyMarco in #80
- Improve CodeMatcher exceptions on invalid positions by @ManlyMarco in #85
- Update MonoMod.RuntimeDetour to 25.1 by @ManlyMarco in #100
New Contributors
- @mitchcapper made their first contribution in #83
Full Changelog: v2.10.2...v2.11.0
Release v2.10.2
Changelog
Full Changelog: v2.10.1...v2.10.2
Release v2.10.1
Changelog
- Print out lastError in
ThrowIfInvalid(#48)
Release v2.10.0
Changelog
-
Merged code from upstream up to 6006140 (see Harmony changelog)
-
Important: The merge brings binary incompatibilities to
CodeMatchclass. If you distribute HarmonyX in games or mod loaders, please test for any regressions and apply shims where appropriateStarting this version,
CodeMatchnow inheritsCodeInstruction. Because of this, some fields (labels, blocks) have been removed fromCodeMatchas they are now provided byCodeInstructon. AnyCodeMatchuses where fields are accessed directly will be binary-incompatible. However, this should generally be fairly rare: analysing a few dozenCodeMatchclass uses across different GitHub projects revealed that most developers only use thenew CodeMatchconstructor, which hasn't been altered. Most use cases ofCodeMatchshould still be binary-compatible with HarmonyX 2.10. -
All nested classes in the
Codeclass have also been annotated with the[EditorBrowsable(EditorBrowsableState.Never)]attribute to prevent custom classes from cluttering most IDEs' code completion.
-
-
Fix
HARMONY_NO_LOGenvironment variable is not respected for file logger -
Fix
HarmonyEmitILattribute not working on methods with certain branches -
Fix handling methods that include
throwsOpCode on mono -
Fix net35 builds not working on CoreCLR because of
AccessTools.PrepForRemotingfix -
Improve exception messages when applying patches (warn about missing target method or patch method not being static)
-
Bump MonoMod version to 22.3.23.4 (changelog)