Repository navigation
Libmem.NET v2.1.1
Libmem.NET v2.1.1 is a Windows x64 / .NET 8 official release of the reusable C++/CLI wrapper around the pinned rdbo/libmem native library.
Release highlights
Fixed
- Reject the libmem bad-address sentinel in
VmtManagerconstruction before native VMT state is retained, matching the managed Hook/VMT argument contract and preventing an invalid VTable base from being accepted. - Add regression coverage for the invalid VTable sentinel and source-contract checks that keep the guard in place.
- Lock the post-disposal VMT contract with runtime/source checks for
Hook,Unhook,GetOriginal, andReset, including disposed-state precedence over replacement-address validation. - Work around the pinned
LM_VmtUnhookuntracked-index protection leak: idempotentVmtManager.Unhooknow skips the native call when no hook entry exists, preserving the VTable page's original protection, with runtime regression coverage. - Record and close the post-release delivery gap: an initial nuget.org-only restore exposed only 2.0.0, then 2.1.0 was published and adopted as the public-NuGet smoke baseline.
- Refresh post-release README, roadmap, consumption, release-status, and package metadata; advance the automatic public-NuGet smoke baseline to 2.1.0 before the 2.1.1 publication.
Compatibility
- Preserve the 2.1.0 Public API and pinned rdbo/libmem revision.
- Keep Windows x64 / .NET 8 as the official support and release target.
Platform and compatibility
- OS / architecture: Windows x64
- Managed runtime: .NET 8
- Native backend: pinned rdbo/libmem revision
- x86: retained only as deferred/best-effort source compatibility; no x86 asset is published by this release
Downloads
- Libmem.NET-windows-x64.zip — runtime package for Windows x64
- Libmem.NET-windows-x64.zip.sha256 — SHA-256 checksum for the runtime archive
- Libmem.NET.2.1.1.nupkg — exact-version package for a local NuGet feed; nuget.org publication is a separate step
Package contents
CHANGELOG.mdIjwhost.dllLICENSELibmem.NET.dllLibmem.NET.pdbLibmem.NET.xmlMIGRATION.mdTHIRD_PARTY_NOTICES.mdVERSIONlibmem.dllmanifest.json
Integrity and provenance
- Archive SHA-256:
54ac1076da14de7f3260696bb7a7ac2cee9ce57b07b6046d3bc6db9cdfbe4bee - Repository commit:
6a03b9c8bd27950492416f23e70bae3da6fd052a - Pinned libmem commit:
a07c9942bf1358dabcc83eb0cd072736c749d7f8 - The runtime manifest records each packaged file's size and SHA-256.
- Release publication verifies the package version, repository commit, platform, configuration, archive contents, and checksum before upload.
Documentation
Libmem.NET remains a general-purpose libmem wrapper. Application snapshots, caches, game state, IPC, and other product-specific models belong in consuming projects.