Skip to main content
npx -y @maximhq/bifrost --transport-version v1.6.0
Bifrost(HTTP)
1.6.0

✨ Features

  • Runware Provider — Added Runware provider support, including image and video generation operations
  • Runway Image Operations — Added Runway image generation operations
  • Customer Attribution — Added x-bf-customer-id and x-bf-customer-name header support for per-customer attribution
  • Enriched Model Listinglist models now returns ContextLength, MaxInputTokens, MaxOutputTokens, Architecture, and WebSearch pricing sourced from pricing entries
  • Streaming Pause/Resume — Added pause/resume flows for streaming calls
  • Session Trace Grouping — Added group_traces_by_session support to the OTEL/Datadog plugins
  • Root Span Content Toggle — Added a toggle to disable root-span content logging
  • Password Policy — Added password-policy validation with inline error and sticky save button to the security view
  • Error Sanitization — Internal error details (stack traces, SQL) are now sanitized before being sent to clients
  • Cluster Discovery Env Refs — Added env.VAR_NAME support to dns_names in cluster discovery config
  • Server Logs Config — Added configurable server logging
  • Bedrock Streaming Errors — Added __type return for Bedrock errors in streaming paths
  • Secret References — Added typed SecretVar env/vault reference support (env.*, vault.*) across config and UI, replacing EnvVar

