Skip to main content
npx -y @maximhq/bifrost --transport-version v1.5.0-prerelease5
Bifrost(HTTP)
1.5.0-prerelease5

✨ Features

  • Access Profiles via Config β€” Seed enterprise access profiles declaratively from config.json and Helm values at deploy time, including provider restrictions, model allowlists, budgets, rate limits, and MCP server/tool controls
  • Key IDs in Helm β€” key_ids is now the preferred field for pinning provider keys in Helm virtual key configurations, aligning Helm values with config.json schema

🐞 Fixed

  • Fallback Stream State β€” Clear BifrostContextKeyStreamEndIndicator before fallback requests so stale streaming state doesn’t carry into retries
  • Access Profile Rate Limits β€” Rate limit counters for access profiles were always showing 0; now persisted correctly to the database
  • Helm Encryption Key β€” encryptionKey is now properly optional for Helm StatefulSet deployments when using a Kubernetes secret reference
  • Teams View OSS/Enterprise Split β€” Extracted full TeamsView into the shared fallback component so it works correctly in OSS builds; fixed pagination offset snap-back and RBAC loading state race

✨ Features

  • Claude Opus 4.7 β€” Added compatibility for Anthropic’s Claude Opus 4.7 model, including adaptive thinking, task-budgets beta header, display parameter handling, and β€œxhigh” effort mapping
  • Anthropic Structured Outputs β€” Added response_format and structured output support for Anthropic models across chat completions and Responses API, 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 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
  • OCR Request Support β€” Added OCR request type with stream terminal detection, full body accumulation for passthrough streams, input logging with detail view, and per-request pricing support
  • Team Budgets β€” New team budget system with per-team spending tracking, atomic ratelimit updates, and database structure support
  • Single Log Export β€” Export individual log entries from the logs view and MCP logs sheet
  • Deny-by-Default Virtual Keys β€” Virtual key provider and MCP configs now block all access when empty; automatic migration backfills existing keys to preserve behavior
  • User Agent Detection β€” Improved multi-user-agent detection with tool call reduplication fix for mixed-client environments
  • Per-User OAuth Codemode β€” OAuth server selection and validation per-user in codemode

🐞 Fixed

  • Provider Queue Shutdown Panic β€” Eliminated send on closed channel panics in provider queue shutdown by leaving channels open and exiting workers via the done signal; stale producers transparently re-route to new queues during UpdateProvider
  • OpenAI Tool Result Output β€” Flatten array-form tool_result output into a newline-joined string for the Responses API so strict upstreams (Ollama Cloud, openai-go typed models) no longer reject with HTTP 400 (thanks @martingiguere!)
  • vLLM Token Usage β€” Treat delta.content="" the same as nil in streaming so the synthesis chunk retains its finish_reason, restoring token usage attribution in logs and UI
  • Gemini Tool Outputs β€” Handle content block tool outputs in Responses API path for function_call_output messages (thanks @tom-diacono!)
  • Bedrock Streaming β€” Emit message_stop event for Anthropic invoke stream and case-insensitive anthropic-beta header 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 β€” Preserve thinkingLevel parameters across round-trip conversions and correct 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
  • Tool Execution Header β€” Remove redundant static header assignment in tool execution flow
  • Virtual Key Configs β€” Virtual key configurations cleaned up correctly on provider changes; fix key creation and management edge cases
  • Virtual Key Management β€” Fix virtual key creation validation and update handling
  • vLLM Extra Params β€” Extra parameters now properly passed through to vLLM providers
  • OAuth Query Params β€” Preserve existing query parameters when building OAuth upstream authorize URLs
  • Streaming Timeouts β€” Separate streaming clients per provider to prevent read timeout collisions
  • Plugin Timer Concurrency β€” Fix concurrent map access in plugin timer causing potential race conditions
  • 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 Insecure Default β€” OTel plugin now defaults insecure to true when omitted, enabling HTTP collectors without explicit config; OTel semconv updated to v1.40.0
  • Helm mcpClientConfig β€” Fixed templating for mcpClientConfig (thanks @crust3780!)
  • Helm Chart β€” Refreshed helm chart with validation fixes
Core
1.5.4
  • fix: clear BifrostContextKeyStreamEndIndicator value in context for fallback requests
Framework
1.3.4
  • chore: upgraded core to v1.5.4
compat
0.1.3
  • chore: upgraded core to v1.5.4 and framework to v1.3.4
governance
1.5.4
  • fix: dump all rate limits to DB including access profiles β€” access profile rate limit counters were always showing 0 in the UI due to missing range in DumpRateLimits
  • chore: upgraded core to v1.5.4 and framework to v1.3.4
jsonparser
1.5.4
  • chore: upgraded core to v1.5.4 and framework to v1.3.4
logging
1.5.4
  • chore: upgraded core to v1.5.4 and framework to v1.3.4
maxim
1.6.4
  • chore: upgraded core to v1.5.4 and framework to v1.3.4
mocker
1.5.4
  • chore: upgraded core to v1.5.4 and framework to v1.3.4
otel
1.2.4
  • chore: upgraded core to v1.5.4 and framework to v1.3.4
prompts
1.0.4
  • chore: upgraded core to v1.5.4 and framework to v1.3.4
semanticcache
1.5.4
  • chore: upgraded core to v1.5.4 and framework to v1.3.4
telemetry
1.5.4
  • chore: upgraded core to v1.5.4 and framework to v1.3.4