Skip to content

Releases: Soju06/codex-lb

Release v1.23.0-beta.2

Pre-release

Choose a tag to compare

@Soju06 Soju06 released this 27 Jul 04:09
bf8e6a8

What's Changed

Full Changelog: v1.23.0-beta.1...v1.23.0-beta.2

Install / Run

uvx --from "codex-lb==1.23.0b2" codex-lb
docker pull ghcr.io/Soju06/codex-lb:1.23.0-beta.2
helm install codex-lb oci://ghcr.io/soju06/charts/codex-lb --version 1.23.0-beta.2 --devel

Release v1.23.0-beta.1

Pre-release

Choose a tag to compare

@Soju06 Soju06 released this 26 Jul 06:43
ee9af48

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

Full Changelog: v1.22.0...v1.23.0-beta.1

Install / Run

uvx --from "codex-lb==1.23.0b1" codex-lb
docker pull ghcr.io/Soju06/codex-lb:1.23.0-beta.1
helm install codex-lb oci://ghcr.io/soju06/charts/codex-lb --version 1.23.0-beta.1 --devel

Release v1.22.0

Choose a tag to compare

@Soju06 Soju06 released this 24 Jul 05:46
4c0dbc9

What's Changed

  • fix(balancer): decorrelate round-robin tie-breaking across replicas by @Soju06 in #1327
  • fix(observability): anchor TTFT to the attempt, expose queue wait as a dashboard trend by @Soju06 in #1333
  • docs(openspec): archive accurate-stream-speed-metrics by @Soju06 in #1334
  • docs(contributing): codify simplicity principles and merge gates by @Soju06 in #1336
  • fix(proxy): settle API-key reservation before budget-exhausted compact preflight raises by @Soju06 in #1332
  • docs(site): add mkdocs documentation site and slim README to quick-start scope by @Soju06 in #1337
  • fix(proxy): reject unsupported multi-worker-per-instance for shared per-account caps by @Soju06 in #1328
  • ci(budgets): enforce simplicity budgets on README, env example, and core nav by @Soju06 in #1341
  • feat(dashboard): group advanced navigation and settings behind progressive disclosure by @Soju06 in #1339
  • docs(openspec): archive the simplicity-effort changes by @Soju06 in #1347
  • test(balancer): make sticky-selection test deterministic under decorrelated tie-breaking by @Soju06 in #1348
  • fix(oauth): persist dashboard OAuth flow state for multi-replica by @Soju06 in #1329
  • docs(readme): restore the features grid and client logo table by @Soju06 in #1346
  • refactor(config): remove zero-risk tunables from the settings surface by @Soju06 in #1351
  • chore(openspec): archive replica-reliability + follow-up changes by @Soju06 in #1350
  • fix(proxy): recover from host network changes by @leventov in #1234
  • fix(proxy): preserve HTTP bridge model-transition forks by @Komzpa in #1356
  • fix(proxy): record early downstream cancellations by @Komzpa in #1324
  • fix(models): complete required Codex catalog fields by @luawl in #1299
  • fix(proxy): recover stale response-create gates by @luawl in #1296
  • fix(proxy): forward Codex standalone web search by @HeroOfOdyssey in #1232
  • fix(proxy): retry server_is_overloaded responses by @mereyabdenbekuly-ctrl in #1315
  • chore(contributors): add fozbek to all-contributors by @Soju06 in #1361
  • fix(usage): price gpt-5.6 personality models by @fozbek in #1275
  • refactor(config): remove phase-2 low-risk tunables from the settings surface by @Soju06 in #1360
  • refactor(config): remove phase-3 pool and drain tunables from the settings surface by @Soju06 in #1362
  • fix(proxy): recover sequenced Codex prewarms by @luawl in #1359
  • feat(model-sources): report upstream generation timings by @evaldass in #1319
  • chore(contributors): add ShiroKSH and aididhaiqal to all-contributors by @Soju06 in #1365
  • fix(api-keys): reject duplicate limit rules on create by @ShiroKSH in #1312
  • feat(settings): manage data retention from the dashboard by @Soju06 in #1364
  • refactor(config): retire prewarm canary scaffolding by @Soju06 in #1363
  • docs(openspec): archive the settings-reduction changes by @Soju06 in #1368
  • docs(reference): add generated settings reference with drift guards by @Soju06 in #1369
  • fix(proxy): retry stale per-account model rejections by @luawl in #1321
  • fix(proxy): release pending websocket stream leases on disconnect by @tobwen in #1282
  • feat(ui): add Korean dashboard locale by @codemoo in #1375
  • fix(proxy): retry upstream model capacity errors by @Komzpa in #1385
  • fix(proxy): preserve encrypted compaction item ids by @mhughdo in #1316
  • feat(proxy): add stale-anchor diagnostics by @mastertyko in #1225
  • fix(balancer): reject implausible rate-limit resets by @leventov in #1374
  • fix(proxy): route Spark using fresh per-account quota evidence by @mastertyko in #1248
  • fix(security): harden trusted Forwarded chain resolution by @mastertyko in #1377
  • feat(accounts): add reset-credit controls and auto redeem by @codemoo in #1358
  • fix(docker): preserve runtime readability for owner-only build files by @yshishenya in #1373
  • docs: add yshishenya and alchemistkiv as contributors by @Soju06 in #1387
  • fix(security): enforce trusted proxy locality by @mastertyko in #1381
  • fix(proxy): slim inline images nested in historical tool-call outputs by @Soju06 in #1344
  • perf(db): optimize dashboard hot-path indexes by @Soju06 in #1386
  • fix(security): inspect repeated session proxy headers by @mastertyko in #1378
  • fix(config): reject empty trusted proxy CIDRs by @mastertyko in #1379
  • fix(reports): reject inverted date ranges by @mastertyko in #1396
  • fix(dashboard): keep overview visible when request logs fail by @mastertyko in #1397
  • fix(usage): make weekly-primary remap tiebreak data-aware by @zepx in #1391
  • fix(proxy): spill bare session affinity under account caps by @leventov in #1382
  • test(proxy): characterize load-balancer contract before decomposition by @stemirkhan in #1392
  • fix(db): pin asyncpg session time zone to UTC by @Daltonganger in #1352
  • fix(observability): improve TTFT and TPS accuracy by @jamesx0416 in #1325
  • fix(proxy): purge stale durable bridge rows on startup by @tobwen in #1310
  • refactor(proxy): restore architecture ratchets by @mastertyko in #1430
  • chore(deps): bump the python-minor-patch group with 12 updates by @dependabot[bot] in #1429
  • chore(deps): bump @testing-library/jest-dom from 6.9.1 to 7.0.0 in /frontend by @dependabot[bot] in #1428
  • chore(docker): bump astral-sh/uv from 0.11.28 to 0.11.30 by @dependabot[bot] in #1425
  • chore(ci): bump docker/setup-qemu-action from 4.1.0 to 4.2.0 by @dependabot[bot] in #1421
  • chore(ci): bump actions/labeler from 6.1.0 to 6.2.0 by @dependabot[bot] in #1423
  • chore(docker): bump pgautoupgrade/pgautoupgrade from 18-alpine to 18-alpine by @dependabot[bot] in #1419
  • chore(ci): bump actions/deploy-pages from 4.0.5 to 5.0.0 by @dependabot[bot] in #1424
  • chore(ci): bump actions/create-github-app-token from 2.2.2 to 3.2.0 by @dependabot[bot] in #1420
  • fix(balancer): recover probing accounts by @leventov in #1376
  • perf(proxy): cache upstream-route resolution per account by @Soju06 in #1283
  • chore(deps): bump the frontend-minor-patch group in /frontend with 12 updates by @dependabot[bot] in #1426
  • ci(db): run PostgreSQL migration lock tests by @mastertyko in #1444
  • fix(cli): reject out-of-range server port before startup by @mastertyko in #1400
  • fix(proxy): bound raw HTTP request ingress by @mastertyko in #1440
  • fix(proxy): serialize shared-session rate-limit reads by @mastertyko in #1432
  • fix(proxy-responses): normalize Lite reasoning context by @mastertyko in #1431
  • fix(db): reject empty migration database URL by @mastertyko in #1399
  • fix(proxy): dedup and cap oversized response.create dumps by @ozpool in #1366
  • fix(proxy): recover idle Codex Desktop bridge by @mastertyko in #1439
  • feat(ui): header brand back to /dashboard on click by @huzky-v in #1452
  • fix(api): give thread-goal GET/POST distinct operationIds by @mastertyko in #1398
  • fix(shutdown): drain audit and fleet tasks by @mastertyko in https://github.com/S...
