Releases: MonoMod/MonoMod
Releases · MonoMod/MonoMod
v20.11.16.01
Detour
- When applying a Detour, apply the top native detour after the detour chain has been built.
- This changes the "method gets called while being hooked" race condition behavior from "fail hard with 'chain not ready' message" to "passthrough to original method temporarily."
NuGet: Patcher | Utils | RuntimeDetour | HookGen
Azure DevOps Pipelines: Build | Release
v20.11.05.01
v20.08.28.01
v20.08.03.05
Utils
- Fix a part of Harmony#297.
- Allow giving DynamicMethodDefinitions fully manual names.
- Attach volatile optional modifier on runtime parsed method body field references.
- Merge @nike4613's resolve fallback: Added fallback when resolving tokens in DMD.CopyMethodToDefinition to let it pull from the target module's metadata table if the target could not be found.
- Merge @denikson's
corlib_internal
hack fix -dynamic_method
can be anUIntPtr
. - Merge @denikson's "unopened" generic type import fix.
- Merge @denikson's
DynDll
improvement -Win32
funcs can raise an "error" and return a valid return value. - (Internal)
DynDll
is now part of MonoMod.Common.
Patcher
- Fix retrying to read the input stream.
NuGet: Patcher | Utils | RuntimeDetour | HookGen
Azure DevOps Pipelines: Build | Release
v20.05.21.05
General
- Add basic debug logging
- Enabled via
MONOMOD_DBGLOG
environment variable - Path can be changed via
MONOMOD_DBGLOG_PATH
, defaults tommdbglog
- Enabled by default for
DebugTrace
andReleaseTrace
builds
- Enabled via
Utils
- Make ResolveReflection handle multiple assemblies with the same name in one AppDomain.
- Implement support for multiple mappings for DynDll and other fixes (Thanks, @bbepis!).
NuGet: Patcher | Utils | RuntimeDetour | HookGen
Azure DevOps Pipelines: Build | Release
v20.05.14.01
RuntimeDetour
JMPs
are signed, so treat theJMP
offset properly as well. FixesOverflowException
on certain NGEN'd methods.- Update and enable NGEN fix for Linux and macOS.
Utils
- Add
GetStateMachineTarget
extension method.
NuGet: Patcher | Utils | RuntimeDetour | HookGen
Azure DevOps Pipelines: Build | Release
v20.05.07.01
v20.05.06.05
v20.05.02.05
General
- Add conditional netcoreapp5.0 testing.
- Re-enable Azure Linux mono tests.
Utils
- Fix ILGeneratorProxy containing "invalid" IL and being unable to access MonoMod.Utils' internals on some runtimes.
- Make RuntimeILReferenceBag FastDelegateInvokers take arg, ret and byref into account.
- Implement DynamicData (dynamic DynData) for .NET 4.0+
- Fix GetLdftnPointer, use it for virtual struct methods on .NET
RuntimeDetour
- Implement DynamicHookGen for .NET 4.0+
Patcher
- Prevent the patcher from accidentally importing the patcher's runtime's mscorlib as a reference to the patched assembly.
- Handle member and custom attribute list updates in the post processing pass more gracefully.
NuGet: Patcher | Utils | RuntimeDetour | HookGen
Azure DevOps Pipelines: Build | Release
v20.04.03.01
Utils
- Fix
DynData
being unable to set properties. - Make
DynData
safe to use with old versions of mono which still replicate CLR V1 weak reference implementation details. - Make
ILGenerator
proxies safe to use when MonoMod.Utils has been loaded manually (bypassing assembly resolving). - Prevent
DynData
from blockingAppDomain
unloads and from keepingAssemblyLoadContext
s alive.
RuntimeDetour
- Properly dispose
DetourModManager
'sILHook
event handlers.
NuGet: Patcher | Utils | RuntimeDetour | HookGen
Azure DevOps Pipelines: Build | Release