Skip to content

2026.10.29: retry temporary upstream failures, reasoning effort in routing rules; pin core v0.83.1 - #372

Merged
fylorn merged 9 commits into
devfrom
release/2026.10.29
Oct 25, 2026
Merged

fylorn merged 9 commits into
devfrom
release/2026.10.29

Conversation

@fylorn

@fylorn fylorn commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Release 2026.10.29 with core v0.83.1 (control protocol 54).

Changes

Upgrade notes

A rule that still has thinking: under set no longer loads; the app opens in safe mode and Repair removes the field.

Testing

  • Rust: cargo fmt --check, cargo clippy --all-targets -D warnings and cargo test --workspace with the released twcore v0.83.1. control_plane::a_streaming_request_can_be_followed_live_until_it_ends failed once under full parallel load and passed in five reruns of the suite. It is a timing window between core's request-started event and its live-content registration, unrelated to this change.
  • Frontend: tsc (app and screenshot scripts) and vitest (1318 tests).
  • Retry states checked in the preview harness: in-flight Retrying, then back to running; drawer retry badge, wait time and note.

🤖 Generated with Claude Code

fylorn and others added 9 commits October 24, 2026 22:16
…iently

- Types: add the request_retrying event and AttemptView.retry / backoff_ms
  (control API version 53), ahead of the core release that sends them.
- Traffic: an in-flight request backing off before a retry reads "Retrying"
  and lists the upstreams it will retry, styled like a queued request; it can
  be aborted the same way. Snapshot replay handles the event like
  request_queued. RequestRow.queued becomes RequestRow.waiting with an
  optional retry number.
- Upstreams: a request backing off is not counted against any upstream, as
  with queueing.
- Request drawer: a retried hop shows "Retry n" and the backoff it waited;
  a chain whose last hop is a retry says it was retried automatically instead
  of "sent once the upstream was available again".
- Settings: the failover wait limit description covers queueing and retrying.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… a test

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
RuleRewrite.reasoning (RuleReasoning) replaces thinking, SetField
"reasoning" replaces "thinking", AttemptView.effort (EffortChange,
EffortReason), protocol 54. To be replaced by the types generated from core.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…mpt chain

The rule dialog's extended-thinking control (keep/on/off) becomes
Reasoning: Unchanged | Off | low | medium | high | xhigh | max, on its own
row with a note that a level only rewrites requests that already have
reasoning on. Rule summaries and dry-run rewrites read "Reasoning max" /
"Reasoning off". Each attempt whose reasoning effort differs from what the
client asked gets a line saying why (rule, rejected and resent, or
remembered). A rejected hop and its resend count as one attempt in the
note under the chain, so it no longer says the upstream recovered.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e API types

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Pin core v0.83.1 (protocol 54) and fill the new attempt field in a test.
- The attempt chain says when turning reasoning off was refused and a
  level was used instead.
- The update window no longer says the gateway waits for requests to
  finish before restarting.
- Screenshot oracle regenerated for 0.83.1.
- Version 2026.10.29 and its release notes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@fylorn
fylorn merged commit 206cbff into dev Oct 25, 2026
6 checks passed
@fylorn
fylorn deleted the release/2026.10.29 branch October 25, 2026 09:10
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 25, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant