Repository navigation
v0.14.0
0.14.0 - 2026-10-01
Bug Fixes
- files: Record an upload before its bytes are written in #1756 by @peteski22 (
64930e4) - files: Record a produced file before its bytes are written in #1757 by @peteski22 (
3394947) - web: Render clickable radio controls in filter rail by @claude (
269ca52) - dashboard: Keep RadioVisual private to RadioGroup by @daavoo (
95474ea) - dashboard: Build RadioGroup options from RadioField and RadioButton in #1576 by @daavoo (
b0e0052) - ci: Give the SDK regeneration PR a conventional-commit subject in #1733 by @peteski22 (
8bf18fd) - sandbox: Stop handing the caller's token to the control plane in #1739 by @peteski22 (
2cdbb53) - BREAKING: tools: Apply a workspace's web search limits as a ceiling in hybrid in #1787 by @peteski22 (
68e8544) - hook: Show a judge gate the files a change adds in #1800 by @agpituk (
c4fc6a2) - inference: Count request-shaping headers toward an idempotency key's request by @claude (
2e487fa) - inference: Renew an idempotency claim while its request runs by @claude (
5e5c301) - inference: Free a running idempotency claim only when its lease lapses by @claude (
8a8b4b9) - inference: Keep an idempotency claim alive after any renewal error by @peteski22 (
4759a42) - inference: Refuse an unknown or blocked user before an idempotent replay by @peteski22 (
451139e) - inference: Back off exponentially while a retry waits for its key by @peteski22 (
3c009d5) - inference: Time idempotency leases by the database clock by @peteski22 (
0e55c3e) - inference: Keep sweeping idempotency records while the header is off by @peteski22 (
42721db) - inference: Keep renewing an idempotency claim until its response is stored by @peteski22 (
efafbd5) - inference: Retry a failed idempotency renewal before the lease runs out by @peteski22 (
680dbdd) - inference: Never let an idempotency store error fail a paid response by @peteski22 (
57db096) - inference: Read the database clock when asked, not at transaction start by @peteski22 (
5a7bc35) - inference: Bound each idempotency sweep and keep replicas apart by @peteski22 (
a07fc33) - inference: Drain every expired idempotency record in each sweep by @peteski22 (
0bf1b5f) - inference: Count routing headers toward an idempotent request by @peteski22 (
dbdb6ee) - inference: Count every value of a repeated header toward an idempotent request by @peteski22 (
3688f32) - inference: Repeat the guardrail verdict on an idempotent replay by @peteski22 (
5d72c16) - inference: Pass on a request's cancellation while its claim renewal stops by @peteski22 (
ace57ab) - inference: Take over only an idempotency claim that is unchanged since it was read in #1771 by @peteski22 (
8e11b9c) - gateway: Turn in-product feedback off by default until the intake delivers in #1810 by @jigjigjig (
12b62d2) - files: Make a copy again when the provider dropped it early in #1830 by @peteski22 (
fb6f167)
Features
- inference: Honor Idempotency-Key on non-streaming completions by @claude (
90f2986) - inference: Encrypt stored idempotent responses with OTARI_SECRET_KEY by @claude (
1592fea) - inference: Answer a retry of a running idempotent request with 409 at once by @peteski22 (
928575c) - hook: Compose user-level guardrails from ~/.otari in #1804 by @peteski22 (
a80e0b2) - BREAKING: files: Give the provider's own code execution the files a request attaches in #1666 by @peteski22 (
4b80994)
Maintenance
- BREAKING: files: Allocate a storage reference before writing bytes in #1755 by @peteski22 (
14f9fcc) - BREAKING: metrics: Make prometheus-client an optional extra in #1235 by @daavoo (
34ae4a8)
Performance
- inference: Delete expired idempotency records in bounded batches by @peteski22 (
b2a36fe)
New Contributors
Full Changelog: v0.13.0...v0.14.0