Next.js v15.4.1stable Released Jul 14, 2025
Impact Score: 5/10

Next.js v15.4.1 β€” Release Notes & Engineering Impact

Source available β€” automated, not human-reviewed

Component: nextjs Β· Channel: stable. Automated analysis, not a compatibility certification. How this works.

Analysis updated: 2026-11-01.

Compatibility not verified β€” check source notes
$ npm install --save-exact [email protected]
πŸ“„ .MD
⚑ Executive Summary (TL;DR)

Next.js v15.4.1. Source highlight: **Check out our Next v15.4 Blog Post to learn more about this release.**

Who Does This Impact? (Role-Based Analysis)

πŸ’» Software Engineers & Devs

Check the source notes against the package and APIs you use before upgrading.

πŸ“Š Product & Engineering Leads

Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.

βš™οΈ DevOps & Security

Verify the target version, runtime requirements and rollback procedure in the official documentation.

✨ New Features & Capabilities (6)

  • Add graceful error fallback for bots requests: #77916
  • [dev-overlay] Add dedicated label for recoverable errors: #78186
  • Turbopack: add test case for persistent caching: #77030
  • Add graceful error boundary for bots requests: #78298
  • Add onInvalidate option to router.prefetch: #77880
  • [ts-next-plugin] warn to add correct type for metadata exports: #78254

⚑ Performance & Enhancements (6)

  • Improve Incremental Cache Locking Algorithm: #80497
  • perf(next-swc): Remove needless JSON conversion: #80671
  • Perf: Use canonicalUrl from prefetch for dynamic RSC requests: #80817
  • [sourcemaps] Improve ignore-listing performance: #81311
  • Docs: Improve `"use cache"` and `cacheLife` API references: #78024
  • docs: improve wording around NextRequest and query params: #77923

πŸ”§ Bug Fixes & Patches (6)

  • [next-server] fix params duplicate in query after rewrite: #77939
  • Turbopack: fix a bug where marking a task a completed causes a panic when reading the output: #77922
  • Turbopack warning spelling fix: #77999
  • fix: use the match result after matching using the matched path header: #77994
  • fix: ensure app router not found works when deployed with pages i18n config: #77905
  • fix: bump `[email protected]`: #78149
