unstale

npm / @openrouter/ai-sdk-provider

@openrouter/ai-sdk-provider

What changed in @openrouter/ai-sdk-provider 1 to 3, from its official release notes, upgrade guides and advisories. Sources checked 2026-10-19.

11 breaking2 security19 new APIs and options3 behavior and defaults42 fixes and other

See which of these apply to your code, ranked, in your agent:

npx @unstale/cli init

@unstale/cli 0.2.0 on npm

@openrouter/ai-sdk-provider 34 changes

Breaking changes 1

  • Image generation switches to a dedicated images API.

    3.0.0release notes

New APIs and options 2

  • Adds evaluationModel backed by the Decisions API.

    3.1.0release notes

  • The provider adds support for Vercel AI SDK v7.

    3.0.0release notes

Fixes and other changes 1

  • Consecutive streaming reasoning.summary deltas are now merged.

    3.1.0release notes

@openrouter/ai-sdk-provider 260 changes

Breaking changes 9

  • Accumulated reasoning_details are no longer attached to reasoning-delta events.

    2.7.0release notes

  • Using this release requires ai@^6.0.0.

    2.0.0release notes

  • The provider migrates from EmbeddingModelV2 to EmbeddingModelV3 for AI SDK v6 compatibility.

    2.0.0release notes

  • The provider migrates from LanguageModelV2 to LanguageModelV3 for AI SDK v6 compatibility.

    2.0.0release notes

  • LanguageModelV3FinishReason now returns an object with unified and raw fields.

    2.0.0release notes

  • The provider migrates from ProviderV2 to ProviderV3 for AI SDK v6 compatibility.

    2.0.0release notes

  • Type imports change from SharedV2* to SharedV3*.

    2.0.0release notes

  • Usage adopts the nested v6 format, with input token totals and cache counts and output token totals, text, and reasoning.

    2.0.0release notes

  • The required zod peer dependency range is ^3.25.0 || ^4.0.0.

    2.0.0release notes

Security 2

  • Signature validation now also covers the Gemini format.

    2.5.1release notes

  • Entries without valid signatures are stripped from reasoning.text.

    2.3.3release notes

New APIs and options 16

  • You can now opt out of response_format strict mode.

    2.9.0release notes

  • Adds video generation support through VideoModelV3.

    2.8.0release notes

  • Anthropic eager_input_streaming is now supported via tool providerOptions.

    2.7.0release notes

  • Temperature and other common settings can now be set in model-level configuration.

    2.7.0release notes

  • Adds a provider-defined web search tool for use with OpenRouter.

    2.6.0release notes

  • Adds support for video URLs.

    2.5.0release notes

  • Adds the appName option for app identification headers.

    2.4.0release notes

  • Adds the appUrl option for app identification headers.

    2.4.0release notes

  • Adds explicit cache_control support for Anthropic automatic prompt caching.

    2.3.1release notes

  • Image generation supports the files parameter for image editing.

    2.2.2release notes

  • Adds support for the auto-router plugin.

    2.2.1release notes

  • Adds support for reasoning effort values xhigh, minimal, and none.

    2.2.0release notes

  • Adds the imageModel method for image generation support.

    2.1.0release notes

  • Adds includeRawChunks support for streaming.

    2.1.0release notes

  • Adds support for the response-healing plugin.

    2.1.0release notes

  • File content parts support file_id.

    2.0.0release notes

Behavior and default changes 2

  • doGenerate now includes the raw response body.

    2.5.0release notes

  • The provider's specificationVersion changes to 'v3'.

    2.0.0release notes

Fixes and other changes 31

  • Sends null content for tool-only assistant messages.

    2.9.1release notes

  • Trailing-whitespace deltas no longer emit duplicate tool-call events.

    2.9.0release notes

  • The image URL regex now allows query strings and fragments.

    2.9.0release notes

  • Preserves empty reasoning_details arrays in multi-turn conversations.

    2.8.1release notes

  • A defensive usage fallback was added in the streaming flush handler.

    2.7.0release notes

  • Serializes tool call arguments deterministically for cache consistency.

    2.6.0release notes

  • Enforces unique tool call IDs for parallel tool calls.

    2.6.0release notes

  • Streaming tool call lifecycles now emit tool-input-end events.

    2.4.3release notes

  • The provider now respects AI_SDK_LOG_WARNINGS when controlling warning logs.

    2.4.2release notes

  • Prevents duplicate reasoning blocks when a signature arrives after text.

    2.4.2release notes

  • Reasoning and text streams now use unique IDs.

    2.4.2release notes

  • Stops emitting [REDACTED] for encrypted reasoning details.

    2.4.1release notes

  • Infers the tool-calls finish reason when finish_reason is unknown.

    2.4.0release notes

  • Handles socket termination during a stream gracefully.

    2.4.0release notes

  • Tool messages now include the tool name to match the OpenAI API specification.

    2.4.0release notes

  • Preserves structured multimodal content in tool results.

    2.3.2release notes

  • Strips reasoning text when reasoning_details are missing.

    2.3.1release notes

  • Surfaces detailed error information from provider metadata.

    2.2.4release notes

  • Preserves the thinking block signature in streaming reasoning deltas.

    2.2.4release notes

  • Missing noCache, text, and cacheWrite token usage detail fields are now computed.

    2.2.3release notes

  • The reasoning-end event now includes accumulated reasoning_details.

    2.2.0release notes

  • System messages with block-level cache control now always use array content.

    2.2.0release notes

  • Deduplicates reasoning_details across multi-turn conversations.

    2.1.1release notes

  • Excludes undefined cost from providerMetadata.

    2.1.0release notes

  • Makes schema fields optional for web search citations.

    2.1.0release notes

  • Populates usage.raw with the OpenRouter raw usage accounting object.

    2.1.0release notes

  • User-specified User-Agent headers are respected without modification.

    2.1.0release notes

  • Handles tool calls with a missing arguments field.

    2.0.4release notes

  • Message-level cache_control is applied only to the last text part.

    2.0.4release notes

  • Prevents duplicate reasoning_details when converting messages back to API format.

    2.0.4release notes

  • The peer dependency changed from exact version 6.0.3 to ^6.0.0, allowing compatible 6.x versions.

    2.0.1release notes

@openrouter/ai-sdk-provider 113 changes

Breaking changes 1

  • FileParserPlugin is no longer automatically enabled.

    1.2.8release notes

New APIs and options 1

  • Adds support for audio input using the input_audio format.

    1.2.8release notes

Behavior and default changes 1

  • The provider adds a User-Agent header identifying its version to requests.

    1.2.8release notes

Fixes and other changes 10

  • Fixes an issue that broke APICallError.

    1.2.8release notes

  • The error response schema uses the SDK ChatErrorError type.

    1.2.8release notes

  • File uploads support the file annotation type.

    1.2.8release notes

  • Fixes validation errors for image elements produced by the file parser.

    1.2.8release notes

  • Fixes processing of large PDFs with FileParserPlugin.

    1.2.8release notes

  • OpenRouterProvider extends ProviderV2 instead of LanguageModelV2.

    1.2.8release notes

  • Reasoning is transformed into thinking blocks when using tools.

    1.2.8release notes

  • Gemini reasoning_details are preserved across multi-turn conversations.

    1.2.8release notes

  • Reasoning accumulation is fixed so signatures are passed back correctly.

    1.2.8release notes

  • Schema validation is relaxed.

    1.2.8release notes