> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getbifrost.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# v1.4.12

> v1.4.12 changelog - 2026-03-15

<Tabs>
  <Tab title="NPX">
    ```bash theme={null}
    npx -y @maximhq/bifrost --transport-version v1.4.12
    ```
  </Tab>

  <Tab title="Docker">
    ```bash theme={null}
    docker pull maximhq/bifrost:v1.4.12
    docker run -p 8080:8080 maximhq/bifrost:v1.4.12
    ```
  </Tab>
</Tabs>

<Update label="Bifrost(HTTP)" description="1.4.12">
  ## ✨ Features

  * **WebSocket based responses API** - Added WebSocket transport for responses API (OpenAI)
  * **Anthropic Passthrough** - Added native Anthropic passthrough endpoint
  * **Prompt Repository** - Added HTTP handlers for prompt management with RBAC (folders, prompts, versions, sessions)
  * **Streaming Request Decompression** - Threshold-gated streaming decompression with pooled readers, replacing BodyUncompressed()
  * **Model Parameters API** - Added model parameters table and API endpoint with in-memory caching
  * **Virtual Key Limit Resets** - Added virtual key limit reset functionality
  * **Session Stickiness** - Added session stickiness in key selection for consistent routing
  * **Pricing Engine Refactor** - Unified cost calculation with quality-based image and video pricing
  * **Image Configuration** - Added size/aspect ratio config for Gemini and size-to-resolution conversion for Replicate
  * **Large Payload Support** - Added large payload awareness across transport hooks, plugins, and response streaming
  * **Raw Request/Response Storage** - Allow storing raw request/response without returning them to clients (thanks [@Vaibhav701161](https://github.com/Vaibhav701161)!)
  * **ChatReasoning Enabled Field** - Added Enabled field to ChatReasoning struct (thanks [@mango766](https://github.com/mango766)!)

  ## 🐞 Fixed

  * **Deterministic Tool Schema** - Fixed deterministic tool schema serialization for Anthropic prompt caching (thanks [@Edward-Upton](https://github.com/Edward-Upton)!)
  * **CORS Wildcard** - Fixed CORS issue with allowing \* origin
  * **TLS Termination** - Allow TLS termination inside Bifrost server through config
  * **Bedrock toolChoice** - Fixed toolChoice silently dropped on Bedrock /converse and /converse-stream endpoints
  * **Count Tokens Passthrough** - Fixed request body passthrough for count tokens endpoint for Anthropic and Vertex
  * **Chat Finish Reason** - Map chat finish\_reason to responses status and preserve terminal stream semantics
  * **Tool Call Indexes** - Fixed streaming tool call indices for parallel tool calls in chat completions stream
  * **Video Pricing** - Fixed video pricing calculation
  * **SQLite Migration** - Prevented CASCADE deletion during routing targets migration
  * **Log Serialization** - Reduced logstore serialization overhead and batch cost updates
  * **Log List Queries** - Avoid loading raw\_request/raw\_response in log list queries (thanks [@Vaibhav701161](https://github.com/Vaibhav701161)!)
  * **MCP Reconnection** - Improved MCP client reconnection with exponential backoff and connection timeout
  * **Responses Input Messages** - Set responses input messages in gen\_ai.input.messages
  * **Helm Fixes** - Fixed Helm chart and test issues
</Update>

<Update label="Core" description="1.4.8">
  * feat: WebSocket and Realtime API support
  * feat: Anthropic passthrough support
  * feat: threshold-gated streaming request decompression with pooled readers
  * feat: refactored model catalog pricing engine with unified cost calculation
  * feat: quality-based image pricing and image size/aspect ratio for Gemini
  * feat: size-to-resolution conversion for Replicate image models
  * feat: session stickiness in key selection
  * feat: add Enabled field to ChatReasoning struct (thanks [@mango766](https://github.com/mango766)!)
  * feat: allow storing raw request/response without returning to clients (thanks [@Vaibhav701161](https://github.com/Vaibhav701161)!)
  * feat: RBAC for prompt repository
  * fix: deterministic tool schema serialization for prompt caching (thanks [@Edward-Upton](https://github.com/Edward-Upton)!)
  * fix: skip body building for large payload flow
  * fix: TLS termination inside Bifrost server through config
  * fix: map chat finish\_reason to responses status and preserve terminal stream semantics
  * fix: set responses input messages in gen\_ai.input.messages
  * fix: video pricing fixes
  * fix: remove resolution parameter from image generation
  * fix: MCP client reconnection with exponential backoff and connection timeout
</Update>

<Update label="Framework" description="1.2.27">
  * fix: record ttft in nanoseconds instead of milliseconds to avoid truncation to 0
  * feat: add `routing_targets` table with 1:many relationship to `routing_rules`; migrates existing single-target rules to the new table with `weight=1`; drops legacy `provider` and `model` columns from `routing_rules`
  * feat: add per-target `key_id` pinning support in `routing_targets`
  * fix: avoid postgres cached-plan failures during provider hash backfill [@dannyball710](https://github.com/dannyball710)
  * feat: prompt repository with folder, prompt, version, and session schemas and backend
  * feat: model parameters table and API endpoint with in-memory caching
  * feat: large payload awareness for plugins and logstore
  * feat: large payload transport hooks and response streaming
  * feat: chat token detail OTEL span attributes
  * feat: hide deleted virtual keys from filter options
  * feat: virtual key search/filtering and pagination
  * feat: allow storing raw request/response without returning to clients (thanks [@Vaibhav701161](https://github.com/Vaibhav701161)!)
  * fix: MCP client reconnection with exponential backoff and connection timeout
  * fix: prevent SQLite CASCADE deletion during routing targets migration
  * fix: reduce logstore serialization overhead and batch cost updates
  * fix: video pricing fixes
  * fix: avoid loading raw\_request/raw\_response in log list queries (thanks [@Vaibhav701161](https://github.com/Vaibhav701161)!)
  * chore: upgraded core to v1.4.8
</Update>

<Update label="governance" description="1.4.28">
  * feat: pricing engine integration with unified cost calculation
  * feat: large payload awareness
  * chore: upgraded core to v1.4.8 and framework to v1.2.27
</Update>

<Update label="jsonparser" description="1.4.27">
  * chore: upgraded core to v1.4.8 and framework to v1.2.27
</Update>

<Update label="litellmcompat" description="0.0.17">
  * chore: upgraded core to v1.4.8 and framework to v1.2.27
</Update>

<Update label="logging" description="1.4.28">
  * feat: passthrough support for log capture
  * feat: large payload awareness for logstore
  * feat: async log write improvements
  * fix: reduce logstore serialization overhead and batch cost updates
  * fix: avoid loading raw\_request/raw\_response in log list queries (thanks [@Vaibhav701161](https://github.com/Vaibhav701161)!)
  * chore: upgraded core to v1.4.8 and framework to v1.2.27
</Update>

<Update label="maxim" description="1.5.26">
  * feat: WebSocket and Realtime API support
  * chore: upgraded core to v1.4.8 and framework to v1.2.27
</Update>

<Update label="mocker" description="1.4.27">
  * chore: upgraded core to v1.4.8 and framework to v1.2.27
</Update>

<Update label="otel" description="1.1.27">
  * fix: set responses input messages in gen\_ai.input.messages
  * chore: upgraded core to v1.4.8 and framework to v1.2.27
</Update>

<Update label="semanticcache" description="1.4.26">
  * feat: add Enabled field to ChatReasoning struct (thanks [@mango766](https://github.com/mango766)!)
  * feat: large payload awareness
  * chore: upgraded core to v1.4.8 and framework to v1.2.27
</Update>

<Update label="telemetry" description="1.4.28">
  * feat: pricing engine integration
  * chore: upgraded core to v1.4.8 and framework to v1.2.27
</Update>
