---
title: "v1.4.6"
description: "v1.4.6 changelog - 2026-02-12"
---
<Tabs>
  <Tab title="NPX">
    ```bash
    npx -y @maximhq/bifrost --transport-version v1.4.6
    ```
  </Tab>
  <Tab title="Docker">
    ```bash
    docker pull maximhq/bifrost:v1.4.6
    docker run -p 8080:8080 maximhq/bifrost:v1.4.6
    ```
  </Tab>
</Tabs>

<Update label="Bifrost(HTTP)" description="1.4.6">
- feat: **Bedrock: Extended document format support** - Added support for markdown (`.md`), HTML, CSV, DOC/DOCX, and XLS/XLSX file types in both request and response handling
- feat: **Bedrock: GuardrailConfig streamProcessingMode** - Added optional `streamProcessingMode` field for sync/async guardrail processing
- feat: **Bedrock: CachePoint support** - Added `CachePoint` schema type and handling for standalone cache point blocks in system and content messages
- feat: **Bedrock: Native format compatibility** - Handle requests where `type` field is empty but `text` is set directly (Bedrock native format from Claude Code)
- feat: **Bedrock: Multi-turn reasoning support** - Added `ReasoningDetails` handling in assistant messages for multi-turn conversations with thinking
- feat: added support for replicate provider
- feat: adds metrics push support for otel config
- feat: adds push-gateway support for telemetry
- feat: adds rate limits to customers and teams
- fix: added mcp server handler to the inference routes registration
- fix: **Bedrock: Adaptive thinking payload structure** - Fixed Opus 4.6+ adaptive thinking where `effort` was incorrectly placed under `thinking` instead of `output_config`
- fix: **Bedrock: Stop reason conversion** - Created dedicated Bedrock stop reason converter instead of reusing Anthropic's, properly handling Bedrock-specific reasons like `guardrail_intervened` and `content_filtered`
- fix: **Bedrock: ToolChoice auto handling** - Return `nil` for `auto` tool choice (Bedrock's default) instead of failing
- fix: **Bedrock: Stop reason mapping** - Now uses own `bedrockFinishReasonToBifrost` map with Bedrock-specific stop reasons (`guardrail_intervened` -> `content_filter`, `content_filtered` -> `content_filter`)
- fix: fix embedContent in genai integration
- fix: oauth MCP servers not getting saved to config store during OAuth completion flow
- fix: ClaudeCodeMax mode vs ClaudeCode API mode forwarding
- fix: handle `*OrderedMap` in Gemini nested property conversion - [@Edward-Upton](https://github.com/Edward-Upton)

</Update>
<Update label="Core" description="1.4.2">
- feat: **Bedrock: Adaptive thinking support for Opus 4.6+** - Correctly separates `thinking.type: "adaptive"` and `output_config.effort` fields in the payload (previously `effort` was incorrectly nested under `thinking`)
- feat: **Bedrock: Extended document format support** - Added support for markdown (`.md`), HTML, CSV, DOC/DOCX, and XLS/XLSX file types in both request and response handling
- feat: **Bedrock: GuardrailConfig streamProcessingMode** - Added optional `streamProcessingMode` field for sync/async guardrail processing
- feat: **Bedrock: CachePoint support** - Added `CachePoint` schema type and handling for standalone cache point blocks in system and content messages
- feat: **Bedrock: Native format compatibility** - Handle requests where `type` field is empty but `text` is set directly (Bedrock native format from Claude Code)
- **feat: Bedrock: Multi-turn reasoning support** - Added `ReasoningDetails` handling in assistant messages for multi-turn conversations with thinking
- fix: **Bedrock: Adaptive thinking payload structure** - Fixed Opus 4.6+ adaptive thinking where `effort` was incorrectly placed under `thinking` instead of `output_config`
- fix: **Bedrock: Stop reason conversion** - Created dedicated Bedrock stop reason converter instead of reusing Anthropic's, properly handling Bedrock-specific reasons like `guardrail_intervened` and `content_filtered`
- fix: **Bedrock: ToolChoice auto handling** - Return `nil` for `auto` tool choice (Bedrock's default) instead of failing
- fix: **Bedrock: Stop reason mapping** - Now uses own `bedrockFinishReasonToBifrost` map with Bedrock-specific stop reasons (`guardrail_intervened` -> `content_filter`, `content_filtered` -> `content_filter`)
feat: added support for replicate provider

</Update>
<Update label="Framework" description="1.2.20">
- chore: upgrades core to 1.4.2

</Update>
<Update label="governance" description="1.4.21">
- feat: adds rate limits to customers and teams
- chore: upgrades core to 1.4.2 and framework to 1.2.20

</Update>
<Update label="jsonparser" description="1.4.20">
- chore: upgrades core to 1.4.2 and framework to 1.2.20

</Update>
<Update label="litellmcompat" description="0.0.10">
- chore: upgrades core to 1.4.2 and framework to 1.2.20

</Update>
<Update label="logging" description="1.4.20">
- chore: upgrades core to 1.4.2 and framework to 1.2.20

</Update>
<Update label="maxim" description="1.5.19">
- chore: upgrades core to 1.4.2 and framework to 1.2.20

</Update>
<Update label="mocker" description="1.4.20">
- chore: upgrades core to 1.4.2 and framework to 1.2.20

</Update>
<Update label="otel" description="1.1.20">
- feat: adds metrics push support for otel config
- chore: upgrades core to 1.4.2 and framework to 1.2.20

</Update>
<Update label="semantic_cache" description="1.4.19">
- chore: upgrades core to 1.4.2 and framework to 1.2.20

</Update>
<Update label="telemetry" description="1.4.21">
- feat: adds push-gateway support for telemetry
- chore: upgrades core to 1.4.2 and framework to 1.2.20

</Update>
