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
17 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
2723 releases · first in 2021
One column per quarter.
Consider merging chunks when overlap == 1: #95102
overlap == 1: #95102Huge thanks to @sampoder, @sokra, and @eps1lon for helping!
Serve ISR fallback shells in response to prefetch requests: #94534
Huge thanks to @acdlite, @aurorascharff, @samselikoff, @bgw, @unstubbable, @lukesandberg, and @icyJoseph for helping!
[skills] Mark insight-error-page and next-rspack as internal: #95070
export const dynamic in Cache Components detection: #95083Huge thanks to @gaojude, @bgw, @eps1lon, and @aurorascharff for helping!
[test] Fix failing determinism test using adapter: #95051
b1786c31-20260618 to 247fbb45-20260622: #95063Huge thanks to @mischnic, @parkhojeong, @icyJoseph, @eps1lon, @aurorascharff, @unstubbable, @vercel-release-bot, and @sampoder for helping!
Remove embedded Claude Code plugin marketplace: #94877
Huge thanks to @gaojude for helping!
[turbopack] Sort modules in chunks to reduce duplicates: #94961
Huge thanks to @mischnic, @sampoder, @feedthejim, @unstubbable, @wbinnssmith, and @lubieowoce for helping!
Fix dev overlay hydration error ordering: #94555
ad78e251-20260616 to b1786c31-20260618: #94951Huge thanks to @timneutkens, @sampoder, @vercel-release-bot, @bgw, and @styfle for helping!
Scope the Cold cache indicator in dev to shell cache misses: #94911
metadata-streaming-config for Cache Components: #94936src directory: #94775Huge thanks to @unstubbable, @niketchandivade, @gilest, @jahanzaib-iqbal-dev, @owenpearson, @davidgg, @icyJoseph, @eps1lon, @fhfournier, and @mischnic for helping!
Let LLMs create less noisy and more focused PR descriptions: #94896
Huge thanks to @eps1lon, @unstubbable, and @bgw for helping!
[cd] Continue release train if @next/swc-wasm-* fails to publish: #94912
@next/swc-wasm-* fails to publish: #94912Huge thanks to @eps1lon for helping!
Nothing published for this version
pass --locked to cargo binstall: #94834
--locked to cargo binstall: #94834Effects in an arena: #94614metadata static routes cache test: #9479643bcbf80-20260603 to d9158919-20260615: #94826cacheMaxMemorySize: 0 and custom cache handlers fast in dev: #94784Huge thanks to @lukesandberg, @bgw, @sampoder, @wbinnssmith, @unstubbable, @mischnic, @aurorascharff, @vercel-release-bot, @gaojude, and @lubieowoce for helping!
chore: upgrade next-rspack to rspack 2.0: #92222
warnOnce imports into statements guarded by process.env.NODE_ENV === 'development': #94781errorOnce imports into statements guarded by process.env.NODE_ENV === 'development': #94782AGENTS.md about super:: imports.: #94733Huge thanks to @icyJoseph, @eps1lon, @devjiwonchoi, @timneutkens, @gaojude, @ifer47, @sampoder, @lukesandberg, @wbinnssmith, and @SyMind for helping!
Avoid a premature Suspense fallback flash in the streaming dev render: #94783
Huge thanks to @unstubbable for helping!
[codemod] Write pnpm overrides to pnpm-workspace.yaml on pnpm v11+: #94690
next build: #94561final_read_hint in top level turbo tasks: #94712Huge thanks to @eps1lon, @icyJoseph, @lubieowoce, and @lukesandberg for helping!
[turbopack] Rename variables in path_join and add tests: #94625
path_join and add tests: #94625'use cache' entries in the dev server until they expire: #94662partialPrefetching enabled: #94655prefetch={true} navigation without Partial Prefetching" warning: #94683headers(): #94703'use cache: private' entries in dev: #94694Huge thanks to @sampoder, @acdlite, @unstubbable, @icyJoseph, @eps1lon, @lukesandberg, @lubieowoce, and @gnoff for helping!
[turbopack] Enable turbopackFileSystemCacheForBuild by default in non-stable releases: #94616
'use cache' entries correctly in dev: #94645build_and_deploy.yml: #94319register_assignment_scope() in visit_export_default_expr() and visit_export_default_decl(): #94581Huge thanks to @lukesandberg, @unstubbable, @aurorascharff, @icyJoseph, @bgw, @sampoder, and @gnoff for helping!
Rename prefetch option force-runtime to allow-runtime: #94568
force-runtime to allow-runtime: #94568JSValues: #94297unstable_instant: #94578Huge thanks to @gnoff, @gaojude, @sampoder, @karlhorky, @MikhailStn, @unstubbable, @aurorascharff, @samselikoff, @lukesandberg, @bgw, @eps1lon, @acdlite, @devjiwonchoi, and @icyJoseph for helping!
docs: clarify next-env.d.ts regeneration: #94232
experimental.useNodeStreams flag as it's enabled: #93938Huge thanks to @SJvaca30, @aurorascharff, @timneutkens, @eps1lon, @sampoder, @icyJoseph, @lukesandberg, and @danyalahmed1995 for helping!
[turbopack] standardize chunk entry names for webpack and postcss loaders: #94256
get_next_client_transforms_rules: #94487allowBuilds instead of ignoredBuiltDependencies when using PNPM 11+: #94544Huge thanks to @lukesandberg, @acdlite, @mischnic, and @eps1lon for helping!
Turbopack: remove EcmascriptParsable::parse_original: #94465
Huge thanks to @lukesandberg and @gnoff for helping!
Revert "[ci] Increase TEST_CONCURRENCY from 8 to 12 (#94138)": #94517
Huge thanks to @bgw for helping!
[turbopack] Treat local const assignments as side-effect free: #94294
const assignments as side-effect free: #94294f0dfee38-20260529 to 43bcbf80-20260603: #94440get_ecma_transform_rule: #94485persist-credentials: false for all GH actions: #94214trait ResolveOrigin: #94324Huge thanks to @sampoder, @acdlite, @RazinShafayet2007, @mischnic, @icyJoseph, @timneutkens, @vercel-release-bot, @bgw, @devjiwonchoi, @styfle, and @lukesandberg for helping!
make TaskInput::is_resolved inlinable everywhere: #94213
TaskInput::is_resolved inlinable everywhere: #94213testing.md: #94446unstable_retry from TS plugin check in Next.js Error APIs: #94460Huge thanks to @lukesandberg, @lubieowoce, @RazinShafayet2007, @unstubbable, @timneutkens, @eps1lon, @sampoder, and @devjiwonchoi for helping!
Deprecate undocumented custom server methods: #94348
BumpVec (vector implementation that takes a Bump): #94296Huge thanks to @timneutkens, @lubieowoce, @aurorascharff, @sokra, @sampoder, @eps1lon, and @lukesandberg for helping!
Upgrade React from c0cd4d5d-20260527 to f0dfee38-20260529: #94245
c0cd4d5d-20260527 to f0dfee38-20260529: #94245Huge thanks to @vercel-release-bot and @mischnic for helping!
[cd] Stop fetching all tags when searching for ancestor tag: #94302
default-case ESLint rule for type-checked TypeScript files: #94316IndexedDB without blocking hydration: #94243module.exports as side-effect free: #94293Huge thanks to @eps1lon, @icyJoseph, @sokra, @unstubbable, @lubieowoce, @timneutkens, @samselikoff, @huozhi, @mischnic, @lukesandberg, @sampoder, @aurorascharff, and @bgw for helping!
Switch TotalOrderF64 to f64 in ConstantNumber to correctly handle NaN === NaN and 0 === -0 inside the Turbopack analyzer: #94172
TotalOrderF64 to f64 in ConstantNumber to correctly handle NaN === NaN and 0 === -0 inside the Turbopack analyzer: #94172serde_json::Number in CompileTimeDefineValue and remove TotalOrderF64: #94177--port in next internal query-trace startup hint and help example: #93961Huge thanks to @sampoder, @icyJoseph, @sokra, @mischnic, and @lukesandberg for helping!
Turbopack analyzer: analyze ternaries + promises in string & nullish methods: #94187
graph.rs in the analyzer into smaller files: #94211explain() methods to WellKnownObjectKind and WellKnownFunctionKind: #94217ast_path.kinds() instead of mapping over ast_path in the analyzer: #94221Huge thanks to @sampoder and @gaojude for helping!
Exclude static metadata and viewport from error recovery prerender when cache-components is enabled: #94134
WellKnownObjectKind & WellKnownFunctionKind into well_known/kinds.rs in the analyzer: #94209require.context-related code into a seperate file in the analyzer: #94210Huge thanks to @gnoff, @lukesandberg, and @sampoder for helping!
Update shortcircuit_if_known to eval_shortcircuit(): #94163
shortcircuit_if_known to eval_shortcircuit(): #94163JsValue::Binary in is_truthy: #94165import.meta.url on Windows in Turbopack: #94179get HMR events span: #94061JsValue into it's own folder in the analyzer: #94208imgOptOperationCache: #94246Huge thanks to @sampoder, @sokra, @mischnic, @kristiyan-velkov, @timneutkens, @aurorascharff, @lukesandberg, @wbinnssmith, and @styfle for helping!
docs: fix code examples in getting-started guides: #93273
'use cache' bail-out under unstable_instant = false: #94198Huge thanks to @StanislavKozachenko, @lubieowoce, @timneutkens, @bgw, @unstubbable, @mischnic, and @sampoder for helping!
Fix short circuit evaluation of AND / OR in the Turbopack analyzer for string & nullish-related methods: #94159
generateStaticParams: #93465Huge thanks to @sampoder, @mischnic, @eps1lon, and @timneutkens for helping!
ServerActionsGraph: pass ModuleGraphLayer as OperationVc: #94141
75b0945b-20260526 to c0cd4d5d-20260527: #94161require.context in Turbopack analyzer: #94162Huge thanks to @sokra, @bgw, @acdlite, @mischnic, @icyJoseph, @gaojude, @vercel-release-bot, @igorbabko, and @sampoder for helping!
Revert "Revert "refactor: write pages router export files directly to server/pages/"": #93409
d5736f09-20260507 to 75b0945b-20260526: #94131experimental.partialFallbacks: #93299Huge thanks to @sokra, @SyMind, @gnoff, @timneutkens, @eps1lon, @icyJoseph, @bgw, @unstubbable, @vercel-release-bot, and @acdlite for helping!
Replace next-ppr-optimizer with next-cache-components-optimizer: #94035
Huge thanks to @gaojude and @sokra for helping!
[Skills] Mark backport-pr and create-pr as internal: #94076
Huge thanks to @gaojude for helping!
Add next-dev-loop and next-ppr-optimizer skills: #93943
Huge thanks to @gaojude, @timneutkens, @gnoff, and @samselikoff for helping!
[ci] Add an TURBO_TASKS_AVAILABLE_PARALLELISM environment variable that overrides std::available_parallelism callsites: #93995
TURBO_TASKS_AVAILABLE_PARALLELISM environment variable that overrides std::thread::available_parallelism callsites: #93995--debug-build-paths work with src/ directory projects: #94016TURBO_TASKS_AVAILABLE_PARALLELISM to 4 in most e2e tests: #93996Huge thanks to @bgw, @unstubbable, @timneutkens, @acdlite, @lukesandberg, @mischnic, @gnoff, and @vercel-release-bot for helping!
Enable mimalloc in benchmarks: #93388
Huge thanks to @lukesandberg, @mischnic, @aurorascharff, @timneutkens, @wbinnssmith, @unstubbable, and @acdlite for helping!
Add nextConfig.instrumentationClientInject: #93785
compile_route tool: #93337prefetch={true} and cachedNavigations: #93940EcmascriptBuildNodeChunkVersion.
: #93807Huge thanks to @timneutkens, @mischnic, @gnoff, @kakadiadarpan, @unstubbable, @wbinnssmith, and @lukesandberg for helping!
[Turbopack] Add graph-based CSS chunking algorithm behind experimental.cssChunking: "graph": #93606
og-api test suite into default and standalone variants: #93915Huge thanks to @timneutkens, @sokra, @unstubbable, @mischnic, @aurorascharff, and @lukesandberg for helping!
turbo-tasks: prioritize recomputed tasks with Recomputation priority: #93876
Huge thanks to @sokra for helping!
Redesign dev overlay: cleaner shell + instant fix-card guidance: #93755
Huge thanks to @unstubbable and @yavorpunchev for helping!
[turbopack] fix feature usage telemetry: #93100
generateViewport: #93759next internal static-routes-info CLI command: #93399router.query corruption with basePath + rewrites: #93294dd453071-20260506 to d5736f09-20260507: #93702"use cache" as cause of nested-dynamic cache error: #93707root attribute for strongly consistent reads and collectibles: #93114playwright-core to resolve _finishedPromise on requestFailed: #93802cached-navigations tests": #93798Date.now() cause shadowing in sync IO error overlay: #93857npx skills add hides them: #93856Huge thanks to @lukesandberg, @mischnic, @unstubbable, @timneutkens, @aurorascharff, @icyJoseph, @acdlite, @christopherkindl, @sokra, @gnoff, @publictheta, @gaojude, @unclebay143, @lubieowoce, @vercel-release-bot, and @samselikoff for helping!
Proof of concept: task eviction after snapshot for turbo-tasks-backend: #91790
Huge thanks to @lukesandberg for helping!
Remove redundant instant navigation prefetch header: #93713
Huge thanks to @acdlite, @gnoff, and @timneutkens for helping!
Use Next.js version as Turbopack persistent cache versioning key: #93605
unstable_io: #93621Huge thanks to @gnoff, @sokra, @tim123abc, @aurorascharff, @acdlite, @timneutkens, @bgw, and @lukesandberg for helping!
Hold cacheSignal across unstable_cache foreground revalidation: #93617
cacheSignal across unstable_cache foreground revalidation: #93617Huge thanks to @unstubbable for helping!
[devtools] Force ANSI colors on overlay code frames regardless of TTY: #93550
searchParams access through a Proxy to catch missing-key reads: #93549rcstr! macro_rules with proc macro: #93551Huge thanks to @aurorascharff, @icyJoseph, @eps1lon, @lukesandberg, @timneutkens, @unstubbable, and @bgw for helping!
perf(ecmascript): shrink JsValue 64→32 bytes: #93106
Huge thanks to @mmastrac, @sokra, and @mischnic for helping!
Disable instant validations in draft mode: #93472
ReferencedAsset::from_resolve_result as a turbotask: #93297Huge thanks to @samselikoff, @lukesandberg, and @bgw for helping!
Refactor: Decouple request store creation from req / res: #93499
req / res: #93499'use cache' module-scope deadlocks early in dev: #93500'use cache' deadlock probe worker: #93538f4e0d4ed-20260429 to dd453071-20260506: #93547Huge thanks to @lukesandberg, @unstubbable, @mischnic, @sokra, @icyJoseph, @eps1lon, @gnoff, and @vercel-release-bot for helping!
Don't suppress usage of deprecated TypeScript compilerOptions: #93377
compilerOptions: #93377RELEASE_BOT_GITHUB_TOKEN: #93455RELEASE_BOT_GITHUB_TOKEN: #93456unstable_prefetch and unstable_instant docs to reflect current API shape: #93514setup-nextjs-build.yml workflow: #93512Huge thanks to @eps1lon, @unstubbable, @armando-andre, @mischnic, and @gnoff for helping!
Upgrade React from da9325b5-20260417 to f4e0d4ed-20260429: #93457
da9325b5-20260417 to f4e0d4ed-20260429: #93457@vercel/ncc: #93459cacheHandlers keys: #93453Huge thanks to @mischnic, @vercel-release-bot, @eps1lon, @rishishanbhag, and @lukesandberg for helping!
Drop once_cell from all direct crate deps: #93095
Huge thanks to @mmastrac for helping!
Revert "Revert "Node.js streams: Add forkpoint for prerenderToStream"": #93376
other: #93206Huge thanks to @sokra, @timneutkens, @lukesandberg, and @samselikoff for helping!
[test] Preserve Playwright traces on every failure: #93366
Huge thanks to @eps1lon, @unstubbable, @timneutkens, and @ztanner for helping!
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!
Your coding agent can read these notes before it upgrades. Set up the MCP server →