Skip to content

Libmem.NET v2.0.0-preview.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 05 Oct 12:32
d7af803

Libmem.NET v2.0.0-preview.1 is a Windows x64 / .NET 8 preview release of the reusable C++/CLI wrapper around the pinned rdbo/libmem native library.

Release highlights

Breaking identity migration

  • Unified the managed namespace, assembly, solution/project names, test projects and runtime assets as Libmem.NET; the NuGet PackageId remains Libmem.NET.
  • Existing LibmemCli consumers must update references, namespaces, paths and reflection strings, then recompile. See docs/MIGRATION.md.
  • Preserved public member signatures, native ABI mapping, ownership, exception behavior and the pinned native dependency. Static facade calls use an explicit type alias to avoid the new root namespace collision.
  • Corrected runtime manifest provenance to CardResearchLab/Libmem.NET.
  • Consolidated automatic PR validation into Build, including Release x64 by default, optional manual Debug, all runtime suites and local NuGet restore/run/publish. Specialized workflows retain manual entry points.

Release preparation

  • Bumped the major version because the already released LibmemCli v1.0.0 namespace and assembly identity are not binary compatible with Libmem.NET. Consumers must rebuild; renaming a DLL is insufficient.
  • Set VERSION and informational version to 2.0.0-preview.1; numeric assembly/file versions are 2.0.0.0.
  • Enabled prerelease version validation for runtime manifests, NuGet packaging and formal Release Notes; GitHub Release publication marks preview tags as prereleases.
  • Included the changelog and migration guide in runtime ZIP and NuGet packages. Build artifacts include an exact-version Libmem.NET.2.0.0-preview.1.nupkg for local-feed acceptance.
  • Separated GitHub downloads from nuget.org publication. NuGet Trusted Publishing is explicitly invoked after the GitHub release and account setup are ready.
  • Updated assembly company metadata to CardResearchLab and NuGet author attribution to xiaohei7972. Updated repository URLs, reusable workflow references, manifest provenance, and publishing setup for the renamed organization.

This section prepares the preview; it does not claim that a release tag, downloadable release or nuget.org package has already been published. The existing v1.0.0 tag and assets remain unchanged.

CI and documentation follow-up

  • Default automatic Build validation to Release x64; retain every Release runtime, example, consumer and package check. Manual workflow_dispatch can additionally enable Debug x64 build and smoke tests through debug.
  • Restrict GitHub Release creation to tags and NuGet OIDC login/push to an explicit manual run on an existing published tag. release/v* branches validate artifacts and render notes without publishing or deleting branches.
  • Consolidate the unfinished documentation from #70 and release readiness work from #75: concise bilingual README, release/versioning guide, historical v1.0.0 notes and a checklist for the next release. Keep historical LibmemCli assets distinct from the current Libmem.NET identity.

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.0.0-preview.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: 89e1b7f6d4159b1bc7a179abf2ca5311d1af1bcf057ac031719f094c7a6d9c2e
  • Repository commit: d7af803601ffae735ae5794b89a5864d8cdcb4f5
  • 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.