--- title: "v1.5.0-prerelease1" description: "v1.5.0-prerelease1 changelog - 2026-04-01" --- ```bash npx -y @maximhq/bifrost --transport-version v1.5.0-prerelease1 ``` ```bash docker pull maximhq/bifrost:v1.5.0-prerelease1 docker run -p 8080:8080 maximhq/bifrost:v1.5.0-prerelease1 ``` - feat: dedicated provider keys API — keys are now managed via `/api/providers/{provider}/keys` endpoints instead of being embedded in provider create/update payloads - feat: VK provider config key_ids now supports ["*"] wildcard to allow all keys; empty key_ids denies all; handler resolves wildcard to AllowAllKeys flag without DB key lookups - feat: now plugins can start injecting logs at trace level. Just use `ctx.Log(schemas.LogLevelInfo, "Test log")` - feat: add option to disable automatic MCP tool injection per request - feat: virtual key MCP configs now act as an execution-time allow-list — tools not permitted by the VK are blocked at inference and MCP tool execution - refactor: standardize empty array conventions in bifrost. Empty array means no tools/keys are allowed, ["*"] means all tools/keys are allowed. - feat: add support for request level extra headers in MCP tool execution. - fix: add support for `x-bf-mcp-include-clients` and `x-bf-mcp-include-tools` request headers to filter MCP tools/list response when using bifrost as an MCP gateway. - refactor: parallelize model listing for providers to speed up startup time. - fix: send back accumulated usage in MCP agent mode. - feat: MCP configuration now supports assigning virtual keys with per-tool access control. - feat: adds option to allow MCP clients to run on all virtual keys without explicit assignment. - feat: add support for pricing overrides. - feat: add StabilityAI provider support to Bedrock. - fix: handle text, vtt, srt response formats in OpenAI transcription response. **v1.5.0 contains multiple breaking changes.** See the [v1.5.0 Migration Guide](/migration-guides/v1.5.0) for full before/after examples and a migration checklist. ## Breaking Changes in This Release This prerelease introduces 9 breaking changes. See the **[v1.5.0 Migration Guide](/migration-guides/v1.5.0)** for full before/after examples, automatic migration details, and a step-by-step checklist. | # | Breaking Change | Affected | |---|---|---| | [1](/migration-guides/v1.5.0#breaking-change-1-empty-array-now-means-deny-all) | Empty array (`[]`) now means "deny all" on all allow-list fields | `config.json`, REST API | | [2](/migration-guides/v1.5.0#breaking-change-2-allowed_keys-renamed-to-key_ids) | `allowed_keys` renamed to `key_ids` in VK provider configs | `config.json`, REST API | | [3](/migration-guides/v1.5.0#breaking-change-3-virtual-key-provider_configs-is-deny-by-default) | Virtual Key `provider_configs` is deny-by-default (empty = no providers) | `config.json`, REST API | | [4](/migration-guides/v1.5.0#breaking-change-4-whitelist-validation) | WhiteList validation: wildcard cannot be mixed, no duplicates | REST API | | [5](/migration-guides/v1.5.0#breaking-change-5-weight-is-now-nullable) | `weight` is now nullable (`*float64`) on VK provider configs | REST API, Go SDK | | [6](/migration-guides/v1.5.0#breaking-change-6-provider-keys-api-separated) | Provider keys API separated — `keys` removed from provider payloads | REST API | | [7](/migration-guides/v1.5.0#breaking-change-7-compact-plugin-restructured) | Compact plugin: `enable_litellm_fallbacks` replaced by three granular options | Plugin config | | [8](/migration-guides/v1.5.0#breaking-change-8-replicate-image-edits-removed-from-generations-endpoint) | Replicate image edits removed from `/v1/images/generations` | REST API | | [9](/migration-guides/v1.5.0#breaking-change-9-ollama-and-sgl-per-key-url-configuration) | Ollama and SGL moved to per-key URL configuration | `config.json`, REST API | | [10](/migration-guides/v1.5.0#breaking-change-10-go-sdk-changes) | Go SDK: `HuggingFaceKeyConfig` removed, `providerRequiresKey()` signature changed | Go SDK | --- - feat: add DisableAutoToolInject to MCPToolManagerConfig to suppress automatic MCP tool injection per request - feat: add BifrostContextKeyMCPAddedTools to context to track MCP tools added to the request - refactor: standardize empty array conventions in bifrost. Empty array means deny all, ["*"] means allow all for models/tools/keys. - feat: add support for request-level extra headers in MCP tool execution using BifrostContextKeyMCPExtraHeaders key in context. - fix: send back accumulated usage in MCP agent mode. - feat: add StabilityAI provider support to Bedrock. - fix: handle text, vtt, srt response formats in OpenAI transcription response. - feat: add provider keys CRUD to configstore and in-memory store - feat: add virtual key access management for MCP clients - feat: adds option to allow MCP clients to run on all virtual keys - feat: add image edit input view on logs - refactor: replace string slice with WhiteList type for model restrictions - refactor: blacklist models on new convention - fix: add blacklisted model field in tableKeyFromSchemaKey - feat: logging in plugins - chore: adds migration guide for 1.5 and test fixes - refactor: standardize empty array conventions for VK Provider & MCP Configs, and makes Provider Config weight optional for routing - feat: VK MCP config now works as an AllowList - refactor: standardize empty array conventions for VK Provider Config Allowed Keys - refactor: standardize empty array conventions for allowed models - refactor: replace string slices with WhiteList for allowlist fields - feat: implement scoped pricing override - refactor: custom pricing refactor - feat: adds option to allow MCP clients to run on all virtual keys - refactor: blacklist models on new convention - chore: upgraded core to v1.5.0 and framework to v1.3.0 - chore: upgraded core to v1.5.0 and framework to v1.3.0 - feat: add image edit input view on logs - feat: logging in plugins - feat: implement scoped pricing override - refactor: custom pricing refactor - chore: upgraded core to v1.5.0 and framework to v1.3.0 - chore: upgraded core to v1.5.0 and framework to v1.3.0 - chore: upgraded core to v1.5.0 and framework to v1.3.0 - chore: upgraded core to v1.5.0 and framework to v1.3.0 - feat: implement scoped pricing override - refactor: custom pricing refactor