Bifrost HTTP Transport Release v1.5.1
✨ Features
- Azure Entra Auth - Added
client_id,client_secret,tenant_id,scopesfields to the Azure transport schema and madeapi_versionoptional (#3284) - UBI9 Docker Builds - Added UBI9 amd64/arm64 Docker build and multi-arch manifest jobs to the release pipeline (#3324)
- Configurable Matview Refresh - Added
matviewRefreshIntervalconfig option and bumped the bifrost chart to 2.1.15 (#3329, #3386) - Per-dimension Matviews - Split
mv_logs_filterdatainto per-dimension matviews and added filterdata response caching with single-flight (#3288) - Dimension-scoped Filters - Added
?dimensions=parameter for filter data endpoints with a time-window hybrid matview gate and scoped dimension fetching for log and MCP filter sidebars (#3327, #3328) - x-bifrost- Response Headers* - Surface routed identity (provider, model, key alias, etc.) as
x-bifrost-*response headers (#3280) (thanks @Edward-Upton!) - Normalized Model Names -
ListModelsresponse now includes anormalized_nameparameter (#3372) - Azure Blob Batch Storage - Added Azure blob storage fields for the batch API (#3318)
- WS Tickets Without Storage - WebSocket tickets are now issued without backing storage (#3361)
- MCP Log Detail & Object Storage - Added MCP log detail endpoint with object-storage payload offload, batch logging for MCP, and detail view in the UI (#3350, #3351, #3352, #3353, #3354)
- Retry Count Metric - Added a number-of-retries metric to OTEL and telemetry plugins (#3392)
- Cached Token Details in OTEL - Added cached token details for the Responses API in OTEL exports (#3293)
- Bedrock Region from Model Name - Region is now extracted from the model name when passing through Bedrock models (#3301)
- ListModels Removed From Rate Limit/Quota - Governance no longer invokes ListModels for rate limit and quota checks (#3304)
- JSON Log Detail Rendering - JSON text content is now rendered as formatted code in the log detail view (#3373)
- x-operation-id Approval - Added approval flow for operation IDs (#3360)
- Prometheus Plugin Cleanup - Removed system metrics from the prometheus plugin and added additional types (#3306)
🐞 Fixed
- PostgreSQL
\u0000Sanitization - Sanitize\u0000from JSON before PostgreSQL jsonb storage and list queries (#3332) - Lock-safe Matview Maintenance - Use batched updates,
CONCURRENTLYindexes, and advisory locks for matview and migration maintenance (#3380) - pg_advisory_lock Retry+Timeout - Replaced blocking
pg_advisory_lockwith retry+timeout to prevent indefinite startup hangs (#3308) - Empty MCP Config - Return an empty MCP config instead of
nilwhen no clients are found (#3387) - Gemini Image Size Casing - Removed lowercase normalization on image size in Gemini image requests (#3385)
- Bedrock Reasoning Display - Reasoning display shorthand and set
display=summarizedfor Responses on Bedrock (#3379) - Gemini JSON Schema for Vertex - Normalize JSON Schema union types for Vertex compatibility (#3150)
- RDB Deadlock Fixes - Resolved deadlocks in the rate-limit DB path (#3376)
- xhigh Effort Mapping - Added xhigh effort mapping for GPT 5.4+ (#3369)
- Plugin Trace-Attribute Flow - Updated
context.SetTraceAttributeflow across all plugins (#3368) - Opus 4.7 Reasoning Default - Default
display=summarizedfor Opus 4.7 reasoning (#3375) - Gemini Video Download - Fixed video download for the Gemini provider (#3366)
- Claude Code Native Converters Fallback - Fallback to native converters for Claude Code when an output format is set on the Vertex messages API (#3321)
- Gemini
tokenCountAlways Included - Always includetokenCountin Gemini modality usage details (#3349) (thanks @R-droid101!) - Tool Choice Any in GenAI - Handle
tool_choice=anyin the GenAI roundtrip (#3315) - OTEL
anyOfSchema - OTEL plugin now usesanyOfinstead ofoneOfto correctly validatehost:portformat for the gRPC schema (#3297) - scim_config Keycloak Alignment - Aligned
scim_configschema with the documented Keycloak provider (#3346) (thanks @lornest!) - Docker Volume Path - Aligned Docker volume with the configured app directory (#3348) (thanks @EzgiTastan!)
- OAuth Flow Preservation - Don't clear
oauthFlowon OAuth error (#3326) - MCP OAuth Window Null - Fixed MCP OAuth window null issue (#3359)
- Governance Video/Passthrough Types - Updated video and passthrough request types in governance that do not require a model field (#3283)
- Custom Provider Sheet Layout - Custom provider sheet header and footer are now sticky with proper padding and a scrollable content area (#3285)
- Empty Filter Section Visibility - Prevent filter sections from hiding when opened with empty data (#3258)
- Config JSON Client Credentials - Restored client id and secret in the config JSON output (#3284)
Installation
Docker
docker run -p 8080:8080 maximhq/bifrost:v1.5.1Binary Download
npx @maximhq/bifrost --transport-version v1.5.1Docker Images
maximhq/bifrost:v1.5.1- This specific versionmaximhq/bifrost:latest- Latest version (updated with this release)
This release was automatically created with dependencies: core v1.5.9, framework v1.3.9. All plugins have been validated and updated.