Skip to content

Releases: astaxie/TokenHub

Release list

v0.5.0

Choose a tag to compare

@astaxie astaxie released this 07 Aug 17:31

Highlights

  • Added the tokenhub-migrate framework and CLI with a LiteLLM source adapter, canonical migration bundles, local and remote TokenHub sinks, validation, dry-run planning, and migration CI coverage.
  • Expanded gateway compatibility for Codex-backed CLI clients, native Codex image generation, DeepSeek Responses routing and cache affinity, Anthropic message conversion, and provider endpoint normalization.
  • Added per-API-key RPM/TPM limits, project/API-key scoped routing policies, a model diagnostics playground, provider credential testing, and unified project/team workspaces.
  • Added provider billing connectors, detailed token usage records, cost reconciliation, a read-only Agent Token Cost API, SQL-backed audit pagination, OTLP/Langfuse tracing, and failover-attribution metrics.
  • Hardened streaming limits and timeouts, upstream error classification, quota handling, database migrations, analytics export consistency, localization, key copying over HTTP, and admin UI layering.

Release artifacts

  • Linux native archives for amd64 and arm64, plus checksums.txt, are built and attached by the release workflow.
  • Container images are published as ghcr.io/astaxie/tokenhub-backend:0.5.0, :0.5, and :latest.

All merged PRs since v0.4.0

