release: netcode.cs 1.1.0 - #10
Merged
Merged
Conversation
The first release since v1.0.0, carrying the connect-token lifecycle fix (netcode.cs#6, GHSA-v29p-3vj4-vg4f) and the create-time callback refusals (netcode.cs#7, mirroring netcode#191). Public API is additive only and nothing on the wire changes. Version sites: - src/Netcode.csproj gains <Version>1.1.0</Version>. The property did not exist before, so the assembly reported 1.0.0.0 by the SDK default and would have kept reporting it forever. It is this port's own number: it does not track the C reference's numbering, and "NETCODE 1.02" in Protocol.VersionInfo is the wire protocol version and does not move. - README.md's status line: v1.0.0 -> v1.1.0, and it now names the C reference release this port is tested against (netcode 1.4.8). notes/port-map.md already reads "C reference, version 1.4.8" (fc235d2), and this port exposes no C-version constant of its own, so there is no VersionFull-style site to bump. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Cuts netcode.cs 1.1.0, the first release since v1.0.0 (2026-08-08). It carries
PR #9 (connect token reuse and restart handling, merged 22:49Z) and PR #8
(netcode#191's two create error codes and the callback refusals, merged 22:51Z).
Do not tag, release or publish from this PR; it is the version bump and the
notes draft only.
The version, and why 1.1.0
netcode.cs has no CLAUDE.md, so the family's written rule is the sibling port's.
netcode.go's CLAUDE.md is the one that states it, and the deciding sentence is:
So this port numbers itself and 1.4.8 is not a candidate. Minor rather than
patch because the public surface grew and nothing in it was removed or changed:
ServerConfig.MaxConnectTokenLifetime,Protocol.DefaultMaxConnectTokenLifetime,ClientCreateError.MissingOverrideCallbackandServerCreateError.MissingOverrideCallback. (The sibling ports shipped the samefix as patches — netcode.rs 1.1.2, netcode.go 1.1.4 — and both also added API;
the numbers were never aligned across ports, so this repo's own semver governs.)
Version sites changed
src/Netcode.csproj<Version>1.1.0README.mdstatus linev1.0.0, the first releasev1.1.0, tested against the C reference at netcode 1.4.8The csproj had no
<Version>property at all, so the assembly reported theSDK default
1.0.0.0and would have kept reporting it through every futurerelease. Adding it is the one new site here; the build now stamps
1.1.0.0and1.1.0+<sha>.Sites deliberately not touched:
Protocol.VersionInfo = "NETCODE 1.02"andDefines.VersionInfo— the wireprotocol version. It does not move, and the interop gate would catch it if it did.
VersionFullanalogueas netcode.go has), so there is nothing to bump to 1.4.8 in code. The C
reference version is recorded in prose in
notes/port-map.mdline 4, whichalready reads 1.4.8 (fc235d2), and now in the README status line too. Adding a
public C-version constant would be new API and does not belong in a release PR.
LICENSEand all license prose: untouched (GATE-9).Gates, as ci.yml runs them
Run locally on this bench (Apple Silicon, .NET SDK 10.0.401, Apple clang 21) at
194f150:
The only red is the net8.0 leg, and it is this machine, not the code: the same
binary passes with the documented
DOTNET_ROLL_FORWARD=LatestMajor. Hosted CIon this PR runs it on a real 8.0.x runtime; that run is the gate that counts.
NuGet
This repo publishes nothing. There is no
PackageId, noIsPackable, nonuget.config, nodotnet packornuget pushstep, and no.nupkganywhere;.github/workflows/holds exactlyci.ymlandcla.yml, neither of whichpacks or pushes. Distribution today is source plus the git tag, the same as
v1.0.0 — so no credential is needed for this release and nobody is blocked.
If NuGet publishing is ever wanted it is new work, not a release step: it needs
package metadata in
src/Netcode.csproj, a publish workflow, and a nuget.orgAPI key for the mas-bandwidth account. No such key exists on this bench, and
minting one is Glenn's hand — the parallel is netcode.rs, whose crates.io token
sits on Glenn's personal macOS account and is deliberately not on the bench.
Worth a separate issue rather than a line in this PR.
Release notes (draft, Rowan edits)
Modelled on the netcode.rs v1.1.2 notes. Also saved uncommitted at
NOTES.mdin the release working directory.🤖 Generated with Claude Code