Repository navigation
v0.9.0: chore(release): bump version to 0.9.0 (#1855)
Pre-releaseWhat's Changed
Dependencies
- chore(deps): bump praxis-proxy/conventions/.github/actions/coverage-check from 0.3.0 to 0.4.0 by @dependabot[bot] in #1844
- chore(deps): bump astral-sh/setup-uv from 10.3.0 to 10.3.2 by @dependabot[bot] in #1841
- chore(deps): bump the codeql-action group with 2 updates by @dependabot[bot] in #1840
- chore(deps): bump praxis-proxy/conventions/.github/actions/supply-chain-audit from e1d0ff870a1abb514acc3616624824773cc767b6 to 1a54eaafe74b88fbcc86d37670be340605273486 by @dependabot[bot] in #1842
- chore(deps): bump docker/login-action from 4.6.0 to 4.7.0 by @dependabot[bot] in #1843
- chore(deps): bump the rust-dependencies group with 14 updates by @dependabot[bot] in #1845
Other
- fix(anthropic): accept nullable custom tool fields by @mkoushni in #1805
- fix(anthropic): reject lossy streaming outcomes by @mkoushni in #1803
- docs(cli-vllm): reconcile the client guide with local deployment lessons by @nathan-weinberg in #1795
- chore(deps): bump ctutils to 0.4.5 (RUSTSEC-2026-0385) by @leseb in #1814
- fix(responses): compact reasoning and validate web-search events by @leseb in #1813
- fix(responses): validate web-search queries before dispatch by @nathan-weinberg in #1781
- feat(pi): support the pi coding harness alongside Claude Code, Codex, and OpenCode by @nathan-weinberg in #1810
- fix(openai): lower orphan function_call_output items to Chat user text by @skamenan7 in #1733
- fix(compact): accept schema-valid empty conversations in explicit compact by @Artemon-line in #1804
- fix(ci): use CUDA 13 vLLM acceptance image by @leseb in #1819
- fix(deps): update zstd crates past the October advisories by @cdoern in #1820
- feat(store): response-store TTL and background reaper (#630) by @leseb in #1811
- ci(container): publish experimental image by @derekhiggins in #1817
- ci: decouple compile-bound jobs into parallel lanes (~38m → ~26m) by @leseb in #1815
- fix(responses): publish stored reasoning defaults into the live request body by @skamenan7 in #1793
- test(vllm): stabilize OpenCode 2.x GPU acceptance by @leseb in #1832
- test(pins): single-source Codex and Claude Code pins by @nathan-weinberg in #1827
- feat(crypto): add runtime cryptographic readiness checks by @rhdedgar in #1588
- test(routing): run non-UTF-8 projected secret test on Linux only by @esnible in #1836
- docs(intelligent_route): update routing and overlay reference by @nerdalert in #1837
- perf(gemini): move owned request fields and generated JSON values by @skamenan7 in #1830
- build(deps): bump pulldown-cmark to 0.13.5 (RUSTSEC-2026-0414) by @leseb in #1853
- test(anthropic): add SDK v1 and v2 Messages compatibility lanes by @Artemon-line in #1838
- fix(guardrails): Add service_account_token filter (destination-bound … by @christinaexyou in #1507
- feat(xtask): port the pins job to cargo xtask check-pins by @nathan-weinberg in #1828
- feat(store): add atomic response-object compare-and-swap by @cdoern in #1741
- fix(anthropic): improve Chat Completions request compatibility by @nerdalert in #1851
- chore(release): bump version to 0.9.0 by @leseb in #1855
New Contributors
Full Changelog: v0.8.0...v0.9.0
Release CI evidence
Release commit: e88829542814df6f4496c2cc5e30f0d5072b313e. Snapshot: 2026-10-30T14:52:59.530711+00:00.
Results below record CI jobs and steps. A successful workflow can include skipped tests; job counts are not test counts.
| CI suite | Scope | Result | Jobs / missing evidence | Run |
|---|---|---|---|---|
| Release test gate | Unit, schema, and integration test steps | success | 1 success | run 41059494049, attempt 2 |
| Tests | Rust unit tests, lint, feature matrix, and report checks | success | 20 success | run 41059282706, attempt 1 |
| Integration | Schema, inference fixtures, integration, and SDK/client tests | success | 1 skipped, 19 success | run 41059282473, attempt 1 |
| PostgreSQL store | PostgreSQL unit and integration tests | success | 1 skipped, 2 success | run 41059282673, attempt 1 |
| Valkey rate limits | Valkey backend unit and integration tests | success | 1 skipped, 2 success | run 41059282888, attempt 1 |
| vLLM integration | Simulator, live CPU, and optional GPU/client jobs | success | 9 skipped, 4 success | run 41059282532, attempt 1 |
| Anthropic vision | Anthropic SDK image requests on GPU | not_run | No eligible workflow run for the release commit | Unavailable |
| OpenAI conformance | Pinned schema and conformance checks | success | 1 skipped, 1 success | run 41059282555, attempt 1 |
| OpenResponses conformance | Responses translation against CPU vLLM | success | 1 skipped, 1 success | run 41059282654, attempt 1 |
| Container | Container build and runtime smoke tests | success | 2 success | run 41059282755, attempt 1 |
| vLLM GPU images | Model image builds and smoke tests | not_run | No eligible workflow run for the release commit | Unavailable |
| FIPS | UBI image checks and FIPS host proof | success | 2 success | run 41059282677, attempt 1 |
| Coverage | Instrumented Rust tests | success | 1 success | run 41059282627, attempt 1 |
| MSRV | Minimum supported Rust compilation | success | 1 success | run 41059282858, attempt 1 |
| Supply chain | Dependency, license, and vulnerability checks | success | 2 success | run 41059282802, attempt 1 |
| CodeQL | Static security analysis | success | 2 success | run 41059282509, attempt 1 |
| Documentation | Rustdoc checks | success | 1 success | run 41059282698, attempt 1 |
| Unicode safety | Hidden Unicode checks | not_run | No eligible workflow run for the release commit | Unavailable |
| Nightly | Scheduled lint, documentation, tests, and audit | not_run | No eligible workflow run for the release commit | Unavailable |
See attached release-qualification.md for job and step outcomes, release-qualification.json for machine-readable CI and GPU evidence, and qualification.json for the original GPU report.
Selection: Newest eligible run per workflow for the exact release commit; latest attempt only. The current release run is pinned when supplied. No older green fallback.
- CI records workflow head SHA and job/step outcomes, not individual test counts or complete API conformance.
- PR runs are excluded because their checkout can be a synthetic merge; no evidence is borrowed from other commits.
- Missing runs may reflect path filters or optional triggers; no execution is inferred.
- This is a publication-time snapshot; queued or running jobs may finish later. Rerun Release to refresh it.
- GPU qualification identifies its tested checkout and binary separately from CI and the published container.
GPU evidence: unavailable. no completed Responses GPU attempt for this commit.
To collect GPU evidence, dispatch vllm-integration.yaml with run_live_vllm=true on this release tag, wait for its summary, then rerun Release on the same tag.
vLLM Responses gateway qualification
vLLM Responses gateway qualification: unavailable for this release commit. No usable exact-commit GPU qualification report was found.
Reason: no completed Responses GPU attempt for this commit.
Limitations: selected text and tool behavior over native Responses and Responses-to-Chat HTTP/SSE paths only; streamed Conversation append and multimodal/background/WebSocket paths are excluded. See the attached qualification.json for case reasons and separate client/tool results.