Features and enhancements

  • feat(migration): add tokenhub-migrate CLI with LiteLLM source adapter (#53) by @coldbrewtea
  • feat(deploy): add a local runner for the production build (#66) by @legendtkl
  • feat(projects): unify project workspace team configuration (#92) by @astaxie
  • feat(observability): export gateway traces over OTLP for Langfuse (#93) by @legendtkl
  • feat(billing): add provider billing data connectors (#94) by @astaxie
  • feat(audit): record detailed token usage (#95) by @astaxie
  • feat(models): clarify provider and external model flow (#96) by @astaxie
  • feat(rate-limit): add per-api-key rpm and tpm limits (#102) by @astaxie
  • feat(gateway): support codex-backed cli clients (#110) by @Mr0bean
  • feat(deepseek): add Responses routing and cache affinity (#111) by @deepjerry-ai
  • feat(providers): test API credentials before creation (#112) by @deepjerry-ai
  • feat(playground): add model diagnostics console (#118) by @deepjerry-ai
  • feat(observability): attribute failover attempts and upstream latency (#120) by @coldbrewtea
  • feat(routing): add project and api-key scoped policies (#121) by @astaxie
  • feat(finops): add provider cost reconciliation (#123) by @astaxie
  • feat(analytics): expose agent token cost API (#140) by @astaxie
  • feat(audit): paginate request logs in SQL (#143) by @astaxie

Fixes and hardening

  • fix(frontend): use full API key issuance wizard (#87) by @CLukeLi
  • fix(frontend): increase default API key token quotas (#89) by @CLukeLi
  • fix(api-keys): allow clearing all quota limits (#97) by @assclb
  • fix(observability): measure request latency with the local clock (#103) by @legendtkl
  • fix(providers): discover custom upstream models in quick connect (#105) by @legendtkl
  • fix(gateway): give streaming upstream calls their own timeout policy (#106) by @legendtkl
  • fix(gateway): classify upstream provider errors instead of flattening them (#107) by @legendtkl
  • fix: usage summary token fields, missing ja translations, and line gate (#109) by @legendtkl
  • fix(frontend): keep key issuance on key management (#113) by @deepjerry-ai
  • fix(server): bound SSE event parsing on every streaming path (#116) by @legendtkl
  • fix(gateway): support native Codex image generation (#124) by @stoner-byte
  • fix(server): omit empty tool_calls when converting Anthropic assistant messages (#130) by @chajiuqqq
  • fix(admin): expose language preferences to all users (#132) by @assclb
  • fix(ui): keep global search above page content (#151) by @astaxie
  • fix(frontend): support key copy over HTTP (#152) by @astaxie
  • fix(providers): normalize Anthropic endpoint versions (#157) by @yujiewanwan

Documentation, CI, refactoring, and maintenance

  • ci: add CI workflow and enforce the repository change guidelines (#67) by @legendtkl
  • docs: highlight supported providers (#85) by @astaxie
  • docs: embed star history chart (#86) by @astaxie
  • docs: refine README positioning (#88) by @astaxie
  • docs(readme): fix provider name underline in supported providers table (#99) by @coldbrewtea
  • refactor(server): split oversized HTTP and store files (#100) by @astaxie
  • chore: drop the staged implementation plan from the repository (#104) by @legendtkl
  • docs: simplify pull request template (#108) by @legendtkl
  • refactor: remove dead code and collapse duplicated logic (#114) by @legendtkl
  • refactor: remove dead code and collapse duplicated logic (#115) by @legendtkl
  • refactor(server): re-land adapter core sharing and finish-reason unification (#122) by @legendtkl

Full Changelog: v0.4.0...v0.5.0

IMG_2958

v0.4.0

Choose a tag to compare

@astaxie astaxie released this 29 Jul 02:46

Highlights

  • Added flexible model routing policies, cache-locality session affinity, stream failover, and half-open provider recovery.
  • Expanded gateway compatibility for Claude Code, Codex OAuth, Anthropic Messages, Gemini/Anthropic tools and streaming, and reasoning effort.
  • Added PostgreSQL and multi-instance deployment support, Prometheus metrics, managed native updates, and release-driven container images.
  • Improved provider/model catalog administration, request logs, system settings, enterprise identity sources, and usage attribution.
  • Hardened authentication, production bootstrap, trusted proxy handling, admin protections, provider compatibility, and frontend validation.

Release artifacts

  • Linux native archives for amd64 and arm64, plus checksums.txt, are built and attached by the release workflow.
  • Container images are published as ghcr.io/astaxie/tokenhub-backend:0.4.0, :0.4, and :latest.

All merged PRs since 0.3.0

The comparison baseline is commit 9b0216f, which bumped the frontend and SDK versions to 0.3.0. The repository did not previously have a v0.3.0 Git tag.

Features and enhancements

  • feat: PostgreSQL support, database status page, and code cleanup (#15) by @cngump
  • feat(HighAvailable): support multi-instance deployments (#17) by @legendtkl
  • feat(gateway): support reasoning effort (#23) by @legendtkl
  • feat: update user guide and related files (#32) by @astaxie
  • Feature codex (#33) by @astaxie
  • Redesign login gateway flow animation (#36) by @astaxie
  • feat(models): add catalog restoration and bulk deletion (#38) by @astaxie
  • feat(admin): redesign system settings panel (#41) by @astaxie
  • feat(gateway): support Claude Code via Anthropic Messages (#42) by @legendtkl
  • feat(auth): add dingtalk feishu and wecom identity sources (#45) by @astaxie
  • feat(routing): add cache-locality session affinity and stream failover (#47) by @legendtkl
  • feat: persist and refresh provider catalog snapshots (#48) by @astaxie
  • feat(catalog): add Tencent Token Plan providers (#56) by @deepjerry-ai
  • feat(observability): expose Prometheus metrics for the model API (#57) by @legendtkl
  • feat(catalog): add Kimi K3 model (#59) by @deepjerry-ai
  • Codex/vendor provider catalog (#62) by @astaxie
  • feat(providers): streamline management and model setup (#64) by @astaxie
  • Feature codex (#65) by @Mr0bean
  • feat(deploy): add managed release updates (#68) by @wangle201210
  • feat(admin): improve model directory and request logs (#69) by @astaxie
  • feat(routing): add flexible model routing policies (#75) by @astaxie

Fixes and hardening

  • fix(i18n): translate "下一步" (Next) button in en/ja locales (#1) by @samz406
  • fix(docker): serve public/ static assets in frontend runner image (#2) by @samz406
  • fix(ui): hide group-title text in collapsed sidebar to stop icon clipping (#4) by @samz406
  • fix(auth): protect the last platform admin (#6) by @legendtkl
  • fix(security): trust forwarded IPs only from configured proxies (#7) by @legendtkl
  • fix(auth): migrate admin passwords to bcrypt (#8) by @legendtkl
  • fix(security): reject unsafe production credentials (#9) by @legendtkl
  • fix(i18n): localize native required-field validation message (#11) by @samz406
  • Surface deployment startup errors (#16) by @legendtkl
  • 修复: 放宽 CORS 允许头并增加流式响应显式状态码,提升第三方工具兼容性 (#21) by @AnxForever
  • fix: correct prompt cache pricing and usage (#29) by @legendtkl
  • fix: prevent admin from deleting their own account (#34) by @lifecoder1988
  • fix: correct settings display across the admin console (#43) by @astaxie
  • fix(version-check): support GitHub tags API (#44) by @astaxie
  • fix(gateway): convert tools and stream incrementally on Anthropic/Gemini (#46) by @legendtkl
  • fix(auth): use official enterprise identity source logos (#49) by @astaxie
  • fix(gateway): harden provider compatibility handling (#50) by @legendtkl
  • fix(frontend): prevent version update dialog clipping (#51) by @astaxie
  • fix(gateway): harden provider-compatible request handling (#52) by @legendtkl
  • fix(routing): recover parked provider resources via half-open trials (#54) by @legendtkl
  • fix(frontend): validate credentials and localize admin UI (#55) by @legendtkl
  • fix(playground): support codex oauth responses (#61) by @deepjerry-ai
  • fix(catalog): map official kimi coding models (#63) by @deepjerry-ai
  • fix(models): avoid sending string metadata on edit (#70) by @astaxie
  • fix(gateway): accept Claude Code mid-conversation system messages (#73) by @lxm
  • fix(usage): attribute API key usage to assigned users (#74) by @CLukeLi

Documentation, CI, tests, and maintenance

  • test(import): cover reset emails with fake SMTP (#5) by @legendtkl
  • docs: add repository guidance for coding agents (#10) by @legendtkl
  • docs: add TokenHub pull request template and agent guidance (#18) by @legendtkl
  • ci: publish container images from releases (#30) by @legendtkl
  • docs: add optional agent development workflows (#31) by @legendtkl
  • docs: add multilingual contributing guides (#35) by @legendtkl
  • docs: add architecture guides (#39) by @deepjerry-ai
  • chore: adopt golangci-lint and clear its existing findings (#58) by @legendtkl
  • chore(frontend): add TokenHub favicon (#60) by @astaxie
  • docs: animate readme screenshots (#71) by @astaxie

Full Changelog: 9b0216b...v0.4.0