• v1.3.8 65992b17c1

    v1.3.8 Stable

    kerem released this 2026-02-24 13:22:30 +03:00 | 16 commits to main since this release

    📅 Originally published on GitHub: Wed, 25 Feb 2026 11:36:20 GMT
    🏷️ Git tag created: Tue, 24 Feb 2026 10:22:30 GMT

    New Features

    • feat: include richer build metadata in diagnostic reports for easier support triage by @NikkeTryHard in #142

    Bug Fixes

    • fix: preserve image-bearing tool results so multimodal workflows no longer degrade during replay, reported by @rmffo in #144
    • fix: avoid upstream 400 errors by stripping unsupported prompt cache-control fields before forward, reported by @rmffo in #139
    • fix: reject oversized inline image payloads earlier with clearer API boundary validation by @NikkeTryHard in #141
    • fix: improve tool-call behavior parity by forwarding Anthropic parallel_tool_use to Gemini config by @NikkeTryHard in #138
    • fix: stabilize usage accounting across restarts by persisting /v1/usage counters by @NikkeTryHard in #125

    Other

    • chore: unify release version sourcing from Cargo metadata across build and release scripts by @NikkeTryHard in #142
    • docs: refine error-hint behavior notes for clearer troubleshooting guidance by @NikkeTryHard in #133

    Binary Verification

    • glibc -- ldd (Ubuntu GLIBC 2.42-0ubuntu3.1) 2.42
    • linux-x86_64 max required symbol -- GLIBC_2.17
    Downloads
  • v1.3.8-alpha.1 65992b17c1

    v1.3.8-alpha.1 Pre-release

    kerem released this 2026-02-24 13:22:30 +03:00 | 16 commits to main since this release

    📅 Originally published on GitHub: Wed, 25 Feb 2026 05:06:48 GMT
    🏷️ Git tag created: Tue, 24 Feb 2026 10:22:30 GMT

    New Features

    • feat: persist /v1/usage counters across restarts with periodic and shutdown snapshot flushing -- keeps usage analytics stable between daemon restarts by @NikkeTryHard
    • feat: preserve Anthropic message cache_control hints end-to-end -- keeps prompt caching intent intact through translation and request forwarding paths by @NikkeTryHard

    Bug Fixes

    • fix: fail fast on mismatched tool-result IDs or names in replay flows -- prevents malformed tool-result payloads from entering ambiguous upstream states (Issue #65 by @Kindling-project)
    • fix: make tool-call cache eviction deterministic with FIFO behavior -- reduces nondeterministic mismatch failures in long-running sessions (Issue #65 by @Kindling-project)
    • fix: forward cache_control hints from all supported block shapes -- avoids silently dropping prompt-caching directives by @NikkeTryHard
    • fix: improve direct image follow-up failure signaling so terminal errors are surfaced reliably -- avoids warn-only failure exits (Issue #65 by @Kindling-project)
    • fix: enforce minimum idle-window timeout floor for /v1/messages streaming -- prevents premature stream disconnects on low timeout settings (Issue #66 by @ZhcChen)
    • fix: preserve usage counters across restarts with safer snapshot replacement behavior -- prevents reset-to-zero surprises after process restarts by @NikkeTryHard

    Other

    • chore: standardize user-facing upstream error hints across sync and streaming paths for clearer troubleshooting (Issue #63 by @hungthai1401)
    • docs: align public docs with current endpoint behavior and runtime configuration guidance by @NikkeTryHard
    • docs: reported in Issue #65 by @Kindling-project, Issue #63 by @hungthai1401, and Issue #66 by @ZhcChen

    Binary Verification

    • glibc -- ldd (Ubuntu GLIBC 2.42-0ubuntu3.1) 2.42
    Downloads
  • v1.3.9 65992b17c1

    v1.3.9 Stable

    kerem released this 2026-02-24 13:22:30 +03:00 | 16 commits to main since this release

    📅 Originally published on GitHub: Fri, 27 Feb 2026 02:18:15 GMT
    🏷️ Git tag created: Tue, 24 Feb 2026 10:22:30 GMT

    New Features

    • feat: add native Gemini v1beta model endpoints -- GET /v1beta/models and GET /v1beta/models/{model} return Gemini-compatible model metadata for zero-translation clients (PR #152 by @sd5986)
    • feat: add Windows Docker support, HTTP proxy passthrough, and /v1/accounts/status -- docker-compose.windows.yml for Docker Desktop, corporate proxy env passthrough, per-account quota visibility, and Windows rebuild/self-update path fixes (PR #137 by @YchampionOP)
    • feat: return multimodal function response parts as sibling objects -- images and artifacts are now sibling parts instead of nested within the function response (PR #154 by @sd5986)
    • feat: add zg fingerprint command and identity override env templates -- extracts device fingerprint, prints IDE version guidance, and zg docker-init now generates OS/IDE version/device fingerprint override placeholders in compose/.env (PR #171)
    • feat: add live streaming chunk counter for zg replay -- shows real-time SSE chunk count and inherits stderr to prevent deadlock in streaming mode (PR #158)

    Bug Fixes

    • fix: enforce recursive array schema invariants -- prevents 400/INVALID_ARGUMENT on nested array tool schemas with idempotency regressions (Issue #76 by @NoneWhite1)
    • fix: bind tool-result replay to call_id payloads -- resolves "no captured functionCall history" errors in OpenCode tool-result turns (Issue #77 by @LevinFaber)
    • fix: retain image follow-up prompt and fail closed on missing context -- deferred image generation no longer stalls behind suppressed completion, and follow-up requests no longer forward unresolved payloads (Issue #78 by @szansonhuang)
    • fix: add env overrides for identity metadata -- ZEROGRAVITY_OS, ZEROGRAVITY_IDE_VERSION, ZEROGRAVITY_DEVICE_FINGERPRINT allow cross-environment identity alignment (Issue #166 by @endsock)
    • fix: normalize timeout error handling -- consistent error surfaces with trace-hinted messaging, replaces masking of SSE serialization failures with explicit-failure behavior (Issue #157 by @rmffo)
    • fix: correct misleading startup log messages -- account source and count now reported accurately at startup (PR #161 by @NaNomicon)
    • fix: dedupe split function call chunks in streaming -- merges chunks by name to prevent duplicate tool_use emissions (PR #160)
    • fix: map Anthropic computer-use beta tool types -- bash, text_editor, computer_use tool types now translate correctly (PR #159)
    • fix: preserve const constraints as enum in schema conversion -- prevents schema validation from stripping intended constraints (PR #155 by @hamb3r)
    • fix: handle Windows self-update 'Access Denied' -- renames running binary before overwrite to avoid OS file lock (PR #153 by @ThiagoAlmeidaDev)
    • fix: fall back to HTTPS_PROXY when Windows DLL injection fails -- routes traffic via proxy env vars instead of aborting (PR #136 by @YchampionOP)
    • fix: pipe replay payload via stdin -- avoids OS argv length limits on large payloads (PR #146 by @hamb3r)

    Other

    • docs: document multi-account env var format and clarify docker-compose env var instructions -- shows single and multi-account ZEROGRAVITY_ACCOUNTS forms with comma-separated rotation, prevents duplicate YAML key confusion (PR #156 by @NaNomicon)

    Binary Verification

    • glibc -- requires GLIBC_2.17 (compatible with CentOS 7+ / Debian 8+ / Ubuntu 14.04+). Build host: ldd (Ubuntu GLIBC 2.42-0ubuntu3.1) 2.42
    Downloads
  • v1.3.7 bce5da267c

    v1.3.7 Stable

    kerem released this 2026-02-24 02:09:58 +03:00 | 18 commits to main since this release

    📅 Originally published on GitHub: Tue, 24 Feb 2026 08:42:05 GMT
    🏷️ Git tag created: Mon, 23 Feb 2026 23:09:58 GMT

    New Features

    • feat: none in this release window.

    Bug Fixes

    • fix: improve tool-call response rewriting so stream framing remains stable and raw tool payloads are not leaked into user-visible output Issue #65 (public repo)
    • fix: harden replay handling for malformed thought signatures to reduce upstream INVALID_ARGUMENT failures during replay flows Issue #63 (public repo)
    • fix: apply minimum idle-window timeout floor for /v1/messages streaming to prevent premature disconnects on very small timeout values Issue #66 (public repo)

    Other

    • docs: update runtime and API documentation for active-account control and request body-limit configuration Issue #84 (private repo)
    • test: add regression coverage for tool-schema normalization to protect request compatibility Issue #102 (private repo)

    Binary Verification

    • glibc -- ldd (Ubuntu GLIBC 2.42-0ubuntu3.1) 2.42
    Downloads
  • v1.3.6 fad844c4fa

    v1.3.6 Stable

    kerem released this 2026-02-23 15:51:20 +03:00 | 20 commits to main since this release

    📅 Originally published on GitHub: Mon, 23 Feb 2026 22:57:36 GMT
    🏷️ Git tag created: Mon, 23 Feb 2026 12:51:20 GMT

    New Features

    • feat: add runtime account activation for manual account switches so active account changes can apply immediately without requiring daemon/container restart in the common path; tracked in Issue #50

    Bug Fixes

    • fix: quota-cap rotation now checks recently requested models only, preventing unrelated models from triggering premature account rotation; reported by @yeboster in Issue #90 (private repo)
    • fix: improve context retention and image-input robustness to reduce early context loss and invalid-request behavior in multi-turn usage; related to Issue #60 and Issue #61
    • fix: improve replay behavior for Gemini traces so replay targets the correct endpoint path

    Other

    • chore: include stability and cross-platform reliability improvements (body limit bounds, rotation safety, Windows terminal compatibility)

    Binary Verification

    • glibc: ldd (Ubuntu GLIBC 2.42-0ubuntu3.1) 2.42
    Downloads
  • v1.3.5 6d91bf4190

    v1.3.5 Stable

    kerem released this 2026-02-23 07:25:05 +03:00 | 21 commits to main since this release

    📅 Originally published on GitHub: Mon, 23 Feb 2026 12:49:56 GMT
    🏷️ Git tag created: Mon, 23 Feb 2026 04:25:05 GMT

    New Features

    • feat: add integration test infrastructure to improve release confidence
    • feat(cli): replace raw ANSI escapes with a stable Colorize trait for cleaner cross-terminal output
    • feat: embed base64 image data inline per API spec for image-capable responses

    Bug Fixes

    • fix: include upstream error code in API errors for easier client troubleshooting
    • fix: sanitize complex tool schemas to prevent invalid request payloads
    • fix: stream inline images consistently and gate image tools by model capability
    • fix: treat model capacity exhaustion as resource exhaustion for better retry behavior
    • fix: propagate upstream 401 and 403 responses without masking -- related to #84
    • fix: report full token usage in streaming responses -- related to #79
    • fix: correct Windows binary download path in setup flow

    Other

    • docs: update contributor and release workflow guidance
    • chore: improve release and cross-platform build reliability

    Binary Verification

    • Linux binaries target glibc 2.17 via cargo-zigbuild
    • Verification commands:
      • objdump -T dist/zerogravity-linux-x86_64 | grep -o 'GLIBC_[0-9]\+\.[0-9]\+' | sort -V | tail -1
      • objdump -T dist/zerogravity-linux-arm64 | grep -o 'GLIBC_[0-9]\+\.[0-9]\+' | sort -V | tail -1
    Downloads
  • v1.3.4 af9bea291e

    v1.3.4 Stable

    kerem released this 2026-02-23 04:34:25 +03:00 | 22 commits to main since this release

    📅 Originally published on GitHub: Mon, 23 Feb 2026 04:23:37 GMT
    🏷️ Git tag created: Mon, 23 Feb 2026 01:34:25 GMT

    New Features

    • feat: persistent model aliases — map custom model names to any built-in model. Three ways to configure: zg alias set gpt-4o gemini-3-flash, aliases.json file, or ZEROGRAVITY_MODEL_ALIASES env var. zg docker-init now generates both accounts.json and aliases.json. Closes #53
    • feat: gemini-3-pro-image model — image generation via the generate_image tool. Send a request with model: gemini-3-pro-image and the response will include the tool call for your client to handle
    • feat: trace ID in error messages — when Google returns an error, the trace ID is now included in the error message for easier debugging and bug reports

    Bug Fixes

    • fix: smarter account parking — parking is now per-model instead of per-account. If one model hits quota, other models on the same account remain available. Related: #42
    • fix: project ID resolution — robust 3-layer approach eliminates INVALID_ARGUMENT errors caused by empty project fields, especially for imported accounts
    • fix: tool schema compatibilityx-* OpenAI extension keys (e.g. x-google-* from Claude Code) are now stripped from function declarations. Nested schema constructs (additionalProperties, anyOf) are auto-healed recursively. Fixes #47, #52
    • fix: smoke tests with API key — smoke tests now work correctly when ZEROGRAVITY_API_KEY is set

    Other

    • docs: model aliases documentedzg.md, api.md, docker.md, and README updated with alias configuration
    • docs: platform-specific accounts.json paths — Linux, macOS, Windows paths now documented
    • chore: dependency updates

    Binary Verification

    • ELF 64-bit LSB pie executable, x86-64, dynamically linked, stripped
    • glibc: built on 2.42, requires >= 2.31 at runtime
    Downloads
  • v1.3.3 5dded53378

    v1.3.3 Stable

    kerem released this 2026-02-22 14:01:27 +03:00 | 27 commits to main since this release

    📅 Originally published on GitHub: Sun, 22 Feb 2026 11:35:43 GMT
    🏷️ Git tag created: Sun, 22 Feb 2026 11:01:27 GMT

    Bug Fixes

    • fix: system prompt now correctly followed -- system prompts set via ZEROGRAVITY_SYSTEM_PROMPT or the API system role were being ignored by the model. The injection method has been changed to match how the official client handles user rules, which the model reliably obeys (#42, #35)

    Other

    • perf: smaller Docker image -- runtime image is ~170MB smaller (removed build tools from final image)
    • docs: env var examples -- environment variable documentation now includes example values

    Binary Verification

    • ELF 64-bit LSB pie executable, x86-64, dynamically linked, stripped
    • glibc: built on 2.42, requires >= 2.31 at runtime
    Downloads
  • v1.3.2 17775738ec

    v1.3.2 Stable

    kerem released this 2026-02-22 13:41:19 +03:00 | 29 commits to main since this release

    📅 Originally published on GitHub: Sun, 22 Feb 2026 10:57:47 GMT
    🏷️ Git tag created: Sun, 22 Feb 2026 10:41:19 GMT

    v1.3.2

    New Features

    • feat: automatic 403 recovery -- accounts that receive 403/PERMISSION_DENIED are immediately rotated out instead of waiting for the next cycle
    • feat: system instruction control -- new ZEROGRAVITY_SYSTEM_MODE env var (stealth/minimal) to control how the system prompt is handled
    • feat: sensitive word obfuscation -- new ZEROGRAVITY_SENSITIVE_WORDS env var to obfuscate client names in outgoing requests
    • feat: quota cap env var -- new ZEROGRAVITY_QUOTA_CAP env var to configure per-account quota usage cap without CLI flags
    • feat: model aliases -- new ZEROGRAVITY_MODEL_ALIASES env var to map custom model names (e.g. gpt-4o:gemini-3-flash,gpt-4:opus-4.6)

    Bug Fixes

    • fix: Cline tool call compatibility -- tool calls now work correctly with Cline clients (#52)
    • fix: system prompt preservation -- user system prompts are no longer replaced by defaults (#51)
    • fix: Antigravity Manager account import -- imported accounts no longer have empty project fields
    • fix: complex tool schemas -- tools using anyOf/oneOf/allOf union types now work correctly (#47)
    • fix: error handling in sync endpoints -- sync completions and search now properly detect and report errors

    Other

    • chore: dependency updates -- bumped dependencies and fixed deprecated API calls
    • docs: updated documentation -- new env vars, error handling behavior, and compatibility notes

    Binary Verification

    • ELF 64-bit LSB pie executable, x86-64, dynamically linked, stripped
    • glibc: built on 2.42, requires >= 2.31 at runtime
    Downloads
  • v1.3.1 b16c0d065c

    v1.3.1 Stable

    kerem released this 2026-02-22 06:02:53 +03:00 | 33 commits to main since this release

    📅 Originally published on GitHub: Sun, 22 Feb 2026 03:17:54 GMT
    🏷️ Git tag created: Sun, 22 Feb 2026 03:02:53 GMT

    Changes since v1.3.0

    New Features

    • zg smoke automated test suite -- comprehensive smoke tests covering CLI commands, all API endpoints (Chat Completions, Responses, Messages, Gemini native), streaming, tool calling, multi-turn, system instructions, and Docker diagnostics. Use zg smoke --quick for fast checks
    • Docker-only proxy enforcement -- the proxy now runs exclusively in Docker on Linux. Host-side commands (test, health, smoke) still work via Docker port mapping
    • zg rebuild overhaul -- rebuilds the zg binary on the host, then builds and restarts the Docker container in a single step. Much faster iteration with the fast build profile
    • Periodic token refresh -- OAuth tokens are now automatically refreshed every ~45 minutes, eliminating 401 errors after extended sessions
    • zg token enhanced output -- now shows email, access token, and refresh token with recommendations for account setup
    • Docker smoke test script -- scripts/test-docker.sh for testing all Docker configurations

    Bug Fixes

    • fix: TLS certificate chain validation -- fixed an issue where certificate chain validation could fail after proxy upgrades
    • fix: single-account rotation noise -- users with one account no longer see scary ERROR logs about rotation failures
    • fix: zg update downloads only the CLI binary -- on macOS and Windows, updates now correctly download only zg (the proxy runs via Docker)
    • fix: OAuth token expiry in long sessions -- tokens are now refreshed periodically, preventing authentication failures after ~1 hour
    • fix: quota check with no accounts -- quota polling gracefully handles fresh deployments with no accounts configured

    Other

    • Restructured documentation into docs/ with separate API, Docker, and CLI guides
    • Docker-first messaging in READMEs with clearer networking instructions
    • Build performance improvements across all platforms
    • Default request queue concurrency increased from 1 to 2

    Binary Verification

    Both binaries require glibc 2.17+ (CentOS 7 / Debian 8 / Ubuntu 14.04+). Stripped, PIE executables.

    Downloads