Releases: BepInEx/HarmonyX
Releases · BepInEx/HarmonyX
Release v2.9.0
Changelog
CodeMatcher: Update to partially match current upstream codebase- Adds some new overloads for matching
CodeMatcher: Add implicit cast toCodeMatchfromOpCodeto simplify simple matchesHarmony: ImplementIDisposableinterface implicitly- Allows writing temporary patches with
usingsyntax - Disposing of Harmony will call
UnpatchSelf()
- Allows writing temporary patches with
- Fix cases where
handlerblock didn't have an explicit end (#46) - Add
HarmonyEmitILattribute to dump patches as DLL (Documentation) HarmonyManipulator: Add new overload for simplified patching- Updated MonoMod.RuntimeDetour to 21.12.13.1 (changelog)
Release v2.8.0
Changelog
- Merged code from upstream up to 53d8c7b
- See Harmony 2.2 changelog for some new features
CodeInstructions.CallClosurecalls originalTranspilers.EmitDelegate- Fix patching some methods in global type (e.g.
<Module>
- Updated MonoMod to 22.01.04.03 (changelog)
Release v2.7.0
Changelog
- @ErisApps: Add global flag to disallow global UnpatchAll behavior (#40)
- @ErisApps: Add static
UnpatchAllandUnpatchID(#41)- This marks old
harmony.UnpatchAll(string)as obsolete. Any developers should migrate to usingharmony.UnpatchSelf()or the new overloads. See wiki for more details.
- This marks old
- Merged upstream up to 5bd23f3
- Updated MonoMod.RuntimeDetour to 21.12.13.1 (changelog)
Release v2.6.1
Changelog
- @ManlyMarco: Improved documentation for various Harmony attributes
- Fixed
HarmonyWrapSafeattribute when not using it as the last attribute
Release v2.6.0
Changelog
- Updated MonoMod to 21.11.11.1 (changelog)
- Fixed
leave,leave.s,endfinallyandendfilterbeing duplicated when generated patched method code- This also fixes certain cases where inserting IL right after exception blocks caused the IL to be skipped over in generated patch
- Added
MethodType.Enumeratormethod type to make transpiling enumerators (e.g. Unity coroutines) easier (thanks, @ManlyMarco!)
Release v2.5.7
Changelog
- Merged upstream up to b101f1d
- Reverse patcher targets now can be specified dynamically via
TargetMethodor class attributes
- Reverse patcher targets now can be specified dynamically via
Release v2.5.6
Release v2.5.5
Changelog
- Fixed Harmony instance owner not being logged properly
- Fixed compatibility with transpilers that explicitly set
labelsandblockstonullinCodeInstructions - Updated MonoMod to 21.8.19.1 (changelog)
Release v2.5.4
Changelog
- Updated MonoMod to 21.8.5.1 (changelog)
Release v2.5.3
Changelog
- Merged upstream up to 129ce7c
- Updated MonoMod.RuntimeDetour to 21.07.22.03