Open
Conversation
--- updated-dependencies: - dependency-name: Lib.Harmony dependency-version: 2.4.2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Owner
|
As long as EXILED uses version 2.2.2 I'll also stay on that version. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updated Lib.Harmony from 2.2.2 to 2.4.2.
Release notes
Sourced from Lib.Harmony's releases.
2.4.2
Harmony 2.4.2 upgrades MonoMod.Core to v1.3.3 and now supports NET 10!
What's Changed
Full Changelog: pardeike/Harmony@v2.4.1.0...v2.4.2.0
2.4.1
Harmony v2.4.1 mainly fixes that v2.4 leaked types of Mono.Cecil.* to the public API.
What's Changed
Full Changelog: pardeike/Harmony@v2.4.0.0...v2.4.1.0
2.4
Harmony 2.4 includes a lot of bug fixes and now supports arm64!
Enjoy and consider supporting me on Patreon or become a GitHub sponsor!
Changelog
Added
Full support for arm64 across all operating systems, including Apple Silicon
Configurable error handler: A new API lets you register a global error handler that Harmony invokes whenever a patch throws an exception. This allows logging or suppressing errors centrally
Extended CodeMatcher API: New methods—RemoveSearchForward, RemoveSearchBackward, RemoveUntilForward, RemoveUntilBackward and Do—make it easier to remove or transform instruction sequences via CodeMatcher
Struct patching: [HarmonyPatch] attributes can now target methods defined in structs, not just classes
Additional MethodType cases: Harmony’s API now covers more method kinds (e.g., async methods, property accessors or operators). This broadens the range of targets you can patch
Simpler manual patch registration: The PatchClassProcessor no longer requires Harmony‑specific attributes when registering patches programmatically
Changed
Patch serialization: PatchInfo now uses ToArray() instead of MemoryStream.GetBuffer to serialize patches, improving compatibility across .NET runtimes
JSON serialization improvements: InnerMethod and patch classes gained custom System.Text.Json converters. Patch information now serializes round‑trip correctly and fields such as infixes were replaced with innerprefixes and innerpostfixes (new infix system)
Exception handling: try/fault blocks emitted by Harmony are now compiled as try/catch/finally and won't fail to patch anymore
Fixed
Correct index for local variables: CodeInstructionExtensions.LocalIndex now checks whether an operand is a LocalBuilder; it returns the correct LocalIndex instead of converting to int, preventing mis‑indexed local variables in transpilers
Infix negative position bug: Matching of negative positions in infix patches was corrected; positions counting from the end now compute the index properly
Argument validation for InnerMethod: Creating an InnerMethod now throws ArgumentNullException if method is null and ArgumentException if any position is zero, preventing silent errors
Stream memory handling: A bug where patch generation incorrectly used MemoryStream.GetBuffer (which could include unused capacity) was fixed; ToArray is now used instead
IL offset logging: IL offsets are logged again and reported accurately when debugging patched methods (commit referenced in release tag).
Removed
New Contributors
CodeInstructionExtensions.LocalIndexpardeike/Harmony#682Full Changelog: pardeike/Harmony@v2.3.6.0...v2.4.0.0
2.3.6
Oops in v2.3.5
What's Changed
MethodDelegatenow allows for swapping value type with object, and allow ref for arg 0 on value type #633CodeMatcher.InsertAfterand improve exception handling pardeike/Harmony@919f138TypeCode.DateTimeandTypeCode.Decimalpardeike/Harmony@7e18ac1OpCodes.LdstrinLoadsConstant#656__argsargument with out bool parameters #657 #659 #660AccessTools.TypeByName()pardeike/Harmony@a390e14AccessTools.TypeSearch()pardeike/Harmony@a390e14New Contributors
2.3.5
Fixes a regression/oversight in 2.3.4 that makes System.Text.Json 9.0.1 a dependency on all .NET versions
2.3.4
What's New
What's Changed
Known unsolved issues
bool?cannot be patched correctly (disabled test 81aa26a)2.3.3
What's Changed
UnpatchCategory()pardeike/Harmony@395749fHarmonyPrioritybug with inherited values pardeike/Harmony@395749f2.3.2
What's Changed
2.3.1.1
This releases fixes a regression for .Net Standard projects
2.3.1
v2.3.1 fixes:
2.3.0.1
This update updates Harmony Thin only and makes the dependency on MonoMod.Core public so it is included in transitive dependencies. No other changes.
2.3
We have been preparing and testing this for months and I want to specially mention the the help of our HUGE community on this release. Harmony is downloaded over 800 times a day and has over 1.6 million downloads on Nuget and a Discord server with over 2100 members.
New core engine
Harmony 2.3 now uses
MonoMod.Core v1.1(part of https://github.com/MonoMod) which is a rewrite of the low level back-end for patching .NET methods.Support for newer .NET versions
.NET 7and.NET 8support is finally hereTests via GitHub Actions
Harmony is now tested on Azure and GitHub and thus we can start testing macOS and other fancy combinations: https://github.com/pardeike/Harmony/actions/workflows/test.yml
Fat and Thin versions
Harmony is now released in two packages on nuget:
Lib.HarmonyandLib.Harmony.Thin. The thin version does not embed dependencies and thus allows you to manage them yourself. The normal version embeds them as internal types and works as usual as a standalone dll.https://www.nuget.org/packages/Lib.Harmony
https://www.nuget.org/packages/Lib.Harmony.Thin
Changes
PlatformTriple.Current.GetIdentifiablefor a user submitted MethodInfoAssembly.GetExecutingAssemblyinternallyCodeMatch(()=>...7e4183ee30b886ec2f862412a70b92d2a16622cfAdditions
Mono.Cecil.ByReferenceType,Mono.Cecil.GenericInstanceMethod,Mono.Cecil.GenericInstanceType,Mono.Cecil.TypeSpecificationandMono.Cecil.Cil.OpCodesto ForwardingAttributesref SomeType Test()by usingref RefResult<SomeType> __resultRefHuge THANK YOU to all contributors (a lot of them new):
... (truncated)
2.3.0-prerelease.7
This release is just like prerelease.6 but build with the new thin/fat mechanics.
No new features or fixes were added.
2.3.0-prerelease.6
Fixes the following issues:
2.3.0-prerelease.5
Fixes
2.3.0-prerelease.4
Changes
PlatformTriple.Current.GetIdentifiablefor a user submitted MethodInfoAssembly.GetExecutingAssemblyinternallyCodeMatch(()=>...[7e4183ee30b886ec2f862412a70b92d2a16622cf]For the main description see v2.3-prerelease.2
2.3.0-prerelease.3
Fixes
Additions
Mono.Cecil.ByReferenceType,Mono.Cecil.GenericInstanceMethod,Mono.Cecil.GenericInstanceType,Mono.Cecil.TypeSpecificationandMono.Cecil.Cil.OpCodesto ForwardingAttributesFor the main description see v2.3-prerelease.2
2.3.0-prerelease.2
Harmony 2.3 now uses
MonoMod.Corewhich is a rewrite of the low level backend for patching .net methods. We have been preparing and testing this for months but since so much has changed behind the scenes, the community need to step up and actively test if this release breaks things.On the plus side, we now have
.NET 7support (yay!) and hopefully a bunch of bug fixes.Harmony v2.3 also no longer merges
Mono.Cecilinto 0harmony.dll which means you probably need to supply it as a dependency yourself if you need it. The advantage on the other hand is that users who already use Cecil don't have any conflicts anymore.New
What's Changed
New Contributors
Full Changelog: pardeike/Harmony@v2.2.2.0...v2.3-prerelease.2
Commits viewable in compare view.
You can trigger a rebase of this PR by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)