🐞 Fixed

  • Streaming Memory — Reduced memory usage on streaming request/response paths
  • Provider Config Syncallow_all_keys and blacklisted_models now sync from the config.json source of truth (thanks @acarpe!) (closes #4640)
  • Provider Keys PayloadPUT /api/providers/{provider} no longer silently discards keys/blocked-model edits (thanks @aeciolevy!) (closes #4648)
  • Custom Header Base URL — Fixed base-URL protocol handling when a custom header is set
  • VK Quota Usage — Fixed the start time for virtual-key quota model usage
  • Model Budgets — Fixed model budget attachment from virtual keys
  • Structured Streaming Errors — Preserved structured errors for streaming plugin blocks
  • Log Hygiene — Removed leaking request bodies from console logs

🐙 Closed GitHub Issues

  • #2347 — MCP tool ordering is non-deterministic, breaking prefix-based prompt caching
  • #3443 — Anthropic→OpenAI streaming tool_call deltas violate OpenAI spec on continuation chunks
  • #4068 — Bedrock: mid-conversation system messages hoisted into top-level system block break prompt caching
  • #4413 — OpenAI Responses streaming returns empty error.message on context_length_exceeded
  • #4460 — GLM-5.2 reasoning_effort “max” silently downgraded to “high”
  • #4496 — Frequent intermittent broken pipe / closed connection errors with vllm provider
  • #4544 — Cerebras + /anthropic endpoint fails after first turn with 400 provider API error
  • #4606 — Realtime socket request observability logs not recorded since v1.5.2
  • #4608 — ResponsesMessage drops author/recipient/encrypted_content, breaking Codex multi_agent_v2 subagent spawning
  • #4617 — idle-timeout timer goroutine can panic in closeBodyStream and crash the process
  • #4622 — Bedrock Converse document blocks with format xlsx/xls/doc/docx silently rewritten to pdf
  • #4627 — Gemini video reference fields sent under parameters
  • #4640 — provider config key_ids:["*"] not synced to allow_all_keys for existing virtual keys
  • #4648PUT /api/providers/{provider} silently discards payload.Keys
Core
1.6.0
  • feat: add Runware provider with image and video generation operations
  • feat: add Runway image generation operations
  • feat: add x-bf-customer-id and x-bf-customer-name header support
  • feat: enrich list models response with ContextLength, MaxInputTokens, MaxOutputTokens, Architecture, and WebSearch pricing from pricing entries
  • feat: add pause/resume flows for streaming calls
  • feat: add OpenCode gateway providers (Go, Zen) (thanks @neta79!)
  • feat: add advisor tool compatibility for Claude
  • feat: add Mantle list models endpoint and OpenAI-compatible endpoint support
  • feat: add typed SecretVar env/vault reference support (env.*, vault.*) with store/resolve/remove hooks, replacing EnvVar
  • fix: streaming memory improvements
  • fix: enrich Fireworks list models from config
  • fix(bedrock): correct GLM-5 stop sequences and remove erroneous web search error
  • fix(bedrock): broaden document file extension support (xlsx/xls/doc/docx) (closes #4622)
  • fix(bedrock): preserve tool_result order to match parallel tool_use blocks (thanks @alexef!)
  • fix(bedrock): inline mid-conversation system reminders to preserve prompt cache (thanks @mickgvirtu!) (closes #4068)
  • fix(bedrock): set TTL in cache points
  • fix: add GLM-5.2 to models supporting max reasoning effort (thanks @is911!) (closes #4460)
  • fix: retry on stale connections (closes #4496)
  • fix: drop assistant reasoning for Cerebras (closes #4544)
  • fix(gemini): map video reference fields to instances (thanks @vojthor!) (closes #4627)
  • fix: preserve request conversion for Gemini/Vertex batch requests
  • fix: populate error message in OpenAI responses streaming error events (thanks @Purvi09!) (closes #4413)
  • fix: preserve structured errors for streaming plugin blocks
  • fix: accept object-valued tool-call arguments (e.g. tool_search_call) on the Responses API streaming path (thanks @devonpmack!)
  • fix: add key pool filter
  • fix: ctx panic fix for fasthttp
  • fix: recover from closeBodyStream panic in idle-timeout timer goroutine (thanks @KamilDziemba!) (closes #4617)
  • fix(responses): preserve author, recipient, encrypted_content in multi-agent items and message copies (thanks @Shaik-Sirajuddin!) (closes #4608)
  • fix: anthropic tool call handling (thanks @rmarku!) (closes #3443)
  • fix: commit routing-pinned key ID to reserved BifrostContextKeyAPIKeyID after PreRequestHook unblock
  • fix: preserve extra_content on ChatAssistantMessageToolCall so provider-specific tool-call metadata (e.g. Gemini thought_signature) round-trips losslessly (thanks @nghodkicisco!)
  • fix: surface Anthropic prompt-cache diagnostics (cache-diagnosis-2026-04-07 beta) via new CacheDiagnostics/CacheMissReason schema
  • fix: deterministic MCP tool ordering for prompt cache stability (thanks @ahoblitz!) (closes #2347)
Framework
1.4.0
  • feat: add global GORM vault callbacks with VaultPathKeyer interface and map[string]EnvVar support, replacing per-model BeforeSave/AfterDelete vault hooks
  • feat: add typed SecretVar env/vault reference support (env.*, vault.*), replacing EnvVar
  • feat: add configurable server logs
  • fix: streaming memory improvements
  • fix: include allow_all_keys and blacklisted_models in virtual key hash (closes #4640)
  • fix: sync provider config allow_all_keys from config.json source of truth (thanks @acarpe!)
  • fix: populate error message in OpenAI responses streaming error events (thanks @Purvi09!)
  • fix: shift Add-column migrations to raw SQL
  • fix: add responses_input_history fallback to hybrid logstore check for logs UI
  • fix(responses): deep-copy author, recipient, encrypted_content in message copies (thanks @Shaik-Sirajuddin!)
  • refactor: replace gorm DropColumn with dropColumnIfExists helper
  • revert: TableVirtualKey.Value from SecretVar back to string, dropping env/vault reference support for virtual key values
compat
0.1.22
  • chore: upgraded core to v1.6.0 and framework to v1.4.0
governance
1.6.0
  • feat: add x-bf-customer-id and x-bf-customer-name support
  • chore: upgraded core to v1.6.0 and framework to v1.4.0
jsonparser
1.5.23
  • refactor: rename EnvVar to SecretVar
  • chore: upgraded core to v1.6.0 and framework to v1.4.0
logging
1.5.23
  • chore: upgraded core to v1.6.0 and framework to v1.4.0
maxim
1.6.23
  • refactor: rename EnvVar to SecretVar
  • chore: upgraded core to v1.6.0 and framework to v1.4.0
mocker
1.5.23
  • refactor: rename EnvVar to SecretVar
  • chore: upgraded core to v1.6.0 and framework to v1.4.0
modelcatalogresolver
1.0.4
  • chore: upgraded core to v1.6.0 and framework to v1.4.0
otel
1.3.0
  • feat: add group_traces_by_session support
  • feat: add root span content logging disable toggle
  • feat: add typed SecretVar env/vault reference support
  • chore: upgraded core to v1.6.0 and framework to v1.4.0
prompts
1.0.23
  • chore: upgraded core to v1.6.0 and framework to v1.4.0
semanticcache
1.5.23
  • refactor: rename EnvVar to SecretVar
  • chore: upgraded core to v1.6.0 and framework to v1.4.0
telemetry
1.5.23
  • refactor: rename EnvVar to SecretVar
  • feat: add typed SecretVar env/vault reference support
  • chore: upgraded core to v1.6.0 and framework to v1.4.0