docs(changelog): reconcile [Unreleased] with what actually shipped

Merged
WI
3mo ago
+250-223

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 up structured 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/ws sidecar protocol and the POST /v1/nodes/:node/actions/:name/invoke URL 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 + the node command 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/fleet control 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.dev plugin-default entry that contradicted the cast.agentrelay.com migration.

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