Release v0.3.4
·
7 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Breaking Changes
- None
New Features
- Add
streaming_timeout_msto OpenCodeGoConfig and OpenCodeZenConfig for per‑request streaming timeouts. - Expose
heartbeat_pausedflag during raw Anthropic streaming to avoid keep‑alive injection into SSE frames. - Add
IsAnthropicModelandisAnthropicNativeGohelpers that now include minimax‑m2.5/2.7/3 and qwen‑plus models. - Add
RequestTimeout,StreamingTimeout, andStreamIdleTimeouthelpers onOpenCodeClient. - Add
walkthrough.mddocumenting integration and timeout configuration.
Bug Fixes
- Fix streaming timeout handling: bind streaming body reads to the per‑attempt context so mid‑stream stalls abort.
- Prevent panic when
transformToolsreceives a whitespace‑only"null"schema. - Stop fallback chain early on parent context cancellation or deadline exceeded; do not record client cancellations as circuit‑breaker failures.
- Correct error handling in Anthropic API calls, surface
ErrStreamReadCanceled, and streamline SSE error messages. - Resolve lint issues in test files (discard unused return values, remove redundant type assertions).
- Fix concurrent write handling in
TestResponseWriterby usingFprintf.
Improvements
- Harden
transformTools: skip empty/whitespace names, normalize null/empty schemas, validate object type and properties, guard against nil schema objects. - Update
ApplyDefaultsto honorstreaming_timeout_msbeforetimeout_mswhen the former is unset. - Optimize retry logic and error handling with a dedicated
APIErrortype. - Reload messaging in
atomic.gonow reports timeout changes immediately. - Add per‑byte idle‑gap enforcement via
StreamIdleTimeout.
Documentation
- Update
CONFIGURATION.mdandREADME.mdwith Streaming Scenario Routing and newstreaming_timeout_msconfig. - Add
streaming_timeout_mstoconfig.example.json. - Expand documentation for new timeout helpers and Anthropic‑native streaming behavior.
Chores
- Add extensive test coverage for new streaming and timeout features.
- Update test files and remove lint warnings.
- Minor refactorings in provider architecture and fallback logic.
- Update CI configuration and dependency checks.