Release notes

BUGFIX

No more blank rows in the interface, and disk I/O stays quiet

When OpenAI's servers abruptly switch the Codex rate-limit (the mechanism restricting how many requests you can make) payload from showing both a 5-hour and a weekly window to weekly-only, your menu bar card won't leave an ugly blank row anymore. Previously, the system mapped numbers purely by their position, but now it classifies limits by their duration—if the server stops reporting one, that row disappears completely, the card shrinks, and the menu bar percentage smartly falls back to the weekly value. Additionally, the system now coalesces file scan records and flushes them to your disk (disk I/O) at most once every 5 minutes, stopping the constant disk waking. It's like a bento box with dedicated slots: if a side dish stops being served, the box used to just leave an empty, dusty compartment, but now it automatically resizes to save space; and instead of writing to the ledger every single time you hand over a receipt, the accountant now batches them up and writes everything down once every five minutes.

FEATURE

Antigravity quotas refresh faster, with live countdowns and clear labels

When checking your Antigravity quotas, the reset countdowns now tick down live second by second, rather than freezing at whatever time it was last fetched. Behind the scenes, the system now reads the sign-in token already on your machine (strictly read-only) to query the official quota endpoint directly, instead of running background commands. This shortens the refresh cycle from 15 to 5 minutes, makes countdowns perfectly exact, and eliminates the overhead of spawning helper processes—and since it only reads metadata, it never consumes your model quota. Additionally, Antigravity usage rows in the HTML report are now properly labeled instead of defaulting to "unknown". It's like taking a train: the platform display used to only manually flip every 15 minutes and sometimes said "Unknown Train"; now it's hooked directly to dispatch, counting down perfectly to the second with the exact train name displayed.

Original changelog

Original changelogNo more blank rows in the interface, and disk I/O stays quiet
**Codex card no longer shows an untitled "--" row**: mid-day on 2026-07-13, OpenAI's server-side rate-limit payload switched to weekly-only (the 5-hour window vanished with the CLI version unchanged), and the loader — which mapped fields by position — shoved the weekly number into the session slot, leaving a blank row behind. Rate-limit windows are now classified by their duration, a window the server no longer reports is hidden entirely (the card shrinks by one row), and the menu-bar Codex percentage falls back to the weekly value while the 5-hour limit is absent. If OpenAI brings the 5-hour window back, both rows return automatically.
**Less idle disk I/O**: the JSONL scan caches are flushed to disk at most once per 5 minutes (with a final flush on quit), rapid file-event bursts coalesce into a single refresh, and the four per-project ranking windows are aggregated in one pass over history.
Original changelogAntigravity quotas refresh faster, with live countdowns and clear labels
**Antigravity reset countdowns tick down live** instead of freezing at the last-fetched value until the next refresh.
**Antigravity quota now comes straight from the official quota API**: usage reads the sign-in token the Antigravity CLI already stores on your machine (strictly read-only — the file is never modified) and queries the official quota endpoint directly, replacing the background `/quota` CLI probe. Numbers refresh every ~5 minutes instead of 15, countdowns are exact, no helper process is spawned, and the call reads quota metadata only — it never consumes your model quota. Any fetch failure still falls back to the cached snapshot with the usual stale badge. The data-source description in all five README languages is updated to match.
Antigravity token rows in the HTML report are labeled "Antigravity" instead of "unknown".