v1.0.0-beta3
fosrl/pangolinv1.0.0-beta3Jun 11, 2026by looplj
AI Summary
Adds OpenAI audio APIs (TTS/STT) with SSE streaming, support for Redis multi mode, and various bug fixes including cache refreshing and memory leaks.
Key Highlights
- Added OpenAI audio APIs (TTS / STT) with SSE streaming.
- Support for Redis multi mode.
- Channel retryable status codes.
- IP blocklist settings.
New Features
- OpenAI audio APIs (TTS/STT).
- Redis multi mode support.
- Channel retryable status codes.
- IP blocklist settings.
- Modalities field in models API.
Full Release Notes
## What's Changed * chore: 调整图像输入size大小限制 by @sxueck in https://github.com/looplj/axonhub/pull/1769 * feat: add modalities field to /v1/models API response by @MoshiCoCo in https://github.com/looplj/axonhub/pull/1772 * feat: add IP blocklist settings by @hen7777777 in https://github.com/looplj/axonhub/pull/1771 * fix(frontend): guard execution channel query by permission by @MoeMion in https://github.com/looplj/axonhub/pull/1770 * opt: backup/restore usages logs seprated, close #1712 by @looplj in https://github.com/looplj/axonhub/pull/1766 * chore: upgrade claude code headers by @looplj in https://github.com/looplj/axonhub/pull/1774 * fix: allow users to update language preference by @evanhon0110 in https://github.com/looplj/axonhub/pull/1782 * fix: cache did not refresh sometime by @looplj in https://github.com/looplj/axonhub/pull/1783 * fix(datastorage): remove unbounded in-memory cache of request/response bodies (OOM) by @suixinio in https://github.com/looplj/axonhub/pull/1781 * fix(llm): claude code quota check header by @looplj in https://github.com/looplj/axonhub/pull/1785 * feat(openapi): add apiKeyQuotaUsages query for service-account keys by @suixinio in https://github.com/looplj/axonhub/pull/1779 * fix(openai): aggregate stream choices by index to avoid nil panic by @SAY-5 in https://github.com/looplj/axonhub/pull/1775 * chore: upgrade quic by @looplj in https://github.com/looplj/axonhub/pull/1786 * feat: add OpenAI audio APIs (TTS / STT) with SSE streaming by @EmccK in https://github.com/looplj/axonhub/pull/1784 * chore: sync model developers data by @github-actions[bot] in https://github.com/looplj/axonhub/pull/1795 * fix(audio): 修复 TTS 流式 Accept、外部存储与持久化内存占用 by @EmccK in https://github.com/looplj/axonhub/pull/1792 * feat(channels): adding Anthropic messages API format support to the OpenCodeGo channel (#1751) by @MoshiCoCo in https://github.com/looplj/axonhub/pull/1791 * feat: support redis multi mode by @wangYX657211334 in https://github.com/looplj/axonhub/pull/1788 * refactor(neuralwatt): replace current_period_start/end with kwh_reset_date by @djdembeck in https://github.com/looplj/axonhub/pull/1794 * fix: preserve Responses function call namespace by @DevilSi0722 in https://github.com/looplj/axonhub/pull/1797 * feat: 添加响应超时重试配置 by @xuyufengfei in https://github.com/looplj/axonhub/pull/1804 * feat: add evolink provider by @EvoLinkAI in https://github.com/looplj/axonhub/pull/1773 * feat(quota): add Apertis quota monitoring and refactor openai_responses handling by @djdembeck in https://github.com/looplj/axonhub/pull/1793 * feat: channel retryable statu codes, close #1803 by @looplj in https://github.com/looplj/axonhub/pull/1807 * feat: route with media condition, close #1729 by @looplj in https://github.com/looplj/axonhub/pull/1809 ## New Contributors * @MoeMion made their first contribution in https://github.com/looplj/axonhub/pull/1770 * @evanhon0110 made their first contribution in https://github.com/looplj/axonhub/pull/1782 * @SAY-5 made their first contribution in https://github.com/looplj/axonhub/pull/1775 * @EmccK made their first contribution in https://github.com/looplj/axonhub/pull/1784 * @DevilSi0722 made their first contribution in https://github.com/looplj/axonhub/pull/1797 * @xuyufengfei made their first contribution in https://github.com/looplj/axonhub/pull/1804 * @EvoLinkAI made their first contribution in https://github.com/looplj/axonhub/pull/1773 **Full Changelog**: https://github.com/looplj/axonhub/compare/v1.0.0-beta2...v1.0.0-beta3