github QuantumNous/new-api v1.0.0-rc.38
v1.0.0-rc.38 — Responses WebSocket & Request Policies

5 hours ago

Important

Request Policies & Channels / 请求策略与渠道

系统设置新增请求策略:集中配置请求检查、会话与重试、渠道健康,并在使用日志中留下策略决策记录。

渠道创建与编辑补充快捷选项、透传说明,以及模型重定向工作台。高级自定义渠道可按路径单独开启透传。新增 vLLM、SGLang 渠道;Ollama 渠道可按渠道开启 OpenAI 兼容对话。

渠道可开启 Responses WebSocket。高级自定义、Sub2API、New API 渠道在开关打开后可用;高级自定义仅用于无转换的 /v1/responses

System Settings now includes Request policies: Request checks, Sessions and retries, and Channel health, with policy decision records on Usage Logs.

Channel create and edit add Quick options, Pass-through guidance, and a Model Mapping workbench. Advanced Custom channels can enable Pass-through per path. vLLM and SGLang channels are added. Ollama channels can enable OpenAI-compatible chat per Channel.

Channels can enable Responses WebSocket. Advanced Custom, Sub2API, and New API channels can use it when the toggle is on. Advanced Custom only uses converter-free /v1/responses paths.

Warning

Experimental Plugin System / 实验性插件系统

自 v1.0.0-rc.27 起引入的实验性插件系统仍处于测试阶段,并涉及较大的架构调整。如遇问题,请及时反馈。

从 v1.0.0-rc.26 或更早版本升级的用户,必须重新配置所有视频模型价格;已完成该配置的用户无需重复操作。本版本仍不推荐用于生产环境。

The experimental plugin system introduced in v1.0.0-rc.27 remains under testing and includes major architectural changes. Please report any issues promptly.

Users upgrading from v1.0.0-rc.26 or earlier must reconfigure all video model prices. Users who have already completed this step do not need to repeat it. This release is still not recommended for production use.

New Features

  • Added Request policies in System Settings: Request checks, Sessions and retries, and Channel health, with policy decision records on Usage Logs.
  • Added Responses WebSocket relay, with a per-Channel toggle. Advanced Custom, Sub2API, and New API channels can use it when enabled; Advanced Custom only uses converter-free /v1/responses.
  • Added a Model Mapping workbench, Quick options, and Pass-through controls in the Channel editor. Advanced Custom channels can enable Pass-through per path.
  • Added vLLM and SGLang channels. Ollama channels can enable OpenAI-compatible chat per Channel.
  • Added filtered task history and cleanup in System Info.
  • Show subscription deductions on Usage Logs, and flag Response model mismatch when the upstream model differs.

Fixes and Improvements

  • Interrupted Responses streams no longer settle at zero and refund the whole pre-consume Quota; estimated usage is billed unless upstream reported an explicit failure (#7427).
  • Count Images by payload for Quota, and map image output token details into image-output billing (#7410).
  • Hailuo / MiniMax Task Plugins bill only the dimensions each model family supports.
  • Reserve model rate-limit slots and judge success by the response outcome, not HTTP status alone.
  • Hide Task Plugin keys from the public no-Channel 503, while keeping plugin context for operators (#7414).
  • Reject Gemini :countTokens as an unknown path instead of treating it as generateContent (#7388).
  • Request stream usage on every cross-protocol conversion to OpenAI chat (#7389).
  • Preserve Ollama tool calls from the final stream frame (#7376).
  • Restore saved compatible Passkey domains; fix DeepSeek Channel balance fetch (#6814); accept mixed-case audio extensions (#7321).
  • Handle legacy database constraints and scoped authorization policies on upgrade.

What's Changed

  • test(web): stabilize flaky frontend suite timeouts and motion visibility races by @RedwindA in #7367
  • fix: unify model provider detection and add Wan icon by @seefs001 in #7373
  • fix(dashboard): align weekly default range with available preset by @jimmyleocn in #7355
  • fix(web): prevent combobox dropdowns opening on dialog autofocus by @RedwindA in #7365
  • fix(audio): case-insensitive file extension in GetAudioDuration by @chiliec in #7321
  • fix(pricing): keep model status bar spacing uniform by @jimmyleocn in #7284
  • Add Responses WebSocket relay support by @KoSukeWork in #5062
  • feat: vllm channel && sglang channel by @seefs001 in #7332
  • fix(pricing): 修复排序菜单打开时导航栏横向位移 by @jimmyleocn in #7145
  • fix(ollama): preserve tool calls from final stream frame | 保留流式末尾帧的 tool calls by @zcxads666 in #7376
  • feat(channel): 修复获取DeepSeek余额错误 by @sszj987-crypto in #6814
  • feat(rate-limit): optimize in-memory limiter allocation and cleanup by @sszj987-crypto in #6807
  • feat(ollama): add per-channel OpenAI-compatible chat switch by @seefs001 in #7382
  • fix(gemini): accept case-insensitive thinkingLevel by @seefs001 in #7387
  • fix(gemini): reject :countTokens as an unknown route by @seefs001 in #7388
  • fix(relay): request stream usage on every cross-protocol conversion by @seefs001 in #7389
  • feat: per-route pass-through for advanced custom channels by @seefs001 in #7386
  • fix(middleware): 隐藏无可用渠道错误中的任务插件标识 by @blackdm666 in #7414
  • docs(github): tighten issue and PR templates for pass-through by @seefs001 in #7438
  • refactor: show subscription deductions and improve cost display by @seefs001 in #7272
  • feat(log): flag upstream response model mismatches by @seefs001 in #7418
  • fix(relay): 将 Images 的 output_tokens_details 映射到 img_o by @sxhstc in #7410
  • fix(responses): estimate usage for streams cut before terminal usage by @Calcium-Ion in #7427
  • doc: fix issue template by @seefs001 in #7441

New Contributors

Full Changelog: v1.0.0-rc.37...v1.0.0-rc.38

Don't miss a new new-api release

NewReleases is sending notifications on new releases.