Read more

Release v1.21.0

Choose a tag to compare

@Soju06 Soju06 released this 15 Jul 04:20
8a20de0

What's Changed

  • fix(quota-planner): normalize decision datetimes for persistence by @Soju06 in #1034
  • fix(proxy): avoid shielded-future log on startup probe timeout by @ozpool in #1076
  • fix(ci): ignore stale and resolved Codex inline findings by @Komzpa in #981
  • fix(models): hide unsupported API models by @Komzpa in #887
  • fix(dashboard): correct weekly credits pace display by @Komzpa in #955
  • fix(proxy): normalize non-native upstream requests to Codex CLI fingerprint by @Soju06 in #1089
  • chore: release v1.20.2-beta.1 by @Soju06 in #1088
  • feat: smart HTTP→upstream transport routing (sticky vs single-shot) by @Soju06 in #1093
  • chore(ci): bump softprops/action-gh-release from 3.0.0 to 3.0.1 by @dependabot[bot] in #1067
  • chore(docker): bump pgautoupgrade/pgautoupgrade from 18-alpine to 18-alpine by @dependabot[bot] in #1068
  • chore(ci): bump docker/build-push-action from 7.1.0 to 7.2.0 by @dependabot[bot] in #1069
  • chore(docker): bump astral-sh/uv from 0.11.21 to 0.11.23 by @dependabot[bot] in #1070
  • chore(ci): bump actions/checkout from 6.0.2 to 7.0.0 by @dependabot[bot] in #1071
  • chore(ci): bump github/codeql-action from 4.35.5 to 4.36.2 by @dependabot[bot] in #1072
  • chore(deps): bump the frontend-minor-patch group in /frontend with 6 updates by @dependabot[bot] in #1073
  • chore(deps): bump @types/node from 25.9.3 to 26.0.0 in /frontend by @dependabot[bot] in #1074
  • chore(deps): bump pydantic-settings from 2.14.1 to 2.14.2 by @dependabot[bot] in #1081
  • chore(deps): bump the python-minor-patch group with 7 updates by @dependabot[bot] in #1075
  • feat: expose upstream transport observability by @Soju06 in #1096
  • feat(proxy): repair account-bound egress routing by @Komzpa in #875
  • fix(proxy): oauth blocked when bindings lack route by @tobwen in #1064
  • feat+fix(report): reports enhancements by @huzky-v in #1060
  • feat(reset-credits): add banked rate-limit reset credits by @huzky-v in #1053
  • fix(db): optimize dashboard query hot paths by @Soju06 in #1107
  • chore(docker): bump pgautoupgrade/pgautoupgrade from 18-alpine to 18-alpine by @dependabot[bot] in #1109
  • chore(ci): bump azure/setup-helm from 5.0.0 to 5.0.1 by @dependabot[bot] in #1110
  • chore(ci): bump actions/cache from 5.0.5 to 6.1.0 by @dependabot[bot] in #1111
  • chore(docker): bump astral-sh/uv from 0.11.23 to 0.11.25 by @dependabot[bot] in #1112
  • chore(deps): bump the frontend-minor-patch group in /frontend with 12 updates by @dependabot[bot] in #1113
  • chore(deps): bump the python-minor-patch group with 11 updates by @dependabot[bot] in #1114
  • fix(frontend): persist dashboard account list sort by @Soju06 in #1115
  • feat(frontend): restore Simplified Chinese i18n by @Komzpa in #995
  • feat(usage-api): add toggle to query additional usage, and add pooled usage to /v1/usage by @huzky-v in #832
  • feat(request-logs): record client IP by @Komzpa in #985
  • perf(usage): avoid repeated history cache scans by @Komzpa in #902
  • feat(warmup): add staggered idle limit prestart by @Komzpa in #905
  • fix(db): merge post-batch migration heads by @Soju06 in #1116
  • feat(request-ui): add showing elapsed time to request details by @huzky-v in #1103
  • fix(zod): add the zod schema with new enum introduced at #875 by @huzky-v in #1102
  • fix(retry): honor minute/hour and compound retry-after hints by @ozpool in #1052
  • ci: remove unsupported review-thread workflow trigger by @Komzpa in #1117
  • test: update codex label workflow event assertion by @Komzpa in #1118
  • fix(usage): sync paid-plan upgrades on workspace-less accounts by @ozpool in #1098
  • fix(proxy): strip unsafe HTTP headers before owner-bridge forward by @ozpool in #1036
  • fix(proxy): strip internal responses lite header by @mhughdo in #1099
  • add configurable limit warm-up exhausted threshold by @jawwadfirdousi in #1079
  • fix(ui): stabilize account layout and API key dialog by @qdzsh in #1062
  • fix(models): aggregate service tiers across accounts by @ozpool in #1106
  • fix(http-bridge): clean stale inflight session futures by @zvladru in #1044
  • fix(websocket): avoid fresh retry for tool-output deltas by @zvladru in #1042
  • feat(usage): support Codex usage reset credits by @codemoo in #1105
  • fix(proxy): set parallel_tool_calls to false for compaction requests by @alzeiby in #1054
  • docs: explain routing strategy tradeoffs by @Komzpa in #1119
  • fix(proxy): clarify account stream cap overload by @Komzpa in #1122
  • fix(proxy): stop local rate-limit selection retry loops by @Komzpa in #1121
  • Smooth weekly pace gap by @Komzpa in #1120
  • fix(db): prevent SQLite FD retention in background refresh tasks by @Lotfree618 in #1127
  • fix(quota-planner): normalize datetimes before database use by @zvladru in #1043
  • chore(deps): bump ty from 0.0.55 to 0.0.56 in the python-minor-patch group by @dependabot[bot] in #1147
  • chore(ci): bump astral-sh/setup-uv from 8.2.0 to 8.3.0 by @dependabot[bot] in #1140
  • chore(ci): bump docker/login-action from 4.2.0 to 4.4.0 by @dependabot[bot] in #1141
  • chore(ci): bump docker/metadata-action from 6.1.0 to 6.2.0 by @dependabot[bot] in #1144
  • chore(docker): bump astral-sh/uv from 0.11.25 to 0.11.27 by @dependabot[bot] in #1145
  • chore(deps): bump the frontend-minor-patch group in /frontend with 12 updates by @dependabot[bot] in #1146
  • chore(docker): bump pgautoupgrade/pgautoupgrade from 18-alpine to 18-alpine by @dependabot[bot] in #1139
  • chore(ci): bump docker/build-push-action from 7.2.0 to 7.3.0 by @dependabot[bot] in #1142
  • chore(ci): bump docker/setup-buildx-action from 4.1.0 to 4.2.0 by @dependabot[bot] in #1143
  • fix(dashboard-auth): harden local session ttl by @AnobleSCM in #1137
  • fix: list Codex shell-only models in backend catalog by @Komzpa in #1138
  • feat(accounts): test bound proxy pools by @Komzpa in #1124
  • feat(metrics): expose account inflight lease gauge by @0xSolarPunk in #1148
  • feat(fleet): add refresh endpoint by @AnobleSCM in #1128
  • feat: add openai-compatible model sources by @evaldass in #1129
  • fix(account-ui): fix overflow on account list page by @huzky-v in #1149
  • feat(automations): scheduled cycles, grouped runs, and run details UI by @Kazet111 in #438
  • feat(images): add route observability by @Komzpa in #1123
  • feat(proxy): add TTFT phase observability by @Soju06 in #1156
  • fix(models): serve the Codex catalog on /v1/models for Codex clients by @kevinWangSheng in #1163
  • fix(proxy): fallback v1 usage limits to upstream quotas by @Daltonganger in #1151
  • fix(proxy): preserve Responses Lite additional tools by @luawl in #1161
  • feat(models): add GPT-5.6 bootstrap catalog with upstream-verified metadata by @Soju06 in #1176
  • fix(proxy): support Codex image edit routes by @nazirulhafiy in #1160
  • fix(model-sources): default Codex catalog context by @Komzpa in https://github.com/Soju06/codex-lb/pul...
