1.20.0 (2026-06-16)
Features
- acc-del: cascade delete request log option (#823) (3fac360)
- accounts: add account list sort controls (#897) (0e413e6)
- accounts: add dashboard action for account force-probe (#895) (72222c5)
- accounts: export OpenCode auth json (#757) (530c97f)
- accounts: surface email duplicate pairs (#829) (ab754ff), closes #787
- add reports page with cost/token charts and CSV export (#854) (f5fcfab)
- api-keys: add key overview usage stats (#900) (ed8caab)
- api: add app version response header (#796) (a84d6f4)
- auth: proactively refresh stale active accounts (#928) (163326a)
- cli: add Codex session retag command (#763) (7b67aef)
- config: flexible location of DATA_DIR by env-variable (#837) (3787dd3)
- dashboard-auth: add read-only guest access (#703) (1f02ec8)
- dashboard-ui: Multiple dashboard changes (#973) (fc00649)
- dashboard: support weekly pace working days (#901) (7abbcf8)
- frontend: add upstream proxy controls (#912) (f1d4826)
- proxy: add account-bound Codex upstream routing (#878) (0c01b19)
- proxy: add SOCKS4/SOCKS5 outbound proxy support via env vars (#1008) (c8fcc65)
- proxy: add upstream websocket proxy support (#758) (4532646), closes #407
- proxy: restore opportunistic traffic class on main (#716) (52445aa)
- quota: add reset-confirmed limit warm-up (#786) (bfc7d6c)
- report: add window comparison, cleanup openspec and ui fixes (776dfaa)
- routing: add relative availability strategy (#765) (7227e16)
- show update indicator for stale runtime version (#805) (76488a5)
- ui: log the User-Agent and store it in database (#882) (1a8e112)
- ui: polish proxy and account dashboard UX (#937) (522cae5)
Bug Fixes
- acc: create
monthlywindow for thefreeaccount due to the policy change (#909) (50b9add) - accounts: avoid SQLite window plan for usage trends (#861) (50b393f)
- accounts: dedupe request usage rows by request id (#904) (86e2350)
- accounts: key imported credentials by workspace (#865) (47b0c36)
- accounts: mark invalidated credentials for reauth (#925) (39fb653)
- accounts: preserve shared workspace account slots (#974) (dd4436f)
- api: tolerate null model filters and truncation (#886) (cc636d7), closes #885 #856
- copy: add clipboard fallback for non-secure contexts (#843) (58387f0)
- docker: pin Postgres upgrade helper digest (#945) (66a6220)
- frontend: disable browser translation on dashboard (#908) (a0aea6d), closes #906
- frontend: guard React DOM against translation mutations (#929) (ea9f99c)
- model-registry: populate bootstrap model metadata (#750) (5e77320), closes #528
- normalize responses instruction messages (#950) (603c794)
- proxy-responses: harden concurrent responses routing (#868) (cb5951d)
- proxy: avoid unsafe websocket previous-response replay (#802) (b58e724)
- proxy: bridge codex compaction triggers (#977) (bf1ded2)
- proxy: bypass HTTP bridge for input images (#903) (bcd63c8)
- proxy: classify request budget exhaustion as timeout (#820) (978797a)
- proxy: classify stale Codex websocket anchors (#801) (93ce129)
- proxy: clear stale HTTP bridge retry errors (#815) (5aa2162)
- proxy: extend HTTP Responses stream budget (#825) (3993c9c)
- proxy: give HTTP bridge long-turn budget (#819) (ff02923)
- proxy: harden responses bridge stale cleanup (#931) (c90d62b)
- proxy: improve Cursor chat-completions compatibility (#833) (a1cb7e0)
- proxy: keep local usage snapshots advisory (#1030) (ceb671a)
- proxy: keep streams alive while account capacity recovers (#1000) (8d8061b)
- proxy: parse multiline Codex websocket errors (#810) (1f089f2)
- proxy: preserve codex image generation tools (#930) (fb8800f), closes #839
- proxy: recover websocket terminal auth failures (#809) (098100f)
- proxy: repair request failure metadata migration (#870) (0e584fa)
- quota: keep credit-backed accounts usable (#764) (6da403a)
- release: require validation for canonical beta PRs (#1032) (2a64002)
- repo: remove Codex sandbox-breaking symlink (#942) (1b03833)
- report-ui: fix language and onHover Tooltip alignment (#961) (094d47b)
- report: add ui changes on report (776dfaa)
- report: multiple fix for report ui (776dfaa)
- report: Multiple fixes and enhances on report (#990) (776dfaa)
- security: harden CodeQL alert surfaces (#935) (2992b86)
- sticky-sessions: chunk delete_entries to avoid sqlite bind overflow (#828) (20158f9)
Performance Improvements
- dashboard: load projections in background (#800) (5c40be8)
- dashboard: speed up SQLite overview usage reads (#866) (7b1d208)
- db: add raw window usage latest index (#797) (93be0cd)
- usage: avoid SQLite window latest usage lookup (#862) (65c5f4f)
Documentation
- add plastictaste as a contributor for code, test, and doc (#1003) (013b98f)
- add PR readiness trapdoors to AGENTS (#838) (9b0f5c1)
- images: clarify single-image request contract (#891) (65b5e72)
- proxy: explain fast mode service tiers (#910) (769a12c), closes #291
- readme: clarify plan-dependent model availability (#893) (5c114a0), closes #375 #219
- readme: lowercase codex provider name to match Codex 2026-05-23 update (#798) (a185479), closes #783
- readme: update all-contributors emoji key link (#830) (88eeba9)