transports/v2.2.3
Genymobile/scrcpytransports/v2.2.3Sep 24, 2026by akshaydeo
Upgrading?
AI Summary
HTTP transport update introducing pinned keys on routing fallbacks and full support for GPT-6 features, including prompt cache and async tools.
Key Highlights
- Pinned keys can now be assigned to routing rule fallbacks
- Added support for OpenAI async tool execution and GPT-6 prompt cache
- Fixed OpenAI sampling parameters on reasoning models
- Updated Go SDK wire shapes for MCP tools
Breaking Changes
- Go SDK callers: `ResponsesMCPApprovalResponse.ApprovalResponseID` renamed to `ApprovalRequestID`
- Message type `mcp_approval_response` renamed
- Union types introduced for `ResponsesToolMessage.Error` and `ResponsesParameters.Conversation`
New Features
- Pinned keys on routing fallbacks
- Async tool execution forwarding
- GPT-6 prompt cache breakpoints
- Reasoning effort control for GPT-6 Sol and Luna
Full Release Notes
## Bifrost HTTP Transport Release v2.2.3 ## ✨ Features - **Pinned Keys on Routing Fallbacks** - Each routing-rule fallback can pin a provider key via `key_id`, or `provider_key_name` in config.json. The UI rule editor lets you pick or clear a key per fallback. Unpinned fallbacks keep the legacy `provider/model` string, so existing rules keep their config hash (#7470, #7379, #7380, #7381) - **OpenAI Async Tool Execution** - The `async` flag on Responses tools and tool calls, `output_schema` on function tools and `tunnel_id` on MCP tools are now forwarded to OpenAI. `async` is stripped for models without support, and the datasheet `supports_async_tools` field can override this (#7242) - **GPT-6 Prompt Cache Breakpoints** - Prompt-cache breakpoints now cover the GPT-6 family on OpenAI, Azure, Bedrock and Bedrock Mantle. The datasheet `supports_prompt_cache_breakpoint` field can override this (#7240) - **GPT-6 Sol and Luna Reasoning Off** - `reasoning.effort: "none"` is forwarded for `gpt-6-sol` and `gpt-6-luna`. Other GPT-6 models keep reasoning on (#7492) ## 🐞 Fixed - **OpenAI Sampling Parameters on Reasoning Models** - `temperature`, `top_logprobs` and `logprobs` are now stripped alongside `top_p` on chat and Responses when the model and effort do not support them. An omitted `reasoning.effort` now counts as `none` only for models that default to no reasoning (#7239) - **Responses API Wire Shapes** - Structured MCP tool-call errors, object-form `conversation`, array-form MCP `allowed_tools`, `approval_request_id` on MCP approval responses, and `in`/`nin` file search filters now decode and re-encode correctly (#7241) <Warning>Go SDK callers: `ResponsesMCPApprovalResponse.ApprovalResponseID` is now `ApprovalRequestID`, the message type is now `mcp_approval_response`, and `ResponsesToolMessage.Error` and `ResponsesParameters.Conversation` are now union types, where they used to be `*string`.</Warning> - **OpenRouter Anthropic Cache Breakpoints** - Anthropic models routed through OpenRouter now keep their `cache_control` breakpoints, based on the model capability (#7521) - **Session Affinity with Pinned Keys** - When session affinity reorders the chain, a routing rule's key pin now moves with its provider, so the pinned key is never looked up under the wrong provider (#7468) - **Session Affinity Route Matching** - A session's route is now matched on provider and model together. Bindings the request followed into a failure are dropped (#7473) - **Databricks Gemini System Prompts** - Multiple system and developer messages are merged into one for Gemini models hosted on Databricks, which reject more than one system prompt (#7461) - **Bedrock Encrypted Reasoning Replay** - Bedrock's "encrypted reasoning was created for a different account or model" error now triggers the strip-and-retry path for unverifiable reasoning - **Decisions on Bedrock Mantle** - Decision emulation now sends `tool_choice: "auto"` for gpt-oss models on Bedrock Mantle, which reject `"required"`. Leaked parameter tags with surrounding whitespace are now recovered - **Gemini Transcription Usage** - Usage is reported even when the transcript is empty - **Routing Rule Enabled State** - Syncing or updating a routing rule that omits `enabled` keeps the stored value, where it used to write NULL - **Telemetry User Labels Toggle** - `user_labels_enabled` is now saved with the telemetry config (#7490) ## 🗄️ Database Migrations - No new database migrations in this release. ### Installation #### Docker ```bash docker run -p 8080:8080 maximhq/bifrost:v2.2.3 ``` #### Binary Download ```bash npx @maximhq/bifrost --transport-version v2.2.3 ``` ### Docker Images - **`maximhq/bifrost:v2.2.3`** - This specific version - **`maximhq/bifrost:latest`** - Latest version (updated with this release) --- _This release was automatically created with dependencies: core `v1.10.2`, framework `v1.7.4`. All plugins have been validated and updated._
Related Repositories
ffmpegwasm/ffmpeg.wasm★ 17,896
FFmpeg for browser, powered by WebAssembly
bol-van/zapret★ 16,283
DPI bypass multi platform
haiwen/seafile★ 15,363
Beyond file syncing and sharing, a new way to organize your files with extensible file properties and flexible views
betaflight/betaflight★ 11,686
Open Source Flight Controller Firmware
QwenAudio/SenseVoice★ 9,559
Open-source SenseVoiceSmall model for Mandarin, Cantonese, English, Japanese, and Korean ASR, language ID, emotion recognition, and audio event detection.