Read more

Release v1.21.0-beta.4

Pre-release

Choose a tag to compare

@Soju06 Soju06 released this 15 Jul 03:07
d15c521

What's Changed

  • fix(proxy): accept large websocket response.create and fail fast with 400 by @Soju06 in #1236
  • perf(request-logs): skip-scan unfiltered filter-option facets by @Soju06 in #1239
  • perf(proxy): cut pre-upstream DB round trips on interactive turns by @Soju06 in #1241
  • perf(proxy): make SSE event framing linear instead of quadratic by @Soju06 in #1242
  • perf(clients): keep upstream connections and DNS across interactive turns by @Soju06 in #1245
  • perf(dashboard): compress responses, cache assets, lazy-load charts by @Soju06 in #1243
  • perf(usage): aggregate the summary window in SQL, drop dead log refresh by @Soju06 in #1244
  • perf(accounts): serve request-usage summaries from persistent rollup by @Soju06 in #1238
  • feat(retention): opt-in pruning for request logs and usage history by @Soju06 in #1240
  • fix(db): serialize startup migrations across replicas and report schema-ahead correctly by @Soju06 in #1256
  • fix(quota-planner): make warmup budget and dedup claims atomic across replicas by @Soju06 in #1260
  • chore(openspec): bulk-sync delta specs and archive all 152 completed changes by @Soju06 in #1252
  • fix(balancer): persist rate-limit cooldowns so peer replicas honor them by @Soju06 in #1261
  • fix(deploy): repair broken multi-replica deployment artifacts by @Soju06 in #1263
  • fix(proxy): fence bridge lease writes, evict fenced-out replicas, purge orphaned ring state by @Soju06 in #1259
  • fix(caching): extend cross-replica cache invalidation bus to routing, selection, and settings caches by @Soju06 in #1255
  • feat(replica-ops): document replica topology contract and land startup guardrails by @Soju06 in #1264
  • feat(proxy): partition account concurrency caps across live replicas by @Soju06 in #1258
  • fix(reset-credits): make redemption replica-safe with durable ledger and claim by @Soju06 in #1257
  • fix(proxy): queue bridged requests through response-create gate contention by @Soju06 in #1266
  • feat(balancer): adapt selection and refresh to absent short-window quotas by @Soju06 in #1267
  • feat(planner): derive phase planning from observed short windows by @Soju06 in #1268
  • perf(proxy): parse each SSE event once per layer, skip no-op reserialization by @Soju06 in #1270
  • perf(proxy): detach stream-end persistence from the response path by @Soju06 in #1269
  • chore(openspec): archive the ten merged performance changes by @Soju06 in #1276
  • perf(request-logs): cache the listing total per filter signature by @Soju06 in #1277
  • perf(frontend): code-split dashboard routes by @Soju06 in #1278
  • perf(frontend): self-host JetBrains Mono, drop Google Fonts by @Soju06 in #1279
  • feat(models): replicate leader-refreshed model registry via persisted snapshots by @Soju06 in #1262
  • docs(openspec): archive adaptive-window and bridge-gate changes by @Soju06 in #1271
  • fix(automation): fall back to github.token when label sync hits rate limits by @Soju06 in #1272
  • feat(usage): ingest live rate-limit snapshots from proxied traffic by @Soju06 in #1273
  • docs(openspec): archive the live-rate-limit-ingestion change by @Soju06 in #1300
  • feat(dashboard): hide expired primary windows instead of freezing them by @Soju06 in #1301
  • feat(ci): mint a dedicated GitHub App token for codex label sync by @Soju06 in #1302
  • chore(ci): bump dorny/paths-filter from 4.0.1 to 4.0.2 by @dependabot[bot] in #1288
  • chore(ci): bump github/codeql-action/upload-sarif from 4.36.2 to 4.37.0 by @dependabot[bot] in #1289
  • chore(ci): bump softprops/action-gh-release from 3.0.1 to 3.0.2 by @dependabot[bot] in #1290
  • chore(docker): bump astral-sh/uv from 0.11.27 to 0.11.28 by @dependabot[bot] in #1291
  • chore(ci): bump actions/stale from 10.3.0 to 10.4.0 by @dependabot[bot] in #1285
  • chore(docker): bump pgautoupgrade/pgautoupgrade from 18-alpine to 18-alpine by @dependabot[bot] in #1286
  • chore(ci): bump astral-sh/setup-uv from 8.3.0 to 8.3.2 by @dependabot[bot] in #1287
  • chore(deps): bump the frontend-minor-patch group in /frontend with 10 updates by @dependabot[bot] in #1292
  • docs(openspec): archive absent-window-display and label-sync-app-token by @Soju06 in #1303
  • chore(deps): bump the python-minor-patch group with 5 updates by @dependabot[bot] in #1294
  • chore(deps): bump typescript from 6.0.3 to 7.0.2 in /frontend by @dependabot[bot] in #1293
  • fix(scheduling): harden scheduler leader election for multi-replica safety by @Soju06 in #1253
  • chore: release v1.21.0-beta.4 by @Soju06 in #1237

