NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #3702 most downloaded on npm
ESLint plugin for Next.js.
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
6 years old
3167 releases · first in 2020
One column per quarter.
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!
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!
Rename prefetch option force-runtime to allow-runtime: #94568
force-runtime to allow-runtime: #94568JSValues: #94297Huge thanks to @gnoff, @gaojude, @sampoder, @karlhorky, @MikhailStn, @unstubbable, @aurorascharff, @samselikoff, @lukesandberg, and @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!
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!
Your coding agent can read these notes before it upgrades. Set up the MCP server →