Skip to content

Libmem.NET v2.1.1

Choose a tag to compare

@github-actions github-actions released this 07 Oct 16:17
6a03b9c

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 VmtManager construction 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, and Reset, including disposed-state precedence over replacement-address validation.
  • Work around the pinned LM_VmtUnhook untracked-index protection leak: idempotent VmtManager.Unhook now 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.md
  • Ijwhost.dll
  • LICENSE
  • Libmem.NET.dll
  • Libmem.NET.pdb
  • Libmem.NET.xml
  • MIGRATION.md
  • THIRD_PARTY_NOTICES.md
  • VERSION
  • libmem.dll
  • manifest.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.