diff --git a/.github/workflows/scripts/run-migration-tests.sh b/.github/workflows/scripts/run-migration-tests.sh index 06fd700e66..23367e9de4 100755 --- a/.github/workflows/scripts/run-migration-tests.sh +++ b/.github/workflows/scripts/run-migration-tests.sh @@ -453,10 +453,10 @@ VALUES (1, 'migration-test-hash-abc123def456', $now, $now) ON CONFLICT DO NOTHING; -- governance_budgets (reset_duration is a string like "1d", "1h", etc.) -INSERT INTO governance_budgets (id, max_limit, current_usage, reset_duration, last_reset, config_hash, created_at, updated_at) -VALUES - ('budget-migration-test-1', 1000.00, 100.00, '1d', $now, 'budget-hash-001', $now, $now), - ('budget-migration-test-2', 5000.00, 250.00, '7d', $now, 'budget-hash-002', $now, $now) +INSERT INTO governance_budgets (id, max_limit, current_usage, reset_duration, last_reset, config_hash, created_at, updated_at, calendar_aligned) +VALUES + ('budget-migration-test-1', 1000.00, 100.00, '1d', $now, 'budget-hash-001', $now, $now, 0), + ('budget-migration-test-2', 5000.00, 250.00, '7d', $now, 'budget-hash-002', $now, $now, 1) ON CONFLICT DO NOTHING; -- governance_rate_limits (flexible duration format with token_* and request_* columns) diff --git a/core/changelog.md b/core/changelog.md index e69de29bb2..0f5078783b 100644 --- a/core/changelog.md +++ b/core/changelog.md @@ -0,0 +1,4 @@ +- fix: fixed timeout status code handling across all providers +- fix: preserve cached provider metadata on cross-provider cache hits +- fix: prevent reasoning text from leaking into Gemini response content +- feat: added Anthropic beta headers support diff --git a/core/version b/core/version index 976182be5d..2d57bb94bb 100644 --- a/core/version +++ b/core/version @@ -1 +1 @@ -1.4.15 \ No newline at end of file +1.4.16 \ No newline at end of file diff --git a/docs/media/aws-bedrock-anthropic-beta-headers.png b/docs/media/aws-bedrock-anthropic-beta-headers.png new file mode 100644 index 0000000000..26a39d0bd7 Binary files /dev/null and b/docs/media/aws-bedrock-anthropic-beta-headers.png differ diff --git a/docs/media/azure-setting-anthropic-beta-headers.png b/docs/media/azure-setting-anthropic-beta-headers.png new file mode 100644 index 0000000000..f839fa0df0 Binary files /dev/null and b/docs/media/azure-setting-anthropic-beta-headers.png differ diff --git a/docs/media/vertex-ai-setting-anthropic-beta-headers.png b/docs/media/vertex-ai-setting-anthropic-beta-headers.png new file mode 100644 index 0000000000..e291bc7fdd Binary files /dev/null and b/docs/media/vertex-ai-setting-anthropic-beta-headers.png differ diff --git a/docs/providers/supported-providers/azure.mdx b/docs/providers/supported-providers/azure.mdx index 84955ee5e0..1020b0b855 100644 --- a/docs/providers/supported-providers/azure.mdx +++ b/docs/providers/supported-providers/azure.mdx @@ -39,7 +39,7 @@ Azure is a cloud provider offering access to OpenAI and Anthropic models through ## Beta Headers -For Anthropic models on Azure, Bifrost validates `anthropic-beta` headers. Azure supports most Anthropic beta features. +For Anthropic models on Azure, Bifrost validates `anthropic-beta` headers and drops unsupported headers from the request. Azure supports most Anthropic beta features. **Supported**: `computer-use-*`, `structured-outputs-*`, `advanced-tool-use-*`, `mcp-client-*`, `prompt-caching-scope-*`, `compact-*`, `context-management-*`, `files-api-*`, `interleaved-thinking-*`, `skills-*`, `context-1m-*`, `redact-thinking-*` @@ -47,6 +47,10 @@ For Anthropic models on Azure, Bifrost validates `anthropic-beta` headers. Azure You can override these defaults per provider via the **Beta Headers** tab in provider configuration or via [`beta_header_overrides`](/quickstart/gateway/provider-configuration#beta-header-overrides). See the full support matrix in the [Anthropic provider docs](/providers/supported-providers/anthropic#beta-headers). + + Azure Beta Headers configuration tab showing supported and unsupported Anthropic beta features with override options + + --- # 1. Chat Completions diff --git a/docs/providers/supported-providers/bedrock.mdx b/docs/providers/supported-providers/bedrock.mdx index 2e4e3ff1c8..0a516cee28 100644 --- a/docs/providers/supported-providers/bedrock.mdx +++ b/docs/providers/supported-providers/bedrock.mdx @@ -53,7 +53,7 @@ AWS Bedrock supports multiple model families (Claude, Nova, Mistral, Llama, Cohe ## Beta Headers -For Claude models on Bedrock, Bifrost validates `anthropic-beta` headers to ensure only supported features are forwarded. +For Claude models on Bedrock, Bifrost validates `anthropic-beta` headers and drops unsupported headers from the request. **Supported**: `computer-use-*`, `structured-outputs-*`, `compact-*`, `context-management-*`, `interleaved-thinking-*`, `context-1m-*` @@ -61,6 +61,11 @@ For Claude models on Bedrock, Bifrost validates `anthropic-beta` headers to ensu You can override these defaults per provider via the **Beta Headers** tab in provider configuration or via [`beta_header_overrides`](/quickstart/gateway/provider-configuration#beta-header-overrides). See the full support matrix in the [Anthropic provider docs](/providers/supported-providers/anthropic#beta-headers). + + + AWS bedrock Beta Headers configuration tab showing supported and unsupported Anthropic beta features with override options + + --- # 1. Chat Completions diff --git a/docs/providers/supported-providers/vertex.mdx b/docs/providers/supported-providers/vertex.mdx index 1c1f26b707..538664821a 100644 --- a/docs/providers/supported-providers/vertex.mdx +++ b/docs/providers/supported-providers/vertex.mdx @@ -41,7 +41,7 @@ Vertex AI is Google's unified ML platform providing access to Google's Gemini mo ## Beta Headers -For Anthropic models on Vertex AI, Bifrost validates `anthropic-beta` headers to ensure only supported features are forwarded. Unsupported headers are rejected with a clear error. +For Anthropic models on Vertex AI, Bifrost validates `anthropic-beta` headers and drops unsupported headers from the request. **Supported**: `computer-use-*`, `compact-*`, `context-management-*`, `interleaved-thinking-*`, `context-1m-*` @@ -49,6 +49,10 @@ For Anthropic models on Vertex AI, Bifrost validates `anthropic-beta` headers to You can override these defaults per provider via the **Beta Headers** tab in provider configuration or via [`beta_header_overrides`](/quickstart/gateway/provider-configuration#beta-header-overrides). See the full support matrix in the [Anthropic provider docs](/providers/supported-providers/anthropic#beta-headers). + + Vertex AI Beta Headers configuration tab showing supported and unsupported Anthropic beta features with override options + + --- # 1. Chat Completions diff --git a/framework/changelog.md b/framework/changelog.md index e69de29bb2..65b8a9cf3f 100644 --- a/framework/changelog.md +++ b/framework/changelog.md @@ -0,0 +1,3 @@ +- feat: added /api/models/details endpoint with model capability metadata +- fix: populate customer virtual_keys in governance APIs +- fix: enterprise model catalog sync improvements diff --git a/framework/version b/framework/version index dcbb259019..2aa6561744 100644 --- a/framework/version +++ b/framework/version @@ -1 +1 @@ -1.2.34 \ No newline at end of file +1.2.35 \ No newline at end of file diff --git a/plugins/governance/changelog.md b/plugins/governance/changelog.md index e69de29bb2..806d520136 100644 --- a/plugins/governance/changelog.md +++ b/plugins/governance/changelog.md @@ -0,0 +1 @@ +- fix: populate customer virtual_keys in governance APIs diff --git a/plugins/governance/version b/plugins/governance/version index f32f94b9f6..de17646bc0 100644 --- a/plugins/governance/version +++ b/plugins/governance/version @@ -1 +1 @@ -1.4.34 \ No newline at end of file +1.4.35 \ No newline at end of file diff --git a/plugins/jsonparser/changelog.md b/plugins/jsonparser/changelog.md index e69de29bb2..fccd30fa1d 100644 --- a/plugins/jsonparser/changelog.md +++ b/plugins/jsonparser/changelog.md @@ -0,0 +1 @@ +- chore: upgraded core to v1.4.16 and framework to v1.2.35 diff --git a/plugins/jsonparser/version b/plugins/jsonparser/version index 5d3dbca71a..f32f94b9f6 100644 --- a/plugins/jsonparser/version +++ b/plugins/jsonparser/version @@ -1 +1 @@ -1.4.33 \ No newline at end of file +1.4.34 \ No newline at end of file diff --git a/plugins/litellmcompat/changelog.md b/plugins/litellmcompat/changelog.md index e69de29bb2..fccd30fa1d 100644 --- a/plugins/litellmcompat/changelog.md +++ b/plugins/litellmcompat/changelog.md @@ -0,0 +1 @@ +- chore: upgraded core to v1.4.16 and framework to v1.2.35 diff --git a/plugins/litellmcompat/version b/plugins/litellmcompat/version index 95dfee2488..9c2a097072 100644 --- a/plugins/litellmcompat/version +++ b/plugins/litellmcompat/version @@ -1 +1 @@ -0.0.23 \ No newline at end of file +0.0.24 \ No newline at end of file diff --git a/plugins/logging/changelog.md b/plugins/logging/changelog.md index e69de29bb2..fccd30fa1d 100644 --- a/plugins/logging/changelog.md +++ b/plugins/logging/changelog.md @@ -0,0 +1 @@ +- chore: upgraded core to v1.4.16 and framework to v1.2.35 diff --git a/plugins/logging/version b/plugins/logging/version index f32f94b9f6..de17646bc0 100644 --- a/plugins/logging/version +++ b/plugins/logging/version @@ -1 +1 @@ -1.4.34 \ No newline at end of file +1.4.35 \ No newline at end of file diff --git a/plugins/maxim/changelog.md b/plugins/maxim/changelog.md index e69de29bb2..fccd30fa1d 100644 --- a/plugins/maxim/changelog.md +++ b/plugins/maxim/changelog.md @@ -0,0 +1 @@ +- chore: upgraded core to v1.4.16 and framework to v1.2.35 diff --git a/plugins/maxim/version b/plugins/maxim/version index f79cc1c383..3c599759f0 100644 --- a/plugins/maxim/version +++ b/plugins/maxim/version @@ -1 +1 @@ -1.5.33 \ No newline at end of file +1.5.34 \ No newline at end of file diff --git a/plugins/mocker/changelog.md b/plugins/mocker/changelog.md index e69de29bb2..fccd30fa1d 100644 --- a/plugins/mocker/changelog.md +++ b/plugins/mocker/changelog.md @@ -0,0 +1 @@ +- chore: upgraded core to v1.4.16 and framework to v1.2.35 diff --git a/plugins/mocker/version b/plugins/mocker/version index 5d3dbca71a..f32f94b9f6 100644 --- a/plugins/mocker/version +++ b/plugins/mocker/version @@ -1 +1 @@ -1.4.33 \ No newline at end of file +1.4.34 \ No newline at end of file diff --git a/plugins/otel/changelog.md b/plugins/otel/changelog.md index e69de29bb2..fccd30fa1d 100644 --- a/plugins/otel/changelog.md +++ b/plugins/otel/changelog.md @@ -0,0 +1 @@ +- chore: upgraded core to v1.4.16 and framework to v1.2.35 diff --git a/plugins/otel/version b/plugins/otel/version index d28d4019a0..9b51125a6c 100644 --- a/plugins/otel/version +++ b/plugins/otel/version @@ -1 +1 @@ -1.1.33 \ No newline at end of file +1.1.34 \ No newline at end of file diff --git a/plugins/semanticcache/changelog.md b/plugins/semanticcache/changelog.md index e69de29bb2..2dfc0f2842 100644 --- a/plugins/semanticcache/changelog.md +++ b/plugins/semanticcache/changelog.md @@ -0,0 +1 @@ +- fix: preserve cached provider metadata on cross-provider cache hits diff --git a/plugins/semanticcache/version b/plugins/semanticcache/version index 7e0d42a49d..5d3dbca71a 100644 --- a/plugins/semanticcache/version +++ b/plugins/semanticcache/version @@ -1 +1 @@ -1.4.32 \ No newline at end of file +1.4.33 \ No newline at end of file diff --git a/plugins/telemetry/changelog.md b/plugins/telemetry/changelog.md index e69de29bb2..fccd30fa1d 100644 --- a/plugins/telemetry/changelog.md +++ b/plugins/telemetry/changelog.md @@ -0,0 +1 @@ +- chore: upgraded core to v1.4.16 and framework to v1.2.35 diff --git a/plugins/telemetry/version b/plugins/telemetry/version index f32f94b9f6..de17646bc0 100644 --- a/plugins/telemetry/version +++ b/plugins/telemetry/version @@ -1 +1 @@ -1.4.34 \ No newline at end of file +1.4.35 \ No newline at end of file diff --git a/transports/changelog.md b/transports/changelog.md index e69de29bb2..b71067a5cb 100644 --- a/transports/changelog.md +++ b/transports/changelog.md @@ -0,0 +1,19 @@ +## ✨ Features + +- **Model Details API** — Added /api/models/details endpoint for model capability metadata +- **Anthropic Beta Headers** — Support for Anthropic beta feature headers in requests + +## 🐞 Fixed + +- **Reasoning Content Leak** — Prevented reasoning text from leaking into Gemini response content +- **Timeout Status Code** — Fixed timeout status code handling across all providers +- **Cross-Provider Cache** — Preserved cached provider metadata on cross-provider cache hits +- **Governance Virtual Keys** — Populated customer virtual_keys in governance APIs +- **List Models Integration** — Removed default provider override on list models request in integrations +- **Client Settings Headers** — Fixed Client settings UI to accept * as allowed headers + +## 🔧 Maintenance + +- **FIPS Docker Image** — Switched to FIPS-compliant base image for Docker builds +- **Security Hardening** — Applied StepSecurity best practices to CI/CD pipeline (thanks [@step-security-bot](https://github.com/step-security-bot)!) +- **Snyk Fixes** — Addressed Snyk vulnerability findings in Docker configuration diff --git a/transports/version b/transports/version index 4007e54579..55708e23f9 100644 --- a/transports/version +++ b/transports/version @@ -1 +1 @@ -1.4.18 \ No newline at end of file +1.4.19 \ No newline at end of file