NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #1565 most downloaded on npm
This is the **x86_64-unknown-linux-gnu** binary for `@next/swc`
Last release today
19 Sep 2026
Ships on a steady schedule
a new release about every 8 days
Some releases are documented
notes for 35 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
2725 releases · first in 2021
One column per quarter.
Honor the route-level expire value with blocking revalidation: #93211
expire value with blocking revalidation: #93211experimental.turbopackWorkerAssetPrefix to keep Workers same-origin when assetPrefix is a CDN: #93271onError once: #93209Huge thanks to @mmastrac, @unstubbable, @GuinsooRocky, @sokra, @eps1lon, @mischnic, @maximecolin, @lukesandberg, @wbinnssmith, @lubieowoce, @timneutkens, @ztanner, @zana-abdi2002, and @icyJoseph for helping!
Apply sourcemaps by default during prerender in next build: #93280
next build: #93280export * as X from './self' in scope-hoisted modules: #93192Huge thanks to @eps1lon, @mischnic, @unstubbable, @ztanner, @sokra, @wbinnssmith, and @lukesandberg for helping!
Preserve __NEXT_ERROR_CODE across the /_error page handoff: #93183
__NEXT_ERROR_CODE across the /_error page handoff: #93183Huge thanks to @unstubbable and @lukesandberg for helping!
[next/image] Stop using deprecated url.parse: #93208
no-location-assign-relative-destination: #92900fef12a01-20260413 to da9325b5-20260417: #92945url.parse: #93208shallow-routing: #93006'use cache': #93055'use cache' fill timeout configurable: #93070react@experimental is available: #93235super(...) messages in Error subclass constructors: #93182Huge thanks to @bgw, @eps1lon, @SukkaW, @nextjs-bot, @devjiwonchoi, @aurorascharff, @feedthejim, @icyJoseph, @ztanner, @vercel-release-bot, @mmastrac, @mischnic, @gaojude, @unstubbable, @lukesandberg, @ijjk, @wbinnssmith, @awo00, @sokra, @acdlite, and @christopherkindl for helping!
Improve "make root node" trace attributes: #92941
Huge thanks to @sokra for helping!
Support more prefetch configuration options: #92859
'use cache' invocations: #91830Huge thanks to @gnoff, @unstubbable, @ztanner, @aurorascharff, @mmastrac, and @icyJoseph for helping!
fix(next/image): ensure images.maximumResponseBody applies to local images too: #92920
images.maximumResponseBody applies to local images too: #92920unstable_io: #92923Huge thanks to @styfle, @mmastrac, @ztanner, @lukesandberg, @sokra, @timneutkens, and @gnoff for helping!
Backport/docs fixes 16.2 - July round by @icyJoseph in https://github.com/vercel/next.js/pull/96031
Full Changelog: https://github.com/vercel/next.js/compare/v16.2.11...v16.2.12
This release contains security fixes for the following advisories:
This release contains security fixes for the following advisories:
High:
Moderate:
Contains no changes except publishing @next/swc-wasm-web which was accidentally not published since 16.2.4.
Contains no changes except publishing @next/swc-wasm-web which was accidentally not published since 16.2.4.
Empty release to ensure next@latest points at a stable release. Next.js only allows publishing with Trusted Publishing enabled. In order to fix NPM di
Empty release to ensure next@latest points at a stable release. Next.js only allows publishing with Trusted Publishing enabled. In order to fix NPM dist-tags, we have to release a new version. Updating dist-tags is not possible with Trusted Publishing.
Release with no changes in an attempt to fix next@latest pointing at a prerelease version.
Release with no changes in an attempt to fix next@latest pointing at a prerelease version.
> This release is backporting bug fixes. It does not include all pending features/changes on canary.
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
playwright-core to resolve _finishedPromise on requestFailed (#93920)router.query corruption with basePath + rewrites (#93917)FormData entries (#94240)Huge thanks to @eps1lon, @icyJoseph, @unstubbable, @mischnic, @bgw, @timneutkens, and @lukesandberg for helping!
> This release contains security fixes and backported bug fixes. It does not include all pending features/changes on canary.
[!NOTE] This release contains security fixes and backported bug fixes. It does not include all pending features/changes on canary.
The following advisories have been addressed:
High:
Moderate:
Low:
cacheHandlers keys (#93453)> This release contains security fixes and backported bug fixes. It does not include all pending features/changes on canary.
[!NOTE] This release contains security fixes and backported bug fixes. It does not include all pending features/changes on canary.
The following advisories have been addressed:
High:
Moderate:
Low:
cacheHandlers keys (#93453)> This release is backporting bug fixes. It does not include all pending features/changes on canary.
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
Huge thanks to @Badbird5907, @lukesandberg, @andrewimm, @sokra, and @mischnic for helping!
For more information about the fixed security vulnerability, please see https://vercel.com/changelog/summary-of-cve-2026-23869. The release does not i…
[!NOTE] This release is backporting security and bug fixes. For more information about the fixed security vulnerability, please see https://vercel.com/changelog/summary-of-cve-2026-23869. The release does not include all pending features/changes on canary.
Huge thanks to @icyJoseph, @sokra, @wbinnssmith, @eps1lon and @ztanner for helping!
Backport: TypeScript v6 deprecations for baseUrl and moduleResolution
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
Huge thanks to @nextjs-bot, @icyJoseph, @ijjk, @gaojude, @wbinnssmith, @lukesandberg, and @bgw for helping!
> This release is backporting bug fixes. It does not include all pending features/changes on canary.
[!NOTE] This release is backporting bug fixes. It does not include all pending features/changes on canary.
cacheComponents (#91711){eval:true} in worker_threads constructors (#91666)Huge thanks to @icyJoseph, @abhishekmardiya, @ijjk, @mischnic, @unstubbable, @sokra, and @lukesandberg for helping!
Replace deprecated moduleResolution: "node": #92654
moduleResolution: "node": #92654Huge thanks to @mischnic, @sokra, @unstubbable, @aurorascharff, @acdlite, @bgw, @mmastrac, @eps1lon, and @lukesandberg for helping!
Allow overriding outputHashSalt in modifyConfig: #92856
Huge thanks to @bgw, @ztanner, @sokra, and @mischnic for helping!
fix(trace-server): default MCP port to --port + 1 to avoid conflicts: #92831
"use cache" args during final prerender: #92820Huge thanks to @mmastrac, @sokra, @mischnic, @timneutkens, @vercel-release-bot, @unstubbable, @icyJoseph, and @MukundaKatta for helping!
Stop using deprecated baseUrl: #92653
baseUrl: #92653@next/swc binary postinstall: #92813Huge thanks to @sokra, @eps1lon, @bgw, @icyJoseph, @mischnic, and @timneutkens for helping!
Scope Safari ?ts= cache-buster to CSS/font assets only (Pages Router): #92580
Huge thanks to @lukesandberg and @acdlite for helping!
Fix devlow-bench: tsconfig rootDir mismatch with package.json bin: #92800
Huge thanks to @mmastrac for helping!
Stop using deprecated downlevelIteration: #92652
"use cache": #92736downlevelIteration: #92652Huge thanks to @bgw, @mmastrac, @sokra, @timneutkens, @eps1lon, @unstubbable, @mischnic, @bgub, @aurorascharff, @gnoff, and @lukesandberg for helping!
Ensure x-nextjs-data header is only set during resolve: #92752
Huge thanks to @ijjk for helping!
Exclude trace files from directory deletion in builds: #92486
Huge thanks to @lukesandberg, @mmastrac, and @acdlite for helping!
Fix prefetch hints not being loaded during revalidation: #92625
Huge thanks to @acdlite for helping!
test: use Turborepo pack task for test isolation: #92575
404b38c7-20260408 to fef12a01-20260413: #92728baseUrl: #92469Huge thanks to @vercel-release-bot, @eps1lon, @mischnic, @timneutkens, @hamedniroomand, @sleitor, @sokra, @Badbird5907, @fireairforce, and @andrewimm for helping!
Node.js streams: Add forkpoint for error recovery: #92457
--debug-build-paths requires route group folders in paths: #92618Huge thanks to @lukesandberg, @timneutkens, and @icyJoseph for helping!
feat(turbopack): add LocalPathOrProjectPath PostCSS config resolution: #91338
Huge thanks to @lukesandberg, @sokra, @mischnic, @timneutkens, and @mmastrac for helping!
Add codemod command to middleware deprecation warning: #92532
compilerOptions.paths in tsconfigs without compilerOptions.baseUrl: #92277@turbopack/base64 module: #92549Huge thanks to @sokra, @timneutkens, @hamidrezahanafi, @mmastrac, @lukesandberg, @aurorascharff, @bgw, @ztanner, @mischnic, @fireairforce, and @bgub for helping!
Don't swallow strings thrown in Server Components: #92592
Huge thanks to @eps1lon for helping!
[test] Stop using deprecated target: "es5" TypeScript compiler option: #92458
target option in React Compiler for Pages + React 18: #91500unstable_retry() behavior: #91827target: "es5" TypeScript compiler option: #92458Huge thanks to @sokra, @timneutkens, @devjiwonchoi, @aurorascharff, @eps1lon, @lukesandberg, @icyJoseph, @bgw, @mmastrac, and @wbinnssmith for helping!
Turbopack: switch from immutable token to path prefix: #92164
Huge thanks to @bgw, @mischnic, @gnoff, and @ztanner for helping!
Nothing published for this version
docs: add middleware.mdx deprecation stub for discoverability: #92281
server-only in data security guide: #92445Huge thanks to @bgw, @aurorascharff, @lukesandberg, @icyJoseph, @timneutkens, @sokra, @vercel-release-bot, @abhishekmardiya, @bgub, @TooTallNate, and @gaojude for helping!
next-routing: middleware matching and app request URL normalization: #91859
Huge thanks to @ijjk, @andrewimm, @bgw, @wwenrr, and @lukesandberg for helping!
Include more context in macOS Rosetta 2 warning message: #92436
client-cache.parallel-routes in production and deploy: #92195CURRENT and stale sst files: #92414Huge thanks to @sokra, @bgw, @lukesandberg, @icyJoseph, @eps1lon, and @wbinnssmith for helping!
chore: Upgrade to pnpm 10.x: #92283
turbo_tasks::apply_effects, use Effects::apply instead: #91858Huge thanks to @bgw, @wbinnssmith, and @lukesandberg for helping!
Allow for parsing app route strings with and without slot names.: #92327
Huge thanks to @lukesandberg, @ztanner, and @gnoff for helping!
Handle edge runtime in places that import node:stream: #92354
Huge thanks to @timneutkens, @aurorascharff, and @ijjk for helping!
next-core: deduplicate output assets and detect content conflicts on emit: #92292
Huge thanks to @sokra and @ztanner for helping!
Improve existing dev server error message to suggest using it: #92317
next dev server if .next is deleted: #92135Huge thanks to @feedthejim, @bgw, @wbinnssmith, @lukesandberg, @banchichen, and @sokra for helping!
fix: add @deprecated annotation to experimental.useCache: #92316
get_compilation_issues tool and NAPI method: #92062Huge thanks to @sokra, @aurorascharff, @lukesandberg, @ztanner, and @timneutkens for helping!
Add telemetry for adapterPath config usage: #92228
entry-base.ts: #91527Huge thanks to @lukesandberg, @ijjk, @timneutkens, @sokra, @ztanner, @icyJoseph, @unstubbable, and @ctate for helping!
Improve revalidateTag JSDoc to include guidance about required second parameter: #92176
cached-navigations tests: #92199prefetch-layout-sharing suite: #92198allowed-dev-origins: #92211Huge thanks to @lukesandberg, @aurorascharff, @dagecko, @eps1lon, @gaojude, @icyJoseph, @ztanner, @vercel-release-bot, @ijjk, @feedthejim, @mischnic, @sokra, and @bgw for helping!
Improve error message for deprecated experimental.dynamicIO config: #92081
experimental.dynamicIO config: #92081Huge thanks to @mmastrac, @aurorascharff, @lukesandberg, and @vercel-release-bot for helping!
fix: handle file:// URLs from import.meta.resolve in cache handler path (fixes #73796): #90370
varyParams tracking for Cached Navigations: #92113unstable_dynamicStaleTime tests due to flakiness: #92162segment-cache-refresh suite: #92163Huge thanks to @VedantMadane, @wbinnssmith, @fireairforce, @unstubbable, @mischnic, @gnoff, @ijjk, @lukesandberg, @eps1lon, @gaojude, and @aurorascharff for helping!
[ftl] Include cause of route types: #92056
9627b5a1-20260327 to 74568e86-20260328: #92109use cache requires async functions: #92101Huge thanks to @aurorascharff, @unstubbable, @eps1lon, and @ijjk for helping!
docs: opengraph-image papercuts: #92018
Huge thanks to @icyJoseph and @aurorascharff for helping!
Upgrade React from 3cb2c420-20260324 to 9627b5a1-20260327: #92015
3cb2c420-20260324 to 9627b5a1-20260327: #92015Huge thanks to @acdlite, @ztanner, @mmastrac, @sokra, and @bgw for helping!
[devtools] Show AggregateError.errors in the error overlay: #91835
AggregateError.errors in the error overlay: #918358b2e903a-20260320 to 3cb2c420-20260324: #91905Huge thanks to @bgub, @eps1lon, @gaojude, and @remcohaszing for helping!
turbo-tasks-backend: assert non-transient task_ids in track_modification: #91924
Huge thanks to @sokra for helping!
[Segment Bundling] Bundle static prefetches based on size: #91439
Huge thanks to @acdlite for helping!
Perf: Skip turning Set into Array: #91383
Huge thanks to @feedthejim, @ijjk, @sokra, @timneutkens, @gaojude, and @eps1lon for helping!
Avoid deprecated TS node10 moduleResolution defaults: #91847
next internal post-build CLI command for Turbopack database compaction: #91336with-styletron example: #81842Effect as a trait instead of a closure: #89080Huge thanks to @JamBalaya56562, @ijjk, @mmastrac, @sokra, and @bgw for helping!
[Segment Bundling] [Scaffolding] Ensure inlining hint correctness: #91320
3f0b9e61-20260317 to 8b2e903a-20260320: #91731Huge thanks to @acdlite, @unstubbable, @devjiwonchoi, @eps1lon, and @feedthejim for helping!
docs: use ErrorInfo type consistently in catchError docs: #91744
Huge thanks to @devjiwonchoi for helping!
Your coding agent can read these notes before it upgrades. Set up the MCP server →