core/v1.11.0

maximhq/bifrostcore/v1.11.0Sep 29, 2026by akshaydeo

Upgrading?

AI Summary

Introduces 'between_tools' reasoning support for Bedrock and Anthropic, enhances error reporting for OpenRouter, and fixes stream termination and data formatting issues across providers.

Key Highlights

  • Adds support for reasoning.type 'between_tools' on chat and Responses requests
  • Bedrock invoke ingress now serves Anthropic thinking requests and reports thinking tokens
  • OpenRouter errors now surface the upstream provider's specific message
  • Fixed stream termination for Anthropic and Gemini responses to handle incomplete details

New Features

  • Supports reasoning.type 'between_tools' forwarded as Anthropic thinking.type
  • Bedrock reports usage.output_tokens_details.thinking_tokens

Full Release Notes

## Core Release v1.11.0

- feat: reasoning.type "between_tools" on chat and Responses requests, forwarded as Anthropic thinking.type on Anthropic and Bedrock with the caller's effort passed independently, downgraded to disabled or omitted on models without it, with a SupportsBetweenToolsThinking datasheet override (#7665)
- feat: Bedrock invoke ingress serves Anthropic thinking requests through InvokeModel and reports usage.output_tokens_details.thinking_tokens in unary and streaming responses (#7691)
- fix: the encrypted reasoning fail-soft retry fires on any 400 that names a reasoning token by family word instead of per-provider verdict phrasing, and strips Gemini and Vertex thought signatures carried in _ts_ call ids (#7680)
- fix: OpenRouter errors surface the upstream provider's own message from error.metadata.raw instead of the generic "Provider returned error" (#7680)
- fix: Anthropic and Gemini Responses turns cut off by max_output_tokens or a refusal report status incomplete with incomplete_details, terminate streams with response.incomplete and mark the last output item incomplete; Gemini streams ending without a finish reason no longer read as a clean stop (#7677)
- fix: file_data sent as bare base64 with a file_type is folded into a data URL for OpenAI-shaped providers, which rejected the bare payload (#7682)
- fix: OpenAI Responses drops a function_call input item id that does not begin with fc so Gemini streaming histories replay cleanly; call_id is kept (#7676)
- fix: Gemini thought signatures on inline image and file parts stay on the content block and round-trip back to Gemini (#7692)

### Installation

```bash
go get github.com/maximhq/bifrost/core@v1.11.0
```

---
_This release was automatically created from version file: `core/version`_

Related Repositories