Skip to content

Release v0.3.4

Choose a tag to compare

@github-actions github-actions released this 20 Jun 16:09
· 7 commits to main since this release
Immutable release. Only release title and notes can be modified.
ded7efd

Breaking Changes

  • None

New Features

  • Add streaming_timeout_ms to OpenCodeGoConfig and OpenCodeZenConfig for per‑request streaming timeouts.
  • Expose heartbeat_paused flag during raw Anthropic streaming to avoid keep‑alive injection into SSE frames.
  • Add IsAnthropicModel and isAnthropicNativeGo helpers that now include minimax‑m2.5/2.7/3 and qwen‑plus models.
  • Add RequestTimeout, StreamingTimeout, and StreamIdleTimeout helpers on OpenCodeClient.
  • Add walkthrough.md documenting 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 transformTools receives 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 TestResponseWriter by using Fprintf.

Improvements

  • Harden transformTools: skip empty/whitespace names, normalize null/empty schemas, validate object type and properties, guard against nil schema objects.
  • Update ApplyDefaults to honor streaming_timeout_ms before timeout_ms when the former is unset.
  • Optimize retry logic and error handling with a dedicated APIError type.
  • Reload messaging in atomic.go now reports timeout changes immediately.
  • Add per‑byte idle‑gap enforcement via StreamIdleTimeout.

Documentation

  • Update CONFIGURATION.md and README.md with Streaming Scenario Routing and new streaming_timeout_ms config.
  • Add streaming_timeout_ms to config.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.