Skip to content

chore: Remove the decline_responses_websockets translation after a deprecation release #1625

Open

Description

@Alan-Cha

What

v0.9.4 shipped listener.decline_responses_websockets, a boolean. #1467 replaces it with listener.responses_websockets: parse | decline | forward. To keep v0.9.4 configs working, #1467 still reads the old key when the new one is unset (true → decline, false → forward), logs a WARN naming the new key, and refuses a config that sets both.

This issue tracks removing that translation.

When

Not before both of these:

  • At least one release has shipped the warning. A user who set the old key should have had a release that told them to change it before one that refuses it.
  • A release the project is willing to label a breaking change. Before 1.0, semver allows a breaking change in any release, and this repo has done it: Breaking change: Upgrade the cpex plugin to CPEX 0.3.1 #1429 shipped in v0.9.2, a patch release, listed under "Breaking changes" in its notes. So this does not have to wait for 1.0, but it needs a deliberate release-notes entry, not a silent removal.

What removal means

Do not delete the field outright. If the field were simply deleted, the YAML would ignore the key, and a config that set decline_responses_websockets: false would quietly get the default, parse, with no word said. Replace the translation with a startup refusal that names the mode the old value maps to. That refusal is what #1467 did before v0.9.4 shipped the key, and it is in that PR's history.

  • core/config/config.go: DeclineResponsesWebSockets and the fallback in ResponsesWebSocketsMode.
  • core/config/validate.go: the WARN and the both-set refusal become a single refusal.
  • TestLoad_DeprecatedDeclineKeyStillApplies becomes a refusal test.
  • Docs: docs/agents/codex.md, docs/framework-architecture.md and CLAUDE.md describe the old key; drop those lines.

PR title prefix: Breaking change:, so the release notes say so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions