Skip to content

0.12.0

Choose a tag to compare

@steipete steipete released this 15 May 17:53
· 127 commits to main since this release
v0.12.0
363827f

Added

  • CLI: add --perf-trace / --perf-trace-path / ORACLE_PERF_TRACE startup timing traces and lazy-load heavy browser/provider/runtime modules to reduce time-to-first-output.
  • API: add --allow-partial / --partial ok for multi-model runs so advisory panels can exit 0 when at least one model succeeds, while still listing saved outputs and a JSON output manifest before failures.
  • API: classify common provider failures in multi-model summaries and metadata, including auth, expired keys, quota, rate limits, and unavailable models, with secret-safe recovery hints.
  • API: add root --preflight provider readiness checks and packed CLI help smoke coverage so stale installed help is caught before release.
  • Sessions: print and persist a compact lifecycle block showing foreground/background execution, detach state, model count, and reattach command.
  • Docs: add oracle docs check / pnpm docs:check to catch documented flags that are missing from Commander help metadata.
  • Docs: document provider preflight, route diagnostics, partial multi-model recovery, and output manifest workflows in README/provider docs.
  • API: add --provider openai / --no-azure to force first-party OpenAI when Azure env/config is present, add oracle doctor --providers and --route redacted route diagnostics, keep provider-qualified model IDs on OpenRouter/proxy routes instead of accidental Azure/native routes, and fail early when Azure routing lacks a deployment.
  • Browser/MCP: add opt-in ZIP formatting for bundled browser uploads with --browser-bundle-format zip / browserBundleFormat: "zip", preserving individual file names in one ChatGPT attachment.

Fixed

  • CLI: make missing-prompt help exit nonzero, reject --dry-run --render like --dry-run --render-markdown, and terminate promptly with code 130 on SIGINT.
  • API: parse duration-style --timeout values such as 10m, derive the HTTP transport timeout and stale-session cutoff from explicit overall timeouts, and warn when an explicit shorter --http-timeout can fail first.
  • Browser: select thinking effort from the currently checked ChatGPT model row so Pro Extended runs do not fall back to the Thinking row's effort control.
  • Browser: record ChatGPT model-selection evidence in session metadata and CLI output so Pro browser runs show the selected model proof (#195). Thanks @pdurlej!
  • Browser: target ChatGPT's renamed bare Pro picker row for Pro browser runs while keeping older Pro CLI aliases mapped to the current browser target (#190, fixes #182). Thanks @jungdaesuh!
  • Browser: recognize current ChatGPT attachment chips without treating stale page-level chips as ready, and keep the longer send-button wait scoped to attachment uploads (#192). Thanks @li-aolong!