v1.0.0-beta7

looplj/axonhubv1.0.0-beta7Aug 11, 2026by looplj

AI Summary

This beta release focuses on stabilizing the AxonHub platform with extensive improvements to moderation, provider quota management, and backup/restore systems. It introduces new channel integrations like Groq and Qiniu/Fenno, enhances frontend responsiveness, and resolves critical issues regarding streaming, SQLite compatibility, and response data handling.

Key Highlights

  • Added support for Groq and Qiniu/Fenno channels.
  • Implemented backup and restore functionality for system configuration.
  • Added provider quota collection controls.
  • Improved frontend responsiveness and redesigned the request log table.
  • Fixed streaming and response handling issues, including SQLite time format compatibility.

New Features

  • Provider quota collection controls
  • Backup & restore systems config
  • Response with trace headers
  • Check new beta version
  • Configurable max_multipart_memory for backup restore
  • Per-channel API key rule actions
  • Model load balance strategy
  • Permissions align with UI access
  • Unified API key management dialog with bulk import
  • Per-credential auto disable with scheduled recovery
  • Profile templates sync and transfer
  • Thinkingmachines as model developer
  • Request cache rate display

Full Release Notes

## What's Changed
* fix: handle moderation responses in empty response detection by @Silentely in https://github.com/looplj/axonhub/pull/2099
* feat: add provider quota collection controls by @Silentely in https://github.com/looplj/axonhub/pull/2103
* fix(gemini): preserve file data MIME type for Vertex by @llc1123 in https://github.com/looplj/axonhub/pull/2091
* feat: backup & restore systems config, close #2101 by @looplj in https://github.com/looplj/axonhub/pull/2104
* feat: response with trace headers, close #2100 by @looplj in https://github.com/looplj/axonhub/pull/2107
* feat: check new beta version, close #2097 by @looplj in https://github.com/looplj/axonhub/pull/2111
* fix(frontend): improve requests table mobile responsiveness by @djdembeck in https://github.com/looplj/axonhub/pull/2118
* fix: reuse bundled Windows binary by @Jonesxq in https://github.com/looplj/axonhub/pull/2119
* fix(analytics): support MySQL for channel stats by @ChancenJ in https://github.com/looplj/axonhub/pull/2123
* fix: 修正拼写错误“oltphttp”->“otlphttp” by @bookshiyi in https://github.com/looplj/axonhub/pull/2121
* fix(frontend): load theme fonts by @llc1123 in https://github.com/looplj/axonhub/pull/2122
* fix(responses): keep images in tool results instead of dropping them by @GhostFlying in https://github.com/looplj/axonhub/pull/2117
* feat: add configurable max_multipart_memory for backup restore by @vincentyzhj in https://github.com/looplj/axonhub/pull/2126
* feat: add per-channel API key rule actions by @Lxiny-zy in https://github.com/looplj/axonhub/pull/2120
* fix(transformer): 合并连续 function_call/custom_tool_call 为单条 assistant 消息 by @Snowy117 in https://github.com/looplj/axonhub/pull/2114
* fix(responses): scope fallback prompt_cache_key per conversation by @Kizunad in https://github.com/looplj/axonhub/pull/2031
* feat(permissions): align project roles with UI access by @brynne8 in https://github.com/looplj/axonhub/pull/2095
* feat: model load balance strategy by @looplj in https://github.com/looplj/axonhub/pull/2127
* chore: sync model developers data by @github-actions[bot] in https://github.com/looplj/axonhub/pull/2131
* fix: admin page permission  protect by @hen7777777 in https://github.com/looplj/axonhub/pull/2138
* fix(responses): handle reasoning text stream events by @cesaryuan in https://github.com/looplj/axonhub/pull/2151
* fix: harden MemorySize parsing and document max_multipart_memory by @vincentyzhj in https://github.com/looplj/axonhub/pull/2145
* fix(openai): keep message content valid for strict upstreams by @Lxiny-zy in https://github.com/looplj/axonhub/pull/2137
* fix(frontend): constrain quota popover width on mobile by @KremeCN in https://github.com/looplj/axonhub/pull/2143
* fix(frontend): prevent system settings double scroll by @KremeCN in https://github.com/looplj/axonhub/pull/2142
* fix(cline): align quota windows with API behavior by @KremeCN in https://github.com/looplj/axonhub/pull/2141
* feat(cline): fetch recommended models dynamically by @KremeCN in https://github.com/looplj/axonhub/pull/2140
* feat(channels): add Groq channel by @rupaut98 in https://github.com/looplj/axonhub/pull/2144
* fix(transform): add channel switch to downgrade mid-conversation system messages by @AkaChou in https://github.com/looplj/axonhub/pull/2124
* feat(requests): show final reasoning_effort in request logs by @AkaChou in https://github.com/looplj/axonhub/pull/2158
* feat(channels): unified API key management dialog with bulk import by @Lxiny-zy in https://github.com/looplj/axonhub/pull/2156
* fix(cline): normalize empty message content by @KremeCN in https://github.com/looplj/axonhub/pull/2155
* fix(frontend): align analytics filter UX by @cesaryuan in https://github.com/looplj/axonhub/pull/2154
* fix(responses): preserve function calls completed in done events by @MrLiuGangQiang in https://github.com/looplj/axonhub/pull/2057
* feat(requests): redesign request log table by @brynne8 in https://github.com/looplj/axonhub/pull/2162
* perf(frontend): virtualize model price dialog to fix lag with many models by @suixinio in https://github.com/looplj/axonhub/pull/2163
* feat: add sse keep alive, close #2146 by @looplj in https://github.com/looplj/axonhub/pull/2157
* chore: sync model developers data by @github-actions[bot] in https://github.com/looplj/axonhub/pull/2176
* feat(channels): per-credential auto disable with scheduled recovery by @zhaozhaozz in https://github.com/looplj/axonhub/pull/2180
* fix(responses): preserve polymorphic reasoning and Codex metadata by @MedAIerHHL in https://github.com/looplj/axonhub/pull/2178
* feat(apikeys): sync and transfer profile templates by @MedAIerHHL in https://github.com/looplj/axonhub/pull/2177
* fix(responses): report truncation and failure in streaming conversion by @Lxiny-zy in https://github.com/looplj/axonhub/pull/2171
* fix(responses): 兼容 Responses API created_at 的浮点整数形式 by @Silentely in https://github.com/looplj/axonhub/pull/2187
* fix(stream): report incomplete streams to the client by @zhaozhaozz in https://github.com/looplj/axonhub/pull/2185
* request 请求体支持 对话阅览 模式,便于请求体数据查看 by @qintang in https://github.com/looplj/axonhub/pull/2182
* feat: add qiniu/fenno channel by @looplj in https://github.com/looplj/axonhub/pull/2188
* fix(claude-code): automate cache compatibility and OpenAI effort mapping by @AkaChou in https://github.com/looplj/axonhub/pull/2172
* feat(models): add thinkingmachines as model developer by @djdembeck in https://github.com/looplj/axonhub/pull/2190
* fix(sqlite-time-format-compat): 兼容 SQLite TEXT 时间戳格式并修复 backup 注册时区退化 by @Silentely in https://github.com/looplj/axonhub/pull/2189
* chore: add log for chat heartbeat by @looplj in https://github.com/looplj/axonhub/pull/2191
* feat: show request cache rate, close #2170 by @looplj in https://github.com/looplj/axonhub/pull/2193
* fix(responses): retry incomplete streams before done by @wtj-0527 in https://github.com/looplj/axonhub/pull/2192
* fix: model associate condition caused model not found, close #2183 by @looplj in https://github.com/looplj/axonhub/pull/2194

## New Contributors
* @Jonesxq made their first contribution in https://github.com/looplj/axonhub/pull/2119
* @bookshiyi made their first contribution in https://github.com/looplj/axonhub/pull/2121
* @vincentyzhj made their first contribution in https://github.com/looplj/axonhub/pull/2126
* @Lxiny-zy made their first contribution in https://github.com/looplj/axonhub/pull/2120
* @Snowy117 made their first contribution in https://github.com/looplj/axonhub/pull/2114
* @Kizunad made their first contribution in https://github.com/looplj/axonhub/pull/2031
* @rupaut98 made their first contribution in https://github.com/looplj/axonhub/pull/2144
* @AkaChou made their first contribution in https://github.com/looplj/axonhub/pull/2124
* @MrLiuGangQiang made their first contribution in https://github.com/looplj/axonhub/pull/2057
* @qintang made their first contribution in https://github.com/looplj/axonhub/pull/2182
* @wtj-0527 made their first contribution in https://github.com/looplj/axonhub/pull/2192

**Full Changelog**: https://github.com/looplj/axonhub/compare/v1.0.0-beta6...v1.0.0-beta7