framework/v1.6.1
maximhq/bifrostframework/v1.6.1Sep 8, 2026by akshaydeo
Full Release Notes
## Framework Release v1.6.1 ## ✨ Features - **Virtual Key Rotation Grace Period** - New rotation-state columns on `governance_virtual_keys` (`previous_value`, `previous_value_hash`, `previous_value_expires_at`, `rotated_at`) with encryption support, plus a `vk_rotation_cooldown` client config setting (duration string, default 0 = immediate flip) controlling how long a rotated-out key value keeps authenticating. - feat: persist provider `prompt_cache` configuration (new `prompt_cache_json` column and migration), including on the read path cluster peers use to reload after a config broadcast - feat: add scheduled automatic virtual key rotation on access profiles via `auto_rotation_interval` (#6806) - feat: add the project governance dimension to log tables, filters, histograms, rankings and matviews with `project_ids` and `project` dimension support (#6702, #6704, #6705) - feat: add virtual MCP tables, CRUD, endpoint slugs for MCP clients and virtual key assignments (#6746, #6747, #6750, #6791, #6826) - feat: persist Databricks key config with DB columns, encryption, redaction, validation and merge support, and register Databricks in the pricing catalog (#6666, #6669) - feat: persist GitHub Copilot app credentials with encryption and redaction (#6354) - feat: add `grants` package for per-request identity, access and limits and wire grant creation into governance (#6306, #6307, #6308, #6641) - feat: add `allow_all_providers` to virtual keys with a hash backfill migration and `VirtualKeyPruneGuard` (#6662, #6863) - feat: replace `framework/batchaccounting` with `framework/jobaccounting`, generalise `batch_jobs` into a provider job table with `kind` and `params`, settle video jobs at completion, and add resolution-banded video pricing columns (#6672, #6673, #6674, #6675, #6728) <Warning> `TableBatchJob` is now `TableProviderJob` and the `JobStore`, `SweepStore`, `AggregateLogEmitter` and `UsageReporter` interfaces are renamed. Go consumers of the accounting package must update. </Warning> - feat: add semantic complexity routing config wire, migrations, vector stores with the chromem backend, LLM classifier fallback, session-aware routing, warm coordination and generation reclamation, and `complexity_*` plus `session_id` log columns (#6163, #6164, #6166, #6177, #6317, #6722, #6727, #6807, #6846) - feat: add `request_id` exact lookup, `compare_to_previous` on stats, `served_model`, `tool_call_names`, and `hidden_request_types` visibility filtering to the log store (#6693, #6694, #6719, #6890, #6911) - feat: add cross-endpoint `GET /api/webhooks/deliveries` search with filter indexes (#6708) - feat: record `MCPConnectionFailure` and OAuth token `status_reason` (#6794) - feat: replace user-scoped model configs with `ExtraScopedIDsResolver`, add structured `SourceRef` on model configs and quota budgets, multi-scope filtering, `ScopedModelLimits`, and list every contributing rate limit in quota responses (#6715, #6729, #6752, #6800, #6829, #6858) - feat: remove the plugin `version` field and reconcile plugins by config hash, support `SecretVar` in native plugin config, and preserve plugin `created_at` (#6250, #6600, #6935) - feat: add native raw request redaction and `RawStreamTextCodec` support (#6365, #6386) - feat: add `compat_azure_deepseek` client config column (#6737) - feat: wire tracing into async job settlement (#6939) - fix: emit billed usage token and cost attributes on failed requests (thanks [@vdemonchy](https://github.com/vdemonchy)!) (#6259) - fix: preserve `created_at` across config sync and updates for budgets, rate limits, teams, customers, model configs, pricing overrides and routing rules (#6616, #6792) - fix: encrypt rows one per transaction with cursor pagination and concurrent vault writes to prevent deadlocks and boot hangs (#6808) - fix: drop legacy FK constraints on `oauth_user_tokens` and `oauth_user_sessions` that blocked MCP client deletion, and resolve the MCP client ID before vault hooks run (#6648, #6812) - fix: delete stale routing rules inside the merge transaction and honour the row-visibility query scope on rule reads (#6638, #6934) - fix: handle hex value fields and remove the score filter in the Redis vector store (#6772, #6773) - fix: make filter data search case-insensitive across SQLite, Postgres and ClickHouse (#6915) - fix: scope prompt child reads and writes to their parent prompt (#6761) - fix: honour `allowed_models: ["*"]` when the live list-models store is empty for a provider (#6767) - fix: patch fasthttp to remove races when closing streaming calls (#6799) ### Installation ```bash go get github.com/maximhq/bifrost/framework@v1.6.1 ``` --- _This release was automatically created and uses core version: `v1.8.5`_