- NPX
- Docker
✨ Features
- Claude Opus 4.7 Support — Added compatibility for Anthropic’s Claude Opus 4.7 model, including adaptive thinking, task-budgets beta header,
displayparameter handling, and “xhigh” effort mapping - Anthropic Structured Outputs — Added
response_formatand structured output support for Anthropic models across chat completions and Responses API, including JSON-schema and JSON-object formats with order-preserving merge of additional model request fields (thanks @emirhanmutlu-natuvion!) - MCP Tool Annotations — Preserve MCP tool annotations (
title,readOnly,destructive,idempotent,openWorld) in bidirectional conversion between MCP tools and Bifrost chat tools so agents can reason about tool behavior - Anthropic Server Tools — Expanded Anthropic chat schema and Responses converters to surface server-side tools (web search, code execution, computer use containers) end-to-end
🐞 Fixed
- Provider Queue Shutdown Panic — Eliminated
send on closed channelpanics in provider queue shutdown by leaving queue channels open and exiting workers via thedonesignal; stale producers transparently re-route to new queues duringUpdateProvider, with rollback on failed updates - OpenAI Tool Result Output — Flatten array-form
tool_resultoutput into a newline-joined string before marshaling for the Responses API so strict upstreams (Ollama Cloud, openai-go typed models) no longer reject it with HTTP 400; non-text blocks (images, files) are preserved (thanks @martingiguere!) - vLLM Token Usage — Treat
delta.content=""the same asnilin streaming so the synthesis chunk retains itsfinish_reason, restoring token usage attribution in logs and UI - Config Schema Validator — Corrected JSON-path lookups for concurrency and SCIM blocks in the schema validation script, and reformatted
transports/config.schema.jsonfor readability - CI Egress Hardening — Switched
step-security/harden-runnerfromaudittoblockacross all GitHub Actions workflows with explicitallowed-endpointsper job - Gemini Tool Outputs — Handle content block tool outputs in Responses API path for
function_call_outputmessages (thanks @tom-diacono!) - Bedrock Streaming — Emit
message_stopevent for Anthropic invoke stream and case-insensitiveanthropic-betaheader merging (thanks @tefimov!) - Bedrock Tool Images — Preserve image content blocks in tool results when converting Anthropic Messages to Bedrock Converse API (thanks @Edward-Upton!)
- Gemini Thinking Level — Preserved
thinkingLevelparameters across round-trip conversions and corrected finish reason mapping - Anthropic WebSearch — Removed the Claude Code user agent restriction so WebSearch tool arguments flow for all clients
- Responses Streaming Errors — Capture errors mid-stream in the Responses API so transport clients see failures instead of silent termination
- Anthropic Request Fallbacks — Dropped fallback fields from outgoing Anthropic requests to avoid schema validation errors
- Async Context Propagation — Preserve context values in async requests so downstream handlers retain request-scoped data
- Custom Providers — Allow custom providers without a list-models endpoint to accept any model rather than restricting on virtual key registration
- OTEL Plugin — Default
insecuretotruein config.json and include fallbacks in emitted OTEL metrics - Payload Marshalling — Removed unnecessary marshalling of payload in the transport path
- Helm mcpClientConfig — Fixed templating for
mcpClientConfig(thanks @crust3780!) - Helm Chart — Refreshed the helm chart with validation fixes and removed the prerelease tag
- fix: OpenAI provider - flatten array-form tool_result output for Responses API (thanks @martingiguere!)
- fix: Gemini provider - handle content block tool outputs in Responses API path (thanks @tom-diacono!)
- fix: case-insensitive
anthropic-betamerge inMergeBetaHeaders - fix: Bedrock provider - emit message_stop event for Anthropic invoke stream (thanks @tefimov!)
- fix: Bedrock provider - preserve image content in tool results for Converse API (thanks @Edward-Upton!)
- fix: gemini preserves thinkingLevel parameters during round-trip and finish reason mapping
- fix: WebSearch tool argument handling for all clients by removing the Claude Code user agent restriction
- fix: capture responses streaming API errors
- fix: delete fallbacks from outgoing Anthropic requests
- feat: claude-opus-4-7 compatibility
- fix: token usage for vllm
- chore: upgraded core to v1.4.20
- fix: preserve context values in async requests
- fix: capture responses streaming API errors
- fix: otel plugin fixes
- fix: allow custom providers without a list models endpoint to register any model
- chore: upgraded core to v1.4.20 and framework to v1.2.39
- fix: allow custom providers without a list models endpoint to pass in any model rather than restrict it on vk
- chore: upgraded core to v1.4.20 and framework to v1.2.39
- chore: upgraded core to v1.4.20 and framework to v1.2.39
- chore: upgraded core to v1.4.20 and framework to v1.2.39
- fix: capture responses streaming API errors
- chore: upgraded core to v1.4.20 and framework to v1.2.39
- chore: upgraded core to v1.4.20 and framework to v1.2.39
- chore: upgraded core to v1.4.20 and framework to v1.2.39
- fix: sets default for
insecuretotruefor config.json - fix: includes fallbacks in otel metrics
- chore: upgraded core to v1.4.20 and framework to v1.2.39
- chore: upgraded core to v1.4.20 and framework to v1.2.39