Full Changelog: v1.21.0-beta.3...v1.21.0-beta.4

Install / Run

uvx --from "codex-lb==1.21.0b4" codex-lb
docker pull ghcr.io/Soju06/codex-lb:1.21.0-beta.4
helm install codex-lb oci://ghcr.io/soju06/charts/codex-lb --version 1.21.0-beta.4 --devel

Release v1.21.0-beta.3

Pre-release

Choose a tag to compare

@Soju06 Soju06 released this 12 Jul 07:55
a225f0d

What's Changed

  • fix(proxy): send complete Codex identity headers by @luawl in #1197
  • fix(account-ui): expand account list on tall viewports by @luawl in #1195
  • fix(proxy): hide blank reasoning summary comments by @Komzpa in #1154
  • fix(proxy): wait on local account cap pressure by @Komzpa in #1155
  • fix(proxy): preserve admitted bridge waiters on upstream close by @Komzpa in #1191
  • feat(proxy): add Fast Mode prohibition setting by @leventov in #1190
  • fix(proxy): isolate unanchored parallel bridge requests by @Komzpa in #1169
  • fix(proxy): reserve stream capacity for recovery by @Komzpa in #1188
  • fix(proxy): omit synthesized tools on owner-forward and source egress by @Soju06 in #1203
  • docs(codex): clarify built-in image generation eligibility by @ATofighi in #1181
  • fix(proxy): normalize selected installation metadata by @dmdfami in #1204
  • fix(accounts): sync free-to-paid plan upgrades by @luawl in #1217
  • fix(ci): keep manual rerun attempts authoritative by @luawl in #1216
  • fix(proxy): preserve responses turn-state fidelity by @luawl in #1193
  • fix(models): retain hidden metadata across partial refreshes by @luawl in #1221
  • fix(proxy): preserve websocket reconnect affinity by @leventov in #1220
  • fix(proxy): preserve websocket incomplete reasons by @leventov in #1219
  • fix(proxy): reselect only safe websocket turns by @dmdfami in #1207
  • fix(proxy): route by complete account capability catalogs by @dmdfami in #1205
  • test(usage): use UTC clock for freshness fixture by @luawl in #1228
  • fix(proxy): keep native capacity waits alive by @Komzpa in #1218
  • fix(ui): make routing strategy guide clickable cards by @zepx in #1229
  • fix(oauth): isolate reauth by Team seat identity by @HeroOfOdyssey in #1224
  • fix(proxy): prevent sequenced websocket replay by @mastertyko in #1223
  • feat(proxy): configure account concurrency caps by @Komzpa in #1214
  • Show request log speed metrics by @jamesx0416 in #1210
  • fix(warmup): separate idle threshold, fix jitter, redesign warm-up UI by @zepx in #1230
  • chore: release v1.21.0-beta.3 by @Soju06 in #1202

