unstale

npm / @ai-sdk/openai-compatible

@ai-sdk/openai-compatible

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

2 breaking1 security3 new APIs and options4 behavior and defaults13 fixes and other

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

npx @unstale/cli init

@unstale/cli on npm

@ai-sdk/openai-compatible 319 changes

Breaking changes 2

New APIs and options 3

  • Supports URL-based image responses.

    3.0.70release notes

  • Supports uploaded file references via file_id.

    3.0.68release notes

  • Adds the portable max reasoning level, widening LanguageModelV4CallOptions['reasoning'] and ReasoningLevel. Exhaustive switches and mappings must handle max.

    3.0.64release notes

Behavior and default changes 4

  • Top-level embedding dimensions are now mapped to provider settings.

    3.0.67release notes

  • Capability declarations use confirmed model IDs, leaving unrecognized model names unknown; asynchronous lookups and middleware overrides can also resolve to unknown.

    3.0.58release notes

  • Video file parts are converted to video_url content parts.

    3.0.35release notes

  • Image generation token usage is now reported.

    3.0.34release notes

Fixes and other changes 10

  • Multipart tool results are now supported for compatible providers.

    3.0.62release notes

  • The User-Agent header now follows standards-compliant formatting.

    3.0.59release notes

  • Advertises file-input support for QuiverAI Arrow 2 and Arrow 2 Telos, and marks Together AI Gemini image inputs unsupported by the current single-image request mapping.

    3.0.58release notes

  • Fixes streamed tool calls when IDs are missing, blank, or repeated.

    3.0.58release notes

  • Extracts streaming response metadata after placeholder chunks.

    3.0.50release notes

  • Reasoning streams now remain contiguous when deltas include empty tool call arrays.

    2.0.75, 3.0.44release notesrelease notes

  • Supports text and thinking parts in array-based chat completion content and ignores unknown part types.

    2.0.74, 3.0.41release notesrelease notes

  • Sends reasoning_effort: "none" when top-level reasoning is disabled.

    3.0.36release notes

  • Handles tool call IDs that are empty strings.

    3.0.32release notes

  • Preserves Gemini thought signatures when using custom OpenAI-compatible provider names.

    3.0.32release notes

@ai-sdk/openai-compatible 23 changes

Security 1

  • Supports URL-based image responses with opt-in URL validation and credential origin handling; redirect targets are validated, unsafe request headers stripped, and credentials dropped on cross-origin redirects while existing unvalidated requests are preserved.

    2.0.85release notes

Fixes and other changes 2

  • Preserves streamed tool calls when their IDs or indices are unreliable.

    2.0.80release notes

  • Preserves unmapped fields in provider usage data, including fields nested in prompt_tokens_details and completion_tokens_details; mapped token counts are unaffected.

    2.0.69release notes

@ai-sdk/openai-compatible 11 changes

Fixes and other changes 1

  • Preserves streamed tool calls when their IDs and indices are unreliable.

    1.0.57release notes