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
02 Oct 2026
Ships on a steady schedule
a new release about every 8 days
Most releases are documented
notes for 40 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
2751 releases · first in 2021
One column per quarter.
Note 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 @lukesandberg for helping!
This release contains a security fix for GHSA-vcvr-r3jv-pc5j: Remote Code Execution in next/og ImageResponse
This release contains a security fix for GHSA-vcvr-r3jv-pc5j: Remote Code Execution in next/og ImageResponse
The following bug fixes have been backported. It does not include all pending features/changes on canary.
The following bug fixes have been backported. It does not include all pending features/changes on canary.
output: 'standalone' is used with an adapter (#98167)use cache prerender signal retention (#98448)Follow-up release to v16.3.3 re-enabling AVIF Image Optimization ( #97949 ).
Follow-up release to v16.3.3 re-enabling AVIF Image Optimization (#97949).
The following bug fixes have been backported. It does not include all pending features/changes on canary.
Huge thanks to @eps1lon, @mischnic, and @timneutkens for helping!
This release contains security fixes for the following advisories:
This release contains security fixes for the following advisories:
Critical:
Nothing published for this version
[16.x] Turbopack: don't strip async-module runtime from shared runtime chunks by @lukesandberg in https://github.com/vercel/next.js/pull/96653
turbopack_ecmascript and turbopack_wasm's embeded FS to internal_assets_conditions by @lukesandberg in https://github.com/vercel/next.js/pull/96655headers() view of the incoming request by @unstubbable in https://github.com/vercel/next.js/pull/97311'use cache' files by @unstubbable in https://github.com/vercel/next.js/pull/97312unstable_cache by @unstubbable in https://github.com/vercel/next.js/pull/97313Full Changelog: https://github.com/vercel/next.js/compare/v16.3.0...v16.3.1
docs: document deploymentId build ID override and Pages Router skew in 16.2: #97645
eb8feb71-20260814 to eafeac09-20260819: #97636prerender-native-module suite to local fixture packages: #97542turbopack-reports sqlite3 dependency with a local addon fixture: #97541sqlite3 build approval from the sharp-basic suite: #97540Huge thanks to @icyJoseph, @mischnic, @lubieowoce, @aurorascharff, @eps1lon, @sokra, and @wbinnssmith for helping!
[PPF] Remove unstable_eager : #97524
unstable_eager: #97524Huge thanks to @lubieowoce, @niketchandivade, @gaojude, @devjiwonchoi, @mischnic, @aurorascharff, @eps1lon, @icyJoseph, @gnoff, @bgw, and @biubiukam for helping!
style(examples): remove redundant justify-content declaration: #97222
Huge thanks to @niketchandivade, @molebox, @seanbeirnes, @0ldh, @gnoff, @mischnic, @DavidIlie, @unstubbable, and @fabian-hiller for helping!
Trace lazy App Route module loading: #97439
next version to be available on npm before deploy tests: #97460Huge thanks to @DavidIlie, @eps1lon, @icyJoseph, and @mischnic for helping!
fix(turbo-persistence): allow 32-bit usize conversion: #97288
exports* unit fixtures: #97459Huge thanks to @hardfist, @mischnic, @ztanner, and @lukesandberg for helping!
Anchor the async local storage instances to global symbols: #97255
Huge thanks to @unstubbable, @gnoff, and @acdlite for helping!
Wait for back-before-hydration recoveries in the browser: #97321
Huge thanks to @gaearon, @gnoff, @timneutkens, and @mischnic for helping!
Adopt SelectedMetadata for metadata rendering: #97387
Huge thanks to @gnoff, @styfle, @marcoshernanz, and @mischnic for helping!
Upgrade React from 22e4f993-20260811 to eb8feb71-20260814: #97382
22e4f993-20260811 to eb8feb71-20260814: #97382Turbopack: add imports_wildcard NFT unit test: #97373
satori and @vercel/og: #97276output: 'standalone' is used with an adapter: #97287'use cache: private' in route handlers: #97349Huge thanks to @mischnic, @DavidIlie, @styfle, @unstubbable, @bryan-ferry, @timneutkens, @aurorascharff, and @gdborton for helping!
Unify how a response's shell and full payloads are written: #96878
11eddecd-20260805 to 22e4f993-20260811: #97249Huge thanks to @acdlite, @gaojude, @hammadxcm, @marcoshernanz, @eps1lon, @jimmyhmiller, @gnoff, and @lazerg for helping!
test: fix 'ouput' typo in parseIdsFromCliOutput: #97266
clusters to chunking heuristics: #95157cache-components-dev-streaming assertions: #97246use-cache-default-profile-expire-zero tests: #97250ncc before pnpm build: #97234Huge thanks to @syedsohailhussain1, @lukesandberg, @marcoshernanz, @sampoder, @unstubbable, @eps1lon, and @gnoff for helping!
Fix debug build paths Pages Router support entries: #93529
headers() view of the incoming request: #97166use-cache-custom-handler-dev tests: #97187'use cache' files: #97181Huge thanks to @unstubbable, @timneutkens, @Stanzilla, @gnoff, @gaearon, and @sampoder for helping!
Decouple loader tree construction from children ordering: #97192
Huge thanks to @gnoff, @lukesandberg, and @mischnic for helping!
[turbopack] Bail CJS tree-shaking on var x = module.exports = {}: #97130
var x = module.exports = {}: #97130Huge thanks to @sampoder, @icyJoseph, @aurorascharff, @acdlite, @kelvinampofo, @mischnic, @ztanner, and @marcoshernanz for helping!
fix(scripts): correct typo in rm.mjs error message: #87015
unstable_cache: #96937encodeCacheTag to encodeHeaderSafe: #96936'use cache' debug logs with the full directive: #97037ScrollAndMaybeFocusHandler to ScrollHandler: #96828Huge thanks to @unstubbable, @koenpunt, @marcoshernanz, @gnoff, @mayur9210, @Jashnavi25, @jarrensj, @acdlite, @akselipalmer, @icyJoseph, @lubieowoce, @DavidIlie, @eps1lon, @mischnic, and @sokra for helping!
[turbopack] Treat constants with values referencing other values as unsafe: #96190
Huge thanks to @sampoder for helping!
[turbopack] Fix a potential deadlock in scope_and_block: #95695
next build instead: #96746export const dynamic = 'force-static' to Route Handlers example on Static Exports: #96964Huge thanks to @lukesandberg, @m-kawafuji, and @sampoder for helping!
Flush pending revalidations for forwarded action error responses: #96945
experimental.serverMinification & expand experimental.turbopackMinify: #96578turbopackChunking documentation page for pages router: #96698Huge thanks to @ztanner, @bgw, @sampoder, @eps1lon, @lubieowoce, @unstubbable, @mischnic, @aurorascharff, and @icyJoseph for helping!
Show compiler plugin warning in more situations: #75682
type: 'text' in rules, and error on binding imports of non-ESM modules: #96558turbopack/packages and relocate devlow to packages/: #96860Huge thanks to @mischnic, @wbinnssmith, @sokra, and @Janpot for helping!
Nothing published for this version
Refactor server from CacheNodeSeedData -> TransportData: #96679
nextjs-bot: #96683config.experimental.appNewScrollHandler: #95602Huge thanks to @acdlite, @wbinnssmith, @eps1lon, @ztanner, @gaearon, @molebox, @kyamaz99, @mischnic, and @sampoder for helping!
[Bench] Fixes for pure Fizz bench: #96771
7dfc7ccd-20260803 to 11eddecd-20260805: #96735loadManifest to return undefined with handleMissing: #96530Huge thanks to @gaearon, @ztanner, @sampoder, @aurorascharff, @unstubbable, @lubieowoce, @lukesandberg, @mischnic, @timneutkens, and @icyJoseph for helping!
Fix Turbopack worker chunk loading with asset prefix: #96636
Huge thanks to @timneutkens and @eps1lon for helping!
[turbopack] Add test for sideEffects with optimizePackageImports: #96549
cbb046ab-20260731 to 7dfc7ccd-20260803: #96550Huge thanks to @sampoder, @lukesandberg, @vercel-release-bot, @icyJoseph, @marcoshernanz, @ztanner, and @mischnic for helping!
docs: correction to dynamicParams migration: #96624
turbopack_ecmascript and turbopack_wasm's embeded FS to internal_assets_conditions: #96600exports: #96381exports after a module.exports = {} writes: #96380Huge thanks to @icyJoseph, @lukesandberg, @sampoder, and @ztanner for helping!
Fix catch-all index page being served for every other slug: #96553
Huge thanks to @acdlite for helping!
Update vendored lodash to 4.17.23 to fix CVE-2025-13465: #91558
{eval:true} in worker_threads constructors: #91666cacheComponents: #91711next internal post-build CLI command for Turbopack database compaction: #91336Effect as a trait instead of a closure: #89080AggregateError.errors in the error overlay: #91835varyParams tracking for Cached Navigations: #92113experimental.dynamicIO config: #92081entry-base.ts: #91527get_compilation_issues tool and NAPI method: #92062next dev server if .next is deleted: #92135turbo_tasks::apply_effects, use Effects::apply instead: #91858CURRENT and stale sst files: #92414minimumReleaseAgeExclude for React and friends: #9253574568e86-20260328 to 404b38c7-20260408: #92536target option in React Compiler for Pages + React 18: #91500compilerOptions.paths in tsconfigs without compilerOptions.baseUrl: #92277@turbopack/base64 module: #92549"use cache": #92736downlevelIteration: #92652baseUrl: #92653@next/swc binary postinstall: #92813"use cache" args during final prerender: #92820moduleResolution: "node": #92654images.maximumResponseBody applies to local images too: #92920unstable_io: #92923'use cache' invocations: #91830'use cache': #93055'use cache' fill timeout configurable: #93070url.parse: #93208super(...) messages in Error subclass constructors: #93182__NEXT_ERROR_CODE across the /_error page handoff: #93183next build: #93280export * as X from './self' in scope-hoisted modules: #93192expire value with blocking revalidation: #93211experimental.turbopackWorkerAssetPrefix to keep Workers same-origin when assetPrefix is a CDN: #93271onError once: #93209other: #93206cacheHandlers keys: #93453compilerOptions: #93377'use cache' module-scope deadlocks early in dev: #93500'use cache' deadlock probe worker: #93538ReferencedAsset::from_resolve_result as a turbotask: #93297rcstr! macro_rules with proc macro: #93551searchParams access through a Proxy to catch missing-key reads: #93549cacheSignal across unstable_cache foreground revalidation: #93617unstable_io: #93621generateViewport: #93759root attribute for strongly consistent reads and collectibles: #93114next internal static-routes-info CLI command: #93399playwright-core to resolve _finishedPromise on requestFailed: #93802router.query corruption with basePath + rewrites: #93294"use cache" as cause of nested-dynamic cache error: #93707Date.now() cause shadowing in sync IO error overlay: #93857prefetch={true} and cachedNavigations: #93940compile_route tool: #93337EcmascriptBuildNodeChunkVersion. : #93807--debug-build-paths work with src/ directory projects: #94016require.context in Turbopack analyzer: #94162'use cache' bail-out under unstable_instant = false: #94198shortcircuit_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: #94246WellKnownObjectKind & WellKnownFunctionKind into well_known/kinds.rs in the analyzer: #94209require.context-related code into a seperate file in the analyzer: #94210graph.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: #94221TotalOrderF64 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: #93961default-case ESLint rule for type-checked TypeScript files: #94316IndexedDB without blocking hydration: #94243module.exports as side-effect free: #94293BumpVec (vector implementation that takes a Bump): #94296TaskInput::is_resolved inlinable everywhere: #94213unstable_retry from TS plugin check in Next.js Error APIs: #94460const assignments as side-effect free: #94294get_ecma_transform_rule: #94485trait ResolveOrigin: #94324get_next_client_transforms_rules: #94487allowBuilds instead of ignoredBuiltDependencies when using PNPM 11+: #94544experimental.useNodeStreams flag as it's enabled: #93938force-runtime to allow-runtime: #94568JSValues: #94297unstable_instant: #94578'use cache' entries correctly in dev: #94645register_assignment_scope() in visit_export_default_expr() and visit_export_default_decl(): #94581path_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: #94694next build: #94561final_read_hint in top level turbo tasks: #94712warnOnce imports into statements guarded by process.env.NODE_ENV === 'development': #94781errorOnce imports into statements guarded by process.env.NODE_ENV === 'development': #94782--locked to cargo binstall: #94834Effects in an arena: #94614cacheMaxMemorySize: 0 and custom cache handlers fast in dev: #94784src directory: #94775export const dynamic in Cache Components detection: #95083overlap == 1: #95102cacheMaxMemorySize: 0 caches in dev: #95100req.headers when stripping internal headers: #95116ImageResponse metadata route: #95121ServiceWorkerChunkingContextOptions in next-core: #94920ServiceWorkerEntryModule and service_worker_chunk_filename: #94921ServiceWorkerEntryModules in next-api and compile + serve those service workers: #94922final_read_hint in top level turbo tasks (#94712)": #95178decodeReply: #95263unstable_rethrow in client-browser modules: #95196moduleFactorCost with weightDistribution: #95088no-location-assign-relative-destination: #93057chunkingHeuristics to next.config.js: #95019chunkingHeuristics through to chunk groups: #95020chunking_heuristics on each ChunkGroupInfo: #95021x in y: #95286generateStaticParams as a redbox with a real stack: #95269use cache function: #94234DYNAMIC_EXPIRE and DYNAMIC_STALE to describe what they gate: #95361#/ prefixed subpath import specifiers: #94461instant() resilient to a leaked navigation-testing cookie: #95375expire 'use cache' values across dev reloads: #95362expire: 0 values in the default cache handler in prod: #95363serverComponentsHmrCancellation experimental flag: #95462supportsImmutableAssets with config.output: #95521rscEndpoint to rscHmrEndpoint: #95538import with {type: 'text'} by default: #95606expire and revalidate values to handle Infinity and surface mistakes early: #95493/_next/static/: #95554custom-media-queries in LightningCSS: #95689make_production_chunks to use floats: #95749chunk_group_bootstrap_params() function: #94631inline_chunk_group_bootstrap to BrowserChunkingContext and chunk_group_bootstrap_params to ChunkGroupResult: #94661registerEntry() to handle inline bootstrapping: #94664chunk_group_bootstrap_params and the chunk-loading global to the build manifest: #94663server_chunking_context: #95908turbopackTreeShaking to turbopackModuleFragments: #95978serverActions.bodySizeLimit for Server Actions in Edge runtime: #96012Object.defineProperty syntax: #95994Arc<PathBuf> for keys in turbo-task-fs's per-path MutexMap: #95951'use cache' for cookieless requests and route handlers: #96022partialFallback behavior behind partialPrefetching flag: #96074swc_core::ecma::utils::prop_name_eq for a couple of the next-custom-transforms: #96035import_usage inside of compute_import_usage: #95989require(): #95717require() calls: #95718experimental.devValidationWorker config flag: #96150module.exports = {...} (CJS): #95996@mswjs/interceptors to 0.41.9: #96059http-proxy with httpxy: #96060Object.defineProperty(exports, …, { value: … }) as side-effect free: #96273import_usage inside of compute_import_usage": #96311clear on graph changes: #95546import_usage inside of compute_import_usage"": #96315bar['foo'] syntax for star imports: #96319partialPrefetching for next start: #96297headers() value between render passes: #96085htmlLimitedBots in cache components without buffering the full response: #96367sideEffects in a package.json file with optimizePackageImports: #96383isHeadPartial when hydrating from a static fallback shell: #96400experimental.turbopackChunking config: #96398experimental.useCache is deprecated: #96448instant: #96539use cache requires async functions: #92101server-only in data security guide: #92445unstable_retry() behavior: #91827--debug-build-paths requires route group folders in paths: #92618unstable_prefetch and unstable_instant docs to reflect current API shape: #93514experimental.partialFallbacks: #93299testing.md: #94446experimental.turbopackRustReactCompiler: #95280Service Worker" in the CRA migration docs: #95434:has() scaling limit in the Interactive apps guide: #95925experimental.turbopackChunking: #96437with-styletron example: #81842deterministic build - changing deployment id test: #91646retry timeouts for two flaky app-action tests: #91647url-hash tests: #91649edge-async-local-storage deploy test timeout & race condition: #91643use-node-streams-env-precedence test: #917333f0b9e61-20260317 to 8b2e903a-20260320: #917318b2e903a-20260320 to 3cb2c420-20260324: #919053cb2c420-20260324 to 9627b5a1-20260327: #920159627b5a1-20260327 to 74568e86-20260328: #92109unstable_dynamicStaleTime tests due to flakiness: #92162segment-cache-refresh suite: #92163cached-navigations tests: #92199prefetch-layout-sharing suite: #92198Note truncated.
fix: remove deprecated url.parse() from custom-server example: #96105
28cd4bb0-20260723 to 756fdd47-20260727: #96270http-proxy with httpxy: #96060@mswjs/interceptors to 0.41.9: #96059module.exports = {...} (CJS): #95996enabled-features-trace test suite: #96175experimental.devValidationWorker config flag: #96150require() calls: #95718require(): #95717import_usage inside of compute_import_usage: #95989711c445b-20260722 to 28cd4bb0-20260723: #96100Huge thanks to @acdlite, @DavidIlie, @gaearon, @bgw, @icyJoseph, @jimmyhmiller, @vercel-release-bot, @aurorascharff, @eps1lon, @timneutkens, @sampoder, @petehunt, @unstubbable, @marcoshernanz, @gnoff, @devjiwonchoi, @wasim-builds, and @lukesandberg for helping!
[Bench] Add client-trace attribution pass and document metrics to render-pipeline: #95828
swc_core::ecma::utils::prop_name_eq for a couple of the next-custom-transforms: #96035partialFallback behavior behind partialPrefetching flag: #9607481e442ea-20260721 to 711c445b-20260722: #96066use cache test suite to test/development: #96023'use cache' for cookieless requests and route handlers: #96022use cache: #95945Huge thanks to @gaearon, @bgw, @gnoff, @acdlite, @sampoder, @vercel-release-bot, @lubieowoce, @aurorascharff, @unstubbable, and @timneutkens for helping!
Always consult npm_config_user_agent first: #95879
npm_config_user_agent first: #95879Arc<PathBuf> for keys in turbo-task-fs's per-path MutexMap: #95951Object.defineProperty syntax: #95994Huge thanks to @eps1lon, @gaojude, @icyJoseph, @bgw, @sampoder, and @styfle for helping!
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: #959787023f501-20260714 to 172742b4-20260716: #95901server_chunking_context: #95908chunk_group_bootstrap_params and the chunk-loading global to the build manifest: #94663registerEntry() to handle inline bootstrapping: #94664inline_chunk_group_bootstrap to BrowserChunkingContext and chunk_group_bootstrap_params to ChunkGroupResult: #94661chunk_group_bootstrap_params() function: #946315123b063-20260708 to 7023f501-20260714: #95782make_production_chunks to use floats: #95749Huge thanks to @vercel-release-bot, @eps1lon, @ZaforAbdullah, @gaojude, @aurorascharff, @icyJoseph, @timneutkens, @WildChargerTV, @ankurdotio, @bgw, @sampoder, @marcoshernanz, @manoraj, @mischnic, @acdlite, @gaearon, @gnoff, @andrewimm, @lukesandberg, and @feedthejim for helping!
docs: Update FormEvent to SubmitEvent in form handling example (deprecated in React 19.2.10+): #95453
no-location-assign-relative-destination: #93057custom-media-queries in LightningCSS: #95689Service Worker" in the CRA migration docs: #95434/_next/static/: #95554df4bd1b4-20260708 to 5123b063-20260708: #9564212a4baec-20260707 to df4bd1b4-20260708: #95612expire and revalidate values to handle Infinity and surface mistakes early: #95493import with {type: 'text'} by default: #9560623def8fd-20260706 to 12a4baec-20260707: #95581rscEndpoint to rscHmrEndpoint: #95538supportsImmutableAssets with config.output: #955213508aee6-20260702 to 23def8fd-20260706: #95532cache-components-dev-streaming test suite: #95466serverComponentsHmrCancellation experimental flag: #95462cacheLife profiles, dropping runtime asserts: #95428expire: 0 values in the default cache handler in prod: #95363ec0fca31-20260701 to 3508aee6-20260702: #95410expire 'use cache' values across dev reloads: #95362instant() resilient to a leaked navigation-testing cookie: #95375#/ prefixed subpath import specifiers: #94461DYNAMIC_EXPIRE and DYNAMIC_STALE to describe what they gate: #9536192f4fda3-20260629 to ec0fca31-20260701: #9536868631c04-20260626 to 92f4fda3-20260629: #95282use cache function: #94234.next deletion to fix an ENOTEMPTY flake: #95307build-output-prerender error ordering deterministic: #95308build(): #95304generateStaticParams as a redbox with a real stack: #95269x in y: #95286chunking_heuristics on each ChunkGroupInfo: #95021chunkingHeuristics through to chunk groups: #95020chunkingHeuristics to next.config.js: #95019experimental.turbopackRustReactCompiler: #95280moduleFactorCost with weightDistribution: #95088247fbb45-20260622 to 68631c04-20260626: #95211unstable_rethrow in client-browser modules: #95196decodeReply: #95263final_read_hint in top level turbo tasks (#94712)": #95178Huge thanks to @sokra, @eps1lon, @icyJoseph, @feedthejim, @mischnic, @vercel-release-bot, @wbinnssmith, @sampoder, @bgw, @aurorascharff, @lubieowoce, @timneutkens, @lukesandberg, @gaojude, @gaearon, @unstubbable, @Pranav18M, @andrewimm, @chippleh1392, @M4cM4rco, @Partha-Shankar, @acdlite, @sleitor, @devjiwonchoi, @samselikoff, @jimmyhmiller, @thsid, @SukkaW, @TariqulislamTuhin, and @niketchandivade for helping!
Restore canary version 16.3.0-canary.66 after v16.3.0-preview.4 preview release
ImageResponse metadata route: #95121ServiceWorkerChunkingContextOptions in next-core: #94920ServiceWorkerEntryModule and service_worker_chunk_filename: #94921ServiceWorkerEntryModules in next-api and compile + serve those service workers: #94922Huge thanks to @unstubbable, @icyJoseph, @acdlite, @aurorascharff, @sampoder, @eps1lon, @lubieowoce, and @gaearon for helping!
[ci] Make automatic native binding install opt-in: #95114
Huge thanks to @eps1lon for helping!
[turbopack] Enable turbopackFileSystemCacheForBuild by default in non-stable releases: #94616
@preview NPM dist-tag: #94619Huge thanks to @lukesandberg and @eps1lon for helping!
[cd] Ensure wasm binaries get tagged properly: #94621
Huge thanks to @eps1lon for helping!
Enable Turbopack build filesystem cache by default: #96493
Huge thanks to @timneutkens for helping!
Warn that experimental.useCache is deprecated: #96448
experimental.useCache is deprecated: #96448Huge thanks to @unstubbable and @ztanner for helping!
test: stabilize after() deploy revalidation checks: #96428
experimental.turbopackChunking: #964370f42eac2-20260730 to cbb046ab-20260731: #96434experimental.turbopackChunking config: #96398isHeadPartial when hydrating from a static fallback shell: #96400Huge thanks to @ztanner, @marcoshernanz, @sampoder, @eps1lon, @vercel-release-bot, @sokra, @icyJoseph, and @acdlite for helping!
[turbopack] Respect sideEffects in a package.json file with optimizePackageImports: #96383
sideEffects in a package.json file with optimizePackageImports: #963836cb4322d-20260729 to 0f42eac2-20260730: #96402htmlLimitedBots in cache components without buffering the full response: #963671724e9ce-20260729 to 6cb4322d-20260729: #9638996fcba90-20260728 to 1724e9ce-20260729: #96355Huge thanks to @sampoder, @wbinnssmith, @ztanner, @vercel-release-bot, @styfle, @gaearon, @DavidIlie, @marcoshernanz, @eps1lon, and @lubieowoce for helping!
Update PWA guide with enhanced offline support details and example links for serwist: #96360
headers() value between render passes: #96085partialPrefetching for next start: #96297bar['foo'] syntax for star imports: #96319Huge thanks to @adhamfayrouzamf, @icyJoseph, @ztanner, @eps1lon, @wbinnssmith, @gaearon, @acdlite, @aurorascharff, @marcoshernanz, @jimmyhmiller, @sampoder, and @bgw for helping!
Revert "Revert "[turbopack] Track re-exports in import_usage inside of compute_import_usage"": #96315
import_usage inside of compute_import_usage"": #96315Huge thanks to @sampoder and @icyJoseph for helping!
Turbopack server hmr: avoid complete clear on graph changes: #95546
clear on graph changes: #95546Huge thanks to @wbinnssmith for helping!
Improve root detection to handle worktrees, more workspaces & stray lockfiles: #96159
import_usage inside of compute_import_usage": #96311756fdd47-20260727 to 96fcba90-20260728: #96306Object.defineProperty(exports, …, { value: … }) as side-effect free: #96273Huge thanks to @sampoder, @ztanner, @aurorascharff, @icyJoseph, @eps1lon, @vercel-release-bot, @DavidIlie, @timneutkens, @styfle, and @acdlite for helping!
Nothing published for this version
fix(sandbox): release one-shot timeout ids after they run: #96161
enabled-features-trace test suite: #96175experimental.devValidationWorker config flag: #96150Huge thanks to @petehunt, @gaearon, @unstubbable, and @marcoshernanz for helping!
[sourcemaps] Use file: sourcemaps for Turbopack to improve dev performance: #95946
require() calls: #95718require(): #95717import_usage inside of compute_import_usage: #95989Huge thanks to @gaearon, @acdlite, @aurorascharff, @gnoff, @timneutkens, @devjiwonchoi, and @sampoder for helping!
fix: remove deprecated url.parse() from custom-server example: #96105
711c445b-20260722 to 28cd4bb0-20260723: #96100swc_core::ecma::utils::prop_name_eq for a couple of the next-custom-transforms: #96035Huge thanks to @bgw, @wasim-builds, @vercel-release-bot, @devjiwonchoi, @aurorascharff, @lukesandberg, and @gaearon for helping!
[Cache Components] Exclude dynamic params from prerenders when no generateStaticParams values is provided: #95872
partialFallback behavior behind partialPrefetching flag: #9607481e442ea-20260721 to 711c445b-20260722: #96066use cache test suite to test/development: #96023'use cache' for cookieless requests and route handlers: #96022use cache: #95945npm_config_user_agent first: #95879Huge thanks to @gnoff, @acdlite, @sampoder, @gaearon, @vercel-release-bot, @lubieowoce, @aurorascharff, @unstubbable, @timneutkens, @eps1lon, and @gaojude for helping!
docs: attribute App Shell prefetch to Partial Prefetching: #96003
Arc<PathBuf> for keys in turbo-task-fs's per-path MutexMap: #95951Object.defineProperty syntax: #95994Huge thanks to @icyJoseph, @bgw, @sampoder, and @styfle for helping!
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!
Your coding agent can read these notes before it upgrades. Set up the MCP server →