Release Notes
Major Changes
ef992f8: Remove CommonJS exports from all packages. All packages are now ESM-only (
"type": "module"). Consumers usingrequire()must switch to ESMimportsyntax.8359612: Start v7 pre-release
04e9009: chore: make provider implementations code patterns more consistent, including renaming certain exported symbols
For all externally exported symbols that were renamed, the old names continue to work via deprecated aliases.
Patch Changes
bba5250: chore(provider/gateway): update gateway model settings files
94c6edc: Add
qwen3.7-maxmodel ID to Alibaba and AI Gateway.980f777: chore(provider/gateway): update gateway model settings files
11746ca: chore(provider/gateway): update gateway model settings files
fb0c233: chore(provider/gateway): update gateway model settings files
e02f041: feat(provider/anthropic): add support for
claude-opus-4-86b0a40d: feat (provider/gateway): add sort options
435895b: feat (provider/gateway): add get-generation support
38ca8dc: fix(gateway): enable retry support for gateway errors
7185ba2: bump
@vercel/oidcdependency to 3.2.04d6ab9a: chore(provider/gateway): update gateway model settings files
7afaece: feat(provider/openai): add GPT-5.4 model support
7943a4b: chore(provider/gateway): update gateway model settings files
aa5a583: chore(provider/xai): remove obsolete Grok 2 models now that they are shut down in their API
a403276: chore(provider/gateway): update gateway model settings files
70a9aae: feat (provider/gateway): add disallowPromptTraining gateway provider option
8c17bf8: fix(gateway): surface provider warnings in embedding and reranking responses
8b7af75: chore(provider/gateway): update gateway model settings files
8e990ff: feat (provider/gateway): add Exa search tool support
ba2e254: fix (provider/gateway): add 'reranking' to modelType validation schema and type so getAvailableModels() accepts reranking models from the gateway API
5f380c0: chore(provider/gateway): update gateway model settings files
4552cbf: chore(provider/gateway): update gateway model settings files
bf837fe: feat(provider/gateway): add speech and transcription model support
ca2cf45: fix(provider/gateway): map
forbiddenerror responses to GatewayForbiddenError instead of GatewayInternalServerError15eb253: feat(gateway): mint short-lived client secrets for experimental realtime
gateway.experimental_realtime.getToken()now mints a single-use, short-lived client secret (vcst_) via the Gateway'sPOST /v1/realtime/client-secretsendpoint instead of returning the long-lived Gateway credential. The customer's server callsgetToken()and hands the returned token to the browser, which opens the realtime WebSocket with it through the existingai-gateway-auth.<token>subprotocol — the API key / OIDC token never reaches the client.expiresAfterSecondsis forwarded to the mint endpoint and the returnedexpiresAtis surfaced on the result.The server-environment guard moves from realtime model construction to minting: the browser can now build the realtime event codec it needs to drive the transport, while minting (which requires the Gateway credential) stays server-side.
a3bb04a: feat(gateway): add experimental realtime model support
Adds
gateway.experimental_realtime()for bidirectional audio/text realtime sessions routed through the AI Gateway. Like every other Gateway modality, the client speaks the normalized AI SDK realtime protocol and the Gateway translates to/from the upstream provider server-side, soGatewayRealtimeModelis a thin identity codec. Gateway realtime is server-side only for v0 and throws if used in a browser because it returns the resolved Gateway auth token rather than a minted ephemeral client secret. Because the browserWebSocketAPI cannot set request headers, the Gateway auth token is carried via theSec-WebSocket-Protocolsubprotocol (the same workaround used for OpenAI) and the model id rides the?ai-model-id=query — the WS transport of theai-model-idheader used by the HTTP routes. The model id is passed through verbatim; the Gateway owns resolution. Provider options (including BYOK) flow through the normalizedsession.update, exactly as they ride the request body on the non-realtime routes.The versioned subprotocol auth contract is centralized so the client and the Gateway server share one definition:
getGatewayRealtimeProtocols(client encode) andgetGatewayRealtimeAuthToken(server decode), plus theGATEWAY_REALTIME_SUBPROTOCOL/GATEWAY_AUTH_SUBPROTOCOL_PREFIXconstants.GatewayProviderOptionsdocuments the stable client-facing option fields while remaining open to service-owned options. Runtime validation lives in the Gateway service so the server can evolve without requiring an SDK release for every new option.d4d4a5e: Add
serviceTier: 'flex' | 'priority'toGatewayProviderOptions.8b811d8: feat(provider/gateway): add optional Vercel team scoping for Gateway authentication. The existing
apiKeyoption can be used with AI Gateway API keys, Vercel personal access tokens, and Vercel app access tokens.ead9144: chore(provider/gateway): update gateway model settings files
712873e: chore(provider/gateway): update gateway model settings files
d5b8263: chore(provider/gateway): update gateway model settings files
71b0e7d: feat (provider/gateway): add hipaaCompliant gateway provider option
987d9e4: chore(provider/gateway): update gateway model settings files
eb024b6: chore(provider/gateway): update gateway model settings files
e7e8f42: chore(provider/gateway): update gateway model settings files
77cc1af: chore(provider/gateway): update gateway model settings files
d30466c: feat (provider/gateway): add spend reporting support
72889f8: chore(provider/gateway): update gateway model settings files
9f0e36c: trigger release for all packages after provenance setup
2095655: chore(provider/gateway): update gateway model settings files
e046ea3: chore(provider/gateway): update gateway model settings files
4adc485: chore(provider/gateway): update gateway model settings files
f32d84a: chore(provider/gateway): update gateway model settings files
82288b0: feat(provider/google): add
gemini-embedding-2-previewand fix multimodal embedding support withembedMany03dc15c: chore(provider/gateway): update gateway model settings files
5df9b6f: feat (provider/gateway): make model list resilient to unknown model types
0457e45: chore(provider/gateway): update gateway model settings files
0694029: chore(provider/gateway): update gateway model settings files
8e53eb7: chore(provider/gateway): update gateway model settings files
1464561: chore(provider/gateway): update gateway model settings files
c949e25: chore(provider/gateway): update gateway model settings files
558777f: fix(gateway): accept deprecated warnings in image, speech, transcription, and video responses
d1f0d2b: feat (provider/gateway): add quotaEntityId gateway provider option
7fc6bd6: Raise minimum supported Node.js version to 22. Supported versions: 22, 24, and 26.
939171f: feat (provider/gateway): add reranking model support with
rerankingModel()andreranking()methods294cbe7: chore(provider/gateway): update gateway model settings files
bdbd322: fix (packages/gateway): clarify sort docs
0c4c275: trigger initial canary release
a3261db: chore(provider/gateway): update gateway model settings files
8f53ccf: chore(provider/gateway): update gateway model settings files
4f91b5d: chore(provider/xai): update Grok 4.20 model IDs to their non-beta versions
f16c103: chore(provider/gateway): update gateway model settings files
67c4011: fix(gateway): encode inline v4 file part bytes as { type: 'data' } instead of a data: URL
9bd6512: feat(provider): change file part data property to be tagged with a type and remove the image part type
258c093: chore: ensure consistent import handling and avoid import duplicates or cycles
546cefe: feat(provider/google): add
gemini-3.5-flash24bb123: fix(gateway): base64-encode inline Uint8Array data on reasoning-file and tool-result file parts
b8396f0: trigger initial beta release
6b4d325: feat(provider/anthropic): add support for
claude-fable-5and thefallbacksAPI parameterc44fcc8: feat(gateway): add GatewayFailedDependencyError (424)
90e2d8a: chore: fix unused vars not being flagged by our lint tooling
165b97a: chore(provider/gateway): update gateway model settings files
baa5f20: chore(provider/gateway): update gateway model settings files
4ec78cd: chore(provider/gateway): rename GatewayLanguageModelOptions back to GatewayProviderOptions
9876183: chore(provider/gateway): update gateway model settings files
0416e3e: feat (video): add first-class
generateAudiocall option97e480a: chore(provider/gateway): update gateway model settings files
b3976a2: Add workflow serialization support to all provider models.
@ai-sdk/provider-utils: NewserializeModel()helper that extracts only serializable properties from a model instance, filtering out functions and objects containing functions. Third-party provider authors can use this to add workflow support to their own models.All providers:
headersis now optional in provider config types. This is non-breaking — existing code that passesheaderscontinues to work. Custom provider implementations that construct model configs manually can now omitheaders, which is useful when models are deserialized from a workflow step boundary where auth is provided separately.All provider model classes now include
WORKFLOW_SERIALIZEandWORKFLOW_DESERIALIZEstatic methods, enabling them to cross workflow step boundaries without serialization errors.efec111: chore(provider/gateway): update gateway model settings files
accaca0: chore(provider/gateway): update gateway model settings files
cdcdec2: chore(provider/gateway): update gateway model settings files
0d8f107: feat(provider/anthropic): add support for Opus 4.7 and relevant API enhancements
f9acbc0: feat(provider/openai): add gpt-image-2 model support
be09425: chore(provider/gateway): update gateway model settings files
7ceff62: chore(provider/gateway): update gateway model settings files
83877a1: chore(provider/gateway): update gateway model settings files
1d6fb7f: chore(provider/gateway): update gateway model settings files
032c4a5: chore(provider/gateway): update gateway model settings files