Repository navigation
v1.3.3-upstream8.0.35
·
9 commits
to main
since this release
v1.3.3-upstream8.0.35 - 2026-10-23
Summary
- Improve tool-call replay, Gemini/Vertex request compatibility, credential recovery and streaming responses through 25 selectively reviewed upstream repairs.
- Prevent plaintext management secrets from entering newly seeded remote configuration and escape access-log paths.
- Preserve existing configuration, public translator signatures and the fork's responses-tools pipeline. No operator configuration migration is required.
Upstream alignment
- Upstream release:
v8.0.35 - Previous baseline:
v8.0.23 - Intake record: absorbed.md
- Ported: 25 individually reviewed repairs from v8.0.23 through v8.0.35, integrated by PR #32 at
6efd7088. The intake report and 232-SHA decision manifest retain the exact mapping and adaptations. - Skipped: 144 other mature commits, including 18 merge wrappers, and 63 later commits through v8.0.39. Broad features, partial auth/watcher/config concurrency chains, schema cleaners with confirmed defects and the later toolchain/dependency bump remain deferred. Alignment is selective, not the whole upstream release.
Breaking changes
- None for supported requests and configuration. Existing local config and authentication material are retained during installation; no service manager or listener configuration change is required.
Added
- Focused compatibility coverage for Kimi namespaced/input tool lists and Vertex API-key resource prefixes, retaining existing API contracts.
Changed
- Meta subscription telemetry is filtered from downstream responses, SSE and WebSocket forwarding while normal output, usage and completion handling remain with the fork pipeline.
- Claude explicit per-minute limits with a short Retry-After use the narrow cooldown; HTTP status errors retain precedence over textual transport-error classification.
- Empty Home catalogs succeed while error envelopes and malformed records still fail. No Home wire shape changes.
Fixed
- Shorten overlong Codex call IDs without losing output associations or colliding with existing IDs; preserve exact wrapped MCP tool names and unique Gemini-to-Claude tool-use IDs.
- Remove mathematically integral schema bounds outside int64 while preserving valid fractional bounds, schema literals and exact limits.
- Normalize Gemini media function-response boundaries and remove replayed trailing thought-only turns before Vertex payload overrides, retaining the existing post-rule boundary normalization.
- Correct cache-aware Antigravity token accounting and Devin stream estimates; omit absent tool_calls fields and ignore invalid/null Claude cache controls.
- Honor complete Vertex publisher/version prefixes for execution, streaming and token counting, and omit unsupported xAI web_search options.
- Recover expired Antigravity negative-credit hints, preserve plugin auth identity with relative configured paths, and use active Devin/Meta model getters with credential-quota availability handling.
- Treat closed HTTP/2 connections as transient lifecycle failures without penalizing healthy credentials.
Security
- Hash management secrets before newly seeded Git/object/SQL configuration persistence. Invalid YAML or aliases retaining plaintext refuse the seed. This protects newly seeded configurations; it does not rewrite previously published remote history or rotate secrets.
- Escape request paths in access logs to prevent injected line breaks. Existing authentication, authorization and listener policies remain unchanged.
Validation
- The clean baseline and intake candidate passed the complete Go 1.26.4 maintenance gate, including maintenance fixtures, pinned formatting, vet, responses-tools invariants, full Go tests, seven race-sensitive packages and server build. Offline tracked Codex catalog validation passed separately.
- All 25 ports have observed behavioral failures before their repair and passing affected packages afterward. Complete-source replay with identical inputs produced 16 expected failures and 5 passing controls on the baseline, and 21 passes on the candidate, without compilation failures.
- Additional race checks passed for config, store, pluginhost, API and OpenAI handlers. Cache-control and int64 predicate mutations are rejected by regression tests.
- Independent whole-branch review approved the intake with no blocking findings. PR #32's exact-head build passed, and its protected squash tree matched the verified head.
- Release preparation changes release documentation only. Release CI repeats the complete gate, builds ten platform archives, and checks downloaded asset hashes before publishing. Cross-platform builds do not establish live client/provider compatibility on every target.
Known issues
- Existing auth stale-success cooldown, uncertain watcher scans and config-publication concurrency risks remain outside this conservative intake; their complete upstream chains require a separate review.
- Confirmed upstream schema defects are tracked as router-for-me#6897 and router-for-me#6898; affected cleaners were excluded.
- A direct WebSocket-forward telemetry regression is an optional test follow-up. Meta executor/SSE tests pass; independent review found no current implementation defect in that filter.
- No new live official-client/provider performance measurement, task success-rate or cost-saving claim is made. The fork integral-float canonicalizer, recursive local-ref flattening and responses-tools pipeline remain necessary.
Release assets
CLIProxyAPI_<version>_linux_<arch>.tar.gzis the default Linux build. It supports dynamic library plugins and targets a GLIBC 2.17 baseline.CLIProxyAPI_<version>_linux_<arch>_no-plugin.tar.gzis the portable Linux build for musl-based or older systems such as OpenWrt. It does not support dynamic library plugins.CLIProxyAPI_<version>_freebsd_aarch64_no-plugin.tar.gzis the FreeBSD arm64 build. It is built without CGO and does not support dynamic library plugins.