github lbjlaq/Antigravity-Manager v5.0.3-beta.1
Antigravity Tools v5.0.3-beta.1

pre-release4 hours ago
  • [Official GCP Vertex AI Enterprise Account Support & Adaptive Credential Isolation] (Fixes #3823):
    • Aligned with Official GCP Enterprise OAuth Credentials: Reverse-engineered and matched the official Antigravity application architecture for GCP / Vertex AI enterprise authorization, integrating the official GCP enterprise client (884354919052-...) under antigravity_gcp. Completely resolves the issue where enterprise accounts were misidentified as Free Tier or lost access to Vertex AI project quotas. (Fixes #3823)
    • Strict Backward Compatibility for Legacy Accounts: Credentials strictly differentiate via token.oauth_client_key and is_gcp_tos; legacy accounts with custom domain emails (e.g. @imsot.org) previously authorized via the personal client retain 100% personal-mode refresh compatibility, preventing Google 400 invalid_grant errors caused by naive domain-based client switching.
    • Top-Level Account Type Selector Across All Import Modes with Full i18n: Redesigned the Add Account dialog by hoisting the "Personal Account" vs. "Enterprise / GCP (Vertex AI)" type switcher to the top-level common area across OAuth, Refresh Token, and DB import modes; added complete translations across 12 languages including JA, ZH-TW, KO, ES, PT, RU, TR, VI, AR, and MY. (Fixes #3823)
    • IDE Database Injection & Adaptive Refresh Integration: Accurately toggles Protobuf Field 6 (is_gcp_tos) and maps the Vertex AI project when injecting credentials into the Antigravity IDE SQLite store (state.vscdb); ensures token refresh strictly honors the originating client descriptor.
  • [Fix Quiet Autostart Still Showing Window and Sync Autostart Config] (Fixes #3820, Thanks to @W2514):
    • Defensive Startup Argument Substring Matching: Resolved an issue where quoted or concatenated startup parameters from certain Windows Run registry keys, shortcuts, or Task Scheduler instances failed strict equality comparisons (== "--minimized"), erroneously triggering an interactive window presentation on login; reinforced the check with substring pattern matching (lower.contains("--minimized") || lower.contains("--silent") || lower.contains("--hidden")), ensuring quiet login launch consistently stays in the system tray. (Fixes #3820, Thanks to @W2514)
    • Atomic Autostart State Persistence: Synchronously updated and persisted config.auto_launch to the app configuration file whenever toggling autostart via toggle_auto_launch, eliminating state drift between UI controls and OS registry entries. (Fixes #3820)
  • [Default Multimodal Sliding Window & Automatic 403 Validation Circuit Breaking] (Fixes #3824):
    • Aligned with Official Antigravity Multimodal Pruning: Reverse-engineered and matched the official Antigravity app's image cleanup behavior by enabling the multimodal sliding freshness window by default (enable_sliding_window = true) and keeping the latest 5 images (max_fresh_images = 5). Prevents multiround conversations from accumulating dozens of images, inflating request payloads to multi-megabytes, and triggering upload congestion or 504 Gateway Timeouts. (Fixes #3824)
    • Relaxed Adaptive Upload Bandwidth Floor: Lowered the minimum upload speed baseline from 2.0 Mbps to 0.8 Mbps to offer higher tolerance for slow proxies and volatile cross-border networks during large payload uploads.
    • Full-Chain Circuit Breaking & Session Unbinding for 403 Challenges: Fixed an issue where encountering Google's VALIDATION_REQUIRED challenge failed to unbind sticky sessions or filter snapshot pools, causing repeated client retries to deadlock on the same failing account. Sticky sessions are now immediately severed (session_accounts.remove), and pool selection automatically fails over to healthy accounts.
    • Automatic Proxy Disabling on 403: Synchronously marks the account as proxy_disabled = true upon validation failure, immediately reflecting the disabled state on the GUI and cleanly removing it from proxy rotation.
  • [Client-Safe Gateway Timeout Clamping and Session Affinity Release on Terminal Failures] (Fixes #3821, Thanks to @jeikl, @cubelikeplayDaniel):
    • Client-Safe Timeout Hard Ceiling: Introduced MAX_CLIENT_SAFE_TOTAL_BUDGET_SECS = 160s across the entire upstream call pipeline. Resolved an issue where long requests combining multimodal media offsets and multi-endpoint fallbacks ballooned to 190s~256s, exceeding client-side 180s watchdogs (such as JeikCode) and severing the connection into orphan canceled requests; guarantees a ≥20s safe window so the gateway always delivers a structured 504 error before the client disconnects. (Fixes #3821, Thanks to @jeikl, @cubelikeplayDaniel)
    • First-Byte Budget Baseline and Media Cap Tightening: Clamped MAX_FIRST_BYTE_BUDGET_SECS to 135s and the media-augmented ceiling MAX_FIRST_BYTE_CEILING_SECS to 145s; aligned the 200k+ large-context adaptive TTFT floor to 135s. (Fixes #3821, Thanks to @jeikl)
    • Primary Endpoint First-Byte Grace: Corrected reserve_for_fallback deduction so only secondary fallback endpoints (idx > 0) have 1/3 of the budget withheld; the primary endpoint (idx == 0) now receives full first-byte generation time, fulfilling the original intent for large-context and deep-reasoning models. (Fixes #3821, Thanks to @jeikl)
    • Session Affinity Release on Terminal Failures: Extended pipeline::terminal::TerminalDisposition to include FirstByte, Upload, and GlobalBudget in abandon_sticky_account; upstream queuing timeouts or upload stall interruptions immediately unbind session affinity so subsequent client retries automatically balance to healthy accounts across the pool, eliminating multi-round 3-minute lockups on a single stalled account. (Fixes #3821, Thanks to @jeikl, @cubelikeplayDaniel)
    • Phased Timeout Diagnosis and Stream Silence Clamping: Corrected timeout classification in send_with_phased_budget so post-upload timeouts accurately report stage=await_first_byte; clamped transition_secs and streaming_sliding_secs in StreamLifecycleConfig to the global request remaining budget. (Fixes #3821, Thanks to @jeikl)
    • Regression Testing: Updated terminal affinity-release assertions and client timeout envelope tests; all 6 terminal::tests and 17 client::tests pass cleanly. (Fixes #3821)

  • [官方 GCP Vertex AI 企业账号支持与多协议凭据自适应隔离] (Fixes #3823):
    • 对齐官方 GCP 企业客户端凭据: 深度逆向对齐官方 Antigravity 应用的 GCP / Vertex AI 企业授权协议架构,引入官方企业客户端(884354919052-...)及密钥体系,支持通过 antigravity_gcp 独立注册与动态鉴权,彻底解决企业组织账号授权后被误判为 Free Tier 或缺失 Vertex AI 项目配额的缺陷。(Fixes #3823)
    • 存量凭据数据严格向下兼容: 账号凭据严格通过 token.oauth_client_key 与 is_gcp_tos 区分;存量使用个人版官方客户端授权的自定义域名企业邮箱(如 @imsot.org)100% 保持个人模式平滑刷新,杜绝因仅凭邮箱后缀切换客户端导致 Google 报 400 invalid_grant 的风险。
    • 添加账号全模式多语言支持: 重构前端添加账号弹窗,将“个人账号 (Personal)”与“企业 / GCP (Vertex AI)”账号类型切换器提升至公共顶层区域,统一覆盖 OAuth 授权、Refresh Token 批量录入及本地 DB 导入全场景;并同步补齐了中英日繁韩西葡俄土越阿缅等 12 种主流语言的完整本地化翻译。(Fixes #3823)
    • IDE 状态数据库与自适应刷新注入: 在向本地 Antigravity IDE 数据库(state.vscdb)注入凭据时,根据客户端类型精准控制 Protobuf Field 6(is_gcp_tos)与 Vertex AI 项目映射;刷新机制自适应账号所属凭据类型,杜绝跨模式客户端混用。
  • [修复免打扰模式开机自启仍弹出界面与自启状态同步] (Fixes #3820, Thanks to @W2514):
    • 启动项参数防御性模糊匹配: 修复部分 Windows 启动项(注册表或快捷方式/任务计划)拼接参数或带引号导致启动入参无法被 == "--minimized" 精准全等匹配、从而错将开机自启识别为普通前台启动而弹出主窗口的缺陷;增强入参检测逻辑支持模糊包含匹配(lower.contains("--minimized") || lower.contains("--silent") || lower.contains("--hidden")),确保免打扰启动 100% 稳定留在系统托盘。(Fixes #3820, Thanks to @W2514)
    • 开机自启动配置状态原子同步: 在 toggle_auto_launch 注册/注销系统自启动项时,同步将 config.auto_launch 原子持久化写入应用配置文件,消除前端界面配置与底层操作系统注册表之间的状态脱节。(Fixes #3820)
  • [多模态保鲜滑窗默认启用与风控 403 粘性熔断自动禁用] (Fixes #3824):
    • 对齐官方多模态保鲜滑窗规范: 深度逆向对齐官方 Antigravity 应用的旧图清理与尺寸收敛机制,将网关的多模态保鲜滑动窗口设为默认开启(enable_sliding_window = true),默认保留最新 5 张图片(max_fresh_images = 5);彻底杜绝在长对话中多轮历史图片累积导致请求体线性膨胀至数兆、引发上传堵塞及 504 Gateway Timeout 的硬伤。(Fixes #3824)
    • 上传速度自适应基准放宽: 将默认最低上传带宽基准由 2.0 Mbps 宽限至 0.8 Mbps,增强慢速代理与复杂跨国网络环境下大图与附件上传的预算容忍度。
    • 403 人机验证阻断全链熔断与解绑: 修复遇到 Google VALIDATION_REQUIRED 人机验证挑战时,粘性会话与调度快照未做阻断校验导致客户端多次重试死锁在同一故障账号的缺陷;现在检测到人机验证阻断后,立即强制解除会话粘性绑定(session_accounts.remove),并在快照生成与固定账号选择中无缝降级迁移至池中健康账号。
    • 403 自动触发禁用反代: 发生 403 验证阻断时,同步调用 toggle_proxy_status 将账号标记为 proxy_disabled = true,使账号即刻在前端直观呈现停用状态并彻底退出反代调度池。
  • [网关超时全链路预算安全截断与终态会话粘性解绑] (Fixes #3821, Thanks to @jeikl, @cubelikeplayDaniel):
    • 客户端安全超时绝对硬顶: 引入 MAX_CLIENT_SAFE_TOTAL_BUDGET_SECS = 160s 全链路安全硬上限;解决此前长文本结合多模态增量与多端点重试时总预算累加膨胀至 190s~256s 击穿下游客户端(如 JeikCode)180s 内置看门狗导致连接被强行切断为 canceled 孤儿请求的问题,为客户端看门狗预留出至少 20s 的安全缓冲,确保网关永远早于客户端吐出标准的结构化 504 响应。(Fixes #3821, Thanks to @jeikl, @cubelikeplayDaniel)
    • 首字预算基准与媒体上限压制: 将上游首字节等待预算基准 MAX_FIRST_BYTE_BUDGET_SECS 压制至 135s,媒体增量上限 MAX_FIRST_BYTE_CEILING_SECS 压制至 145s;200k+ 超大上下文自适应 TTFT 下限同步对齐至 135s。(Fixes #3821, Thanks to @jeikl)
    • 主端点首字节宽限免预留扣减: 修正 reserve_for_fallback 逻辑,仅在备用端点(idx > 0)尝试时预扣 1/3 预算,首选主端点(idx == 0)享有完整的首字节生成时间,兑现长上下文与深度思考模型的生成宽限初衷。(Fixes #3821, Thanks to @jeikl)
    • 终态全量解绑会话粘性: 扩展 pipeline::terminal::TerminalDisposition,将 FirstByte、Upload 与 GlobalBudget 终态全部纳入 abandon_sticky_account;上游排队超时或上传网络停滞中断时,立即解除当前会话对该账号的强绑定,使客户端下一次重试自动切换到号池中的健康账号,彻底消除卡在同一慢账号死循环等满多轮 3 分钟的死锁。(Fixes #3821, Thanks to @jeikl, @cubelikeplayDaniel)
    • 阶段耗尽口径纠正与流式静默夹持: 修正 send_with_phased_budget 中的超时判定,上传完成后的超时精准归类为 stage=await_first_byte;StreamLifecycleConfig 中的 transition_secs 与 streaming_sliding_secs 同样受限于全局请求剩余预算,杜绝流内静默越界。(Fixes #3821, Thanks to @jeikl)
    • 单元测试与验证全绿: 补齐并更新 terminal 粘性解绑断言与 client 预算包线单测,terminal::tests 6/6 通过,client::tests 17/17 全部通过。(Fixes #3821)

What's Changed

Full Changelog: v5.0.3-beta.0...v5.0.3-beta.1

Don't miss a new Antigravity-Manager release

NewReleases is sending notifications on new releases.