What's Changed
- ci(release): sync uv.lock on release-please branches by @Soju06 in #1468
- docs(contributing): require beta soak before stable releases by @Soju06 in #1469
- feat(rollups): permanent hourly usage rollups with raw live-tail reads by @Soju06 in #1478
- chore: release v1.23.0-beta.1 by @Soju06 in #1480
- fix(proxy): sequence synthetic Responses failures by @e1ektr0 in #1479
- feat(helm): support creating an application-specific Gateway by @KakatkarAkshay in #1462
- feat (report-ui): ability to set chart visibility by @huzky-v in #1493
- feat(proxy): support Codex Live Voice sideband by @mastertyko in #1492
- chore: release v1.23.0-beta.2 by @Soju06 in #1494
- fix(proxy): extend websocket stream budget by @Komzpa in #1353
- fix(proxy): preserve fresh bridge full resends by @e1ektr0 in #1486
- chore(deps): bump the python-minor-patch group with 8 updates by @dependabot[bot] in #1515
- chore(ci): bump astral-sh/setup-uv from 8.3.2 to 9.0.0 by @dependabot[bot] in #1511
- chore(deps): bump the frontend-minor-patch group in /frontend with 16 updates by @dependabot[bot] in #1513
- chore(ci): bump actions/upload-pages-artifact from 3.0.1 to 5.0.0 by @dependabot[bot] in #1512
- chore(ci): bump docker/login-action from 4.4.0 to 4.5.1 by @dependabot[bot] in #1510
- chore(ci): bump github/codeql-action/upload-sarif from 4.37.0 to 4.37.3 by @dependabot[bot] in #1509
- chore(ci): bump pypa/gh-action-pypi-publish from 1.14.0 to 1.14.1 by @dependabot[bot] in #1508
- chore(docker): bump astral-sh/uv from 0.11.30 to 0.11.32 by @dependabot[bot] in #1507
- chore(docker): bump pgautoupgrade/pgautoupgrade from 18-alpine to 18-alpine by @dependabot[bot] in #1506
- docs: add README hero banner image by @minpeter in #1516
- feat(ui): complete zh-CN dashboard translations by @crowscc in #1436
- docs(contributors): restore chronological contributor order by @Soju06 in #1518
- fix(auth): restrict guest access to sensitive request data by @mastertyko in #1497
- fix(reports): use local days for daily averages by @mastertyko in #1525
- fix(helm): calculate aggregate 5xx error rate by @mastertyko in #1522
- fix(db): correct PostgreSQL pool budget by @mastertyko in #1519
- fix(http-bridge): wait before retrying model capacity by @Komzpa in #1395
- fix(proxy): release idle bridge sessions' account stream leases by @KakatkarAkshay in #1476
- fix(proxy): spill unanchored forks on account caps by @KakatkarAkshay in #1499
- fix(proxy): attribute bridge failure fan-out request logs to each request's API key by @Soju06 in #1540
- fix(cost): openai updates the terra and luna's cost by @huzky-v in #1553
- feat(proxy): add durable capability lineage for reconnect by @mastertyko in #1562
- fix(proxy): surface forwarded compact settlement failures by @mastertyko in #1561
- feat(helm): allow Grafana dashboard title overrides by @KakatkarAkshay in #1482
- feat(ui): separate service and usage health status by @mastertyko in #1495
- feat(ui): warn when request log retention is disabled by @mastertyko in #1496
- feat(dashboard): Add conversation list on dashboard and details dialog by @huzky-v in #1477
- chore(deps): bump the python-minor-patch group with 3 updates by @dependabot[bot] in #1590
- chore(deps): bump websockets from 16.1.1 to 17.0.1 by @dependabot[bot] in #1591
- chore(deps): bump cryptography from 49.0.0 to 50.0.0 by @dependabot[bot] in #1592
- fix(http-bridge): stabilize silent and clean-close recovery by @shaqman in #1394
- docs(contributors): add lkraider, ret2basic, and yeongjun-cigro by @Soju06 in #1596
- fix(proxy): sequence websocket health after settlement by @mastertyko in #1558
- fix(cache): recover invalidation after failed prime by @mastertyko in #1544
- fix(proxy-responses): tolerate structured content type values by @Komzpa in #1566
- fix(proxy): preserve terminal delivery across detach by @choi138 in #1527
- fix(compact): elide observed inline images at wire cap by @Komzpa in #1457
- chore(ci): bump pypa/gh-action-pypi-publish from 1.14.1 to 1.14.2 by @dependabot[bot] in #1589
- chore(ci): bump actions/labeler from 6.2.0 to 7.0.0 by @dependabot[bot] in #1588
- chore(ci): bump actions/checkout from 7.0.0 to 7.0.1 by @dependabot[bot] in #1587
- chore(ci): bump actions/stale from 10.4.0 to 11.0.0 by @dependabot[bot] in #1585
- chore(ci): bump github/codeql-action/upload-sarif from 4.37.3 to 4.37.4 by @dependabot[bot] in #1584
- chore(deps): bump the frontend-minor-patch group in /frontend with 8 updates by @dependabot[bot] in #1583
- chore(docker): bump pgautoupgrade/pgautoupgrade from 18-alpine to 18-alpine by @dependabot[bot] in #1581
- fix(proxy): classify tool-search missing-tool-output rejections by @yeongjun-cigro in #1531
- fix(proxy): keep upstream request-shape rejections account neutral by @yeongjun-cigro in #1532
- fix(proxy): preserve websocket connect errors by @ret2basic in #1517
- chore(docker): bump astral-sh/uv from 0.11.32 to 0.12.1 by @dependabot[bot] in #1582
- docs(openspec): canonical-code signal for Codex WebSocket stale-anchor recovery (#1529) by @lkraider in #1550
- chore(deps): bump jsdom to 30 with test harness fixes by @Soju06 in #1598
- fix(proxy): retry detached API key release by @mastertyko in #1545
- fix(proxy): strip replayed tool call namespaces by @codemoo in #1578
- fix(quota): release reservations on header failure by @mastertyko in #1559
- fix(proxy): drain active WebSocket turns on shutdown by @mastertyko in #1520
- fix(proxy): preserve developer-interleaved fresh resends by @choi138 in #1537
- fix(usage): confirm workspace-less paid to free plan downgrades by @mrnaturalmonopoly-prog in #1491
- test: deflake WS masks-anonymous inflight teardown synchronization by @Soju06 in #1612
- fix(proxy): bound upstream streams that never send response headers by @joschi655 in #1611
- fix(quota): warm free monthly resets by @HulianBuligon in #1504
- fix(proxy): purge stale hard codex_session mappings pinned to a durably unavailable owner by @softkleenex in #1417
- fix(proxy): clear durable bridge anchor after stuck eventless timeout by @lkraider in #1563
- docs(contributors): add joschi655 by @Soju06 in #1617
- fix(db): release SQLite handles before file mutations by @johnjheejin in #1526
- fix(proxy): attribute websocket request kind per turn by @rknightion in #1602
- perf(dashboard): bound projection history fetch per account by @Soju06 in #1613
- perf(request-logs): serve listing totals from the demand rollup plus raw tail by @Soju06 in #1615
- perf(usage): probe additional-usage latest reads instead of DISTINCT ON scans by @Soju06 in #1614
- perf(dashboard): serve conversation metrics from an hourly presence rollup by @Soju06 in #1616
- chore: release v1.23.0-beta.3 by @Soju06 in #1498
- fix(db): handle percent-encoded SQLite URLs on Windows (takeover of #1295) by @Soju06 in #1597
- fix(proxy): reconcile durable full resend owner by @Soju06 in #1599
- fix(proxy): settle reservations when terminal bookkeeping aborts by @Soju06 in #1600
- fix(proxy): fail over dead account proxy routes before upstream dispatch by @Soju06 in #1542
- fix(proxy): report eligible pool usage exhaustion as 429 by @Soju06 in #1541
- feat(proxy): congestion-aware per-API-key fair-share stream admission by @Soju06 in #1536
- perf(api-keys): coalesce last_used_at writes behind a periodic flush by @Soju06 in #1627
- perf(db): relax commit durability for telemetry writes on PostgreSQL by @Soju06 in #1628
- perf(usage): cover the projections bulk history fetch with an index-only path by @Soju06 in #1629
- fix(api-keys): restore last-used compatibility touch by @Komzpa in #1656
- fix(proxy): quarantine silent HTTP bridge sessions (takeover of #1405) by @Soju06 in #1630
- fix(ci): back off Codex review triggers on usage limits (takeover of #1560) by @Soju06 in #1631
- chore: release v1.23.0-beta.4 by @Soju06 in #1624
- feat(auth): enable Auth Guardian by default and cover paused accounts by @Soju06 in #1662
- fix(db): keep api-key reservation accounting at full durability by @Soju06 in #1665
- fix(usage): keep the covering read path effective on append-heavy usage_history by @Soju06 in #1666
- fix(api-keys): make the shutdown flush of last_used_at coalescing lossless by @Soju06 in #1667
- docs(openspec): fix strict requirement line formatting by @mastertyko in #1637
- fix(auth): keep guardian candidates session-safe by @rknightion in #1669
- fix(proxy): never inject a cross-account previous_response_id anchor (takeover of #1274) by @Komzpa in #1638
- fix(proxy): detect stalled upstream websockets by @leventov in #1579
- fix(proxy): fail over stuck HTTP bridge owner requests to a fresh account by @softkleenex in #1401
- fix(proxy): complete Codex compaction SSE lifecycle by @onlysdesign-ui in #1634
- fix(proxy): recover dead durable bridge anchors fast by @Komzpa in #1625
- chore: release v1.23.0-beta.5 by @Soju06 in #1663
- fix(proxy): normalize timestamptz lease expiry in durable lease liveness check by @Soju06 in #1673
- chore: release v1.23.0-beta.6 by @Soju06 in #1674
- fix(fleet): expose quota snapshot refresh timestamp by @iqbalmaulana03 in #1640
- chore(ci): bump github/codeql-action/upload-sarif from 4.37.4 to 4.37.6 by @dependabot[bot] in #1687
- chore(deps): bump the frontend-minor-patch group in /frontend with 11 updates by @dependabot[bot] in #1686
- chore(ci): bump docker/login-action from 4.5.1 to 4.6.0 by @dependabot[bot] in #1684
- chore(docker): bump astral-sh/uv from 0.12.1 to 0.12.3 by @dependabot[bot] in #1685
- feat(ui): add iso8601 date display format to settings by @huzky-v in #1671
- chore(docker): bump pgautoupgrade/pgautoupgrade from 18-alpine to 18-alpine by @dependabot[bot] in #1683
- chore(deps): bump the python-minor-patch group with 7 updates by @dependabot[bot] in #1688
- chore(main): release 1.23.0 by @Soju06 in #1472
New Contributors
- @crowscc made their first contribution in #1436
- @shaqman made their first contribution in #1394
- @yeongjun-cigro made their first contribution in #1531
- @ret2basic made their first contribution in #1517
- @lkraider made their first contribution in #1550
- @mrnaturalmonopoly-prog made their first contribution in #1491
- @joschi655 made their first contribution in #1611
- @HulianBuligon made their first contribution in #1504
- @johnjheejin made their first contribution in #1526
- @rknightion made their first contribution in #1602
- @iqbalmaulana03 made their first contribution in #1640
Full Changelog: v1.22.0...v1.23.0
Install / Run
uvx codex-lb
docker pull ghcr.io/Soju06/codex-lb:1.23.0
helm install codex-lb oci://ghcr.io/soju06/charts/codex-lb --version 1.23.0