BREAKING CHANGES
- 增加了 models model id 唯一索引,如果启动失败,可以检查下是不是 model id 有冲突
- 修改了 docker 构建脚本,如果新镜像有问题,请帮忙及时反馈
What's Changed
- refactor(ui): extract channel models list into reusable component by @AAEE86 in #482
- fix: start.ps1 should check the listen port only, close #483 by @looplj in #484
- feat(ui): add i18n support for data table column headers by @AAEE86 in #485
- refactor: move llm out of internal, and change LICENSE by @looplj in #488
- feat(i18n): add translations for channel delete dialog by @AAEE86 in #490
- fix: should stop retry if client canceled or deadline exceed, close #492 by @looplj in #493
- build(docker): optimize build performance with layer caching and corepack by @AAEE86 in #497
- opt: update request channel id and create new exection in txn, close #492 by @looplj in #500
- fix: missing model id unique index by @looplj in #501
- opt: channel and request table ui, close #489 by @looplj in #502
- doc: add missing license by @looplj in #503
- feat: backup and restore by @looplj in #504
- opt: ui details improvement by @looplj in #505
- feat: add model and channel executions to requests table by @looplj in #506
- feat: add GitHub as a model provider by @WY-WY-W in #509
- chore: format projects by @looplj in #510
- feat: list models with channel restrictions by @looplj in #512
- feat: auto disable channel setting by @looplj in #513
- feat: allow hide mapped models, close #491 by @looplj in #514
- opt: deduplicate candidate with same actual model by @looplj in #517
- feat: add Claude Code transformer for channel integration by @mcowger in #516
- opt: accent token color for dark theme by @looplj in #518
- Convert all hardcoded Chinese error messages to i18n translation keys for dynamic language support. by @mcowger in #521
- doc: update llm readme and api usage example by @looplj in #522
- feat: add requests and tokens by API key dashboard metrics by @mcowger in #523
- fix: 修复 OpenRouter/DeepSeek 思考内容丢失及 Content 字段 Null 值解析错误 by @billow96 in #524
- opt(llm): override request headers by default when merge by @looplj in #525
- opt: action column permission guard, and trace span type filter by @looplj in #527
- fix: wrong gemini models response field, close #526 by @looplj in #528
- opt: ui smooth animation by @looplj in #529
- feat: add sorting by provider and status on channels page by @mcowger in #530
- feat: channel health probe by @looplj in #531
- feat: allow remove failed models in test dialog by @looplj in #532
- feat: support json schema response format by @looplj in #533
- opt: list models api object by @looplj in #534
- opt: anthropic compatible for buggy channels, close #508 by @looplj in #536
- fix: weighted load balance not work by @looplj in #537
- fix: channel health probe timestamps by @looplj in #538
- chore: sync model developers data by @github-actions[bot] in #545
- fix: support both parameters and parametersJsonSchema in Gemini transformer by @mcowger in #542
- fix: correct Gemini token count conversion to prevent negative candidatesTokenCount by @mcowger in #541
- fix: resolve Vite build failures on macOS with cross-platform Docker builds by @mcowger in #544
- fix: preserve reasoning budget tokens through request pipeline and add Gemini 3 enhanced support by @mcowger in #543
- feat: backup and restore api keys by @looplj in #546
- doc: unify development documents by @looplj in #547
- fix: include empty delta field in finish_reason events for openai-go client compatibility by @mcowger in #548
- docs: clarify regex pattern anchoring in model associations by @mcowger in #549
- feat: introduce prompts management and inject, close #411 by @looplj in #551
- opt: remove duplicated i18n key by @looplj in #553
- doc: clarify the model association rule priority and channel weight by @looplj in #555
- chore: increase the max sse buffer size to 32M, close #554 by @looplj in #556
- opt: add stream field to requext execution by @looplj in #557
New Contributors
- @WY-WY-W made their first contribution in #509
- @mcowger made their first contribution in #516
- @billow96 made their first contribution in #524
Full Changelog: v0.7.11...v0.8.0