NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3598 most downloaded on npm
This is the **linux-x64-musl** binary for `@next/swc`
Last release today
04 Oct 2026
Ships on a steady schedule
a new release about every 8 days
Most releases are documented
notes for 39 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
2622 releases · first in 2021
One column per quarter.
fix: error handling and loading states in with-apollo-and-redux example: #91457
172742b4-20260716 to 81e442ea-20260721: #96016serverActions.bodySizeLimit for Server Actions in Edge runtime: #96012:has() scaling limit in the Interactive apps guide: #95925turbopackTreeShaking to turbopackModuleFragments: #95978Huge thanks to @vercel-release-bot, @eps1lon, @ZaforAbdullah, @gaojude, @aurorascharff, @icyJoseph, @timneutkens, @WildChargerTV, @ankurdotio, @bgw, and @sampoder for helping!
[turbopack] Skip redundant top-level root updates: #95903
Huge thanks to @marcoshernanz, @sampoder, @bgw, @aurorascharff, @manoraj, @mischnic, and @eps1lon for helping!
Upgrade React from 7023f501-20260714 to 172742b4-20260716: #95901
7023f501-20260714 to 172742b4-20260716: #95901Huge thanks to @vercel-release-bot for helping!
Fix Rust doctest failures: #95909
server_chunking_context: #95908Huge thanks to @marcoshernanz, @sampoder, @gaojude, @eps1lon, @acdlite, @aurorascharff, and @gaearon for helping!
Run more test suites under cacheComponents flag: #95878
chunk_group_bootstrap_params and the chunk-loading global to the build manifest: #94663registerEntry() to handle inline bootstrapping (#94664)inline_chunk_group_bootstrap to BrowserChunkingContext and chunk_group_bootstrap_params to ChunkGroupResult (#94661)chunk_group_bootstrap_params() function (#94631)Huge thanks to @gaearon, @acdlite, @timneutkens, @eps1lon, and @sampoder for helping!
[turbopack] Generate component chunks for each merged group to increase cache hits: #95261
Huge thanks to @sampoder, @gnoff, @timneutkens, @mischnic, @gaearon, @icyJoseph, @andrewimm, and @lukesandberg for helping!
Better support the CLI spinner when running the TSC CLI: #95753
5123b063-20260708 to 7023f501-20260714: #95782Huge thanks to @lukesandberg, @vercel-release-bot, @aurorascharff, @icyJoseph, @feedthejim, @mischnic, and @timneutkens for helping!
[turbopack] Switch make_production_chunks to use floats: #95749
make_production_chunks to use floats: #95749Huge thanks to @sampoder, @lukesandberg, @sokra, @eps1lon, @icyJoseph, @feedthejim, @mischnic, and @vercel-release-bot for helping!
request insights: expose dev snapshots to tools and HMR (3/5): #93976
Huge thanks to @feedthejim for helping!
Turbopack tests: remove assertions that duplicate webpack results: #95688
custom-media-queries in LightningCSS: #95689Service Worker" in the CRA migration docs: #95434Huge thanks to @wbinnssmith, @sampoder, @bgw, @aurorascharff, @lubieowoce, @timneutkens, @icyJoseph, and @mischnic for helping!
[turbopack] Compile service workers registered from pages router pages: #95583
/_next/static/: #95554df4bd1b4-20260708 to 5123b063-20260708: #9564212a4baec-20260707 to df4bd1b4-20260708: #95612expire and revalidate values to handle Infinity and surface mistakes early: #95493Huge thanks to @sampoder, @lukesandberg, @vercel-release-bot, @timneutkens, @aurorascharff, @gaojude, @bgw, and @gaearon for helping!
[ci] Pin typescript version in tests: #95619
import with {type: 'text'} by default: #9560623def8fd-20260706 to 12a4baec-20260707: #95581rscEndpoint to rscHmrEndpoint: #95538Huge thanks to @bgw, @aurorascharff, @sampoder, @mischnic, @eps1lon, @vercel-release-bot, and @lukesandberg for helping!
Turbopack: add more context to persistence file errors: #95318
Huge thanks to @lukesandberg, @bgw, @unstubbable, @mischnic, @icyJoseph, @timneutkens, and @sampoder for helping!
docs: remove incorrect statement that force-cache is the default for …: #95235
supportsImmutableAssets with config.output: #955213508aee6-20260702 to 23def8fd-20260706: #95532cache-components-dev-streaming test suite: #95466Huge thanks to @Pranav18M, @andrewimm, @mischnic, @chippleh1392, @unstubbable, @eps1lon, @vercel-release-bot, @aurorascharff, @gaojude, and @sampoder for helping!
Add serverComponentsHmrCancellation experimental flag: #95462
serverComponentsHmrCancellation experimental flag: #95462Huge thanks to @unstubbable for helping!
docs: Update FormEvent to SubmitEvent in form handling example (deprecated in React 19.2.10+): #95453
cacheLife profiles, dropping runtime asserts: #95428Huge thanks to @lubieowoce, @M4cM4rco, @vercel-release-bot, @unstubbable, and @eps1lon for helping!
Fix navigation getting reverted when a Server Action is in flight: #95391
expire: 0 values in the default cache handler in prod: #95363ec0fca31-20260701 to 3508aee6-20260702: #95410expire 'use cache' values across dev reloads: #95362Huge thanks to @gaearon, @unstubbable, @bgw, @vercel-release-bot, @Partha-Shankar, @icyJoseph, and @acdlite for helping!
[cd] Replace the release package with our own GitHub release creation: #95352
instant() resilient to a leaked navigation-testing cookie: #95375#/ prefixed subpath import specifiers: #94461Huge thanks to @eps1lon, @unstubbable, @bgw, @aurorascharff, and @sleitor for helping!
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Restore canary version 16.3.0-canary.66 after v16.3.0-preview.4 preview release
ImageResponse metadata route: #95121Huge thanks to @unstubbable, @icyJoseph, @acdlite, and @aurorascharff for helping!
Revert "Remove legacy PPR codepaths": #95113
hmr-intercept-routes test to avoid a reload/refresh race: #95134Huge thanks to @eps1lon, @aurorascharff, @icyJoseph, @unstubbable, and @samselikoff for helping!
docs(cache-components): clarify allow-runtime, sync-IO and instant=false, CLS fallback: #94997
cacheMaxMemorySize: 0 caches in dev: #95100req.headers when stripping internal headers: #95116Huge thanks to @aurorascharff and @unstubbable for helping!
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!
Your coding agent can read these notes before it upgrades. Set up the MCP server →