Repository navigation
Libmem.NET v2.0.0-preview.1
Pre-release
Pre-release
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 remainsLibmem.NET. - Existing
LibmemCliconsumers must update references, namespaces, paths and reflection strings, then recompile. Seedocs/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
LibmemCliv1.0.0 namespace and assembly identity are not binary compatible withLibmem.NET. Consumers must rebuild; renaming a DLL is insufficient. - Set
VERSIONand informational version to2.0.0-preview.1; numeric assembly/file versions are2.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.nupkgfor 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
CardResearchLaband NuGet author attribution toxiaohei7972. 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_dispatchcan additionally enable Debug x64 build and smoke tests throughdebug. - 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.mdIjwhost.dllLICENSELibmem.NET.dllLibmem.NET.pdbLibmem.NET.xmlMIGRATION.mdTHIRD_PARTY_NOTICES.mdVERSIONlibmem.dllmanifest.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.