New Contributors

Full Changelog: v1.21.0-beta.2...v1.21.0-beta.3

Install / Run

uvx --from "codex-lb==1.21.0b3" codex-lb
docker pull ghcr.io/Soju06/codex-lb:1.21.0-beta.3
helm install codex-lb oci://ghcr.io/soju06/charts/codex-lb --version 1.21.0-beta.3 --devel

Release v1.21.0-beta.2

Pre-release

Choose a tag to compare

@Soju06 Soju06 released this 11 Jul 04:44
1f59f30

What's Changed

  • fix(proxy): preserve multi-agent v2 passthrough by @luawl in #1189
  • fix(proxy): stop synthesizing top-level tools for upstream Codex requests by @Soju06 in #1200
  • chore: release v1.21.0-beta.2 by @Soju06 in #1201

Full Changelog: v1.21.0-beta.1...v1.21.0-beta.2

Install / Run

uvx --from "codex-lb==1.21.0b2" codex-lb
docker pull ghcr.io/Soju06/codex-lb:1.21.0-beta.2
helm install codex-lb oci://ghcr.io/soju06/charts/codex-lb --version 1.21.0-beta.2 --devel

Release v1.21.0-beta.1

Pre-release

Choose a tag to compare

@Soju06 Soju06 released this 10 Jul 11:59
65dc4b7

