Tags give the ability to mark specific points in history as being important
-
0.134.1-release
protected94d0bb1f · ·0.134.1 Carries the client half of two server changes already running in production. The retry arm. chats emits a `retry` frame when a provider call fails and is tried again; every ai.js older than this drops it, so a person watching a spinner could not tell 'thinking' from 'the provider is down, attempt 2 of 3'. The api's contract test has been red against the pinned wheel since that landed — deliberately, because a server must not emit a type the client it ships against cannot handle. This closes it. The keepalive is handled by NOT being handled, and that is the design: an unknown control frame already falls through handleEvent's chain with no step, no text and nothing to reconcile. The contract asserts that absence rather than assuming it. Also: Auto sends the deployment's own default rather than omitting `model`, which 400'd against a server without PRD 7.9. That api is deployed now, so the omission can return in a later release — the code and its test both say when. 0.134.0 was skipped. It was tagged on six green suites and failed the pipeline on a CHANGELOG heading assert_version requires and no branch check can see, because VERSION=0 passes that assertion vacuously. Tags burn, so the number went with it. CLAUDE.md now carries the pre-tag gate. 400 ai · 3298 python · 129 scaffold · 63 runtime · flake8 · markdownlint · changelog_guard · assert_version, plus the stamp-then-assert simulation.
-
0.134.0-release
protected63a980a8 · ·0.134.0 Carries the client half of two server changes that are already deployed, which is why this release exists rather than waiting for more to accumulate. The retry arm. chats emits a `retry` frame when a provider call fails and is tried again; every ai.js older than this drops it, so a person watching a spinner could not tell 'thinking' from 'the provider is down, attempt 2 of 3'. The api's contract test has been red against the pinned wheel since that landed — deliberately, because the server must not emit a type the client it ships against cannot handle. This closes it. The keepalive is handled by NOT being handled, and that is the design: an unknown control frame already falls through handleEvent's chain with no step, no text and nothing to reconcile. The contract asserts that absence rather than assuming it. Also: Auto sends the deployment's own default rather than omitting `model`, which was a 400 on every turn against a server without PRD 7.9. That api is deployed now, so the omission can come back in a later release — the code and its test both say so. 400 ai · 3298 python · 129 scaffold · 63 runtime · flake8 · markdownlint · changelog_guard · assert_version.