Documentation Index
Fetch the complete documentation index at: https://docs.getbifrost.ai/llms.txt
Use this file to discover all available pages before exploring further.
Changelog
This release delivers hash-based config.json reconciliation for MCP tool groups, business units, and access profiles; a full gRPC-based cluster rewrite for improved node-to-node communication; and broad SCIM/SSO hardening including Azure credential injection via env vars, Google Directory ADC inheritance, and strengthened SCIM provider verify checks - built on OSS basetransports/v1.5.0-prerelease6.✨ Features
Config Reconciliation
- MCP Tool Group Reconciliation - MCP tool groups are now reconcilable from
config.jsonwith hash-based sync, preventing unnecessary MCP client restarts on config reload;tool_sync_intervalaccepts Go duration strings - Business Unit Reconciliation - Business units can be seeded and reconciled declaratively from
config.jsonwith hash-based sync; addedbusiness_units,team_id,calendar_aligned, andvirtual_key_countto governance schema and Helm - Access Profile Reconciliation - Access profiles are now reconcilable from
config.jsonat deploy time, including provider restrictions, model allowlists, budgets, rate limits, and MCP server/tool controls - Guardrail Rule Query Field - Added
queryfield support to guardrail rules config and reconciliation pipeline
Cluster & Infrastructure
- gRPC-based Custom Cluster - Full gRPC-based cluster implementation for enterprise-grade node-to-node communication with improved reliability
- Governance Config Sync - Model configs and provider governance bindings now sync from
config.jsonto the database at startup - Log Cluster Broadcasting Removed - Removed log cluster broadcasting and
EntityTypeLogmessage handling to reduce cluster gossip overhead
Security & SCIM
- SCIM Provider Verify Improvements - Strengthened verify checks across SCIM providers for more reliable directory sync validation
- Azure Credentials via Env Vars - Azure configuration fields now resolved from environment variables; TLS and proxy config fields (
url,username,password,ca_cert_pem) also acceptenv.VAR_NAMEfor secure secret injection - Deny-by-Default Virtual Keys - Virtual key provider and MCP configs block all access when empty; automatic migration backfills existing keys to preserve existing behavior
provider_key_nameAlias - Human-readable alias for routing targets and pricing overrides, resolved tokey_idat config load time
Enterprise Helm
- Enterprise Helm Overlays - Suite of composable Helm overlays for guardrails, org governance, access profiles, customer budgets, teams, multi-customer governance, and SCIM/SSO
- Semantic Cache Helm Layers - Added
values-semantic-search-redis.yamlandvalues-semantic-search-weaviate.yamlfor Redis and Weaviate-backed semantic cache deployments - Key IDs in Helm -
key_idsis now the preferred field for pinning provider keys in Helm virtual key configurations, aligning Helm withconfig.jsonschema
AI Provider Support
- Claude Opus 4.7 - Full support including adaptive thinking, task-budgets beta header,
displayparameter handling, and “xhigh” effort mapping - Anthropic Structured Outputs -
response_formatand JSON-schema/JSON-object support for Anthropic chat completions and Responses API - Anthropic Server Tools - End-to-end support for server-side tools: web search, code execution, and computer use containers
- MCP Tool Annotations - Preserve tool annotations (
title,readOnly,destructive,idempotent,openWorld) in bidirectional conversion so agents can reason about tool behavior
Routing & MCP
- Auto-fill Incoming Model for Fallbacks - Routing rule fallback entries can omit the model; the incoming request model is substituted automatically at runtime
- Namespace Tool Type - Namespace tool container type in Responses API; non-OpenAI providers receive automatically flattened tool lists
- MCP Tool Groups Governance Scoping -
tool_groupsconfig supports governance scoping by virtual key, team, customer, user, provider, and API key
Pricing & Observability
- Cache Creation Pricing - Cache creation details for Claude models with 5-minute and 1-hour TTL pricing tiers
- Period Parameter in Dashboard/Logs APIs - Added
periodparam to support relative time range queries on dashboard and logs endpoints - Team Budgets - New team budget system with per-team spending tracking and atomic ratelimit updates
- Single Log Export - Export individual log entries from the logs view and MCP logs sheet
UI
- User Ranking Graph - Updated user ranking graph layout and visualization
🐞 Fixed
Enterprise
- Google Directory API Inherited ADC - Support inherited Application Default Credentials for Google Directory API so deployments using Workload Identity / pod service accounts work without explicit key files
- Guardrail Output Rule Nil Check - Early exit if response is nil for output rules in guardrails to prevent nil pointer panics
- Access Profile Live Limits - Enforced live access profile limits and preserved usage on propagation to ensure rate limits are respected across reloads
- Access Profile UI Layout - Fixed access profile sheet width and padding for better layout
OSS (prerelease5 + prerelease6)
- WebSocket /responses Reliability - Fixed upstream handshake diagnostics, proper error capture, and WebSocket connection lifecycle in the native
/responsespath - Routing Rule Query Normalization - Normalized
queryfield to validRuleGroupTypeand tightened schema validation - Budget and Team Co-creation - Fixed creation of budgets and teams in the same request
- Provider Reload - Fixed keyless provider status updates during config reload; provider runtime now reloads correctly after key creation
- OTel Metrics - Fixed OpenTelemetry metrics pipeline not working (thanks @tcx4c70!)
- OTel Export - Fixed OTEL exporting to correctly show input and output messages; OTel plugin now defaults
insecuretotruewhen omitted for HTTP collectors - Multipart File Uploads - Write multipart metadata before file content to fix upload ordering
- Env Var Redacted Check - Added missing redacted check for env var values
- PydanticAI Null Text Fields - Normalized null text content in PydanticAI stream response chunks
- Provider Queue Shutdown Panic - Eliminated
send on closed channelpanics in provider queue shutdown - Bedrock Streaming - Emit
message_stopevent for Anthropic invoke stream; case-insensitiveanthropic-betaheader merging - Bedrock Tool Images - Preserve image content blocks in tool results when converting to Bedrock Converse API
- Gemini Tool Outputs - Handle content block tool outputs in Responses API path for
function_call_outputmessages - Gemini Thinking Level - Preserved
thinkingLevelparameters across round-trip conversions; corrected finish reason mapping - vLLM Token Usage -
delta.content=""treated same asnilin streaming; restores token usage attribution in logs and UI - Anthropic WebSearch - Removed 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 clients see failures instead of silent termination
- Anthropic Request Fallbacks - Dropped fallback fields from outgoing Anthropic requests to avoid schema validation errors
- Custom Providers - Allow custom providers without a list-models endpoint to accept any model
- Async Context Propagation - Preserve context values in async requests so downstream handlers retain request-scoped data
- Access Profile Rate Limits - Rate limit counters for access profiles now persisted correctly to the database
- Fallback Stream State - Clear
BifrostContextKeyStreamEndIndicatorbefore fallback requests so stale streaming state doesn’t carry into retries
📀 Base OSS version
transports/v1.5.0-prerelease6
