Skip to content

Freeze the API and prepare the 0.9 release candidate#10

Merged
RejectKid merged 4 commits into
mainfrom
agent/api-freeze-0.9
Jul 13, 2026
Merged

Freeze the API and prepare the 0.9 release candidate#10
RejectKid merged 4 commits into
mainfrom
agent/api-freeze-0.9

Conversation

@RejectKid

Copy link
Copy Markdown
Owner

What changed

  • freezes the current native C#/.NET public surface in a compiler-enforced shipped API baseline
  • enables NuGet package validation against the published OpenDisNet 0.8.0 package
  • adds a project-reference-free consumer that restores the packed artifact and exercises Signal plus all 72 PDU factory/codec paths on .NET 9 and .NET 10
  • runs that consumer in CI and before every release is published
  • marks SemVer RC tags such as v0.9.0-rc.1 as GitHub prereleases automatically
  • adds an external RC test guide, 1.0 exit criteria, and structured GitHub feedback form
  • fixes the README's non-compiling named RadioId argument discovered by the package consumer

Why

The 0.9 milestone is the API freeze and external release-candidate stage. These changes turn that label into enforceable release gates: accidental public API changes fail compilation, incompatible packages fail packing, and a package that does not work for a real NuGet consumer cannot be released.

OpenDisNet remains entirely native C#/.NET; this work adds no Java code or dependency.

Consumer impact

Contributors must record intentional additive APIs in PublicAPI.Unshipped.txt. Removing or changing frozen API requires explicit breaking-change review and another RC. External testers receive a reproducible package version, validation checklist, safety guidance, and feedback form.

Validation

Clean-clone release simulation:

  • locked restore passed
  • generator verification passed: 233 classes and 72 PDUs
  • Release build passed with 0 warnings and 0 errors
  • 302 tests passed
  • 0.9.0-rc.1 package and symbols package packed successfully
  • package compatibility validation against 0.8.0 passed
  • NuGet-only consumer passed on .NET 9 and .NET 10
  • formatting and diff checks passed

@RejectKid
RejectKid marked this pull request as ready for review July 13, 2026 19:38
@RejectKid
RejectKid merged commit b50c37a into main Jul 13, 2026
5 checks passed
@RejectKid
RejectKid deleted the agent/api-freeze-0.9 branch July 13, 2026 19:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant