v0.4.0
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
amd64andarm64, pluschecksums.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