docs(changelog): file the typed legacy-provider-id rejection as a breaking change - #2021
Conversation
…aking change The subscription provider rename landed eight [Unreleased] entries, and all eight sat under "Changed" while "Breaking Changes" stayed empty. Seven of them belong there: they describe migrations and normalizations that preserve behaviour for an existing user. One does not. A typed legacy provider id now HARD-ERRORS: `/login openai-codex` and `--provider claude-sdk-oauth` fail with the new id named. That is the deliberate counterpart to normalizing ids read from disk, and it is the single change in this release that can break a user's script, alias or CI invocation. Filed under "Changed", a user scanning release notes for what breaks would never see the one thing that breaks. Moves that entry to Breaking Changes. Text unchanged; only its section moves. Part of #1989
CI note:
|
|
Step-level read (per the standing diagnostic rule):
So this is one red, not two. It is also not a bundle-freshness red: this PR touches no Merging on the green local gate (2/2 on that exact test) with the CI reason recorded above. |
Pre-release changelog correction, found while preparing the senpi release for #1989.
The problem
The subscription provider rename landed eight
[Unreleased]entries inpackages/coding-agent/CHANGELOG.md. All eight sat under### Changed, and### Breaking Changeswas empty.Seven of them belong under Changed — they describe migrations and normalizations that preserve behaviour for an existing user (auth.json, settings.json, the accounts directory, models.json, session restore, the display rename, the internal rename).
One does not. A typed legacy provider id now hard-errors:
That is the deliberate counterpart to normalizing ids read from disk — config written by an older version is migrated and never rejected, while an id the user types is rejected by name. It is also the single change in this release that can break a user's script, alias or CI invocation. Filed under "Changed", a user scanning the release notes for what breaks would never see the one thing that breaks.
The change
Moves that one entry to
### Breaking Changes. The text is unchanged; only its section moves. The other seven stay where they are.Doing this before the release is cut, rather than after: release notes are generated from these sections, so a mis-sectioned entry ships as a misleading release note and cannot be corrected in place once published.
Part of #1989
Summary by cubic
Moves the changelog entry for typed legacy provider ids being rejected to the Breaking Changes section, so release notes flag it as the one change in this release that can break user scripts, aliases, or CI invocations. The text is unchanged; only its section moves. Part of #1989.
Written for commit 692ffe9. Summary will update on new commits.