v0.7.9
Quality and hardening release — every finding from a full-codebase review (with multi-agent and Codex cross-reviews) addressed.
Highlights
SDK
py.typedshipped — type checkers now see the SDK's annotations (PEP 561)- Redirects and non-JSON responses raise proper
APIErrors instead of silently returning{}or leakingJSONDecodeError; 401/403 errors include the server's detail - API keys are stripped of surrounding whitespace (trailing-newline keys no longer fail deep inside httpx)
extra_bodypassed tochat.completions.createis no longer mutatedyutori.n1compatibility restored: submodule attribute access and non-__all__imports work as they did pre-rename- Navigator payload trimming now converges on multi-image messages; trajectory replay hardened against odd tool-call payloads and escapes screenshot URLs
CLI
- Routine API failures print one-line errors with recovery hints instead of multi-screen tracebacks
browse run/research run/scouts createexit 1 when the API rejects the task (scripts no longer see rejected tasks as success)- Output is Rich-markup-safe: queries/URLs containing
[...]-style text render literally instead of crashing or disappearing
Installer & packaging
install.shheader version now tracks releases automatically; render dir usesmktemp -d;uninstall.shaccepts "yes"- The sdist ships a complete, collectable test suite; build floor raised to
setuptools>=77 - New CI: ruff + tests on Python 3.9–3.13, wheel/sdist content checks,
twine check, installer freshness — publishing is now gated on tests
What's Changed
- docs(llms): be explicit that the agent runs auth and verify itself by @dhruvbatra in #126
- docs(llms): CLI-first demos using canonical docs queries by @dhruvbatra in #127
- docs: rename install headings and tighten installer section by @dhruvbatra in #128
- Fix full-codebase review findings: hermetic tests, py.typed, CLI error handling, installer hardening, CI by @dhruvbatra in #129
Full Changelog: v0.7.8...v0.7.9