Docs + GA 1.0.0: consumer integration (closes #4, #5, #6, #7)#9
Merged
Conversation
Addresses four consumer-integration issues for net-did's adoption of NetCrypto as the single crypto foundation. #5 — Cut a stable 1.0.0 (GA): - NetCryptoVersion 1.0.0-preview.3 -> 1.0.0 (plain SemVer = non-prerelease). - Ship the public API: move the BBS `header` additions from PublicAPI.Unshipped.txt into PublicAPI.Shipped.txt; Unshipped is now empty. - README: drop the `--prerelease` install flag; document the stable/GA status and the frozen-API / SemVer policy. #4 — Native runtimes in the published .nupkg: - README: explicit supported-RID matrix (osx-arm64/x64, linux-x64/arm64, win-x64) with library filenames and CI coverage; note that the package ships runtimes/{rid}/native/ transitively, that release CI fails if any RID's payload is missing, and that the packed nupkg is smoke-tested (BBS round-trip) — verified against the published artifact, not the source tree. (Infra already existed in release.yml; this documents and surfaces the guarantee.) #6 — BBS keygen path: - README + DefaultBbsCryptoProvider XML docs: the supported keygen path is DefaultKeyGenerator.Generate(KeyType.Bls12381G2) / Bls12381G1; raw FFI keygen is intentionally internal (no public raw-keygen helper). #7 — EC validation surface: - README + EcPointValidator XML docs: EcPointValidator.EnsureOnCurve is the public EC on-curve validation entry point; point decompression is an internal implementation detail, not part of the public surface. Verified: solution builds (PublicAPI analyzer green, no cref warnings); native-present leg 786/786; Version resolves to 1.0.0. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Document the release history: 1.0.0 (GA — folds in the unreleased preview.3 security hardening + consumer-integration docs), 1.0.0-preview.2 (BBS header), 1.0.0-preview.1 (initial foundation). Link it from the README. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Owner
Author
|
Automated review (post-merge — this PR was already merged by the time the review routine ran, so this is a record, not a gate). Assessment: LGTM. Low-risk, well-scoped change. No concerns. What I checked:
Minor (non-blocking, no action needed): the Reminder from the PR description: tag Generated by Claude Code |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Addresses the four open consumer-integration issues for
net-did's adoption of NetCrypto as its single crypto foundation. Mostly documentation; one release-channel change (GA).#5 — Stabilize to a non-preview 1.0.0 (GA)
NetCryptoVersion1.0.0-preview.3→1.0.0(plain SemVer = stable, non-prerelease).headeradditions fromPublicAPI.Unshipped.txtintoPublicAPI.Shipped.txt; Unshipped is now empty (the analyzer-enforced "frozen contract" the issue references is now literally true).--prereleaseinstall flag; documented GA status + the frozen-API / SemVer policy.mainafter PR Harden malformed key inputs → parameter-named ArgumentException (preview.3) #8 merged, so GA includes the preview.3 security hardening. Tagv1.0.0after merge to publish.)#4 — Native runtimes in the published .nupkg
runtimes/{rid}/native/transitively (zero per-consumer native assets), that release CI fails if any RID's payload is missing, and that the packed.nupkgis smoke-tested (BBS round-trip) — i.e. verified against the published artifact, not the source tree.release.yml(the "Verify nupkg contains all five RIDs" step + thesmokejob); this surfaces and documents the guarantee. AC "platform matrix documented" + "IsAvailable on each RID" are now covered.#6 — BBS keygen path (documentation)
DefaultBbsCryptoProviderXML docs: the supported keygen path isDefaultKeyGenerator.Generate(KeyType.Bls12381G2)/Bls12381G1; raw FFI keygen is intentionally internal (no public raw-keygen helper — the frozen-surface posture). No API change.#7 — EC validation surface (confirmation)
EcPointValidatorXML docs:EcPointValidator.EnsureOnCurveis the public EC on-curve validation entry point; point decompression (DecompressEcPoint/DecompressSecp256k1Point) is an internal implementation detail, not public. No API change.Verification
dotnet build NetCrypto.sln -c Releaseclean — PublicAPI analyzer green (Shipped matches the surface, Unshipped empty), no XML cref warnings.--filter "Category!=BbsAbsent") → 786/786 passed.Versionresolves to1.0.0.After merge
Tag
v1.0.0to trigger the release workflow (packs all 5 RIDs, verifies the nupkg, smoke-tests, publishes to NuGet as the GA package).🤖 Generated with Claude Code