Skip to content

v3.0.0b7

Pre-release
Pre-release

Choose a tag to compare

@Oaklight Oaklight released this 22 Mar 19:11
· 93 commits to master since this release

v3.0.0b7 (2026-03-23)

Fixed

  • Orphaned tool_calls cause 400 on strict upstreams: Fixed via fix_orphaned_tool_calls() from llm-rosetta — applied in both passthrough and cross-format paths for all three strict-pairing providers (OpenAI Chat, OpenAI Responses, Anthropic)
  • Missing user field in cross-format requests: Now injected automatically in both streaming and non-streaming conversion paths
  • Google GenAI SDK auth via x-goog-api-key header: Now supported alongside Authorization: Bearer, x-api-key, and ?key= query parameter
  • aiohttp 3.12 startup crash: Removed deprecated tcp_nodelay parameter from OptimizedHTTPSession

Changed

  • Bumped llm-rosetta to v0.2.5: Picks up full-stack Google GenAI camelCase support, cross-format image passthrough fixes, tool_call_id reconciliation, input_schema type default for parameterless tools, and built-in tool handling
  • Refactored dispatch.py: Merged 4 identical SSE formatters into 2, extracted _write_sse_chunks() / _ensure_user_field() helpers, defined _STREAMING_HEADERS constant
  • Modernized typing imports: Replaced typing.List, Dict, Tuple, Set with Python 3.10+ built-in generics via ruff UP006
  • Added ruff and ty configuration to pyproject.toml
  • Fixed 35 ty type-check diagnostics
  • Cleaned up performance.py: Removed optimize_event_loop(), fake tqdm progress bar, CPU-based connection scaling (-80 lines)

Full changelog: https://github.com/Oaklight/argo-proxy/blob/master/docs_en/docs/changelog.md