v0.9.32

looplj/axonhubv0.9.32Apr 13, 2026by looplj

AI Summary

Adds performance controls like RPM and concurrency settings, latency awareness, and webhook notifications.

Key Highlights

  • Added channel RPM and concurrency settings
  • Added latency aware strategy
  • Added image generation support to NanoGPT channel
  • Added webhook notification when channel disabled

New Features

  • Channel RPM and concurrency settings
  • Latency aware strategy
  • NanoGPT image generation support
  • Webhook notifications
  • Batch test channel API keys

Full Release Notes

## What's Changed
* feat: channel rpm settings, close #746 by @looplj in https://github.com/looplj/axonhub/pull/1320
* feat: channel concurrency settings, close #1130 by @looplj in https://github.com/looplj/axonhub/pull/1322
* chore(deps): upgrade aws eventstream by @looplj in https://github.com/looplj/axonhub/pull/1332
* feat: add kwaipilot developer catalog support by @llc1123 in https://github.com/looplj/axonhub/pull/1328
* feat: repsect channel response with retry after, close #858 by @looplj in https://github.com/looplj/axonhub/pull/1333
* chore(i18n): 补充模型开发者本地化标签 by @llc1123 in https://github.com/looplj/axonhub/pull/1334
* feat: add latency aware strategy, close #962 by @looplj in https://github.com/looplj/axonhub/pull/1339
* feat: add image generation support to NanoGPT channel by @djdembeck in https://github.com/looplj/axonhub/pull/1345
* fix(codex): 修复下游无 system message 时 Codex 渠道返回 400 的问题 by @llc1123 in https://github.com/looplj/axonhub/pull/1346
* feat: Add configurable default response mode for /v1/models by @raikyou in https://github.com/looplj/axonhub/pull/1347
* chore(i18n): fix zh-CN name placeholders by @qaqland in https://github.com/looplj/axonhub/pull/1349
* opt: minor theme optimization by @looplj in https://github.com/looplj/axonhub/pull/1354
* feat: batch test channesl api keys, close #1318 by @looplj in https://github.com/looplj/axonhub/pull/1356
* fix: auto reg anchor, close #1355 by @looplj in https://github.com/looplj/axonhub/pull/1359
* fix: do not unescape json for request/reponse body, close #1357 by @looplj in https://github.com/looplj/axonhub/pull/1360
* fix: curl generator for gemini vertex, close #1329 by @looplj in https://github.com/looplj/axonhub/pull/1363
* feat: add webhook notification when channel disabled, close #1315 by @looplj in https://github.com/looplj/axonhub/pull/1365
* fix: quota check infifite loop by @looplj in https://github.com/looplj/axonhub/pull/1366
* feat: add proxy to webhook target by @looplj in https://github.com/looplj/axonhub/pull/1367
* fix(anthropic): derive prompt cache key from request context by @zccrs in https://github.com/looplj/axonhub/pull/1350
* feat: allow view test history by @looplj in https://github.com/looplj/axonhub/pull/1371
* fix: should filter out custom tool for non response channel, close #1370 by @looplj in https://github.com/looplj/axonhub/pull/1372
* fix(copilot): infer X-Initiator from message role for quota tracking by @djdembeck in https://github.com/looplj/axonhub/pull/1375
* feat: add nanogpt_responses channel type by @djdembeck in https://github.com/looplj/axonhub/pull/1376
* feat: add condition to the model association, close #535 by @looplj in https://github.com/looplj/axonhub/pull/1379
* feat: project/apikey profile allow exclude channel tags, close #1331 by @looplj in https://github.com/looplj/axonhub/pull/1382

## New Contributors
* @qaqland made their first contribution in https://github.com/looplj/axonhub/pull/1349
* @zccrs made their first contribution in https://github.com/looplj/axonhub/pull/1350

**Full Changelog**: https://github.com/looplj/axonhub/compare/v0.9.31...v0.9.32