Release Notes

Major Changes

  • f7d4f01: feat(provider): add support for reasoning-file type for files that are part of reasoning
  • 776b617: feat(provider): adding new 'custom' content type
  • 34bd95d: feat(ai): add support for uploading provider skills using the provider references abstraction
  • ef992f8: Remove CommonJS exports from all packages. All packages are now ESM-only ("type": "module"). Consumers using require() must switch to ESM import syntax.
  • c29a26f: feat(provider): add support for provider references and uploading files as supported per provider
  • 3887c70: feat(provider): add new top-level reasoning parameter to spec and support it in generateText and streamText
  • 9bd6512: feat(provider): change file part data property to be tagged with a type and remove the image part type
  • 8359612: Start v7 pre-release
  • 5463d0d: feat(provider): align tool result output content file part types with top-level message file part types

Patch Changes

  • 1f509d4: fix(ai): force template check on 'kind' param

  • 176466a: chore(provider): align V4 model return types to have their own definitions across all model interfaces

  • 5c2a5a2: fix(provider): fix v4 spec to not use shared v3 types

  • 9f0e36c: trigger release for all packages after provenance setup

  • 008271d: feat(openai-compatible): emit warning when using kebab-case instead of camelCase

  • 7fc6bd6: Raise minimum supported Node.js version to 22. Supported versions: 22, 24, and 26.

  • 0c4c275: trigger initial canary release

  • 6fd51c0: fix(provider): preserve error type prefix in getErrorMessage

  • ce769dd: feat(provider): add experimental Realtime API support for voice conversations

    Adds first-class support for realtime (speech-to-speech) APIs:

    • Experimental_RealtimeModelV4 spec in @ai-sdk/provider with normalized event types and factory
    • OpenAI, Google, and xAI realtime provider implementations
    • openai.experimental_realtime() / google.experimental_realtime() / xai.experimental_realtime() work in both server and browser
    • .getToken() static method on each provider for server-side ephemeral token creation
    • experimental_getRealtimeToolDefinitions helper for provider session tool definitions
    • experimental_useRealtime hook in @ai-sdk/react returning UIMessage[] (aligned with useChat), with onToolCall and addToolOutput for client-driven tool execution
    • inputAudioTranscription session config for showing transcribed user audio messages when supported by the provider
  • e311194: feat(ai): allow passing provider instance to uploadFile and uploadSkill as shorthand

  • 258c093: chore: ensure consistent import handling and avoid import duplicates or cycles

  • b8396f0: trigger initial beta release

  • 0416e3e: feat (video): add first-class generateAudio call option

  • ff5eba1: feat: roll image-* tool output types into their equivalent file-* types