docs(changelog): reconcile [Unreleased] with what actually shipped
Summary
The chore(release) automation appends a new ## [x.y.z] heading with raw commit subjects but never clears [Unreleased]. Over ~15 releases, curated entries piled up in [Unreleased] for features that had already shipped, while each version section got a thin auto-generated stub. The section had also grown two full sets of ### Added/Changed/Fixed/Removed headers and an internal contradiction about the default base URL.
Attribution was done by mapping every release to its actual commit range with git log (the repo has no tags — releases are only chore(release) commits).
- Reduce
[Unreleased]to the single genuinely-unreleased change (node upstructured logging, #1237), verified against git commit ranges. - Rewrite
[10.0.0]as the node-providers / broker-demotion release it actually is, including a proper Breaking Changes entry for the removal of the local/api/fleet/wssidecar protocol and thePOST /v1/nodes/:node/actions/:name/invokeURL change (the reason for the major bump, previously unrecorded). - Harvest the stranded rich descriptions into their real shipped releases (9.0.1–9.2.4 and 8.5.0–8.9.2), replacing thin stubs — e.g.
cloud enroll+ thenodecommand group → 9.2.2, control-plane socket → 9.1.8, node-only-delivery hardening → 9.1.3, dashboard removal + its breaking/migration notes → 9.0.1, the@agent-relay/fleetcontrol plane → 8.8.0. - Consolidate the 9.2.4 journal-lock churn (~20 fix commits + CI noise) into two impact-first bullets per the repo's changelog guidance.
- Remove the duplicate section headers and the superseded
gateway.relaycast.devplugin-default entry that contradicted thecast.agentrelay.commigration.
Net +141 / −223 lines. A structural check confirms no duplicate or non-standard section headers, correct version ordering, and that the remaining gateway.relaycast.dev mentions are now chronologically consistent (default in 8.x → migrated in 9.1.0).
One judgment call: a handful of internal broker fixes that couldn't be pinned to an exact patch were attributed to the release where the feature landed (mostly 9.1.3), and a few low-value/uncertain stragglers were dropped (a Swift SDK split, a trivial SDK patch bump).
Test Plan
- Tests added/updated — n/a (documentation only; no code changed)
- Manual testing completed — ran a script asserting no duplicate/non-standard
###headers within any version, correct descending version order, and consistency of remaining base-URL references
Screenshots
🤖 Generated with Claude Code
Generated by Claude Code