Skip to content

Harmony 3.0.0-rc.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 08 Oct 22:53
· 13 commits to master since this release

Harmony 3.0.0-rc.1 is the first public release candidate for Harmony 3.

The main new feature is Infix: apply prefixes, postfixes, and finalizers around selected operations inside a method, including calls, property access, field reads and writes, construction, and literal loads. Infix also supports selected compiler-generated iterator and async bodies, captured variables, and patch-owned state across suspensions.

See the Harmony 3 documentation and what is new for examples and supported behavior.

All three variants are available as NuGet packages at version 3.0.0-rc.1:

  • Lib.Harmony: Fat, with MonoMod merged into 0Harmony.dll.
  • Lib.Harmony.Thin: Thin, with MonoMod supplied as a NuGet dependency.
  • Lib.Harmony.Ref: reference assemblies for compilation against .NET Standard 2.0.

The matching Fat, Thin, and Ref ZIP downloads are attached below. This is a prerelease; Harmony 2.4.2 remains the stable release.

Mixed Harmony 2/3 loading and patches from different engines on the same target still have the limitations documented in the compatibility notes.

What's Changed

  • Add "Genshin Impact Miliastra Wonderland" to README.md by @JWJUN233233 in #747
  • [WIP] Add ipsate feature implementation by @pardeike with @Copilot in #752
  • Add complete finalizer documentation examples by @pardeike with @Copilot in #763
  • Avoid importing unused assembly Serialization.Formatters in .NET 9.0+ by @aubymori in #765

New Contributors

Full Changelog: v2.4.2.0...v3.0.0-rc.1