Skip to content

v3.1.0

Choose a tag to compare

@Oaklight Oaklight released this 11 Jun 14:53
· 104 commits to master since this release

v3.1.0 — 2026-06-11

Breaking Changes

  • Removed legacy ARGO gateway mode — --legacy-argo flag, USE_LEGACY_ARGO env, use_legacy_argo config field all deleted. The _legacy module (~8,500 lines) is removed entirely.
  • Removed same-format passthrough — all requests now go through the full llm-rosetta converter + shim pipeline, ensuring consistent reasoning handling, transforms, and metadata preservation.
  • Removed CLI flags — --force-conversion, --enable-leaked-tool-fix, --real-stream, --pseudo-stream, --tool-prompting are all deleted.

Added

  • llm-rosetta shim integration — dispatch pipeline now uses argo--anthropic and argo--openai_chat shims for declarative reasoning config, transforms, and per-model overrides.
  • Model-level thinking_type — Opus 4.7 correctly gets thinking.type=adaptive via shim model_overrides, while other models keep enabled. Fixes the old bug where all models were incorrectly converted to adaptive.
  • Unsigned reasoning block policy — argo--anthropic uses unsigned_reasoning_blocks: preserve to avoid Argo 400 errors from history with empty/missing thinking signatures.

Changed

  • Unified non-streaming convert path — _convert_non_streaming and _convert_buffered_streaming merged into _convert(force_stream=False|True).
  • Prepare/execute split — _prepare_convert + _execute_convert avoids redundant IR round-trips in _convert_with_retry.
  • Streaming reuses prepare — _convert_streaming now shares _prepare_convert with non-streaming paths.
  • Bumped llm-rosetta to >=0.6.8 — includes all reasoning/signature/effort fixes and the shim plugin loader.

Tested with

  • Codex CLI (gpt-5-nano, claude-haiku-4-5, claude-opus-4-6)
  • OpenCode (gpt-5-nano)
  • Claude Code (claude-haiku-4.5, claude-opus-4.7)
  • agentabi multi-turn tool-use matrix

Legacy code preserved on archive/pre-legacy-removal branch.