From 692ffe919c49c5c9a8a220c4582176799b8bb9b6 Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Wed, 23 Sep 2026 01:39:11 +0900 Subject: [PATCH] docs(changelog): file the typed legacy-provider-id rejection as a breaking 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 --- packages/coding-agent/CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/coding-agent/CHANGELOG.md b/packages/coding-agent/CHANGELOG.md index 30a3df73e..c13f85a0d 100644 --- a/packages/coding-agent/CHANGELOG.md +++ b/packages/coding-agent/CHANGELOG.md @@ -4,6 +4,8 @@ ### Breaking Changes +- Typing a renamed provider id now tells you the new one: `/login openai-codex` and `--provider claude-sdk-oauth` fail with the new id named, instead of a generic error or an empty selector. ([#1989](https://github.com/code-yeongyu/senpi/issues/1989)) + ### Fixed - The "File operations" section of the system prompt now names the editing tool your session actually has. It was written from the model preset rather than the live toolset, so a Grok 4.5 session - where `apply_patch` can never activate - was told to route every file edit through it, and so was any GPT model served over an API that cannot carry the tool. Sessions that do have `apply_patch` still get it as the single edit verb, the guard against editing files through `cat >`, `sed -i`, `awk -i` or inline `python` stays in both cases, and the instruction is direct again instead of asking the model to work out which tools it has ([#1968](https://github.com/code-yeongyu/senpi/issues/1968)). @@ -22,7 +24,6 @@ - Settings, credentials, sessions and `models.json` written before the subscription provider rename keep working: the old provider ids are resolved on read everywhere they are stored, and senpi tells you once which ids to update in `models.json`. ([#1989](https://github.com/code-yeongyu/senpi/issues/1989)) -- Typing a renamed provider id now tells you the new one: `/login openai-codex` and `--provider claude-sdk-oauth` fail with the new id named, instead of a generic error or an empty selector. ([#1989](https://github.com/code-yeongyu/senpi/issues/1989)) - Your saved settings survive the subscription provider rename: `defaultProvider`, `defaultModel`, favourites, per-model thinking/tier maps and fallback chains written under `openai-codex`/`claude-sdk-oauth` are rewritten once to `chatgpt-subscription`/`anthropic-subscription` on first load. ([#1989](https://github.com/code-yeongyu/senpi/issues/1989))