NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2684 most downloaded on npm
AI SDK by Vercel - build apps like ChatGPT, Claude, Gemini, and more with a single interface for any model using the Vercel AI Gateway or go direct to OpenAI, Anthropic, Google, or any other model provider.
Last release today
18 Sep 2026
Ships on a steady schedule
a new release about every 8 days
Some releases are documented
notes for 27 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
1527 releases · first in 2014
### Patch Changes - Updated dependencies [03dc15c] - @ai-sdk/gateway@4.0.0-beta.58
33d099c: fix(ai): omit reasoning-start/end when sendReasoning is false
One column per quarter.
2a74d43: Remove the deprecated experimental_prepareStep option from generateText.
2a74d43: Remove the deprecated experimental_prepareStep option from generateText.
Use prepareStep instead.
382d53b: refactoring: rename context to runtimeContext
4873966: chore(ai): allow general usage of logWarnings and emit them via Node API when available
logWarnings and emit them via Node API when availableadd1126: refactoring: executeTool uses tool as parameter
2a9c144: feat(ai): add toolNeedsApproval option
### Patch Changes - Updated dependencies [5df9b6f] - @ai-sdk/gateway@4.0.0-beta.54
208d045: fix(ai): skip global telemetry registration when local integration defined
### Patch Changes - Updated dependencies [0457e45] - @ai-sdk/gateway@4.0.0-beta.53
c4f4b5f: refactoring(ai): remove deprecated experimental_activeTools option
1582efa: chore(ai): remove the metadata field from the telemetry settings
bc47739: chore(ai): cleanup telemetry event data
### Patch Changes - Updated dependencies [ba2e254] - @ai-sdk/gateway@4.0.0-beta.52
### Patch Changes - Updated dependencies [cdcdec2] - @ai-sdk/gateway@4.0.0-beta.51
1db29c8: feat(ai): break CallSettings apart into LanguageModelCallOptions and RequestOptions
CallSettings apart into LanguageModelCallOptions and RequestOptionsff5eba1: feat: roll image-* tool output types into their equivalent file-* types
image-* tool output types into their equivalent file-* typesef992f8: Remove CommonJS exports from all packages. All packages are now ESM-only ("type": "module"). Consumers using require() must switch to ESM imp
"type": "module"). Consumers using require() must switch to ESM import syntax.### Patch Changes - Updated dependencies [bdbd322] - Updated dependencies [8f53ccf] - @ai-sdk/gateway@4.0.0-beta.48
5a6f514: feat(ai): support several tools in hasToolCall stop condition
57bf606: chore(ai): simplify unified telemetry creation
90e2d8a: chore: fix unused vars not being flagged by our lint tooling
### Patch Changes - Updated dependencies [6b0a40d] - @ai-sdk/gateway@4.0.0-beta.46
e27ed76: feat(devtools): add new devtools integration for telemetry
2fe1099: feat(ai): emit streaming chunks throught the onChunk callback
customProvider and createProviderRegistry to support file and skill upload abstractions3ae1786: fix: better context type inference
6866afe: fix(ai): fix lastAssistantMessageIsCompleteWithApprovalResponses to no longer ignore providerExecuted tool approvals
lastAssistantMessageIsCompleteWithApprovalResponses to no longer ignore providerExecuted tool approvalsf372547: fix(ai): fix providerExecuted tool approvals being passed to language model twice
providerExecuted tool approvals being passed to language model twice2add429: fix(ai): skip passing invalid JSON inputs to response messages
fcc6869: refactor(ai/core): rename ModelCallStreamPart to LanguageModelStreamPart and align stream model call naming (streamLanguageModelCall, experim
fcc6869: refactor(ai/core): rename ModelCallStreamPart to LanguageModelStreamPart and align stream model call naming (streamLanguageModelCall, experimental_streamLanguageModelCall).
This updates experimental low-level stream primitives to use "language model call" terminology consistently.
176466a: chore(provider): align V4 model return types to have their own definitions across all model interfaces
e311194: feat(ai): allow passing provider instance to uploadFile and uploadSkill as shorthand
uploadFile and uploadSkill as shorthand### Patch Changes - Updated dependencies [1464561] - @ai-sdk/gateway@4.0.0-beta.41
664a0eb: feat (ai/core): support plain string model IDs in rerank() function
664a0eb: feat (ai/core): support plain string model IDs in rerank() function
The rerank() function now accepts plain model strings (e.g., 'cohere/rerank-v3.5') in addition to RerankingModel objects, matching the behavior of generateText, embed, and other core functions.
e68be55: fix(ai): skip stringifying text when streaming partial text
### Patch Changes - Updated dependencies [0694029] - @ai-sdk/gateway@4.0.0-beta.39
72223e7: chore(ai): remove deprecated isToolOrDynamicToolUIPart function
d1a8bed: fix(ui): export isDynamicToolUIPart from ai package
isDynamicToolUIPart from ai package### Patch Changes - Updated dependencies [fb0c233] - Updated dependencies [d1f0d2b] - @ai-sdk/gateway@4.0.0-beta.36
@ai-sdk/provider-utils@5.0.0-beta.12
### Patch Changes - Updated dependencies [71b0e7d] - @ai-sdk/gateway@4.0.0-beta.34
6fd51c0: fix(provider): preserve error type prefix in getErrorMessage
### Patch Changes - Updated dependencies [11746ca] - @ai-sdk/gateway@4.0.0-beta.32
c29a26f: feat(provider): add support for provider references and uploading files as supported per provider
38fc777: Add AI Gateway hint to provider READMEs
### Patch Changes - Updated dependencies [4552cbf] - @ai-sdk/gateway@4.0.0-beta.30
2e17091: fix(types): move shared tool set utility types into provider-utils
2e17091: fix(types): move shared tool set utility types into provider-utils
Moved ToolSet, InferToolSetContext, and UnionToIntersection into @ai-sdk/provider-utils and updated ai internals to import them directly from there. This keeps the shared tool typing utilities colocated with the core tool type definitions.
Updated dependencies [2e17091]
493295c: Remove the deprecated ToolCallOptions export.
986c6fd: feat(ai): change type of experimental_context from unknown to generic
493295c: Remove the deprecated ToolCallOptions export.
Use ToolExecutionOptions instead.
### Patch Changes - Updated dependencies [70a9aae] - @ai-sdk/gateway@4.0.0-beta.27
b3c9f6a: feat(ai): create new opentelemetry package (@ai-sdk/otel)
5d0f18e: feat(ai): move opentelemetry to new package
9b47dea: fix(ai): remove otel Tracer api from telemetry settings
b56301c: feat(ai): decouple otel from generate/streamObject
6abd098: split prepareToolsAndToolChoice() into prepareTools() and prepareToolChoice()
prepareToolsAndToolChoice() into prepareTools() and prepareToolChoice()### Patch Changes - Updated dependencies [294cbe7] - @ai-sdk/gateway@4.0.0-beta.26
5c4d910: feat(ai): add new isLoopFinished stop condition helper for unlimited steps
isLoopFinished stop condition helper for unlimited stepsbc67b4f: feat(ai): add experimental callbacks for structured outputs
31ee822: refactoring(ai): extract filterActiveTools and expose it as experimental_filterActiveTools
### Patch Changes - Updated dependencies [435895b] - @ai-sdk/gateway@4.0.0-beta.25
### Patch Changes - Updated dependencies [d30466c] - @ai-sdk/gateway@4.0.0-beta.24
Your coding agent can read these notes before it upgrades. Set up the MCP server →