What's Changed

  • feat: smart HTTP→upstream transport routing (sticky vs single-shot) by @Soju06 in #1093
  • chore(ci): bump softprops/action-gh-release from 3.0.0 to 3.0.1 by @dependabot[bot] in #1067
  • chore(docker): bump pgautoupgrade/pgautoupgrade from 18-alpine to 18-alpine by @dependabot[bot] in #1068
  • chore(ci): bump docker/build-push-action from 7.1.0 to 7.2.0 by @dependabot[bot] in #1069
  • chore(docker): bump astral-sh/uv from 0.11.21 to 0.11.23 by @dependabot[bot] in #1070
  • chore(ci): bump actions/checkout from 6.0.2 to 7.0.0 by @dependabot[bot] in #1071
  • chore(ci): bump github/codeql-action from 4.35.5 to 4.36.2 by @dependabot[bot] in #1072
  • chore(deps): bump the frontend-minor-patch group in /frontend with 6 updates by @dependabot[bot] in #1073
  • chore(deps): bump @types/node from 25.9.3 to 26.0.0 in /frontend by @dependabot[bot] in #1074
  • chore(deps): bump pydantic-settings from 2.14.1 to 2.14.2 by @dependabot[bot] in #1081
  • chore(deps): bump the python-minor-patch group with 7 updates by @dependabot[bot] in #1075
  • feat: expose upstream transport observability by @Soju06 in #1096
  • feat(proxy): repair account-bound egress routing by @Komzpa in #875
  • fix(proxy): oauth blocked when bindings lack route by @tobwen in #1064
  • feat+fix(report): reports enhancements by @huzky-v in #1060
  • feat(reset-credits): add banked rate-limit reset credits by @huzky-v in #1053
  • fix(db): optimize dashboard query hot paths by @Soju06 in #1107
  • chore(docker): bump pgautoupgrade/pgautoupgrade from 18-alpine to 18-alpine by @dependabot[bot] in #1109
  • chore(ci): bump azure/setup-helm from 5.0.0 to 5.0.1 by @dependabot[bot] in #1110
  • chore(ci): bump actions/cache from 5.0.5 to 6.1.0 by @dependabot[bot] in #1111
  • chore(docker): bump astral-sh/uv from 0.11.23 to 0.11.25 by @dependabot[bot] in #1112
  • chore(deps): bump the frontend-minor-patch group in /frontend with 12 updates by @dependabot[bot] in #1113
  • chore(deps): bump the python-minor-patch group with 11 updates by @dependabot[bot] in #1114
  • fix(frontend): persist dashboard account list sort by @Soju06 in #1115
  • feat(frontend): restore Simplified Chinese i18n by @Komzpa in #995
  • feat(usage-api): add toggle to query additional usage, and add pooled usage to /v1/usage by @huzky-v in #832
  • feat(request-logs): record client IP by @Komzpa in #985
  • perf(usage): avoid repeated history cache scans by @Komzpa in #902
  • feat(warmup): add staggered idle limit prestart by @Komzpa in #905
  • fix(db): merge post-batch migration heads by @Soju06 in #1116
  • feat(request-ui): add showing elapsed time to request details by @huzky-v in #1103
  • fix(zod): add the zod schema with new enum introduced at #875 by @huzky-v in #1102
  • fix(retry): honor minute/hour and compound retry-after hints by @ozpool in #1052
  • ci: remove unsupported review-thread workflow trigger by @Komzpa in #1117
  • test: update codex label workflow event assertion by @Komzpa in #1118
  • fix(usage): sync paid-plan upgrades on workspace-less accounts by @ozpool in #1098
  • fix(proxy): strip unsafe HTTP headers before owner-bridge forward by @ozpool in #1036
  • fix(proxy): strip internal responses lite header by @mhughdo in #1099
  • add configurable limit warm-up exhausted threshold by @jawwadfirdousi in #1079
  • fix(ui): stabilize account layout and API key dialog by @qdzsh in #1062
  • fix(models): aggregate service tiers across accounts by @ozpool in #1106
  • fix(http-bridge): clean stale inflight session futures by @zvladru in #1044
  • fix(websocket): avoid fresh retry for tool-output deltas by @zvladru in #1042
  • feat(usage): support Codex usage reset credits by @codemoo in #1105
  • fix(proxy): set parallel_tool_calls to false for compaction requests by @alzeiby in #1054
  • docs: explain routing strategy tradeoffs by @Komzpa in #1119
  • fix(proxy): clarify account stream cap overload by @Komzpa in #1122
  • fix(proxy): stop local rate-limit selection retry loops by @Komzpa in #1121
  • Smooth weekly pace gap by @Komzpa in #1120
  • fix(db): prevent SQLite FD retention in background refresh tasks by @Lotfree618 in #1127
  • fix(quota-planner): normalize datetimes before database use by @zvladru in #1043
  • chore(deps): bump ty from 0.0.55 to 0.0.56 in the python-minor-patch group by @dependabot[bot] in #1147
  • chore(ci): bump astral-sh/setup-uv from 8.2.0 to 8.3.0 by @dependabot[bot] in #1140
  • chore(ci): bump docker/login-action from 4.2.0 to 4.4.0 by @dependabot[bot] in #1141
  • chore(ci): bump docker/metadata-action from 6.1.0 to 6.2.0 by @dependabot[bot] in #1144
  • chore(docker): bump astral-sh/uv from 0.11.25 to 0.11.27 by @dependabot[bot] in #1145
  • chore(deps): bump the frontend-minor-patch group in /frontend with 12 updates by @dependabot[bot] in #1146
  • chore(docker): bump pgautoupgrade/pgautoupgrade from 18-alpine to 18-alpine by @dependabot[bot] in #1139
  • chore(ci): bump docker/build-push-action from 7.2.0 to 7.3.0 by @dependabot[bot] in #1142
  • chore(ci): bump docker/setup-buildx-action from 4.1.0 to 4.2.0 by @dependabot[bot] in #1143
  • fix(dashboard-auth): harden local session ttl by @AnobleSCM in #1137
  • fix: list Codex shell-only models in backend catalog by @Komzpa in #1138
  • feat(accounts): test bound proxy pools by @Komzpa in #1124
  • feat(metrics): expose account inflight lease gauge by @0xSolarPunk in #1148
  • feat(fleet): add refresh endpoint by @AnobleSCM in #1128
  • feat: add openai-compatible model sources by @evaldass in #1129
  • fix(account-ui): fix overflow on account list page by @huzky-v in #1149
  • feat(automations): scheduled cycles, grouped runs, and run details UI by @Kazet111 in #438
  • feat(images): add route observability by @Komzpa in #1123
  • feat(proxy): add TTFT phase observability by @Soju06 in #1156
  • fix(models): serve the Codex catalog on /v1/models for Codex clients by @kevinWangSheng in #1163
  • fix(proxy): fallback v1 usage limits to upstream quotas by @Daltonganger in #1151
  • fix(proxy): preserve Responses Lite additional tools by @luawl in #1161
  • feat(models): add GPT-5.6 bootstrap catalog with upstream-verified metadata by @Soju06 in #1176
  • fix(proxy): support Codex image edit routes by @nazirulhafiy in #1160
  • fix(model-sources): default Codex catalog context by @Komzpa in #1152
  • fix(proxy): synthesize interrupted custom tool call outputs by @Soju06 in #1175
  • fix(proxy): preserve all non-message system and developer input items by @Soju06 in #1172
  • fix(proxy): preserve model_messages in catalog response by @zepx in #1178
  • fix(ci): ignore superseded same-head check suites by @Komzpa in #1170
  • fix(proxy): harden native Responses Lite continuity by @Komzpa in #1164
  • ci: shard integration-core tests, PR-mode vitest without coverage by @Soju06 in #1179
  • chore: release v1.21.0-beta.1 by @Soju06 in https://github.com/Soju06/codex-lb/pu...