πŸ“„ View Raw Release Notes (Original Developer Log)
> [!TIP] > **Check out our Next v15.4 [Blog Post](https://nextjs.org/blog/next-15-4) to learn more about this release.** ### Core Changes - [next-server] fix params duplicate in query after rewrite: #77939 - [next-server] preserve rsc query for rsc redirects: #77963 - Turbopack: fix a bug where marking a task a completed causes a panic when reading the output: #77922 - Turbopack warning spelling fix: #77999 - Allow URL schemes that include `+`, `-` or `.`: #77932 - [dev-overlay] Remove unused hydration error related code: #77929 - [dev-overlay] Unify error deduplication logic: #78017 - fix: use the match result after matching using the matched path header: #77994 - Upgrade React from `3fbfb9ba-20250409` to `c44e4a25-20250409`: #78031 - Move unhandled rejection handling to shared path: #77997 - fix: ensure app router not found works when deployed with pages i18n config: #77905 - Uninstall existing uncaughtException listeners to prevent the process from crashing: #78042 - Experimental bfcache: Restore state w/ <Activity>: #77992 - Add graceful error fallback for bots requests: #77916 - Upgrade React from `c44e4a25-20250409` to `1d6c8168-20250411`: #78067 - [next-server] remove unnecessary query shallow copy: #78003 - [dev-overlay] disable copy button when clipboard is not available: #78101 - [dev-overlay] Stop stashing React error details on error instances: #77975 - [dynamicIO] Model invalid dynamic on empty shells: #77270 - fix: bump `[email protected]`: #78149 - Handle graceful fallback for custom error boundaries: #78121 - [dev-overlay] Stop squashing hydration related errors in App Router: #78140 - [test] Enable `strictNullChecks` in test utils: #78142 - Document Turbopack trace viewer: #78184 - [dev-overlay] Fix error dialog resizing logic: #78144 - Include types in published `eslint-plugin-next`: #78109 - [dev-overlay] Stop appending wrong Owner Stacks to SSR-only shell errors: #77302 - [dev-overlay] Add dedicated label for recoverable errors: #78186 - [chore] remove unused __NEXT_PRIVATE_RUNTIME_TYPE: #78230 - Preserve slashes when custom URL schemes are used in redirects: #78176 - ignore-list published sources if they have a sourcemap: #78242 - Upgrade React from `1d6c8168-20250411` to `39cad7af-20250411`: #78152 - Turbopack: add test case for persistent caching: #77030 - Upgrade React from `39cad7af-20250411 ` to `b04254fd-20250415`: #78253 - fix: alternate bundler support for dropping client pages in AMP: #77601 - [errors] refactor default global-error into a separate file: #78182 - [metadata] render streaming metadata on the top level: #77620 - [metadata] skip head cache in default slot: #78206 - chore: Backport SWC-based RC optimization (#78260) - fix: bump [email protected] (#78164) - `@next/mdx`: Use stable turbopack config options: #78261 - Upgrade React from `b04254fd-20250415` to `4a36d3ea-20250416`: #78297 - Add graceful error boundary for bots requests: #78298 - make sure eslint-plugin-next is built when running 'pnpm dev': #78305 - Migrate pages API routes to handler interface: #78166 - Update middleware public/static matching: #78325 - Fix dynamic route param encoding: #78326 - [Turbopack] refactor persistent caching from log based to cow approach: #76234 - Add onInvalidate option to router.prefetch: #77880 - Reserve bandwidth for most recently hovered link : #78362 - fix: handle incremental PPR with client segment cache: #78387 - fix: amphtml-validator WASM errors (for real): #78379 - Turbopack: Remove `next start --turbopack`: #78384 - Upgrade React from `4a36d3ea-20250416` to `bc6184dd-20250417`: #78322 - [chore] remove dead code missing required error: #78403 - [ts-next-plugin] remove typescript vfs and related metadata plugin: #78237 - [ts-next-plugin] auto import metadata type: #78258 - [ts-next-plugin] warn to add correct type for metadata exports: #78254 - [ts-next-plugin] fix: validate metadata node before checking type: #78414 - [errors] fix edge server initial error is not sent via hmr: #78415 - misc: use correct capitals for React terms: #78445 - Skip empty prefetch request for dynamic routes: #78436 - Turbopack: don’t warn about webpack being configured when `experimental.turbo` is set: #77998 - Upgrade React from `bc6184dd-20250417` to `914319ae-20250423`: #78468 - Update turbopack to syn2: #78385 - [next-server] ensure prepare is done before preloading entry: #78454 - Upgrade React from `914319ae-20250423` to `197d6a04-20250424`: #78516 - [dev-overlay] Move `error.name` to label: #78198 - [ts-next-plugin] update log for utils: #78538 - [ppr] Route Cardinality Updates: #78476 - Turbopack: support ignore comments for NFT fs access tracing: #78460 - Externalize manifest loading in pages-api: #78358 - Update font data: #78525 - refactor: skip the prospective render when there's a more specific route to be rendered: #78555 - fix: bodySizeLimit error responses + limit for non-multipart actions: #77746 - [dynamicIO] Do not skip dynamic validation when metadata is dynamic: #78574 - [dynamicIO] log dynamic validation errors consistently in dev: #78575 - [ts-next-plugin] clean up unused proxy: #78539 - [dynamicIO] Disallow only dynamic metadata: #78576 - fix: make webpack handle "use cache" in node_modules : #78606 - Use React's `prerender` function for `"use cache"` with Dynamic IO: #78382 - Use `node:` prefixed in ESM emit of standalone server.js: #78624 - feat: add ravendb library to server-external-packages.json: #78319 - docs: fix typo in ppr.ts: #78590 - Pre-compile busboy dependency: #78634 - Pages API handler interface follow-ups: #78638 - Repeat fix in #78387 for routes without params: #78568 - [dev-tools] Fix `width` transition logic: #78635 - [ts-next-plugin] fix: warn only if no type: #78628 - [ts-next-plugin] fix: warn only if no type for separate export: #78629 - chore: Drop `@swc/counter`: #78674 - Turbopack: use small thread local collector that flushes to global collector: #78343 - Upgrade React from `197d6a04-20250424` to `5dc00d6b-20250428`: #78640 - Fix bad decoding for x-matched-path header: #78677 - Fix pages API rewrite case: #78644 - chore: update rspack to 1.3.8: #78485 - Always apply render preparations after running an action: #77898 - Exclude config package from bundling: #78671 - Upgrade builtin babel packages: #78673 - Upgrade loader-utils v2 to latest patch: #78707 - [Link] Add prefetch="auto" option: #78689 - [build-sourcemaps] Ensure errors during prerender can be sourcemapped: #78709 - Upgrade React from `5dc00d6b-20250428` to `408d055a-20250430`: #78715 - build: Fix minifier options for webpack builds: #78717 - refactor(next-swc): Do not amend minifier options from Rust code: #78719 - Change stylistic ESLint TypeScript defaults: #78679 - fix: replace original request body after middleware execution: #77662 - remove `draft.isEnabled` setter from exotic draftMode wrappers: #77972 - Turbopack: limit compaction merging by size instead of count: #78669 - [build-sourcemaps] Include codeframes in prod when sourcemaps are enabled: #78710 - feat: build lifecycle hooks - afterProductionCompile: #77345 - fix: make sure that the patched fetch cache set promise is properly awaited: #75971 - [dev-overlay] Make badge draggable: #78716 - Turbopack: fix ESM project in standalone mode: #78774 - Revert "[Link] Add prefetch="auto" option": #78820 - Downgrade React from `408d055a-20250430` to `197d6a04-20250424`: #78834 - Reland "[Link] Add prefetch="auto" option": #78821 - build: Update `@swc/core` npm package to `v1.11.24`: #77668 - Turbopack: Implement regex support for matching webpack loaders: #78733 - Turbopack: Add support for `extension` regex in `@next/mdx`: #78734 - backport: fix(turbopack): Store persistence of wrapped task on RawVc::LocalOutput (#78488) (#78883) - @next/mdx: Use stable turbopack config options (#78880) - Fix react-compiler: Fix detection of interest (#78879) - Fix turbopack: Backport sourcemap bugfix (#78881) - [next-server] preserve rsc query for rsc redirects (#78876) - Update middleware public/static matching (#78875) - [dev-overlay] Polish mobile view: #78863 - [dev-overlay] Consider scrollbar width for drag positioning: #78865 - Add handling for setting deployment id via cookie: #78841 - Run export child process with runtime's default `max-old-space-size`: #78712 - [dynamicIO] cache tracking for import(): #74152 - [dev-overlay] solidate the line number parsing: #78868 - Update send to v0.18.0: #78816 - Scope `runInCleanSnapshot` to Work Store: #78930 - Removes onNavigate from transition scope: #78605 - Add nonce handling from CSP in pages router: #78936 - Ensure manual nonce on Script works as expected: #78939 - Treat _debugInfo as a wellknown property for sync request data access purposes: #78942 - chore(CI): Run rspack tests in build_and_test.yml: #78757 - bugfix: Fix a bug that caused conflicting assets when adding a child compiler: #78011 - [Fix] Inverse prefetch segment for Pages routes: #78932 - Fix tracing of server actions imported by client components: #78968 - Revert "fix: alternate bundler support for dropping client page": #78974 - Fix `--no-mangling` for `"use cache"` functions: #78993 - chore: update rspack to 1.3.9: #78984 - [not-found] Add global-not-found convention: #78783 - [not-found] support metadata exports of global-not-found: #78961 - Prevent `"use cache"` timeout errors from being caught in userland code: #78998 - patch react via recast instead of string replacements: #78916 - [link] Avoid inlining of `LinkProps` in emitted declarations: #78773 - [next-config-ts] fix: read tsconfig file using TypeScript API: #79055 - Replace node:url usage in server-utils: #79094 - [build-sourcemaps] Remove unused static workers: #79107 - fix: cli test failed when using rspack: #79081 - [build-sourcemaps] Allow inspecting prerender worker: #79098 - Add initial modifyConfig hook: #79162 - Re-land updated bundler for pre-bundling: #79164 - [dynamicIO] model pathname access in metadata as async : #79136 - Update font data: #79179 - bugfix (pages): assetPrefix should not cause hard nav in development: #79176 - Reland "Ensure mangling is disabled for dev runtime builds (#75297)": #79201 - docs: add graceful error boundary example: #77781 - turbo-tasks: Encode location information into panics: #78945 - feat(turbopack): Add basic compilation event support: #78785 - chore(dev-overlay): Minor cleanups to useDelayedRender hook: #79119 - Update font data: #79227 - Rename `define-env-plugin.ts` to `define-env.ts`: #79224 - Always pass implicit/soft tags into the `CacheHandler.get` method: #79213 - fix(dev-overlay): Ignore right clicks on the indicator draggable: #79120 - Fix dangling promise in unstable-cache: #79248 - Revert "Partial Fallback Prerendering Route Shells (#69282)": #79258 - [devtool] initial support for segment explorer: #78858 - Client router should discard stale prefetch entries for static pages: #79309 - [dynamicIO] fix: do not apply import tracking transform in edge: #79284 - Turbopack build: Fix type: module with output: standalone: #79292 - [TypeScript Plugin] Moved the diagnostics' positions to the prop's type instead of the value for client-boundary warnings: #79193 - Use `onPostpone` to determine if segment prefetch is partial: #79299 - Enable `ppr` when `dynamicIO` is enabled: #79302 - fix: replaceIdentifiersInAst takes an expression, not a string: #79196 - Remove DIO w/o PPR branch from `app-render.tsx`: #79303 - Remove prospective fallback prerenders: #79304 - Fixed rewrite param parsing for interception routes in Vercel deployments: #79204 - [build-sourcemaps] Sourcemap errors during prerender if `experimental.enablePrerenderSourceMaps` is enabled: #79109 - [release] use `@changesets/changelog-github` for changelog format: #79040 - next.config.ts: Implement `compiler.defineServer` for server-only constants: #79225 - Always show warning if fetch cache limit hit: #79384 - feat(turbopack) Added sending events to log how long writing entrypoints to disk takes.: #79256 - [release] use `@changesets/changelog-github` for changelog format: #79040 - next.config.ts: Implement `compiler.defineServer` for server-only constants: #79225 - Always show warning if fetch cache limit hit: #79384 - feat(turbopack) Added sending events to log how long writing entrypoints to disk takes.: #79256 - Only share incremental cache for edge in next start (#79389) - [TypeScript Plugin] Match method signature (`someFunc(): void`) type for client boundary warnings: #79144 - Only share incremental cache for edge in next start: #79386 - fix: rspack framework and lib cacheGroups: #79172 - Make sure bundle analyzer does not trigger warning with turbopack: #79399 - [dynamicIO] Avoid timeout errors with dynamic params in `"use cache"`: #78882 - Implement initial handler interface for pages routes: #79260 - [Segment Cache] Fix: Ensure server references can be prerendered: #79448 - [dynamicIO] Avoid timeout errors with dynamic params in `"use cache"`: #78882 - Implement initial handler interface for pages routes: #79260 - [Segment Cache] Fix: Ensure server references can be prerendered: #79448 - [Segment Cache] Fix: Skew during dynamic prefetch: #79416 - [dynamicIO] reimplement dynamicIO validation on prerender: #79414 - fix: remove redundant performance.measure usage: #79475 - [devtools] Add a very minimal API for restarting the dev server: #79265 - Model prerender store as separate server and client scopes: #79429 - fix: Merge link header from middleware with the ones from React (#73431) - fix(edge): run after() if request is cancelled mid-streaming (#76013) - gate segmentCache branch in base-server (#79505) - Model prerender store as separate server and client scopes: #79429 - Use metadata for cache entry status code: #79512 - fix(dev-overlay): Better handle edge-case file paths in launchEditor: #79526 - [build-sourcemaps] Increase stacktrace limit during prerender: #79498 - fix: Rspack not skip .d.ts file: #79285 - Revert "[next-server] skip setting vary header for basic routes": #79426 - [ppr] Narrow condition for fallback shell generation at runtime: #79565 - Turbopack: derive de/serialize for loader config: #79581 - Update font data: #79642 - Avoid bundling dev overlay in page template: #79641 - Enable preview builds for forks: #79648 - misc: remove leftover `clientInstrumentationHook` type: #79701 - cleanup(turbopack): Embed Global vs Specific channel type in the Rust type system: #79291 - [dev-overlay] Show error overlay on any thrown value in /app: #79658 - [dev-overlay] Move error handlers into dispatcher in /app: #79660 - Verify cache-busting param during segment prefetch: #79563 - update(turbopack): Update the messaging UX for timing writing files to disk: #79469 - [dev-overlay] Move Redbox open/close into dispatcher: #79698 - chore: update rspack to 1.3.12: #79428 - Enable repeated `tsc` runs in `packages/next` without having to build first: #79782 - Run `tsc` in watch mode during `pnpm dev`: #79785 - Reinstate `vary` (#79939) - fix(next-swc): Fix interestingness detection for React Compiler (#79558) - fix(next-swc): Fix react compiler usefulness detector (#79480) - fix(dev-overlay): Better handle edge-case file paths in launchEditor (#79526) - Client router should discard stale prefetch entries for static pages (#79362) - fix: preload fonts in template.js: #79417 - feat: using eval source map plugin for Rspack: #79199 - feat: using builtin CssChunkingPlugin for rspack: #79762 - fix(napi): Update generated types, add alias for RcStr: #79915 - [dev-overlay] Fix highlighted line cut off on scroll: #79930 - fix(next/font): allow custom font-family in declarations: #76274 - Remove `subissues` from `Issue`: #79988 - [devtools] Add a query parameter to restart endpoint to invalidate the persistent cache: #79425 - Implement handler interface for app-page: #79568 - Migrate app route to handler interface: #80008 - Turbopack Build: Fix underscore path tests: #79778 - Fix watchmode for `taskr` tasks: #80020 - Update font data: #80036 - Fix defunct ESLint overrides: #80053 - [devtools] Add an endpoint to poll for server status: #80005 - [dynamicIO] Only report client sync IO errors if they are above a Suspense boundary: #80026 - [dev-overlay] Parse stacks in reducer not during dispatch: #79788 - Remove obsolete `@ts-expect-error`: #80065 - [dev-tools] Navigation header replaces close button: #80097 - [dev-overlay] Inject `get*Stack` implementation: #79789 - [dev-overlay] Fix dark‐mode styling for `<option>` in Preferences dropdowns: #80025 - Use relative sources in `require()` instead of `next/dist/` if possible: #80054 - [dev-overlay] Inject `isRecoverableError` implementation: #80003 - [devtool] fix explorer flag consuming and style: #80110 - [dev-tools] add restart dev server button to error overlay: #80060 - [dev-tools] add restart dev server button on dev-tools indicator preferences: #80072 - [chore] remove legacy useEarlyImport flag: #80112 - [testmode] Fix types of `wrapRequestHandler`: #80055 - Extend bot list with googleweblight, Storebot-Google, Google-Inspecti…: #77728 - [dev-overlay] Inject `getSquashedHydrationErrorDetails` implementation: #80046 - [dev-tools] better description for restart server button: #80118 - [dev-tools] style: preferences section title: #80120 - [metadata] refactor to remove async metadata: #78495 - [dynamicIO] Document client component remediations for sync IO: #79787 - [dynamicIO] prioritize preprocessing RSC rows when prerendering: #80125 - [dev-overlay] Remove unused `onError` in /pages: #79982 - Remove unused vendored `server-inserted-metadata` module: #80143 - Webpack Build: Use name-contenthash instead of name-chunkhash for dynamic imports: #80153 - [dev-overlay] Remove unnecessary code from /pages dev error boundary: #79983 - Turbopack Build: Implement helpful error for missing sass package: #80155 - [global-not-found] fix shared css imports not being picked: #80151 - Add experimental flag for RSC request validation: #80157 - [dev-overlay] Remove indirection in app dev error boundary : #79984 - Docs: preload entries impact on memory consumption: #80098 - [dev-overlay] Move building indicator into Dev Overlay state: #79985 - [metadata] only render one metadata outlet: #80146 - Add a `regions` property to the Functions Config Manifest file: #80104 - [metadata] fix nonce prop for hoist script: #80174 - docs: fix grammar in Code of Conduct section ('them' β†’ 'it') : #80181 - [error-overlay] remove footer message: #80169 - Turbopack: Log persistent cache store time: #80149 - fix(turbopack): Next.js package not found panics in Turbopack: #79572 - [turbopack] Compute Import Traces for Issues: #79351 - Typecheck `require()` calls: #80056 - Revert "[turbopack] Compute Import Traces for Issues": #80215 - remove unique metadata prop from initial RSC payload #79388 - Replay redirect if RSC parameter is missing: #80180 - [devtool] style the segment explorer as nested view: #80212 - Prerender with streaming metadata during revalidation: #80245 - fix: invalid middleware configs should fail the build: #80221 - [dev-overlay] Render /app Dev Overlay with a separate React instance: #79699 - [devtool] display segment explorer as tree view: #80261 - [dev-overlay] Use same bundle for Pages and App Router: #80019 - Revert "Revert "[turbopack] Compute Import Traces for Issues"": #80220 - [dev-overlay] Publish as production bundle: #80295 - [metadata] only serve block streaming metadata for html bots: #80272 - Update font data: #80301 - Update font data: #80340 - [dev-overlay] fix duplicate re-render of errors: #80322 - [build-sourcemaps] Only compute codeframe once: #80326 - [test] Fix Dev Overlay Storybook: #80288 - [test] Fix crashes in Dev Overlay Stories: #80292 - [metadata] use https protocol for schema urls: #80356 - [dev-overlay] Remove positive tab-index: #80289 - [devtools] Implement default `/.well-known/appspecific/com.chrome.devtools.json` endpoint in dev: #80260 - [dev-overlay] Fix outstanding a11y issues reported by Axe: #80290 - provide declarations for server-only/client-only: #80361 - [test] Stop opening browser by default in local Dev Overlay Storybook: #80291 - [dev-overlay] Move hot reloader client code out of react-dev-overlay: #80278 - [dev-overlay] Remove unused code: #80279 - [dev-overlay] Move app/pages related features closers together: #80280 - Discard `Infinity` expiration for implicit tags: #80387 - fix(next-swc-wasm): Only enable turbo-rcstr's napi feature when building the next-swc-napi crate/package: #80390 - Add response handling inside handlers: #80189 - feat(turbopack): Add simple tree shaker: #78286 - Fix a couple typos: #80080 - [dev-overlay] Move code into new top-level folder in src/next-devtools: #80281 - Ensure we normalize .rsc/.prefetch.rsc: #80409 - Turbopack Build: Fix /index/index handling: #80413 - [segment-explorer] optimize tree view: #80392 - Upgrade @playwright/test and cleanup internal APIs: #80334 - Backport `config.allowedDevOrigins` (#80410) ([Learn More](https://nextjs.org/docs/app/api-reference/config/next-config-js/allowedDevOrigins)) - [segment-explorer] Signal updates to React: #80316 - [segment explorer] fix soft navigation case: #80443 - Update the warning text for when multiple lockfiles are found: #80214 - feat: in Rspack using native fn implemented by us using SWC to replace load module: #80342 - chore: fix link to good first issue: #80478 - Disable fetch cache size limit for implicit caching during build: #80480 - [dynamicIO] Split up static generation into two phases: #79629 - fix(turbopack): Fix config caching for turbopack + React Compiler: #80498 - [dynamicIO] Use filled Resume Data Cache for final-phase prerenders: #79743 - fix: Rspack dev gets stuck after removing a page: #80555 - Ensure custom relative distDir resolves properly: #80569 - fix: mark file system incremental cache as external so it's memory is shared: #80586 - [fix] clone the config module to avoid mutation: #80573 - Improve Incremental Cache Locking Algorithm: #80497 - [devtools] add feature flag for new panel ui: #80251 - [devtools] fork devtools-indicator: #80456 - [devtools] fork next-logo: #80457 - guarantee cache busting param correctness: #80381 - Normalize filepaths when parsing patterns from js values: #80511 - [metadata] render streaming metadata on the top level (#80566) - [fix] clone the config module to avoid mutation (#80573) - feat: rspack use swc to warn for edge runtime: #80485 - Avoid timeout error when transformed params are passed to `"use cache"`: #80463 - Respond with `404` for unknown server actions: #80613 - [segment explorer] single row layout segment: #80576 - Fix: Rules of Hooks violation in AppRouter: #80623 - fix: Add Chrome-ligthouse to htmlLimitedBots: #80656 - Turn on clientSegmentCache during PPR CI runs: #80581 - [devtools] port overlay backdrop out of overlay: #80460 - Revert "(E2E) Log which config file is used for `next start`": #80666 - fix(turbopack): Fix static immutability analysis: #80646 - [devtools] add panel ui placeholder under feature flag: #80354 - [devtools] add dialog behavior to panel ui: #80355 - Add `--debug-prerender` option for `next build`: #80667 - [devtools] port devtools-indicator position to dispatcher: #80536 - fix: mark the shared cache controls as external so it's memory is shared: #80588 - [devtools] apply draggable to panel ui: #80517 - Apply normalizers for init URL used for handlers: #80694 - overwrite redirect SSG meta.status to 200 for RSC requests: #80391 - [devtools] panel ui header: #80509 - [development-server] Display pid of already-running process that is using port: #80069 - [devtools] panel ui footer: #80515 - Fix Next DevTools Storybook in recent Node.js versions: #80713 - [devtools] set up panel ui tab infra: #80535 - [devtools] port devtools scale to dispatcher: #80537 - [devtools] panel ui settings tab: #80538 - Upgrade React from `197d6a04-20250424` to `79d9aed7-20250620`: #79477 - fix: rspack code analyzer should only handle javascript module: #80711 - [devtools] port call stack: #80550 - [devtools] port runtime error handling to hook: #80567 - Upgrade React from `79d9aed7-20250620` to `06e89951-20250620`: #80730 - chore(swc-wasm): Fix and clean up various issues with swc-wasm tests: #80471 - Add onBuildComplete adapter hook: #80446 - [ppr] RDC for RSCs: #79638 - docs: add csp and content disposition type: #80735 - omit searchParam data from FlightRouterState before transport: #80734 - feat(turbopack): Print a warning about performance when starting with an invalidated cache: #80631 - perf(next-swc): Remove needless JSON conversion: #80671 - [devtools] Fix Turbopack indicator: #80753 - Downgrade React from `79d9aed7-20250620` to `197d6a04-20250424`: #80762 - devtools: couple restart dev server UI with persistent cache flag: #80751 - [devtools] panel ui responsiveness: #80732 - [turbopack] Update Napi CLI to the latest 2x release: #80697 - Revert "[ppr] RDC for RSCs": #80794 - [segment explorer] handle edge and pages router: #80668 - [segment explorer] handle builtin not-found: #80607 - [devtools] fix: adjust width for responsiveness: #80777 - [build] remove obsolete module field alias for barrel optimized pkg: #80769 - [segment explorer] handle custom global-error segment: #80685 - [devtools] storybook: port utils to be reusable: #80726 - [segment explorer] display navigation error boundaries: #80691 - [devtools] set up panel ui issues tab infra: #80727 - [devtools] add correct scrollbar to dialog body: #80776 - [devtools] panel ui issues tab sidebar: #80728 - [devtools] panel ui issues tab content: #80729 - [devtools] add fullscreen mode: #80788 - [devtools] proper draggable for header and footer only: #80792 - [segment explorer] handle display loading: #80698 - [segment explorer] handle custom error boundary: #80714 - [segment explorer] display default page in segment explorer: #80716 - Add htmlrewriter to default server externals: #80819 - fix to use https urls in meta data images when using experimental-https: #80276 - Add a fallback for the mdx-components file: #59693 - Revert "Respond with `404` for unknown server actions (#80613)": #80662 - [devtools] segment explorer tab: #80805 - [devtools] fix: error overlay closes when footer is clicked: #80513 - fix: respond with 404 for unrecognized action ids: #77012 - [turbopack] Enable debug assertions in CI: #80739 - Turbopack Build: Implement browserslist for CSS / JS: #80603 - Fix fallback: true cache-control: #80865 - Turbopack: scope hoisting: #79459 - [devtools] refactor segment explorer styles: #80848 - Turbopack: CSS Global Import Validation for Pages: #80585 - [devtools] overlay backdrop visibility hidden when not fullscreen: #80844 - Allow intercepting dynamic routes to be partially prerendered: #80851 - Turbopack: fix chunking context caching: #80862 - [devtools] replace the old error overlay with the issues tab view: #80814 - [devtools] fullscreen mode should not be draggable: #80845 - Turbopack: add task execution reason to tracing: #80861 - [devtools] Allow opting out of environment feature flags: #80897 - [devtools] fix: build error should share the issue content layout: #80850 - [devtools] increase max-width/height limit: #80846 - [devtools] memorize tab in session storage: #80900 - Check cache busting search params on all RSC requests: #80669 - Perf: Use canonicalUrl from prefetch for dynamic RSC requests: #80817 - Fix PPR no fallback case: #80908 - Add comment explaining staticPathKey vs ssgCacheKey: #80911 - add turbo tasks fuzzing: #79372 - [devtools] fix style of issue count label: #80854 - [devtools] Remove unused footer buttons: #80864 - [devtools] Hide issue count on empty state: #80898 - [turbopack] Add user friendly names to trace labels: #80388 - Upgrade React from `197d6a04-20250424` to `fa3feba6-20250623`: #80804 - [segment explorer] open in editor: #80856 - Roll out validateRSCRequestHeaders: #80954 - [refactor] group the built-in conventions: #80957 - fix: webpack config context when using rspack: #80921 - Turbopack: pass current Node.js version from JS side instead of invoking node: #80949 - Turbopack/Webpack Build: Remove dead code: #80938 - Upgrade React from `fa3feba6-20250623` to `cee7939b-20250625`: #80904 - [segment explorer] hover state for open-in-editor color: #80950 - Upgrade React from `cee7939b-20250625` to `4db4b21c-20250626`: #80959 - [devtools] polish icon and label color: #80976 - Use proper reexports in entry-base.ts: #80988 - [segment-explorer] display the builtin conventions: #80961 - [segment explorer] builtin slots style: #80972 - [segment explorer] trigger boundary initial support: #80948 - [devtools]: width/height adjustments: #81072 - [test] fix browser chunk test failure: #81074 - [segment explorer] show current route: #81003 - [devtools]: move RestartServerButton to panel footer: #81082 - Update font data: #81093 - Upgrade React from `4db4b21c-20250626` to `65c4decb-20250630`: #81077 - [node-webstreams] Remove unused App externals from next-server bundler config: #81039 - Turbopack: apply browserslist config in dev: #81075 - [build] remove the default imports for error boundary: #81000 - Turbopack: also inline env vars with undefined value: #80990 - [devtools]: default to issues tab when error overlay is programmatically toggled: #81091 - [devtool] merge segment explorer flag into panel ui flag: #81085 - Revert "[devtool] merge segment explorer flag into panel ui flag (#81085)": #81131 - [segment explorer] reset error and not-found boundary: #81115 - [devtool] enable segment explorer when new panel present by default: #81152 - [dynamicIO] Don't abort on sync request data access: #81162 - [dynamicIO] recognize prerender interrupted errors as well known: #81160 - Fix resolvedPathname for middleware rewrite: #81144 - [node-webstreams] Exhaustive React aliases in App Router: #81040 - [node-webstreams] Use React builds for Node.js: #81048 - Upgrade React from `65c4decb-20250630` to `7216c0f0-20250630`: #81133 - Turbopack: fix and finish immutable tasks: #80996 - [segment explorer] custom tooltip: #80974 - [segment explorer] refactor boundary trigger with ui primitives: #81147 - Migrate usage of web-server in edge-ssr: #80915 - Upgrade React from `7216c0f0-20250630` to `73aa744b-20250702`: #81192 - [segment explorer] fix route path in top navbar: #81195 - Reuse resolvedPathname from prepare: #81194 - Turbopack: exclude resolve-rewrites if possible: #80939 - [devtool] styling fixes: #81228 - [devtools] Omit line/col numbers for anonymous sources: #81223 - Fix NEXT_CPU_PROF during development: #81248 - Turbopack: list assert/strict as external (#80884) - omit searchParam data from FlightRouterState before transport (#80734) - bugfix: propagate staleTime to seeded prefetch entry (#81263) - [Segment Cache] Support third-party redirects in output: "export" mode: #81247 - [devtool] css imports and share css variables: #81236 - Update matching query and route param handling: #81209 - bugfix: propagate staleTime to seeded prefetch entry: #81263 - Ensure resolvedPathname normalizes trailing slash: #81265 - [sourcemaps] ignore-list Webpack runtime: #81229 - Allow `pnpm build` to be run when offline: #81273 - [sourcemaps] Ignore-list sources whose sourcemaps ignore-list everything: #81231 - [dynamicIO] Use owner stacks for dynamic validation errors: #81277 - [dynamicIO] Don't abort prospective render on sync access during SSR: #81258 - [refactor] Move sourcemapping logic to dedicated file: #81310 - [sourcemaps] Improve ignore-listing performance: #81311 - [devtool] handle click outscope child element: #81296 - [build] remove devtool from client chunks in prod: #81376 - chore: align css loader in storybook: #81403 - feat: make typed routes output deterministic: #80432 - [dev-tools] Custom keyboard shortcut to toggle visibility: #81064 - chore: update rspack to 1.4.5: #81216 - [use-cache] track cache read earlier when encrypting bound args: #81427 - Upgrade React from `5d87cd22-20250704` to `a7a11657-20250708`: #81428 - [segment explorer] capture defined boundaries: #81232 - [segment explorer] trigger the actual same level boundary: #81268 - feat: forward browser errors/logs to terminal: #80909 - fix: referencing unavailable __dirname: #81436 - Upgrade vercel og to 0.7.2: #81447 - [build-sourcemaps] Default `experimental.enablePrerenderSourceMaps` to `experimental.dynamicIO`: #81449 - Upgrade React from `a7a11657-20250708` to `60b5271a-20250709`: #81463 - Support `Uint8Array` bodies when generating cache keys for POST requests: #81465 - [devtool] dynamically import segment explorer when enabled: #81473 - Add @sparticuz/chromium-min to default server externals: #81309 - [devtool] patch base-ui and migrate segment explorer inline styles: #81474 - Pass `filterStackFrame` everywhere: #81516 - Upgrade React from `60b5271a-20250709` to `96c61b7f-20250709`: #81505 - [segment explorer] redesign file pills and boundary trigger: #81302 - Update eslint and restore `.eslintrc.cli.json` being used for CLI/CI-based linting: #81553 - [sourcemaps] Properly devirtualize `rsc:` URLs: #81554 - Upgrade React from `96c61b7f-20250709` to `97cdd5d3-20250710`: #81551 - fix: update useEffect closure when menu is truly mounted: #81531 - rename `handleSmoothScroll` util: #81546 - add flag to opt into smooth scroll detection & add warning: #81563 - fix: revert focus trap dependency change: #81571 - Hide <anonymous> stackframes if sandwiched between two ignore-listed frames: #81067 - Dim console logs from prospective prerender in dev: #81515 - Augment React types internally instead of overwriting them: #81561 - [sourcemaps] Don't check for vendor chunks when Node.js 18 is used: #81619 - [Segment Cache] Fix isHeadPartial logic: #81566 - [segment explorer] fix route url is missing cases: #81622 - [segment explorer] fix boundary trigger state: #81623 - fix(next/image): bump sharp to 0.34.3: #81556 ### Example Changes - [test] Use React 19.1 everywhere: #77895 - chore(examples): replace uuid dependency with crypto.randomUUID: #77901 - examples: fix readmes: #78483 - chore: Update the `with-supabase` example to use the Supabase Auth block: #78913 - refactor(napi): Implement napi traits for RcStr: #79806 - remove with-fauna example: #80440 - chore: fix typos in rust files: #81113 - Add Biome example: #81334 ### Misc Changes - Turbopack: use correct env var for uploading test results: #77988 - chore(cna): use short tailwind classname of font-family: #77271 - Fix CSS Data URL test on Turbopack: #77970 - Turbopack: fix dynamic request lookup with only a single match: #77986 - Update Turbopack production test manifest: #78007 - Update Turbopack development test manifest: #78008 - [test] Assert on all errors in Redbox matchers: #77907 - Turbopack: check css requests in test: #77285 - 15.3 Docs: Turbopack for `build`: #77730 - [test] Stop asserting on internal stackframes when features are working as intended: #78015 - Turbopack: asset ident instead of chunk item ID in CSS: #78018 - fix(turbopack): Consider scoping of `var` declarations: #77954 - [test] Remove global styled-components install : #77782 - Cleanup `config.experimental.reactOwnerstack`: #78021 - Docs: Improve `"use cache"` and `cacheLife` API references: #78024 - Docs: Update `useLinkStatus` API reference: #78022 - Turbopack: add debug assertion to check for duplicate modules: #78025 - Turbopack: bundle only `new Worker` with `new URL`: #78010 - Turbopack: use hashbrown HashMaps instead of now-removed std raw entry api: #78032 - Turbopack: proper error message for swcPlugins: #77990 - Update Rust toolchain to nightly-2025-04-10: #78039 - [test] separate rsc-basic tests: #78038 - chore(github): remove redundant markdown body: #76187 - chore(CI): Mention Rspack explicitly, use arewerspackyet.com domain: #77995 - Update Turbopack production test manifest: #78053 - Turbopack: support for CSS Modules in Data URLs: #78040 - test: adjust default timeouts for [waitFor]elementByCss: #78026 - Revert Rust upgrade to nightly-2025-04-10: #78062 - Update Rspack development test manifest: #78049 - Update Rspack production test manifest: #78050 - chore(CI): Add lukesandberg to turbopack team: #78074 - [test] Activity has types and supports react-server: #78066 - refactor(turbo-tasks): Check for transient tasks called from persistent tasks in more places: #77760 - [font] prefix leading numeric google-font name with underscore: #78127 - build: Update `swc_core` to `v22.3.1`: #78129 - Update Turbopack production test manifest: #78124 - [test] isolate parallel metadata test: #78134 - Update Turbopack development test manifest: #78125 - Update Rspack production test manifest: #78123 - [test] Add dedicated tsconfig for test utils: #78141 - Turbopack: load chunks only once: #75143 - Reenable a few more Turbopack tests: #78153 - test: remove "@testing-library/jest-dom" from default jest setup: #78157 - Turbopack: Update toolchain to 2025-04-14 (Reapply #78062): #78167 - [test] Assert on all errors in app/ hydration-error suite: #78132 - Skip failing test via manifest instead: #78161 - Update Turbopack development test manifest: #78179 - Correct require.context relative import keys to match Webpack: #78148 - Getting Started Docs: Clean up `docs/app` and `docs/pages` pages: #78151 - Update Rspack production test manifest: #78177 - Update Turbopack production test manifest: #78180 - Update Rspack development test manifest: #78178 - Turbopack: fix duplicate facade module: #78191 - Added @types/jest in installtion commands.: #78090 - Update turbopack.mdx: #78082 - docs: improve wording around NextRequest and query params: #77923 - Docs IA 2.0: Move version upgrade docs under `Guides`: #78189 - Docs IA 2.0: Move SPA docs under `Guides`: #78195 - Docs IA 2.0: Move migration docs under `Guides`: #78193 - Docs Papercuts: #78200 - feat(turbo-tasks): Generate a trace of transient tasks when panicking: #77600 - Turbopack: fix duplicate module from internal ref: #78194 - Fix externals doc validation: #78208 - [docs] Update 03-fonts.mdx: #77965 - Turbopack Persistent Caching: Use SmallVec to avoid allocations for small values written to DB: #78136 - Turbopack: wait for tracing to be written before exiting: #78210 - refactor(turbopack): Prepare removal of fake AST in tree-shaking: #78172 - Turbopack: more module ident collisions: #78207 - fix(turbo-tasks-fs): Update notify-rs, handle recursive symlinks in realpath implementation, add an e2e test for symlinked files: #78220 - Update Turbopack production test manifest: #78224 - Update Turbopack development test manifest: #78225 - Turbopack: normalize ref type for external tracing: #78226 - Update Rspack production test manifest: #78222 - Getting Started Docs: Add `deploying` page: #77720 - Docs IA 2.0: Move multi-zones docs to `Guides`: #78238 - Turbopack: Do multiple unit test runs: #78212 - Turbopack: fix cell not found bug: #78246 - Prevent typescript errors in IDE for newly generated tests: #78247 - Turbopack: Support ECMAScript styleregex with negative lookahead in `require.context` calls: #78251 - Docs IA 2.0: Move Production Checklist under `Guides`: #78240 - Docs: Fix nav item lettercasing for multi-zones: #78250 - [docs] fix function signature of og image: #78277 - Turbopack: dedupe additional traced references: #78241 - Update Turbopack development test manifest: #78274 - [test] Improve coverage for fetch errors in Edge runtime: #78257 - Update Turbopack production test manifest: #78273 - Turbopack: fix duplicate unsupported edge import modules: #78236 - Turbopack: Include Next.js version in panic handler report: #78263 - fix(turbopack): Fix duplicate modules when tree shaking: true: #78203 - test: try to fix flakiness in amphtml util: #78304 - remove BrowserInterface: #78308 - fix(turbo-tasks-fs): Handle filesystem watcher rescan events: #78045 - docs: improve userAgent device.type example in userAgent.mdx: #78368 - fix(turbo-tasks): Make vc types use repr(transparent): #78327 - - refactor(turbopack): Remove needless code: #78331 - Update Turbopack production test manifest: #78371 - fix(turbo-persistence): Fix `verify_sst_content` feature, improve unit test performance: #78388 - Turbopack: Use content for async loader digests, not availability info: #78386 - refactor(turbo-tasks): Use ResolvedVc for CollectiblesSource: #78392 - Turbopack: add random_change test case to test persistent caching changes: #78211 - Update Turbopack development test manifest: #78399 - Update Turbopack production test manifest: #78400 - Docs IA 2.0: Move `Static Exports` to guides, create `Self-hosting` guide: #78244 - docs(turbo-tasks): Lots of minor fixes, tweaks, and updates to the docs: #78329 - Docs IA 2.0: Move CI build caching page under guides, and create equivalent `/app` guide: #78416 - Docs IA 2.0: Move authentication page under `guides`: #78412 - docs: fix the path of the program attribute in debugging page: #78268 - test: log html output for a flaky test to debug it: #78424 - fix bad next.browser() arguments in socket.io test: #78309 - docs: update React Compiler docs: #78427 - [ts-next-plugin] test: add `metadata` and `generateMetadata` fixtures: #78409 - Turbopack: fix data-url CSS Module client references: #78428 - Update Turbopack production test manifest: #78441 - Turbopack: Use single write to loader ipc socket: #78423 - Update Turbopack development test manifest: #78442 - test: flake debugging - avoid logs being eaten by jest: #78449 - test: ignore streaming metadata in toBeEmpty assertions: #78456 - build: Update `mdxjs-rs` to `v1`: #78469 - fix(turbopack): Fix sourcemap path on windows: #78453 - fix(turbo-tasks): Add a few more transient-from-persistent task assertions: #78301 - fix(CI): Reduce Rspack test retries from 2 to 0 to reduce timeouts: #78390 - test: attempt to de-flake graceful shutdown test: #78464 - Fix potential race condition in createRouterAct: #78473 - feat(turbopack): Implement side-effect optimization: #78047 - Docs IA 2.0: Move testing guides: #78418 - Update Turbopack production test manifest: #78491 - Turbopack: add app-dir alias for `next/*` subpackages: #78447 - Docs IA 2.0: Move pages from Config section into guides: #78496 - Docs IA 2.0: Move `src` folder page to API reference: #78499 - Docs: fix reference to `experimental.turbo`: #78507 - docs: added a few legacy version tags: #78506 - Turbopack: Add react refresh runtime stubs to workers: #78433 - Docs IA 2.0: Move optimizing pages to guides: #78500 - Docs IA 2.0: Delete config page in app docs: #78521 - fix(turbo-tasks): Store persistence of wrapped task on RawVc::LocalOutput: #78488 - docs: update redirected link: #78527 - Docs IA 2.0: Create `public` folder API reference: #78531 - Update Turbopack development test manifest: #78535 - Docs IA 2.0: Move Sass and CSS-in-JS pages to guides: #78536 - Turbopack: prevent hanging due to content hashing: #78545 - Docs IA 2.0: Move caching page to deep dive: #78537 - Batch ipc info messages to improve performance.: #78522 - docs: remove Vercel mentions and improve deployment page: #78557 - Clarify documentation on `to_resolved`. s/strongly/statically/: #78560 - Updating to AWS Amplify Hosting: #78564 - docs: add better-auth auth provider: #74075 - Turbopack: handle webpack loader event backpressure: #78462 - Turbopack: parallel search_index in trace server: #78357 - Update Turbopack development test manifest: #78614 - Update Turbopack production test manifest: #78613 - Turbopack: fix unused import on mac: #78341 - Update MDX documentation to use next-mdx-remote-client: #78347 - perf(turbopack): Remove `ImportBinding` fragments: #78470 - Turbopack: fix search_index merging in trace server: #78625 - docs: Add missing deprecation notice for legacyBehavior in Link component: #78405 - Turbopack: don't resolve traced references in dev: #78623 - Turbopack: Support passing binary data to Webpack loaders: #75056 - docs: link the Cloudflare adapter for Workers: #78610 - perf(turbo-tasks): Filter out `self` arguments: #78554 - refactor(turbo-tasks): Tighten up id factory overflow checks, tweak API to make construction easier: #78486 - refactor(turbo-tasks): Use an execution id instead of the parent task id to prevent local Vc escapes: #78487 - refactor(turbo-tasks): Remove task id from RawVc::LocalOutput: #78561 - Turbopack: avoid compation on initial write: #78342 - Turbopack: Extract `EsRegex` into `turbo-esregex` crate: #78639 - nit(turbo-tasks): Reorder the fields in RawVc::LocalOutput, add more documentation: #78562 - Update Turbopack development test manifest: #78660 - Turbopack: write a LOG file for the database: #78650 - Turbopack: Fix sizes=any with icon.svg metadata file: #78663 - Turbopack: commit compaction only when there are updates: #78651 - docs: improve `"use server"` inline example: #78653 - Update Nissuer to alert for vulnerability reports: #78417 - Enable prettier for turbopack: #78559 - fix: broken deploy test from #77898: #78692 - Fix timings data for deploy tests: #78681 - Turbopack: refactor codegen of module fragments: #78642 - Update Turbopack development test manifest: #78698 - Update Turbopack production test manifest: #78697 - test: migrate svgo webpack test: #78704 - fix(turbopack): Provide full path to SWC Wasm plugins: #78637 - Revert "[next-lint] test: remove eslint config snapshot testing": #77824 - Turbopack: initially shard SST files: #78652 - Turbopack: reduce max coverage for compaction: #78649 - chore(turbopack): Bump rustc-hash from 2.1.0 to 2.1.1: #78721 - Turbopack: make_task_dirty only needs meta data: #78699 - chore(CI): Line-wrap afterBuild blocks in build_and_test.yml: #78718 - chore(CI): Re-run `pnpm install` after `pnpm build` in `build_reusable.yml`: #78720 - Update authentication.mdx: #78738 - chore(CI): Use `TEST_CONCURRENCY` by default in `run-tests.js`: #78731 - Update test new tests for deploy mode: #78737 - Update Turbopack development test manifest: #78741 - Turbopack: assign a high aggregation number to session dependent tasks: #78668 - Turbopack: Use separate meta and data modified flags: #78724 - Turbopack: add concurrency limit to effects: #78725 - Turbopack: refactor codegen: #78685 - Turbopack: correctly reference injected variable for Wasm on Edge: #78771 - Docs IA 2.0: Improve landing page, add intro to Getting Started page: #78765 - Stabilize back-forward-cache test cases: #78735 - De-dupe build_and_deploy run for PRs: #78792 - Revert "De-dupe build_and_deploy run for PRs": #78809 - Update flakey app-action test: #78797 - Update anyhow to 1.0.98: #78827 - Update Turbopack production test manifest: #78830 - [test] Repro for dropped `ignoreList` by Turbopack in browser sourcemaps: #78822 - Update multi-zones.mdx: #78812 - chore(CI): Remove unused environment variables from `build_and_test.yml`: #78732 - Turbopack: avoid tracking a modification when adding an already existing item: #78726 - Turbopack: reduce the amount of task modifications caused by recomputation: #78728 - Turbopack: avoid depending on the Project: #78730 - Turbopack: use unstable sort for better performance: #78764 - chore(CI): Break pages-dir client-navigation dev tests into smaller parallelizable files/suites: #78787 - Turbopack: avoid storing task data and task cache concurrenctly: #78775 - Add a new `fs` method to track a glob.: #78686 - Add tests for normalize_path: #78840 - Turbopack: flush key spaces when done with them: #78776 - fix: error build if fixture typechecking fails: #78839 - doc: add build lifecycle hooks documentation: #78842 - Share logic across our two transforms: #78680 - Turbopack: add tracing to turbo-persistence: #78777 - Turbopack: fix task data category: #78873 - fix(react-compiler): Fix detection of interest: #78874 - Update Turbopack production test manifest: #78900 - Update Turbopack development test manifest: #78901 - Docs IA 2.0: Fonts: #78899 - Docs IA 2.0: Metadata: #78905 - Docs IA 2.0: Create tailwind guide: #78908 - feat(next-swc): Add a fast path to RC detector: #78920 - Turbopack: defer sourcemaps processing to codegen: #78855 - build: Update `swc_core` to `v23.2.0`: #78885 - Turbopack: create smaller initial files to reduce memory usage: #78778 - fix CSP docs: #78937 - Revert "build: Update `swc_core` to `v23.2.0`": #78935 - fix(CI): Remove e2e test timeout overrides from rspack & turbopack suites: #78934 - Update Turbopack development test manifest: #78953 - Turbopack: `ChunkingType::Parallel` with `hoisted` bool: #78922 - Update Turbopack production test manifest: #78952 - fix(CI): Avoid rebuilding native code in jobs that don't depend on native code: #78944 - Docs IA 2.0: Images: #78769 - chore(test/e2e): Remove stale TODO comment from webpack persistent caching test: #78946 - Docs: Fix headings in Getting Started: #78965 - Docs IA 2.0: Delete empty optimizing folder: #78966 - chore(CI): Split trailing-slashes suite cases into smaller suites, port to more modern e2e framework: #78890 - Turbopack: properly replace `__dirname` and `__filename`: #78843 - perf(turbopack): Remove needless clone of sourcemap: #78972 - build: Update `swc_core` to `v23.1.0` again with macos build fix: #78940 - Turbopack: cache directory creation: #78729 - Update Turbopack production test manifest: #78988 - Update Turbopack development test manifest: #78989 - fix(CI): Wait for lock when running apt-get: #78979 - chore(CI): Add a few more turbopack paths to labeler config: #78980 - chore(CI): Add Rspack labeler config: #79004 - perf(turbopack): Remove needless clone of SWC AST: #79007 - chore(CI): Split next-form tests into smaller suites/files that can be run more-in-parallel: #78891 - fix(CI): Remove comments from labeler config: #79015 - Turbopack next/font: Use a custom enum instead of `Result` for failed local font files: #78941 - Update middleware prefetch test: #79025 - Docs IA 2.0: CSS: #78996 - Update Rspack production test manifest: #79072 - docs: Fix grammar on `Update static-exports.mdx`: #79091 - Update Rspack development test manifest: #79071 - perf(turbopack): Update `modularize_imports`: #79012 - build: Update `swc_core` to `v24.0.0`: #79092 - Revert "build: Update `swc_core` to `v24.0.0`": #79102 - chore(CI): Add back test retries (again) to arewerspackyet tests: #79014 - Turbopack: hash next/font filename to shorten it: #79089 - Upgrade lightningcss: #79096 - Turbopack: refactor into `traverse_edges_fixed_point`: #79078 - [test] Move test selectors as close to the actual value as possible: #78931 - test: split basic HMR test into multiple files: #79064 - test: split full reload HMR test into multiple files: #79065 - Update rust toolchain to 2025-05-12: #79099 - Rust: Update safe crates to 2024 Edition: #79104 - build(next-swc): Drop `swc_bundler`: #79113 - chore(CI): Split basepath test suite into smaller and more parallel test suites: #78892 - test: split error recovery HMR test into multiple files: #79066 - test: split hot module reload HMR test into multiple files: #79067 - test: remove unnecessary conditionals in error recovery tests: #73625 - Revert toolchain update to 2025-05-12: #79117 - test: replace duplicate test utils to next instance: #73624 - chore(CI): Split i18n-data-fetching-redirect test suite into smaller and more parallel test suites: #78893 - fix: pnp test cases failed when using rspack: #79084 - Turbopack: Make `turbopack-core` Rust 2024: #79131 - Docs: Add PPR page to getting started section: #79076 - Update Turbopack production test manifest: #79139 - Update Turbopack development test manifest: #79140 - Update Rspack production test manifest: #79138 - Fix false-positive `"use cache"` misplacement error: #79151 - docs: use single quote for `'use client'` directive: #79114 - docs: improve `'use client'` directive and client components: #79115 - Turbopack: remove unused `EcmascriptInputTransform::CommonJs`: #79148 - [test] Add `debug-brk` package script: #79097 - perf(turbopack): Optimize `next_page_static_info`: #79009 - Reference the workUnitStore when determining bailout to CSR: #79118 - Revert "Fix false-positive `"use cache"` misplacement error": #79160 - build: Update `swc_core` to `v24.0.0`: #79103 - docs: Fix grammar in `vitest.mdx` (How to set up Vitest with Next.js): #78654 - [release] enable changesets: #79035 - Remove uses of `read_glob` from `node_native_bindings`: #79154 - chore(turbopack): Add a span for sourcemap generation: #79170 - Add `rustc-ice` files to gitignore: #79167 - Update Rspack development test manifest: #79174 - Update Rspack production test manifest: #79185 - Update Turbopack production test manifest: #79186 - Update Rspack development test manifest: #79184 - Docs: Change `mjs` codeblocks to `js` : #79163 - chore: Update DevEx team changes in labeler: #79191 - Docs: Visual nits: #79198 - Docs IA 2.0: Move Edge Runtime information to API reference: #79152 - Prettier ignore changeset's format: #79203 - perf(turbopack): Do not inline synthesized content for sourcemaps: #79173 - Revert "Update mappings in `launch.json` to improve debugging in VSCode (#76559)": #79206 - perf(turbopack): Use `Byte::from_static` when possible: #79215 - Add recent Turbopack reformats to blame-ignore: #79187 - perf(turbopack): Drop AST node before generating source maps: #79219 - [turbopack] Delete the `read_glob` function: #79166 - [ts-next-plugin] test: add client-boundary test: #79194 - Reland: Fix false-positive `"use cache"` misplacement error: #79222 - Turbopack: Allow fully dynamic import() in node_modules: #79153 - Update Turbopack development test manifest: #79233 - Docs: Fix page order in Getting Started: #79240 - Docs IA 2.0: Server and Client Components: #79143 - Docs IA 2.0: Delete rendering section: #79244 - Docs: Fix syntax highlighting, add missing js code blocks: #79246 - perf(turbopack): Implement `ShrinkToFit` for `AutoMap`: #79218 - docs: add missing links and imports to `cacheLife` and `cacheTag` for prerender-missing-suspense error: #79247 - test: fix snapshots in failing tests: #79254 - fix(turbopack): prepend a question mark in AssetIdent display: #78977 - Update Turbopack development test manifest: #79278 - Update Turbopack production test manifest: #79277 - Update Rspack production test manifest: #79275 - Turbopack: remove dead code: #79280 - perf(turbopack): Use rayon threadpool for `minify()`: #79261 - Revert "perf(turbopack): Use rayon threadpool for `minify()`": #79296 - perf(turbopack): Update `sourcemap` to make `flatten()` faster: #79297 - docs: streaming responses with pages API routes: #79269 - feat: `--rspack` flag for create next app: #79077 - Do not run CI for modifying changeset related files: #79315 - build(next-swc): Update `swc_core` to `v25.0.0`: #79319 - Disable `dynamicIO` in global default cache handler test: #79300 - Enable PPR in Dynamic IO tests: #79301 - Turbopack build: Add test skip that is also skipped for dev: #79241 - Add missing / to deploying link - [test] Use unique error messages in `server-source-maps`: #79108 - refactor(turbopack-resolver): rename filed plugins to after_resolve_plugins: #79286 - Update Rspack development test manifest: #79356 - Update Rspack production test manifest: #79357 - Docs: Experimental taint option in next.config.js: #79293 - docs: --verbose option in dev mode is not yet supported: #79366 - Update Turbopack development test manifest: #79358 - docs: Fix flag for taint: #79370 - test: fix more Runtime/Recoverable Error flakiness in HMR: #79371 - Remove obsolete `ppr` configs from Dynamic IO tests: #79305 - Turbopack: don't emit unnecessary block: #79361 - perf(turbopack): Spawn only one thread for one `write file` effect: #79318 - [release] add new ci to use changesets/action for stable release: #79037 - fix(doc): fix typo: #79369 - [release] couple `next` and `@next/swc` versions: #79036 - [release] use changesets/action for canary release: #79038 - [release] create empty changeset for next when no changeset found during canary release: #79049 - [release] couple `next` and `@next/swc` versions: #79036 - [release] use changesets/action for canary release: #79038 - [release] create empty changeset for next when no changeset found during canary release: #79049 - Unroll recursion in `RuleCondition::matches` This trades allocations due to `Box::pin` calls during recursion for an explicit stack and a tiny interpreter loop.: #79310 - Update Turbopack production test manifest: #79359 - Update Rspack development test manifest: #79392 - Update Rspack production test manifest: #79393 - Update Turbopack production test manifest: #79395 - Update Turbopack development test manifest: #79396 - Turbopack Build: Fix next/dynamic test: #79407 - [release] fix: use correct step id when publishing: #79408 - Turbopack build: Fix NODE_ENV test: #79377 - Turbopack build: Fix production-browser-sourcemaps test: #79374 - Fork the globset strategy for turbopack: #79333 - build: Update `swc_core` to `v26.0.0`: #79411 - docs: fix spacing in installation instructions: #79257 - Turbopack build: Skip test that is not relevant for Turbopack: #79376 - Update test E2E deploy workflow to accept version: #79420 - Turbopack Build: Add comment explaining reason for skipped test: #79418 - Docs IA 2.0: Move ISR page to guides: #79283 - Update Turbopack production test manifest: #79435 - Update Turbopack development test manifest: #79436 - Turbopack build: Skip test that is not relevant for Turbopack: #79376 - Update test E2E deploy workflow to accept version: #79420 - Turbopack Build: Add comment explaining reason for skipped test: #79418 - Docs IA 2.0: Move ISR page to guides: #79283 - Update Turbopack production test manifest: #79435 - Update Turbopack development test manifest: #79436 - Turbopack Build: Fix css-modules test: #79441 - docs: `htmlLimitedBots` config value should be a RegExp: #79454 - Docs IA 2.0: Review fetching page and move examples: #79200 - Docs IA 2.0: Add i18n guides: #79391 - Docs: Fix broken link: #79456 - Turbopack: add webpack scope-hoisting tests: #79457 - [test] Use NEXT_TEST_CI when forking test in CI: #79354 - Docs: Remove non breaking space: #79468 - [sync-react] Base PR on target ref of workflow: #79466 - disallow unstable_rootParams in client components: #79471 - Update Rspack production test manifest: #79432 - Turbopack: avoid negative uppers and follower and use retry loop instead: #79451 - build: Update `swc_core` to `v26.0.1` and `styled-jsx`: #79464 - fix(next-swc): Fix react compiler usefulness detector: #79479 - fix(test/e2e): Increase timeout of flaky basepath test: #79481 - build: Update `swc_core` to `v26.0.1` and `styled-jsx`: #79464 - fix(next-swc): Fix react compiler usefulness detector: #79479 - fix(test/e2e): Increase timeout of flaky basepath test: #79481 - Docs IA 2.0: Reorder PPR page and fix some nits: #79282 - Docs: Align with react docs server functions: #79442 - Turbopack Build: Fix _error loading test: #79455 - Turbopack Build: Fix dynamic-missing-gsp test: #79472 - Turbopack: remove unused ModuleWithDirection from Node runtime: #79458 - Turbopack Build: Fix next/font test: #79502 - perf(turbopack): Use sourcemap with perf patches: #79501 - [turbopack] Fix a buggy serializer: #79520 - chore(turbopack): Remove unused macro definition: #79521 - Update Rspack production test manifest: #79484 - Update Rspack development test manifest: #79485 - Update Turbopack production test manifest: #79487 - Update Turbopack development test manifest: #79488 - docs: Rename CSS snippet to blog.module.css: #79507 - add feature flag to verify aggregation graph: #78964 - Turbopack: leave `chunks` in `rscModuleMapping` empty: #79511 - [release] use changesets/action for release-candidate: #79039 - [release] notify release status via slack: #79409 - refactor(turbopack): Refactor usage of visitors: #79525 - [turbopack] Fix the stubbed out implementation of `signature` so that it works in a web worker.: #79509 - fix(next-swc): Fix interestingness detection for React Compiler: #79499 - perf(turbopack): Remove extra indirection: #79553 - refactor(turbopack): Remove `PassFactory`: #79555 - Fix build and deploy workflow: #79569 - Add final build job to validate: #79570 - de-flake ReactRefreshLogBox (app): #79573 - Disable `"use cache"` deploy tests: #79586 - report build-and-deploy failures only after retries: #79574 - [release-legacy] fix: set `stable` dist tag for backport releases instead of `latest`: #79596 - docs (data fetching): fix typo in startTransition call: #79578 - Fix --tag argument in publish-release: #79599 - Ensure scripts are included in root tsconfig: #79600 - [release] fix: `GITHUB_TOKEN` is needed to open release pr: #79609 - [release-old] use `backport` NPM dist tag instead of `stable` for backports: #79612 - Turbopack: use unsigned values for follower and upper edges: #79489 - [release] fix: correctly set tag during publish: #79548 - [release] use `backport` NPM dist tag for backports: #79538 - [release-new] fix: release pr commit contains `(#number)` at last: #79611 - Unflake `Undefined default export` test: #79632 - [release-new] move "add label to pr" workflow from publish to trigger: #79619 - chore(turbo-tasks): Remove old and unused `turbo-tasks-memory` backend: #79560 - Update Turbopack development test manifest: #79603 - Enforce consistency between packages in preview builds: #79610 - Turbopack: improve error handling when DB read/deserialization fails: #79545 - Docs IA 2.0: Create Forms guide: #79288 - Docs IA 2.0: Create intercepting and parallel routes API reference: #79405 - Docs IA 2.0: Add examples to layout.js: #79453 - Docs IA 2.0: Update template.js API reference: #79490 - Docs IA 2.0: Create Dynamic Segments API reference, add example to getting started. : #79439 - Turbopack: avoid panics due to eventual consistency: #79242 - Next IA 2.0: Create Route Groups API reference, simplifying wording: #79444 - Update Turbopack production test manifest: #79647 - Docs IA 2.0: Move Redirects page to guides: #79447 - Docs IA 2.0: Add `Caching and Revalidating` page: #79493 - Docs: scrub html in `ld+json` script: #79627 - Turbopack Build: Fix edge _document test: #79628 - Turbopack Build: Fix conflicting page error: #79634 - Turbopack Build: Fix runtime value test: #79654 - Docs IA 2.0: Delete Error Handling page: #79495 - Turbopack Build: Skip edge stacktrace test: #79661 - Fix name tracking for closures in server actions transform: #79657 - Turbopack Build: Fix middleware rewrite test: #79697 - Update flakey empty-project test: #79734 - Update Rspack production test manifest: #79645 - Update Turbopack development test manifest: #79646 - Update Rspack development test manifest: #79644 - perf(turbopack): Remove indent in intermediate string: #79754 - fix(turbopack): Use comments instead of AST nodes for unreachables: #79703 - Docs: Fix headings: #79777 - Turbopack Build: Fix metadata test: #79776 - chore(turbopack): Update `swc_core` to `v26.2.2`: #79756 - re-enable vary header deploy test: #79753 - refactor(turbopack): Preserve indents in dev mode codegen: #79786 - Docs: `force-static` w/ revalidate, revalidatePath, and revalidateTag: #79780 - Turbopack: split meta data and AQMF into separate files: #79659 - Update script location used in `pnpm unpack-next`: #79626 - chore(ci): Configure automated benchmark for turbopack: #79791 - [turbopack] Reduce the size of module graph datastructures: #79706 - chore(ci): Add large benchmark: #79793 - Update Turbopack development test manifest: #79774 - Update Turbopack production test manifest: #79773 - fix(next-swc): Fix specificity issue of `styled-jsx` in lightningcss mode: #79802 - Update Rspack development test manifest: #79772 - chore(turbo-tasks-backend): Fix build with `--features turbo-tasks-backend/lmdb`: #79530 - Turbopack: persist and compare errors and panics: #77935 - Turbopack: add test for reexport cycles: #79792 - [release-new] fix: slack notification only if is a publish workflow: #79933 - Update Rspack production test manifest: #79923 - chore(ci): Configure small benchmark for builds: #79796 - [turbopack] Fix URL fragment and query handling in Turbopack: #79993 - chore(turbopack): Cleanup benchmark code: #79943 - chore(ci): Run turbopack benchmark from custom runners: #79979 - fix: update rspack production build output snapshot: #79766 - [turbopack] Create a macro rcstr! for constructing RcStr from string literals.: #79759 - Turbopack: add print_cache_item_size feature flag to print cache size per task: #80043 - Turbopack: remove verbose output: #80044 - docs: Reference to statically imported images: #80048 - Docs: Drop innacurate override information for dynamicParams: #79966 - chore: Use same function references in useReportWebVitals examples: #79963 - refactor(turbopack): Do not use `Result` for `Rope#read`: #80004 - Turbopack Build: Fix next-font test: #80049 - chore(ci): Disable flaky turbopack benchmarks: #80058 - Turbopack Build: Implement locale:false middleware matcher: #80057 - [turbopack] Simplify the definition of AssetIdent: #79805 - Update Rspack production test manifest: #80038 - Update Turbopack production test manifest: #80040 - Update Rspack development test manifest: #80039 - chore(turbopack): Update `rust-sourcemap` to `v9.2.2`: #80066 - chore(turbopack): Remove `Lightningcss` prefix for CSS types: #80067 - build(turbopack): Update `swc_core` to `v26.3.3`: #80059 - perf(turbopack): Use owned instance of `Code` for `minify()`: #79991 - Update Turbopack development test manifest: #80041 - docs: Manual calls to action should we wrapped in startTransition: #80101 - [dev-tools] Re-focus previous item after closing sub menu: #80099 - perf(turbopack/rcstr): Precompute hash for equality bailout: #78943 - perf(turbopack/rcstr): Use precomputed hash: #80074 - Docs: Improve Turbopack webpack loader documentation: #79523 - fix(turbopack): Allow google font fetch errors to propagate when in production: #79999 - chore(turbopack): Fix building local crates with `--all-features`: #80117 - fix React 18 test failures: #80119 - chore(turbopack): Remove unused dependencies reported by cargo-shear: #80121 - [turbopack] Eliminate many calls to `into` and from and cell involving RcStr: #80076 - fix(turbo-persistence): Atomically mark old versioned directories for deletion before deleting them: #80082 - Turbopack: Improve errors when opening SST files: #80106 - chore(turbopack): Use label for large benchmark: #80114 - [test] add custom timeout for start server: #80160 - Turbopack: Fix sst filter handling and order for meta files: #80147 - Turbopack Build: Fix metadata dynamic force-dynamic: #80167 - [turbopack] Remove turbo_tasks::value attribute from NativeFunction - Turbopack: add tool to print DB structure: #80148 - Update Rspack production test manifest: #80136 - small typo fix: #80171 - build(turbopack): Update `swc_core` to `v26.4.4`: #80161 - [turbopack] Remove uses of `Value<ClientContextType>` by making `ClientContextType` a TaskInput: #80127 - Update Turbopack development test manifest: #80196 - Update Rspack production test manifest: #80192 - Update Rspack development test manifest: #80193 - Update Turbopack production test manifest: #80195 - [turbopack] Remove uses of `Value<ReferenceType>` by making `ReferenceType` a TaskInput: #80130 - Upgrade rust version to 2025-06-04: #80200 - Fix race condition in `types-and-precompiled`: #80162 - Turbopack: ignore module ids config in dev: #80204 - Remove forks to switch back to upstream crates: #80198 - Add a test to show that `'use cache'` works in `generateMetadata`: #80172 - [test] Add test for dev rendering indicator: #80205 - docs: add Docker development performance guidance for Mac/Windows: #80002 - [test] fix flaky test of basepath navigation: #80213 - [turbopack] Remove Value::new wrapper for Availabilityinfo parameters: #80132 - [turbopack] Remove Value::new wrapper for ServerContextType parameters: #80133 - Turbopack: fix export collection: #80203 - Docs: Linking and Navigating Page: #80103 - Turbopack Build: docs for unsupported composes handling: #80238 - Turbopack Build: Update manifest for #80238: #80244 - [test] More robust extraction off CSS sources in Flight chunks: #80243 - [turbopack] Replace uses of `Value<Pattern>` with just `Pattern` - [test] Unflake back-forward-cache test: #80250 - perf(turbopack): Decode sourcemap partially: #80177 - [turbopack] Replace uses of `Value<ExecutionEnvironment>` with just `ExecutionEnvironment`: #80135 - [turbopack] Replace uses of `Value<ContentSourceData>` with just `ContentSourceData`: #80140 - Revert "[test] fix flaky test of basepath navigation": #80259 - Turbopack: really fix export collection: #80240 - fix typo: #80282 - [turbopack] Remove uses of `Value<..>` instead make the payloads impl Taskinput: #80141 - [turbopack] Remove uses of `Value<..>` instead make the payloads impl Taskinput - [turbopack] Remove the final uses of `Value<..>` and delete the type: #80144 - [turbopack] Remove the `_for_input` options from `turbo_tasks::value` and the `TypedForInput` trait.: #80185 - Docs: Add rspack community collab: #80217 - chore(turbopack/ci): Make codspeed stable: #80323 - [test] separate tracing error test from action test suite: #80324 - chore(next-swc-napi): Update tracing-chrome crate to 0.7.2: #80331 - [turbopack] optimize the TurboMalloc threadlocals: #80265 - [test] Only run build_and_deploy once for PRs from upstream: #80329 - chore(turbo-tasks-fetch): Port tests from httpmock to mockito: #80341 - feat(turbopack): Invalidate the persistent cache upon panic: #80225 - perf(turbopack): Optimize `Rope` correctly: #80335 - fix(turbopack): Restore `sources` field in the source map: #80337 - Update Rspack development test manifest: #80349 - Update Rspack production test manifest: #80348 - Update Turbopack development test manifest: #80351 - Update Turbopack production test manifest: #80350 - docs: Incremental cache is not used for cache-control: no-cache requests: #80352 - Docs: Add Data Security Guide: #80249 - Docs IA 2.0: Move examples to route.js API reference: #80360 - Docs IA 2.0: Move examples to middleware.js API reference: #80363 - Docs: Add prefetching guide: #80152 - [test] add rspack flaky test to build manifest: #80366 - Docs: broken links in caching: #80369 - docs: Middleware fetching is not cached: #80378 - Turbopack: include obsolete entries in computation: #80362 - build(turbopack): Update `swc_core` to `v27.0.1`: #80338 - Docs: Clarify how intercepting routes work and update example: #80145 - Require that `turbo_tasks::value_trait` items be annotated with `turbo-tasks::function`: #79178 - Update Turbopack production test manifest: #80400 - Update Rspack production test manifest: #80398 - Update Rspack development test manifest: #80397 - Update Turbopack development test manifest: #80399 - Use new `browserWithResponse()` method in `empty-fallback-shells` tests: #80406 - [test] unflake turbopack dev navigation test case: #80407 - Docs: Getting Started feedback: #80401 - docs: server-only/client-only in Next.js: #80408 - Docs: Polish Getting Started section: #80402 - build(turbopack): Update `swc_core` to `v27.0.2`: #80412 - refactor(turbopack): remove lazy_static dependency: #80226 - [test] Move test selectors as close to the actual value as possible (Part 2): #80416 - Turbopack: fix persistent caching bit number typo: #80431 - chore: Remove useActionState from auto wrapping list: #80420 - Update Turbopack development test manifest: #80437 - Update Rspack development test manifest: #80435 - test(turbopack): Configure HMR benchmark: #80219 - refactor(turbopack): Make invalidator flag explicit: #80414 - fix(next-swc): Update `styled-jsx` SWC plugin: #80459 - test(turbopack): Remove flaky benchmark: #80465 - Revert "refactor(turbopack): Make invalidator flag explicit": #80466 - fix(turbopack): Improve error message for PURE selector error: #80068 - build(turbopack): Update `swc_core` to `v27.0.4`: #80467 - Rename `empty-fallback-shells` test suite to just `fallback-shells`: #80461 - Turbopack: don't revisit nodes: #80455 - Update Turbopack development test manifest: #80476 - Update Rspack development test manifest: #80474 - Update Rspack production test manifest: #80473 - Update Turbopack production test manifest: #80475 - Update from-create-react-app.mdx: #80451 - Fix variable assignment in docs example: #80418 - perf(turbopack): Remove needless alloc for AQMF: #80468 - [turbopack] Allow `value_trait` items to not be annotated with `turbo_tasks::function`: #79217 - refactor(turbopack): Make invalidator flag explicit: #80487 - test(turbopack): Make HMR benchmark less flaky: #80488 - perf(turbopack): Introduce static analysis for immutable tasks: #80415 - docs: fix typo: #80549 - Fix small grammar error in searchParams section: #80548 - docs: fix a typo in `static-exports.mdx`: #80541 - docs: fix typos: #80503 - docs: fix typo: #80500 - docs: fix typo: #80501 - Docs IA 2.0: Delete routing section, add BFF guide, polish getting started: #80365 - Turbopack Build: Refactor browserslist CSS test to not use .next folder: #80571 - Explain how to use searchParams prop: #80579 - Update Turbopack development test manifest: #80563 - [turbopack] Simplify `Request::parse(Pattern)` the recursive portion doesn't need to be async: #80510 - Update Rspack development test manifest: #80560 - Update Rspack production test manifest: #80561 - Update Turbopack production test manifest: #80562 - perf(turbopack): Introduce runtime analysis for immutable tasks: #80422 - perf(turbopack): Do not allocate vectors if we are not going to use it: #80504 - test: fix failures caused by format discrepancies between rspack and other bundlers: #80314 - perf(turbopack): Detect more immutable tasks: #80423 - docs: streaming metadata, dynamic pages and generateMetadata: #80453 - Turbopack: correct export usage in EcmascriptModulePartReference: #80526 - Turbopack: make another callback return a result: #80608 - Remove `turbo_tasks::function` from `AssetContext::layer`: #80592 - build(turbopack): Update `swc_core` to `v27.0.6`: #80626 - Update Rspack production test manifest: #80598 - Update Turbopack production test manifest: #80600 - Update Turbopack development test manifest: #80599 - Update Rspack development test manifest: #80597 - Turbopack: resolve `sourceMap.file`: #80625 - perf(turbopack): Mark async fns without `await` as non-async: #80628 - [turbopack] Merge identical match cases: #80630 - perf(turbopack): Load `is_immutable` flag dynamically: #80506 - chore(turbo-tasks): Remove unused deprecated methods from manager: #80594 - chore(turbopack): Dedupe rustls dependencies by updating reqwest: #80632 - Add test cases without `generateStaticParams` to `fallback-shells` suite: #80462 - feat(turbopack): externalType support global: #80542 - Docs: Remove reference to deleted experimental `turbotrace` feature: #80572 - Docs: Update code snippets in linking and navigating guide: #80652 - Update Turbopack development test manifest: #80647 - Update Rspack development test manifest: #80644 - Prevent typescript errors in IDE for newly generated tests (part 2): #80664 - Update Turbopack development test manifest: #80679 - Show string values for configured experimental features: #80686 - fix: server actions should fetch from the router canonicalUrl: #80690 - test: improve action test reliability: #80587 - [turbopack] Simplify the implementations of TaskOutput::try_from_raw_vc: #80689 - refactor(turbopack): Refactor `turbo-tasks-fs` to take `&self` instead: #80633 - [test] Reduce flakiness of instrumentation-order: #80712 - [test] Add repro for SSR bug when large chunks are deferred in Flight: #80661 - add git merge driver for errors.json: #80722 - Update Rspack development test manifest: #80705 - Update Rspack production test manifest: #80704 - Update Turbopack development test manifest: #80707 - Update Turbopack production test manifest: #80706 - Turbopack: Allow distdir in project directory, outside of the application: #80683 - [turbopack] Reduce indirection in turbo-tasks dispatching: #80695 - [turbopack] Reorganize the fields in LocalTaskType to avoid an allocation: #80738 - fix(turbopack): Do not run `inject_helpers` pass multiple times: #80755 - fix: fixed merge driver output, does not expect debugging messages to output on stdout: #80736 - Update Turbopack production test manifest: #80785 - Update Turbopack development test manifest: #80786 - Turbopack: Don't convert script to module when using preset-env: #80724 - [segment-explorer] Fix segment alignment: #80797 - chore: Dynamic error does not change dynamicParams: #80796 - fix(turbopack): Fix usage of `HELPERS` of SWC: #80791 - Turbopack: use correct mark for swc: #80789 - build(turbopack): Update `swc_core` to `v29.1.2`: #80659 - Update Turbopack production test manifest: #80836 - Turbopack Build: Fix metadata-edge test: #80842 - [test] separate hmr env test: #80802 - Turbopack Build: Fix edge-config-validation test: #80847 - [turbopack] Delete `FunctionId`: #80809 - Turbopack Build: Update manifest: #80859 - build(turbopack): Update `swc_core` to `29.1.4`: #80872 - perf(turbopack): Mark more async fns without await as sync: #80642 - Switch back to upstream lightningcss: #80863 - Turbopack: list `assert/strict` as external: #80884 - Update Turbopack production test manifest: #80888 - Update Turbopack development test manifest: #80887 - Fix preview builds for forks: #80833 - [test] Account for React's usage of `eval` in dev: #80857 - Turbopack: fix `this` when accessing named properties of namespace: #80896 - docs: add explanation of --disable-git command: #80882 - refactor(turbo-tasks-backend): Use ringmap crate instead of custom DequeSet type for aggregation updates: #80867 - fix(test/integration): Check the right thing when resetting the server-side-dev-errors tests: #80873 - Update Rspack production test manifest: #80886 - Update Rspack development test manifest: #80885 - fix(turbo-tasks): Temporarily disable immutable task optimizations: #80914 - Turbopack Build: Implement outputFileTracingIgnores and outputFileTracingIncludes: #80890 - test(turbopack): Use `mimalloc` for codspeed to make it realistic: #80877 - [turbopack] Add execution tests to demonstrate a bug: #80918 - build(turbopack): Update `swc_core` to `v29.2.0`: #80919 - test(codspeed): Make codspeed concurrent on `canary` branch: #80928 - Turbopack: respect PURE comments for minification: #80893 - Update Turbopack production test manifest: #80932 - Update Turbopack development test manifest: #80933 - Turbopack: slightly more correct `ModuleId` type: #80605 - docs: Use phosphor icons import perf optimization: #80811 - docs: Add a link to what opts into dynamic rendering: #80910 - Docs/fetching data deduping: #80806 - Turbopack: Improve unreachable code error message: #80934 - chore: add self to labelers: #80924 - cleanup(turbopack): Added documentation comments and small optimizations to CSS import validations: #80901 - Reenable debug assertions for dependencies in dev: #80958 - docs: link api reference pages/app router divergence: #80955 - Docs/feedback june batch: #80651 - Update backend-for-frontend.mdx: #80942 - fix(turbopack): Fix a panic when the generated hash is too short when radix formatting a string.: #80966 - [tests]: add failing deploy test to manifest: #80973 - [tubopack] Compile time replace top level `this` expressions to fix a subtle esm bug and simplify the client side runtime: #80925 - chore(turbopack): Add `swc_ecma_minifier` to turbopack trace target: #80977 - chore(turbopack): Add instrumentation to `Code::generate_source_map`: #80978 - perf(turbopack): Remove needless allocation: #80980 - perf(turbopack): Apply small-vector optimization for `TaskId`s: #80830 - Turbopack: improve unit tests: #80940 - [Segment Cache] Enable deploy tests: #80947 - Turbopack: Add PURE comments for FreeVarReference::EcmaScriptModule: #80902 - Turbopack: fix codegen of directives : #80895 - Use snapshots to verify error stack traces for dynamic validation errors: #80946 - Turbopack: fix sourcemaps of scopehoisted comments: #80987 - Use snapshots to verify dynamic validation errors in dev mode: #80992 - Don't start next server unnecessarily to assert build output: #80994 - [tests]: fix failing searchparams test: #81013 - feat(turbopack): externalType support script: #80768 - Ignore `JSON.parse <anonymous> (0:0)` stack frames in test snapshots: #81044 - Stop installing test apps that are skipped anyways: #81043 - chore(turbopack): Fix typo: #80983 - refactor(turbopack): Make `create_visitor` rustfmt-able: #81053 - Turbopack: move tests to backend: #80995 - Turbopack: @next/mdx extension option is supported: #81058 - docs(fetch): update wording on conflicting cache and revalidate options: #80591 - perf(turbopack): Drop `tokio::fs` usages: #80674 - perf(turbopack/rcstr): Add serialization-time optimization: #78645 - refactor(turbopack): Use `FileSystemPath` instead of `Vc<T>`: #80634 - [test] Add case for import conditions in Pages Router API routes: #81036 - chore: `.ts` ext is most commonly used for middleware and routes: #81059 - Turbopack: correctly apply generate_source_map with scope hoisting: #81060 - Turbopack: inline `typeof window` in node_modules for server: #80945 - [turbopack[ Fix a bug in top level `this` analysis: #81076 - Turbopack: cleanup NextConfig derives: #81071 - Turbopack: fix exposed modules in scope hoisting: #81073 - [turbopack] Make internal functions private and use rcstr! macro: #81041 - build(turbopack): Update `swc_core` to `v29.4.0`: #81092 - Turbopack: Improve compaction in Persistent Caching: #80860 - Turbopack: guard against more eventual consistency: #81080 - Turbopack: instrument scope hoisting with tracing spans: #81078 - [node-webstreams] Remove unused PagesApi matching condition when setting react-server: #81037 - docs: fix grammatical error in upgrading to v15 guide: #81038 - perf(turbopack): Disable `concurrent` of the SWC minifier.: #80981 - Revert "perf(turbopack/rcstr): Add serialization-time optimization (#78645)": #81112 - Docs: paper cuts July 1st : #81109 - Turbopack: scope hoist tree shaking modules as well: #80527 - Fix flakey devtools test: #81127 - [turbopack] Defend against json cyles in our execution tests: #81079 - [turbopack] Implement `Issue::source` on more Issue subtypes: #80874 - Fix flakey devtools test: #81127 - [turbopack] Defend against json cyles in our execution tests: #81079 - [turbopack] Implement `Issue::source` on more Issue subtypes: #80874 - Update workflows for nextjs-bot: #81134 - Update nextjs-bot config: #81138 - [turbopack] Remove some unnecessary awaits now that FileSystemPath is synchronously available.: #81090 - Run front-sync after deployment tests finish : #81023 - Docs: moved table for Unsupported Metadata to the correct location: #80979 - fix(next-swc): Apply SWC minifier bugfixes: #81098 - Update Rspack development test manifest: #81103 - Update Rspack production test manifest: #81102 - Update Turbopack production test manifest: #81105 - Update Turbopack development test manifest: #81104 - Add more test cases to the `dynamicIO` sync IO access test suite: #81045 - chore(turbo-tasks-backend): Remove unused support for nested database operations: #80816 - Turbopack: simplify `ReducedGraphs` and `find_server_entries`: #81118 - [turbopack] Remove an unnecessary clone: #81153 - [turbopack] Move static type ID variables into getters: #81150 - refactor(turbo-tasks-backend): Remove `ExecuteContextImpl::lower_read_transaction`: #80822 - refactor(turbopack): Implement `BackingStorage` for `Either`, replace `NextTurboTasks` with a type alias: #80823 - Remove unneccesary step that's making workflow fail: #81164 - Update caching.mdx: #81129 - build(turbopack): Update `swc_core` to `v30.0.1`: #81179 - Turbopack: rename simple tree shaking: #81181 - Disable Turbopack manifest: #81170 - perf(turbopack): let some Clone be conditional in insert_alias_option: #81175 - [turbopack] Move global names onto the NativeFunction object: #81143 - Turbopack: Rewrite IntervalMap using a BTreeMap: #81095 - Bump lightningcss to not include browserslist-rs twice: #81184 - Turbopack: lazily create syntax contexts for scope hoisting: #81193 - feat(turbopack): turbo-esregex support captures method: #81119 - cleanup(turbopack) Show users an error message when Webpack loaders have a glob in only the extension: #81084 - Only retry deploy tests for canary: #81207 - Skip alert as well for non-canary e2e deploy: #81210 - Fix if condition in retry workflow: #81211 - Format Turbopack NFT tests: #81199 - Turbopack: add `EcmascriptExports::Unknown`: #81214 - Sync NFT test suite from upstream: #81189 - docs: Getting started pages and search params: #80616 - Fix future Rust warnings: #81217 - Turbopack: fix source map panic: #81212 - chore(turbopack): Remove unused dependencies reported by cargo-shear: #81221 - Docs/after function mdx fix: #81174 - Docs: include effect in docs for default optimized libraries: #81203 - Update caching.mdx: #81185 - perf(next-napi): optimize output assets collection using flat_map: #81222 - [turbopack] Add FileSystemPath.has_extension and optimize module graph operations: #81205 - Turbopack: move write_version feature to env var: #81250 - document turbopack trace viewer (#78184) - Turbopack: codegen modules without module graph: #81238 - Turbopack: delete module_context.remove_unused_exports: #81239 - Ensure default run name is correct for deploy tests: #81255 - Turbopack: prevent ParseResult recomputation: #81244 - [turbopack] Remove a vec clone from `primary_chunkable_referenced_modules` : #81206 - Update Rspack development test manifest: #81219 - [turbopack] Remove unused no_move_vec code: #81141 - Add regression test for conflicting search and route params: #81249 - build: Update `swc_core` to `v30.1.1`: #81276 - [test] Keep Playwright stackframes out of tests: #81240 - perf(turbopack): Make `File` => json faster: #81279 - Turbopack: sourceMappingURL for Node.js runtime chunk: #81300 - Turbopack: fix instrumentation-edge layer name: #81304 - Current behavior for module evaluation sourcemapping: #73737 - fix typo: #81336 - fix(docs): correct section count from 4 to 3 in intro: #81323 - Remove incorrect PostCSS config type: #81338 - Remove duplicate CSS properties: #81333 - [test] Dedicate suite for React's Server Request performance track: #81312 - reverts test copy change in dynamicIO tests: #81358 - fix(CI): Update llvm when building native musl targets: #81392 - fix(turbopack): external script should under async module: #81362 - Update Rspack production test manifest: #81364 - Turbopack: don't emit `blurDataURL: null`: #81387 - Turbopack: fix incorrect graph state bug: #81202 - [test] Avoid flaky assertions due to dynamic metadata: #81373 - fix(turbopack) Adjust tree loader to respect parent module overrides: #81139 - Turbopack: remove unused code: #81411 - Turbopack: improve var names, add some unit tests: #81412 - Fix auth preflight check when triggering Front sync: #81166 - [turbopack] Install late loaded script and link tags at the end of the `head` instead of the end of the `body`: #81425 - refactor(turbopack/napi): Add a NextTurbopackContext type, rename VcArc to DetachedVc: #80881 - [test] Skip flaky cdn-cache-busting test: #81429 - Unflake `segment cache (CDN cache busting)` redirect test: #80967 - Check if target workflow is enabled before triggering front sync: #81432 - Revert "[test] Skip flaky cdn-cache-busting test": #81433 - refactor(turbopack): Rewrite `EsRegex::captures` to return an iterator, use `None` for unmatched capture groups: #81200 - update: add nebrelbug to labeler.json: #81437 - Update Rspack development test manifest: #81398 - Turbopack: fix hanging problem due to stale tasks: #81413 - Turbopack: filter NftJsonAsset entries earlier: #81446 - Allow server functions to be used as client component props in `'use cache'`: #81431 - Turbopack: fix duplicate externals modules: #81306 - Turbopack: fix unused export removal with mixed reexport and locals: #81422 - Turbopack: handle all side effects and improve pattern: #81455 - Fail task if one of the parallel ones fails: #81464 - Consolidate dynamic IO errors test suites into a single fixture: #81451 - Update image.mdx: #81454 - Turbopack: reduce temp allocation during compute_blocks: #81459 - fix(CI): On musl/alpine builds, pin llvm to llvm20, add llvm bin directory to path: #81519 - Turbopack: refactor ReadRef deref + clone to the intended pattern: #81537 - Turbopack: remove `clone_value` again: #81539 - docs: root layout + opengraph-image + cna-eslit vs next lint bootstrap: #81542 - Turbopack: add module cost benchmark: #81530 - Turbopack: fix `@opentelemetry/api` resolve fallback: #81541 - [test] Use same pnpm in temporary repo directory: #81540 - Turbopack: only emit `*.single.css` chunks in dev: #81490 - Update rust-cache action to v1.0.9: #81555 - docs: update Page example to use Promise-based params in 05-server-and-client-components.mdx: #81557 - Temporarily disable failing `fallback-shells` deploy test: #81593 - Update help link for inlined use server in client components: #81495 - Turbopack: fix hanging problem with reexport cycles: #81620 - [test] improve segment explorer tests snapshot: #81616 - 15.4 Docs: Minor feature updates: #81618 - docs: onInvalidate router.prefetch: #81609 - Turbopack: Fix turbopack-swc-ast-explorer with multi-line inputs: #81635 - Turbopack: Clean up some of the logic in visit_assign_expr: #81636 - [turbopack] Rename `traverse_edges_from_entries_topological` to `traverse_edges_from_entries_dfs`: #81481 ### Credits Huge thanks to @sokra, @huozhi, @Marukome0743, @mischnic, @wbinnssmith, @eps1lon, @razzeee, @delbaoliveira, @kdy1, @wyattjoh, @acdlite, @ztanner, @bgw, @jantimon, @lubieowoce, @Fonger, @ospira, @gnoff, @styfle, @Cy-Tek, @timneutkens, @raunofreiberg, @devchaudhary24k, @Neschadin, @OreQr, @drewlong314, @ijjk, @praizjosh, @unstubbable, @lukesandberg, @ScriptedAlchemy, @sqidermad, @Juneezee, @devjiwonchoi, @Kamitenshi, @feedthejim, @leerob, @mauerbac, @miki-tebe, @gaearon, @mrbadri, @luwes, @lucacasonato, @M4xymm, @jirihofman, @vicb, @jackwilson323, @SyMind, @kevva, @xyf7, @gaojude, @dario-piotrowicz, @mastoj, @nicole0707, @lourd, @Karibash, @chipit24, @icyJoseph, @xusd320, @fireairforce, @GenhaoLi, @igas, @Macw07, @amannn, @bcdipesh, @r34son, @ivasilov, @lpalmes, @imskyleen, @teamleaderleo, @vitaliemiron, @agadzik, @chdeskur, @nakanoh, @luiscobot, @GameRoMan, @dferber90, @maurobonfietti, @navandstokes, @sajadtorkamani, @bobziroll, @lumirlumir, @KkOoSsTtAa, @msabramo, @sommeeeer, @schoenwaldnils, @remcohaszing, @HerringtonDarkholme, @nebrelbug, @RobPruzan, @lmammino, @MohammedYehia, @extoci, @padmaia, @aacosta11, @vercel-release-bot, @maral, @ethanniser, @MichalMoravik, @rajrawat37, @kidonng, @dnhn, @kristian240, @rachnac-emeritus, @rortan134, and @nick20name17 for helping!