You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Track backporting of bug fixes and documentation improvements that were merged into main (AI SDK 7) but are not yet on release-v6.0 (AI SDK 6).
Method: Compared all 375 fix/docs commits on main since the branches diverged (b145dce, 2026-03-05) against release-v6.0 (matching backport commit titles and PR references), then assessed each remaining candidate's applicability by reading the diff and checking whether the affected code/docs — and the bug — exist on release-v6.0.
Security fix (VULN-6861): v6's openai, openai-compatible, groq, deepseek, and alibaba streaming code still finalizes tool calls on parsable partial JSON via isParsableJson, and no backport exists on release-v6.0.
v6 xai responses doGenerate still reads reasoning only from part.summary and its schema lacks the content field, so reasoning returned via content is silently dropped in generateText; fix applies with minor adaptation to v6's evolved condition.
v6 run-tools-transformation.ts breaks before toolInputs.set for provider-executed dynamic tools, so their tool results get input undefined; v6 already has the toolCallsByToolCallId map the fix uses.
v6 still uses the 'Tool execution denied.' default message that caused GPT-5 models to refuse further calls to the same tool; the one-word message fix applies across the same converter files (plus two extra v6 google files with the same string).
v6 throws InvalidResponseDataError when the first tool-call delta lacks function.name (real failure with some OpenAI-compatible providers); the buffering fix needs adaptation since v6 lacks StreamingToolCallTracker, but the bug and concept apply.
v6 has the same untagged stepAbortController.abort()/chunkAbortController.abort() timeout calls, and the fix's self-contained setAbortTimeout util (TimeoutError DOMException reason) applies without v7-only APIs.
v6 langchain adapter's on_chat_model_start does not reset textStarted/reasoningStarted, so multi-invocation streamEvents runs append later text to the first text part and break part ordering; bug present and fix self-contained.
v6 langchain utils.ts lacks the else-if that registers emittedToolCallsByKey for tool calls already emitted via messages mode, so the LangGraph HITL interrupt-matching bug (orphaned approval IDs, duplicate events) exists on v6 and the 5-line fix applies.
v6 output.ts array parseCompleteOutput has the same 'return outerValue.elements as Array' that discards validated values, silently dropping schema transforms/coercions/defaults.
v6 OpenAI chat/completions/responses models also surface pre-output stream error frames (e.g. insufficient_quota on HTTP 200) as stream error parts instead of throwing retryable APICallError, so the bug exists on v6.
v6 stream-text has the identical buggy finally { clearStepTimeout(); clearChunkTimeout(); } that disarms the step timer immediately, so timeout.stepMs (which v6 supports) never fires on stalled streams; user-impacting and directly applicable.
v6 gateway image/speech/transcription/video warning schemas lack the 'deprecated' variant, so the shared gateway backend emitting deprecated warnings would fail response parsing on v6.
v6 convert-to-model-messages.ts pushes the assistant message unconditionally (no content.length guard), so data-only blocks produce empty assistant messages on v6 too.
v6 use-chat.ts (line 104) has the exact buggy guard that recreates the Chat instance when id is explicitly undefined, wiping messages; the nullish-guard fix applies directly.
v6 mcp-client.ts has the identical pattern (abort only checked inside the response handler, no abort listener/cleanup), so aborted in-flight callTool also hangs and leaks its handler on v6.
v6 google-provider.ts has the same limited supportedUrls (only generativelanguage/youtube), so external HTTPS file URLs are downloaded instead of passed as fileUri; fix is additive and applies cleanly.
v6 chat.ts has the identical buggy line (approval: { id, approved, reason }) that drops the signature/metadata, and v6 supports signed tool approvals, so the one-line fix applies directly.
Version-agnostic SAP AI Core community provider correction (v6 foundations doc still lists the wrong @mymediset package and the old provider description; the docs explicitly target AI SDK 5.x/6.x).
Version-agnostic clarification that toModelOutput is invoked by convertToModelMessages; the v6 jsdoc and tool reference doc lack this note and the API is identical in v6.
BYOK model mappings are an AI Gateway service feature equally available to v6 (byok is an untyped record there), and the v6 gateway doc has no mention of model mappings.
The prepareCall jsdoc example is version-agnostic; v6's tool-loop-agent-settings.ts has the identical prepareCall option with the same jsdoc lacking the example.
Gateway ZDR/BYOK behavior is a service-level fact; the v6 gateway doc still claims BYOK credentials are always skipped and lacks the 'ZDR-marked BYOK keys are tried first' clarification (text needs light adaptation to v6's wording).
v6 docs and examples still reference gpt-image-1 while the v6 openai package already supports gpt-image-2, so this factual model update applies equally.
v6 has the identical broken mp4-as-image embed in content/providers/05-observability/mlflow.mdx (only the directory number differs from main's 03-observability).
v6 middleware doc has the same result.text bug (content array applies to LanguageModelV3 too, needs V3 type adaptation) and the persistence guide has the same misleading server-side ID wording.
Trivial http->https link fix; the v6 deployment guide still contains the identical http://github.com link.
🤔 Maybe — applicable but lower value or needs a closer look
Bug fixes (10)
fix(provider/azure): large fixture test instability #13483 — fix(provider/azure): large fixture test instability — Test-only flakiness fix (timeout bump for a large-fixture azure test) and the same flaky test exists on v6; applicable but dev-only value.
fix(provider): preserve error type prefix in getErrorMessage #14019 — fix(provider): preserve error type prefix in getErrorMessage — v6 getErrorMessage still returns error.message (dropping the error type prefix), but the fix changes error message strings across packages, a cosmetic behavior change that could break user snapshots on a stable branch.
fix(gateway): use import.meta.url instead of __dirname #14443 — fix(gateway): use import.meta.url instead of __dirname — v6 has the same __dirname usage in the internal gateway generate-model-settings script, but it is a dev-only tooling script and may work fine under v6's tsx setup.
fix(examples): fix mathjs dependency vulnerability #14424 — fix(examples): fix mathjs dependency vulnerability — v6 examples still pin vulnerable mathjs 14.0.0, but this is a dev-only examples dependency bump with no published-package impact.
fix: retain stack traces on async errors #14600 — fix: retain stack traces on async errors — Stack-trace retention (return await) is a debuggability/DX improvement that partially applies to v6, but several touched files (tool-loop-agent, generate-video, unified telemetry) differ or are absent, so it needs adaptation and is low-value.
fix(ai): correct mock array result indexing #15154 — fix(ai): correct mock array result indexing — The off-by-one array indexing bug exists in v6's exported mock models (doGenerate[this.doGenerateCalls.length] after push), but it only affects test utilities (dev-only).
fix(ci): don't fail backport job when fork comment is blocked #16241 — fix(ci): don't fail backport job when fork comment is blocked — v6 backport.yml still has the unguarded gh pr comment (line 189) that fails the job for fork PRs, but this is CI-only and the backport workflow primarily runs from main.
fix(cookbook): correct highlight ranges in rag-chatbot example #16421 — fix(cookbook): correct highlight ranges in rag-chatbot example — Docs-only highlight-range fix; the v6 rag-chatbot guide has different code snippets and highlight values, so the exact ranges don't transfer and v6 would need its own verification.
fix(docs): correct example links and typos #16462 — fix(docs): correct example links and typos — Docs/README typo and link fixes; harmless and mostly applicable (4 of 5 files exist on v6) but low value.
Docs (13)
#null — docs(contributing): add npm dist-tag step to pre-release cycle guide — Version-agnostic contributor doc (npm dist-tag step in pre-release-cycle.md, which exists on v6 without it), but low value since pre-release cycles are run from main.
docs: mention isLoopFinished() stop condition in context of agent loops #14539 — docs: document isLoopFinished() stop condition for agent loops — Only the ToolLoopAgent stopWhen reference hunk applies to v6 (its description lacks the isLoopFinished mention), and it needs adaptation (stepCountIs naming, non-/v7/ docs link); the workflow-agent files do not exist on v6.
docs(contributing): publishing new packages #14814 — docs(contributing): publishing new packages — Provenance/package-bootstrapping documentation in contributing/ is version-agnostic and releases also run from the v6 branch, but it is internal non-deployed contributor docs of modest value.
docs: tool types #14946 — docs: tool types — The function/dynamic tool taxonomy rewrite conceptually applies to v6 (dynamicTool exists there and v6 still says 'three types of tools'), but the commit also changes provider-utils JSDoc code and needs wording review for v7-isms.
docs: Improve prepareStep messages documentation #15111 — docs: Improve prepareStep messages documentation — prepareStep messages and pruneMessages exist on v6, but the new compaction guide and rewritten sections use v7 API names (e.g. isStepCount vs v6's stepCountIs) and only some hunks apply.
docs(examples): update examples/ai-functions/.env.example #15549 — docs(examples): update examples/ai-functions/.env.example — The rewritten .env.example is generated from main's provider set and is not deployed docs; a v6 backport would need regeneration against v6's providers rather than a cherry-pick.
docs(examples): bump @angular/* to patched 20.3.25 #16150 — docs(examples): bump @angular/* to patched 20.3.25 — Security patch bump for the angular example is version-agnostic, but v6 pins ^20.3.2 (caret already allows 20.3.25) and the large pnpm-lock diff would not cherry-pick; would need a fresh bump on v6 if desired.
docs(skill): add warning about version mismatch #16391 — docs(skill): add warning about version mismatch — Both files exist on v6 and a skill/SDK version-mismatch warning is useful there too, but the added text says 'AI SDK 7' and would need adaptation; internal skill/contributing docs, not deployed.
docs(examples/node-http-server): improve example documentation #16388 — docs(examples/node-http-server): improve example documentation — The improved README applies verbatim (the v6 example has the same server with /stream-data and the same outdated README), but it is an example README, not deployed versioned docs, so the value is low.
docs(contributing): clarify when to make changeset #16416 — docs(contributing): clarify when to make changeset — Version-agnostic CONTRIBUTING.md changeset clarification that applies to the v6 branch too, but it is non-deployed contributor docs and low value (and carries a 'behaivor' typo).
docs(openai): update token usage docs #16528 — docs(openai): update token usage docs — v6 openai docs have the same stale guidance (providerMetadata.openai.reasoningTokens/cachedPromptTokens are not populated by the v6 provider either), but the corrected property paths differ on v6 (usage.outputTokens.reasoning, usage.inputTokens.cacheRead), so the fix needs adaptation rather than a cherry-pick.
docs(skill): remove version specific info from use-ai-sdk skill #16557 — docs(skill): remove version specific info from use-ai-sdk skill — Evergreen rewrite of the use-ai-sdk skill would fix the same version-drift problem in the v6 skill, but skills are repo tooling (not deployed versioned docs) and the v6 skill's version-specific references would need separate removal.
🚫 Assessed as not applicable to v6
Mostly fixes for v7-only code or bugs introduced on main after the branch point. Listed for completeness — no action needed unless the assessment is wrong.
fix(mcp): setting redirect: error for MCP transport #13561 — fix(mcp): setting redirect: error for MCP transport — Setting redirect: 'error' on MCP transports is a deliberate v7 breaking change documented in the 7.0 migration guide, not a fix to backport to v6.
fix(ai): refactor to flatten model attributes #13615 — fix(ai): refactor to flatten model attributes — Refactors model attributes in the post-branch events/telemetry system (embed-events.ts etc. do not exist on v6).
fix(ai): limit tool execution time duration to actual tool execution #14601 — fix(ai): limit tool execution time duration to actual tool execution — The inflated durationMs comes from main's executeToolInTelemetryContext wrapper which does not exist on v6; v6 already measures only the actual tool execution.
fix: deprecate needsApproval on Tool #14694 — fix: deprecate needsApproval on Tool — Only adds a deprecation of needsApproval as v7 API direction; needsApproval remains the primary v6 API, so no bug to fix there.
fix(ai): enforce callOptionsSchema at runtime in ToolLoopAgent #14750 — fix(ai): enforce callOptionsSchema at runtime in ToolLoopAgent — The fix is already present on release-v6.0: tool-loop-agent.ts there already validates options via validateTypes against callOptionsSchema.
fix(ai): unify generate text event callbacks #14762 — fix(ai): unify generate text event callbacks — v7 API restructuring that unifies generate-text event callbacks; breaking change, not a bug fix for v6.
fix(ai): remove stopWhen from onStart event #14759 — fix(ai): remove stopWhen from onStart event — Removes stopWhen from the onStart event to simplify v7 generics/runtime-context work; on v6 the property exists in the (experimental) callback-events API and removing it would be a breaking API change, not a bug fix.
fix(ai): remove ExtractLiteralUnion export #14845 — fix(ai): remove ExtractLiteralUnion export — Removes an accidental ExtractLiteralUnion export that is not exported from packages/ai/src/util/index.ts on v6 (added on main after the branch point).
fix(ai): preserve allowSystemInMessages across streamText retries #14844 — fix(ai): preserve allowSystemInMessages across streamText retries — The retry regression came from main's streamLanguageModelCall refactor (each retry re-standardizes the prompt); v6 standardizes the prompt once before retrying, so the bug never existed there.
fix: oxfmt markdown formatting #15113 — fix: oxfmt markdown formatting — Repo-wide oxfmt markdown formatting churn with no user impact; not worth backporting.
fix: rename system to instructions #15110 — fix: rename system to instructions — The system-to-instructions rename is the core v7 breaking change and must not be backported to v6.
fix(workflow): Fix stepNumber on telemetry events #15151 — fix(workflow): Fix stepNumber on telemetry events — Fixes stepNumber in @ai-sdk/workflow telemetry; the workflow package does not exist on release-v6.0 (only examples and lockfile touched).
fix: rename onEmbedFinish to onEmbedEnd #15201 — fix: rename onEmbedFinish to onEmbedEnd — Renames the v7-only onEmbedFinish callback; neither onEmbedFinish nor onEmbedEnd exists on release-v6.0.
fix: rename onRerankFinish to onRerankEnd #15195 — fix: rename onRerankFinish to onRerankEnd — Breaking rename of onRerankFinish to onRerankEnd made during the v7 prerelease; not a backportable bug fix.
fix: update jsdoc for instructions #15170 — fix: update jsdoc for instructions — One-line jsdoc documenting v7's 'instructions carries forward' prepareStep behavior, which does not exist on v6 (v6 uses system and does not carry forward).
fix: make sandbox experimental #15253 — fix: make sandbox experimental — Marks the sandbox feature (added on main after the branch point) as experimental; a v7 API-surface decision, not a v6 bug.
fix: rename telemetry onFinish to onEnd #15243 — fix: rename telemetry onFinish to onEnd — Breaking rename of the telemetry integration onFinish callback to onEnd made during the v7 prerelease; not a backportable bug fix.
fix: support tools with optional context #15303 — fix: support tools with optional context — Fixes type inference for tool context (toolsContext/contextSchema), a v7-only feature absent from release-v6.0.
fix: consider file outputs and tool calls for time to first output #15620 — fix: consider file outputs and tool calls for time to first output — Fixes time-to-first-output step performance metrics, a feature (otel/workflow/step metrics) added on main after the branch point; no performance metrics or sum-token-counts.ts exist on v6.
fix(ai): pass all stream text parts to onChunk #15618 — fix(ai): pass all stream text parts to onChunk — Intentional v7 behavior change (documented in the 7.0 migration guide); the chunk-subset behavior was deliberately kept on v6 for backwards compatibility.
fix: fix streamText tests #15619 — fix: fix streamText tests — Test-only change fixing CI broken on main; v6 tests are unaffected.
fix: rename onFinish to onEnd #15245 — fix: rename onFinish to onEnd — Deliberate v7 API rename of onFinish to onEnd with new accumulative semantics, not a bug fix applicable to v6.
fix: Promote generateSpeech and SpeechResult to stable #16010 — fix: Promote generateSpeech and SpeechResult to stable — Promotes experimental generateSpeech/SpeechResult APIs to stable, a v7 stabilization decision rather than a bug fix backportable to v6.
fix(docs): fix model message file part reference docs #16065 — fix(docs): fix model message file part reference docs — Documents the v7-only tagged FileData/ProviderReference file-part shape; v6 docs and code still use the plain DataContent | URL type.
fix: Remove deprecated experimental generateImage exports #16017 — fix: Remove deprecated experimental generateImage exports — Removes deprecated experimental generateImage exports as v7 API cleanup; backporting would break v6 users still on those exports.
fix(devtools): validate viewer database paths #16049 — fix(devtools): validate viewer database paths — The vulnerable remote-dbPath feature does not exist on v6: reloadDb() takes no arguments and /api/notify does not accept a dbPath, so the path-traversal bug was introduced on main after the branch point.
fix(gateway): include realtime in model metadata #16381 — fix(gateway): include realtime in model metadata — Adds the 'realtime' model type to gateway metadata for v7; v6 gateway has no realtime model support (KNOWN_MODEL_TYPES lacks it and no realtime files exist).
fix(ai): type agent tool call callback aliases #16461 — fix(ai): type agent tool call callback aliases — v6's AgentCallParameters has no tool execution callbacks at all (only onStepFinish), so the missing deprecated alias typings are a v7-only gap.
fix(harness): fix harness relay auth #16432 — fix(harness): fix harness relay auth — Touches only harness-codex/harness-opencode packages, which do not exist on release-v6.0.
fix: send OpenAI chat image data as data URLs #16655 — fix: send OpenAI chat image data as data URLs — The bug is in v7's LanguageModelV4 file-data handling (part.data.data); v6's convert-to-openai-chat-messages already emits data:;base64 URLs.
docs: ADRs #13343 — docs: ADRs — ADR infrastructure (contributing/decisions, ADR skill, AGENTS.md wiring) governs main-branch development and mostly does not exist on release-v6.0.
docs(ai): README update #13651 — docs(ai): README update — The commit only adds a changeset file (.changeset/two-pens-teach.md); there is no doc content to backport.
docs: add pricing and reporting API reference to gateway docs #13727 — docs: add pricing and reporting API reference to gateway docs — The v6 ai-gateway doc already documents the reporting API (via getSpendReport) and pricing link, so the gap this commit fills does not exist on v6.
docs: stream pipeline structure #13738 — docs: stream pipeline structure — Architecture doc describing v7 internals; the file does not exist on release-v6.0.
docs(ai): add toolMs and per-tool timeout docs #14067 — docs(ai): add toolMs and per-tool timeout docs — Documents toolMs and per-tool timeout overrides, a v7-only feature; v6 timeout config only supports totalMs/stepMs/chunkMs.
docs: add new documentation for telemetry setup #14014 — docs: add new documentation for telemetry setup — Documents the v7-only registerTelemetryIntegration/@ai-sdk/otel setup; v6 telemetry uses experimental_telemetry without a registration step, so the rewrites would be wrong on v6.
docs: update telemetry docs to show enabled by default #14538 — docs: update telemetry docs to show enabled by default — Documents telemetry being enabled by default, a v7 behavior change; v6 telemetry remains experimental and opt-in via experimental_telemetry.
docs: add tool approval page to agents section #15198 — docs: add tool approval page to agents section — The tool approvals page documents the ToolLoopAgent toolApproval option, which is v7-only; v6 uses the needsApproval API.
docs: add note about tool execution events #15263 — docs: add note about tool execution events — Adds code comments/renames around the v7-only telemetryDispatcher and onToolExecutionStart plumbing in stream-text.ts, which does not exist in that form on v6.
docs: remove experimental telemetry warning #15611 — docs: remove experimental telemetry warning — Removes the experimental-telemetry warning because telemetry went stable in v7; telemetry is still experimental in v6, so the warning must stay.
docs(contributing): document the Experimental_ prefix seam convention #15833 — docs(contributing): document the Experimental_ prefix seam convention — contributing/naming-conventions.md does not exist on release-v6.0 and the Experimental_ seam convention is contributor guidance for main development, not deployed docs.
docs: update devtools docs + readme for v7 #15913 — docs: update devtools docs + readme for v7 — Updates devtools docs/README from v6 beta to v7 canary and the v7 DevToolsTelemetry/registerTelemetry API; v6 docs correctly describe the v6 middleware-based devtools.
docs: Policy-Based Tool Approvals page for @ai-sdk/policy-opa #15875 — docs: Policy-Based Tool Approvals page for @ai-sdk/policy-opa — Documents the new v7-era @ai-sdk/policy-opa package; the new policy-tool-approvals page does not exist on v6 and the other hunks just link to it.
docs(harness): clarifications #16070 — docs(harness): clarifications — Harness docs clarifications target v7-only pages that do not exist on release-v6.0.
docs: add telemetry code snippet for nextjs instrumentation #16149 — docs: add telemetry code snippet for nextjs instrumentation — The Next.js snippet uses the v7 registerTelemetry/@ai-sdk/otel API; the v6 telemetry doc is the older experimental_telemetry version without the section being amended.
docs: update docs for model generation lifecycle #16128 — docs: update docs for model generation lifecycle — Renames event-listeners to lifecycle-callbacks and reflects v7 API changes (onEnd totalUsage->usage, ToolLoopAgent lifecycle events) that do not match the v6 event-listeners doc.
docs: change highlighted code lines for example #16136 — docs: change highlighted code lines for example — The v6 building-agents page does not contain the toolsContext/experimental_sandbox code blocks whose highlight line numbers were fixed (v7-only content).
docs: reorder docs to surface observability integrations #16169 — docs: reorder docs to surface observability integrations — 173-file navigation renumbering/restructure of the v7 docs tree (observability moved to 03, community to 05); a structural reorg, not a version-agnostic fix, and v6 has a different directory layout.
docs: canary -> beta #16156 — docs: canary -> beta — canary -> beta install instructions are v7 prerelease-channel docs for v7-only packages (harness, devtools, migration guide); not relevant to stable v6 docs.
docs: sort migration guide sections #16176 — docs: sort migration guide sections — Migration-guide work is excluded from backports and the v7 migration guide file does not exist on release-v6.0.
docs: add raindrop as an observability provider #16252 — docs: add raindrop as an observability provider — The Raindrop observability page explicitly documents the v7 telemetry interface (registerTelemetry), which does not exist in v6.
docs: fix Raindrop observability provider examples #16257 — docs: fix Raindrop observability provider examples — raindrop.mdx does not exist in the v6 observability docs (content/providers/05-observability), so there is nothing to fix.
docs: add new skill for migrating to v7 #16216 — docs: add new skill for migrating to v7 — Adds the v6-to-v7 migration skill, which is explicitly v7 migration work and its files do not exist on release-v6.0.
docs: add realtime Gateway guidance #16314 — docs: add realtime Gateway guidance — Realtime (experimental_realtime/useRealtime) is a v7-only feature; the realtime docs do not exist on v6 and the gateway doc changes are all realtime guidance.
docs: remove experimental from devtools + deadlink #16375 — docs: remove experimental from devtools + deadlink — The dead-link fix targets 17-mcp-apps.mdx which does not exist on v6, and removing the devtools 'experimental' warning reflects v7 stabilization, so it would be wrong for the v6 docs.
docs: AI SDK 7 #16365 — docs: AI SDK 7 — AI SDK 7 release announcement updates (v7 migration guide, harness docs, devtools beta notes) are v7-specific.
docs: update onFinish to onEnd #16398 — docs: update onFinish to onEnd — onFinish -> onEnd is a v7 API rename; v6 still uses onFinish, so the v6 docs are correct as-is.
docs: add Sentry observability guide #16394 — docs: add Sentry observability guide — New Sentry observability guide is built around the v7 registerTelemetry/@ai-sdk/otel API, which does not exist in v6 (experimental_telemetry).
docs: fix language model middleware spec links #16487 — docs: fix language model middleware spec links — v6 middleware docs already link to the release-v6.0 branch v3 spec (links work) and the v6 reference page consistently documents LanguageModelV3, so the 404/mismatch problem is main-only.
Goal
Track backporting of bug fixes and documentation improvements that were merged into
main(AI SDK 7) but are not yet onrelease-v6.0(AI SDK 6).Method: Compared all 375 fix/docs commits on
mainsince the branches diverged (b145dce, 2026-03-05) againstrelease-v6.0(matching backport commit titles and PR references), then assessed each remaining candidate's applicability by reading the diff and checking whether the affected code/docs — and the bug — exist onrelease-v6.0.Snapshot (2026-07-06): 158 already backported · 4 in-flight · 213 candidates assessed below.
✅ Recommended for backport
These fix problems that exist on
release-v6.0and apply without v7-only dependencies.Bug fixes
isDynamicToolUIPartfromaipackage #13961 — fix(ui): exportisDynamicToolUIPartfromaipackageuseChatinstead of a stale one #16546 — fix(react): use the latest transport inuseChatinstead of a stale onetransport#bodyis always stale #7819) exists on v6 and the fix only uses APIs (ChatTransport, DefaultChatTransport) available there.Docs (version-agnostic)
🤔 Maybe — applicable but lower value or needs a closer look
Bug fixes (10)
Docs (13)
isLoopFinished()stop condition in context of agent loops #14539 — docs: document isLoopFinished() stop condition for agent loops — Only the ToolLoopAgent stopWhen reference hunk applies to v6 (its description lacks the isLoopFinished mention), and it needs adaptation (stepCountIs naming, non-/v7/ docs link); the workflow-agent files do not exist on v6.publishConfigandrepositorykeys are not needed #15524 — docs(contributing):publishConfigandrepositorykeys are not needed — Fixes the package-bootstrap template in contributing/releases.md, but the section it edits was added by docs(contributing): publishing new packages #14814 and does not exist on v6; only applicable if docs(contributing): publishing new packages #14814 is backported, and it is internal contributor docs.examples/ai-functions/.env.example#15549 — docs(examples): updateexamples/ai-functions/.env.example— The rewritten .env.example is generated from main's provider set and is not deployed docs; a v6 backport would need regeneration against v6's providers rather than a cherry-pick.use-ai-sdkskill #16557 — docs(skill): remove version specific info fromuse-ai-sdkskill — Evergreen rewrite of the use-ai-sdk skill would fix the same version-drift problem in the v6 skill, but skills are repo tooling (not deployed versioned docs) and the v6 skill's version-specific references would need separate removal.🚫 Assessed as not applicable to v6
Mostly fixes for v7-only code or bugs introduced on
mainafter the branch point. Listed for completeness — no action needed unless the assessment is wrong.Bug fixes (110)
maxStepsparameter #14541 — fix(workflow): remove obsoletemaxStepsparameter — packages/workflow does not exist on release-v6.0.generateTextandstreamTextresultusagereport total usage across all steps and deprecatetotalUsage#15121 — fix: MakegenerateTextandstreamTextresultusagereport total usage across all steps and deprecatetotalUsage— Deliberate v7 semantic change making result.usage accumulate across steps and deprecating totalUsage; backporting would change v6 behavior.stepNumberon telemetry events #15151 — fix(workflow): FixstepNumberon telemetry events — Fixes stepNumber in @ai-sdk/workflow telemetry; the workflow package does not exist on release-v6.0 (only examples and lockfile touched).{ type: 'data' }instead of adata:URL #15050 — fix(gateway): encode inline v4 file part bytes as{ type: 'data' }instead of adata:URL — Fix targets the v7 LanguageModelV4 SharedV4FileData tagged union; v6 gateway uses the v3 spec where the data: URL encoding is the correct wire form.onChunk#15618 — fix(ai): pass all stream text parts toonChunk— Intentional v7 behavior change (documented in the 7.0 migration guide); the chunk-subset behavior was deliberately kept on v6 for backwards compatibility.@ai-sdk/harness,@ai-sdk/sandbox-just-bash, and@ai-sdk/sandbox-vercel#15932 — fix: bump base versions to 1.0.0 for@ai-sdk/harness,@ai-sdk/sandbox-just-bash, and@ai-sdk/sandbox-vercel— Version bump to 1.0.0 for harness/sandbox packages that do not exist on release-v6.0.transcribeandTranscriptionResultto stable #16009 — fix: PromotetranscribeandTranscriptionResultto stable — Promotes transcribe from experimental to stable as part of v7 API stabilization; v6 intentionally keeps experimental_transcribe.generateSpeechandSpeechResultto stable #16010 — fix: PromotegenerateSpeechandSpeechResultto stable — Promotes experimental generateSpeech/SpeechResult APIs to stable, a v7 stabilization decision rather than a bug fix backportable to v6.shellQuotewhere appropriate in harness adapters #16429 — fix(harness): useshellQuotewhere appropriate in harness adapters — Harness packages (harness-claude-code, harness-codex, harness-pi) do not exist on release-v6.0.workflow-harness#16441 — fix(harness-codex): fix Codex sometimes stopping after a single text response when usingworkflow-harness— harness-codex package does not exist on release-v6.0.Docs (50)
DurableAgent#14650 — docs(workflow): migrate fromDurableAgent— The DurableAgent-to-WorkflowAgent migration doc is v7-only and does not exist on release-v6.0.@canarytags #16073 — docs(harness): clarify harness@canarytags — Harness @canary tag docs are for v7-only harness packages and none of the files exist on release-v6.0.🚧 In-flight — open backport PRs against
release-v6.0JSON.parseused in production provider code (prototype pollution risk) #16763 — [v6.0] fix: RawJSON.parseused in production provider code (prototype pollution risk)Assessments were made by inspecting each commit's diff against
release-v6.0; individual verdicts may need human review.