Read more

Release v1.20.2-beta.1

Pre-release

Choose a tag to compare

@Soju06 Soju06 released this 25 Jun 12:26
c0e9386

What's Changed

  • fix(quota-planner): normalize decision datetimes for persistence by @Soju06 in #1034
  • fix(proxy): avoid shielded-future log on startup probe timeout by @ozpool in #1076
  • fix(ci): ignore stale and resolved Codex inline findings by @Komzpa in #981
  • fix(models): hide unsupported API models by @Komzpa in #887
  • fix(dashboard): correct weekly credits pace display by @Komzpa in #955
  • fix(proxy): normalize non-native upstream requests to Codex CLI fingerprint by @Soju06 in #1089
  • chore: release v1.20.2-beta.1 by @Soju06 in #1088

Full Changelog: v1.20.1...v1.20.2-beta.1

Install / Run

uvx --from "codex-lb==1.20.2b1" codex-lb
docker pull ghcr.io/Soju06/codex-lb:1.20.2-beta.1
helm install codex-lb oci://ghcr.io/soju06/charts/codex-lb --version 1.20.2-beta.1 --devel

Release v1.20.1

Choose a tag to compare

@Soju06 Soju06 released this 18 Jun 06:51
17c1762

What's Changed

Full Changelog: v1.20.0...v1.20.1

Install / Run

uvx codex-lb
docker pull ghcr.io/Soju06/codex-lb:1.20.1
helm install codex-lb oci://ghcr.io/soju06/charts/codex-lb --version 1.20.1