Update nextjs monorepo to v15.5.0 (develop)
This MR contains the following updates:
Package | Change | Age | Confidence |
---|---|---|---|
eslint-config-next (source) | 15.3.3 -> 15.5.0 |
||
next (source) | 15.3.3 -> 15.5.0 |
Release Notes
vercel/next.js (eslint-config-next)
v15.5.0
Core Changes
- Use and enforce exhaustive switch statements for work unit store: #81577
- Enable
@typescript-eslint/switch-exhaustiveness-check
rule: #81583 - [dynamicIO] use RSC dynamicness to control partial vs complete PPR result: #81627
- [dynamicIO] Do not use
React.unstable_postpone()
: #81652 - feat: new detachable panel UI: #81483
- Turbopack: content-hash PageLoaderAsset: #81450
- [segment explorer] fix content overflow styling: #81649
- Improve reliability of owner stacks for async I/O errors: #81501
- fix(router): Prevent redirect loop on root data requests with basePath: #81096
- Ensure custom NextServer config is honored: #81681
- Fix before interactive incorrectly render css: #81146
- perf: memorize exclude function in webpack config: #81525
- Also enforce experimental features when there's no next config file: #81679
- feat(next/image): warn when
images.qualities
is undefined: #81690 - feat(build): optimize filterUniqueParamsCombinations to generate sub-combinations: #81321
- Update NextAdapter type and re-export: #81692
- upgrade to path-to-regexp@6.3.0: #80123
- [metadata] replace for initial body icon case: #81688
- [segment explorer] remove dev panel ui flag: #81670
- Simplify running test apps locally with
ppr
ordynamicIO
enabled: #81668 - [turbopack] Return cached Promise from
__turbopack_load_by_url__
: #81663 - Upgrade React from
97cdd5d3-20250710
to2f0e7e57-20250715
: #81678 - Delete unused
renderToString
function: #81707 - Discard prerendered route handler data from FS cache after revalidation: #81611
- Upgrade React from
2f0e7e57-20250715
tod85ec5f5-20250716
: #81708 - Ignore pending revalidations during prerendering: #81621
- [turbopack] Clear chunk cache on HMR instead of creating new
next-server
VM: #81664 - fix: rootParams should throw in client when fallbackParams are not present: #81711
- perf(build): optimize buildAppStaticPaths performance and add helper function: #81386
- Turbopack: Support string without options for @next/mdx: #81713
- [Segment Cache] Support dynamic head prefetching: #81677
- [sourcemaps] Consistent cursor columns: #81375
- fix: revert client segment route changes for sub shell generation: #81731
- fix: pages router metadata bugs with React 19: #81733
- Improve error handling for
headers
/cookies
/draftMode
in'use cache'
: #81716 - [devtool] fix duplicate rendered indicator on server: #81729
- [devtool] enable segment explorer by default: #81737
- [turbopack] Stop exposing globals from Turbopack runtime: #81727
- Remove unnecessary await: #81761
- [chore] bump zod to latest v3: #81757
- feat(turbopack): Log anonymized internal error (panic) information to telemetry: #81272
- fix: revert client segment route changes for sub shell generation: #81740
- bugfix: static resources staleTime should be renewed once refetched: #81771
- [devtool] move font styling to global.css: #81782
- [devtool] copy decoded info of error details: #81735
- fix(build): add sourcePage context for PPR dynamic route lambda creation: #81781
- refactor: rename experimental.dynamicIO to experimental.cacheComponents: #81562
- Properly handle hanging promise rejections during prerendering: #81754
- Upgrade React from
d85ec5f5-20250716
todffacc7b-20250717
: #81767 - Refactor: Get rid of overly generic
getExpectedRequestStore
function: #81791 - [devtool] migrate css reset to global.css: #81783
- [dev-tools] Robust shortcut detection: #81756
- [segment explorer] hide for pages router: #81813
- [devtool] fix scrollbar styling: #81814
- fix(ppr): ensure fallback route params trigger dynamic resume: #81812
- [devtools] restart server pending state: #80858
- Turbopack: fix dist dir on Windows: #81758
- fix: remove boundary sentinel from RSC responses: #81857
- [sourcemaps] Try VM for retrieving source maps first: #81869
- [devtools] save user config inside
.next/cache
: #81807 - Server: Remove unused code: #81886
- refactor: encapsulate content type within RenderResult: #81861
- refactor: handle null RenderResult responses gracefully: #81895
- Upgrade React from
dffacc7b-20250717
toe9638c33-20250721
: #81899 - chore(devtools): sync todos to linear: #81901
- Introduce
'use cache: private'
: #81816 - chore(deps): update
browserslist
: #81851 - Remove web-server from edge-ssr-app: #81389
- Stabilize node middleware support: #81907
- Add
run-turbopack-compiler
trace span: #81917 - fix: support calling onClose multiple times in edge-ssr-app: #81911
- fix: logging the correct process for listened port: #81903
- Build: Include rewrites in manifest generation: #81894
- Routing: Clean up some code: #81932
- [sourcemaps] Ensure codeframe when calling Client Functions from Server: #81918
- [segment explorer] missing file suggestion: #81617
- [turbopack] Always print trace labels in headers: #81728
- Revert "[metadata] use https protocol for schema urls": #81934
- Upgrade React from
e9638c33-20250721
to7513996f-20250722
: #81940 - Upgrade to swc v33: #81750
- Remove extra base-server code: #81944
- Turbopack: flatten sourceInfo to avoid objects, reorder args, compress node.js entry: #81545
- Fix dynamicParams false layout case in dev: #81990
- Initial MCP implementation: #81770
- Fix: Unresolved param in x-nextjs-rewritten-query: #81991
- Turbopack: Add an option to use system TLS certificates (fixes #79060, fixes #79059): #81818
- Turbopack: Remove unused proxy option in turbo-tasks-fetch, lightly document HTTP_PROXY/HTTPS_PROXY environment variables: #81905
- Upgrade React from
7513996f-20250722
toedac0dde-20250723
: #81984 - [devtools] Cleanup folder structure: #82012
- [devtools] Fix "open in editor" for locations in stackframes: #82013
- [Segment Cache] Fix: Key by rewritten search: #81986
- Upgrade vercel og and remove yoga type patching: #81937
- [perf] cache load config results: #80570
- Turbopack: use prototype for turbopack context for better runtime performance: #81547
- [reactcompiler] Test with latest RC: #82002
- [devtools] Fix various
exhaustive-deps
violations: #82010 - [devtools] Apply React Compiler to Next.js DevTools source: #82004
- Upgrade React from
edac0dde-20250723
to3d14fcf0-20250724
: #82020 - Adjusted the warning message to be more descriptive: #82054
- Track fallback params on workUnitStore: #82003
- Fix API stripping JSON incorrectly: #82061
- Upgrade React from
3d14fcf0-20250724
to19baee81-20250725
: #82063 - use FetchStrategy to control prefetching behavior everywhere: #82032
- [Segment Cache] set fetchStrategy on segments from a dynamic request: #82059
- Revert "Upgrade vercel og and remove yoga type patching (#81937)": #82066
- Optimize segment data routes: #82033
- Turbopack: write tasks doesn't need to be session dependent, as effects will restore: #78727
- [sourcemaps] Fully sourcemap stacks on the Server: #81904
- fix(Rspack): use loaderContext.utils.contextify to replace ModuleFilenameHelpers.createFilename: #82104
- next/root-params: #80255
- fix(next/image): fix image-optimizer.ts headers: #82114
- Upgrade React from
19baee81-20250725
toeaee5308-20250728
: #82120 - Fix validateRSCRequestHeaders incorrect redirect: #82119
- fix(next/image): improve and simplify detect-content-type: #82118
- [CacheComponents] Use fallback params when validating dynamic routes in dev: #82069
- Extract getDynamicParam to a shared module: #82137
- Fix i18n fallback: false collision: #82136
- [segment explorer] normalize path when running inside monorepo: #82146
- [segment explorer] windows compatibility: #82147
- Upgrade React from
eaee5308-20250728
to9be531cd-20250729
: #82159 - Ensure setAssetPrefix updates config instance: #82160
- Revert "Fix tracing of server actions imported by client components (#78968): #82161
- Remove useMDXComponents argument: #80871
- Fix RSC hash validation for middleware external rewrites: #82176
-
@next/codemod
: update docs url in README: #82135 -
@next/codemod
: Addexperimental.turbo
toturbopack
codemod for Next.js configs: #82134 - refactor: lowercase app router header values: #82169
- Strip internals from
NextRequest
types: #82172 - allow root params access in private caches: #82125
- [devtool] bump base-ui to 1.0.0-beta.2: #82206
- Upgrade @vercel og: #82201
- Upgrade React from
9be531cd-20250729
to9784cb37-20250730
: #82207 - Fix: the unexpected clearing of symbolic link directories: #82191
- [next-dev] Set
TURBOPACK
env before loading config: #82162 - fix: display multiple lockfile warn if neither
outputFileTracingRoot
orturbopack.root
option is provided: #82164 - Revert "Initial MCP implementation (#81770)": #82217
- Revert "Upgrade @vercel og (#82201)": #82219
- Fix: Don't bail out of prefetch if head is missing: #82216
- Upgrade React from
9784cb37-20250730
toc260b38d-20250731
: #82247 - [Cache Components] Runtime prefetching: #81088
- Parse dynamic params on the client: #82185
- Mark bun builtin modules as external (fixes #75220): #77616
- Turbopack: Compact only at the end for short sessions: #82224
- feat: add fallback root params support for prefetch segment data routes: #82282
- feat: add route context to prerender error messages: #82283
- feat: automatically generate route types: #81396
- [Cache Components] Reset PrerenderStore after generating RSC payload: #82286
- Include
eslint-plugin-react-hooks
in React sync: #82294 - [devtools] Remove unnecessary cascading update: #82295
- Turbopack: name the module factory function: #73553
- Update font data: #82292
- fix: next/root-params erroring when rerendering after action: #82326
- Remove params from segment path: #82249
- Upgrade React from
c260b38d-20250731
tobe11cb5c-20250804
: #82339 - fix: OTel root span should indicate error status on exceptions: #82212
- [Cache Components] Allow span creation while prerendering: #82350
- feat(turbopack): improve compile-time define value to support more data types and expr evaluation: #81042
- [Pages] fix:
_error
page'sreq.url
can be overwritten to dynamic param on minimal mode: #82347 - [Pages] fix: use
asPath
for query-only navigation withuseRouter
: #82236 - loader tree: add special segment name to virtual parallel route segments: #82383
- fix: add
?dpl
to fonts in/_next/static/media
: #82384 - Upgrade React from
be11cb5c-20250804
to7deda941-20250804
: #82373 - [devtools] Make state read-only in types: #82396
- Add experimental clientParamParsing feature flag: #82393
- add unstable_isUnrecognizedActionError: #78933
- [Cache Components] give the "seconds" profile a 30s staleTime: #82332
- Represent "virtual" segments like route groups: #82422
- [Segment Cache]: fix infinite prefetching when staleTime is 0: #82388
- Remove param values from static route tree: #82376
- [Cache Components] Only validate the shell on SSR render: #82381
- fix: static not-found missing in prerender manifest: #82199
- Turbopack: Share entrypoint template logic between Turbopack/webpack: #82385
- Add
path
to Image documentation: #82329 - [errors] revamp graceful degrade error boundary: #82474
- Fix: Do not force BLOCKING_STATIC_RENDER for DOM bots: #82427
- Update build-complete for adapter API: #82452
- fix: swc tracing: #82470
- Upgrade React from
7deda941-20250804
to3958d5d8-20250807
: #82447 - Delete abandoned segment parsing code: #82458
- Upgrade React from
3958d5d8-20250807
tof1e70b5e-20250811
: #82534 - Upgrade React from
f1e70b5e-20250811
toac7820a9-20250811
: #82543 - fix(next/image): use
image-size
pkg as additional format detector: #82538 - fix: add
?dpl
to fonts in/_next/static/media
part 2: #82488 - Fix: Disambiguate Mediapartners-Google user agent: #82536
- Fix: Allow dynamic rendering when root layout is wrapped in Suspense: #82378
- wrap devtools stories in context providers: #82345
- [devtools] Remove unused
componentStackFrames
field: #82395 - [Deprecation Warnings]: add amp deprecation warning: #82551
- fix(next/image): handle empty buffer and experimental flag for
skipMetadata
: #82569 - fix: amp deprecation warning should assert on user config: #82572
- fix: Prevent duplicate file entries in modulesCode: #82550
- feat: Turbopack typed links: #81528
- Upgrade React from
ac7820a9-20250811
to1dc3bdea-20250812
: #82575 - [Runtime prefetch] resolve runtime APIs in a separate task: #82475
- Clean up unused code in restart server button: #82409
- chore: Update babel types and do some light cleanup of babel loader: #82486
- [Cache Components] Avoid cache misses when resuming a cached page: #82578
- chore: Remove unused
Map
support fromnext/dynamic
transform: #82487 - [Deprecation Warnings]: add unstable_rootParams deprecation warning: #82582
- Turbopack: set
window.next.turbopack
instead: #82580 - fix router handling when setting a location response header: #82588
- Fix: Resolve PPR resume mismatch by search params: #82587
- Upgrade React from
1dc3bdea-20250812
tof1222f76-20250812
: #82595 - [devtools] Move ShadowRoot into context: #82296
- Remove React 17 logic from Pages Router static generation: #82604
- [Segment Cache] Optimistic prefetch for search params: #82586
- Handle badged console calls when dimming console output: #81889
- run config deprecation checks only on user-provided configuration: #82613
- [devtools] Remove unused code: #82299
- [turbopack] Update Turbopack build warning message : #82591
- [Cache Components] Disallow sync access of cookies & headers at runtime: #82564
- feat: type guard file generation: #81400
- fix: find root dir on fs root: #82590
- fix: use in operator to check dev indicator option when its obj: #82629
- Upgrade React from
f1222f76-20250812
to379a083b-20250813
: #82642 - feat(next/image): warn when images.localPatterns is undefined and src has query: #82627
- Turbopack: add
turbo_tasks::spawn
: #82634 - Fix fetch logging after revalidation via server action: #82643
- Fix request type in typed route validator: #82644
- fix: use .js extension for relative imports: #82669
- feat: add RouteContext type for app router route handlers: #82670
- Add additional handling for build-complete: #82671
- fix: Combine the hrtime tuple to get a better seconds representation: #82687
- test: migrate manifest tests to snapshot testing with normalizeManifest utility: #82675
- perf(router): replace LRU cache with optimized doubly-linked list implementation: #82633
- Turbopack: use a source content regexp for the react compiler: #82631
- Upgrade React from
379a083b-20250813
toa96a0f39-20250815
: #82691 - fix: memory leak from cloneResponse: #82678
- Turbopack: Fix logic in HMR logging code that could emit a NaN build time: #82389
- fix: use
turbopack.root
value foroutputFileTracingRoot
to have consistent tracing root: #82653 - fix: return plain text 404 for invalid static asset paths: #75111
- Turbopack: show timing event for database compaction: #82369
- chore(test): update sharp api test: #82740
- [type] dynamic skip generating unused types: #82755
Example Changes
- Add Prisma ORM example to Next.js examples: #75290
- chore: Update
with-supabase
example to usegetClaims()
: #81383 - docs: Improve Content Security Policy documentation: #80580
Misc Changes
- Update Rspack development test manifest: #81603
- Allow
beforePageLoad
to be async: #81650 - Docs: POC: #81419
- chore(bot): update comment: #81672
- Fix build-native.ts on Windows: #81673
- Update Rspack development test manifest: #81660
- Update Rspack production test manifest: #81661
- Add create release branch workflow: #81687
- fix patch-next by adding missing script: #81430
- Turbopack: Generalize
ImportedBinding
effect creation to avoid as much special-casing of SimpleAssignTarget: #81653 - docs: Update redirects i18n documentation for App Router: #81347
- Include
use-cache
test suite in the Cache Components tests: #81610 - Improve error message for sync server functions: #81705
- [lint] keep lint-stage use faster linting: #81710
- [test] Fix
app-static
deploy test: #81712 - Fix: createRouterAct "reject" config: #81720
- Update Rspack development test manifest: #81702
- Update Rspack production test manifest: #81701
- Add an e2e test for the css serving issue: #81683
- chore: update username from 'nebrelbug' to 'bgub': #81734
- Turbopack: consistently name runtime chunk: #81769
- Turbopack: include more details in panic: #81773
- fix(turbopack) Adjust the way catchall routes are handled when a more specific parallel route exists: #81634
- Add trigger for v0 sync workflow: #81645
- Update Rspack production test manifest: #81746
- Update Rspack development test manifest: #81747
- Turbopack: Split DynamicEqHash trait into smaller traits in a separate re-usable crate: #81741
- [turbopack] Reuse shared Promise for loaded chunks: #81755
- Add VSCode tasks to show TypeScript compilation errors in problems view: #81799
- Turbopack: remove unneeded manifests for API routes: #81536
- [turbopack] use
require
to load chunks in our node runtime: #81738 - Turbopack: fix unhelpful error message when deleting folder fails: #81718
- Remove
experimental.strictNextHead
: #81882 - Remove some random commas: #81875
- Turbopack: Add cache for reqwest clients: #81742
- Update Rspack development test manifest: #81878
- Update Rspack production test manifest: #81879
- Turbopack: Track variable usage inside of visit_assign_target_pat: #81654
- Turbopack: Replace
current_value
set/restore mutation pattern with a saferwith_pat_value
helper: #81696 - Docs: Document
global-not-found
: #81803 - [router-act] Fixes related to segment inlining: #81896
- [test] Add dedicated test for error when client functions are called from server components: #81930
- Fix an issue in how css references are collected under
next build --turbopack
: #81704 - Turbopack: Update notify-rs crate, remove workaround for fixed bug: #81909
- Update Rspack development test manifest: #81913
- Update Rspack production test manifest: #81914
- Turbopack: Use workaround for rustc miscompilation bug on macos intel: #81950
- [test] workaround test that needs stylus: #81965
- Bump to swc_sourcemap 9.3.3: #81971
- fix(Turbopack): Remove the duplicate SlowFilesystem warning: #81972
- CI: add workflow_branch data to deploy test failure message: #81949
- Update Rspack production test manifest: #81961
- Update Rspack development test manifest: #81960
- [turbopack] Rename ClientReferenceSet: #81942
- Turbopack: fix scope hoisting variable renaming bug: #81640
- Revert "[test] workaround test that needs stylus": #81981
- [docs] fix rewrites example wording: #81985
- Turbopack: improve named spans in tracing: #81458
- Turbopack: update mimalloc: #81993
- Turbopack: Update bundled webpki-roots: #81906
- Allow specifying CLI version for e2e deploy: #81998
- Turbopack: Move fs watcher anyhow::Context import inline to fix compilation warnings: #81997
- Add link to manually trigger preview builds: #81977
- Update Rspack production test manifest: #82007
- Update Rspack development test manifest: #82008
- Turbopack: Make turbo-tasks-fetch a bit more OOP-like: #81995
- Update Rspack development test manifest: #82038
- [test] Allow running
lint-eslint
on a specific directory: #82009 - Adjusted the warning message to be more descriptive: #82052
- Update Rspack production test manifest: #82039
- [turbopack] mark
rcstr!
allocated Rcstr values as 'static' and stop refcounting them: #81994 - Turbopack: only schedule tasks when task becomes active on active counter increase: #81414
- docs: Update styling example links : #82111
- [turbopack] Documentation fixes for rcstr! and a tiny improvement to
hash
: #82084 - [turbopack] Improve our
const
compatible hash routine performance: #82088 - Update Rspack production test manifest: #82139
- Turbopack: Fix accidental doctest in globset module license: #82127
- [turbopack] tweak the ui of the module-cost benchmark: #81817
- [test] revert config change in hello-world test: #82173
- docs: cookies.set encode option is not supported: #82154
- docs: change Dashboard component to async for session verification: #81880
- Update create-release-branch to disable test-new-tests: #82182
- docs: update cacheTag.mdx: #82051
- Turbopack: Make the "non-recursive" logic for the fs watcher a runtime flag instead of a build-time one: #82031
- Turbopack: Add a flag to the fs watch fuzzer to print missing but expected invalidations: #82131
- docs: fix typo in docs: #82186
- docs: Add more links to app docs root: #82126
- docs: App Router's React version: #82180
- Turbopack: Use
Path
/PathBuf
for all of the invalidation logic: #82132 - Turbopack: Use a BTreeMap in InvalidatorMap to avoid many
O(n)
traversals when finding child paths: #82133 - Turbopack: Watch the root and every parent directory in non-recursive mode: #82129
- Turbopack: Remove unused
ignored_subpaths
feature from DiskWatcher: #82210 - Grammar fix on forms.mdx: #82209
- Update Rspack production test manifest: #82108
- Update Rspack development test manifest: #82192
- Turbopack: implement shutdown for backing storage correct: #82220
- Update Rspack development test manifest: #82227
- fix: turbopack loader ipc field mapping: #82112
- Turbopack: fix dev test manifest: #82241
- fix(Turbopack): Fix duplicated layout rendering in edge cases: #81948
- [turbopack] Adopt rcstr! more consistently: #80552
- Turbopack: use mimalloc v3: #82221
- Turbopack: no need to avoid allocations anymore: #82222
- Turbopack: ensure max merge segments is respected accros families: #82223
- docs: to indicate that redirect can be used in both server and client…: #82092
- Turbopack: improve compression dictionary generation: #80061
- test: reduce artificial timeouts in runtime prefetch tests: #82276
- Turbopack: fix glob with empty alternative branch: #82275
- [turbopack] Optimize ESM exports: #82214
- [turbopack] Fix a snapshot test: #82281
- [turbopack] Avoid calling
find_server_entries
in the whole_app_module_graph case: #81943 - docs: Add Tolgee to app router localization resources: #81366
- Update Rspack development test manifest: #82268
- Update Rspack production test manifest: #82267
- Turbopack: Remove the
lazy-regex
dependency: #82288 - Turbopack: move block offsets from header to footer: #82047
- Turbopack: Streaming write of SST files: #82048
- [turbopack] Use Arrays instead of objects to bootstrap chunks: #81877
- Turbopack: set env in tracing context: #75254
- [test] Update snapshots: #82327
- chore: fix eslint-typechecked-require with template: #82328
- docs: add React Developer Tools section for debugging: #82320
- docs: Clarify revalidatePath : #82142
- Turbopack: Update
jsonc-parser
, dedupe with SWC: #82343 - [turbopack] vibecode a benchmark runner for module-cost: #82287
- Documentation: Removed reference to treeShaking in 08-turbopack.mdx: #82352
- Turbopack: run styled-jsx after typescript transform: #82359
- Turbopack: pass
is_development
tonext_page_config
: #82363 - refactor(turbo-tasks-fs): change FS to_sys_path to be synchronous: #82341
- Turbopack: clean up some old TODOs: #82364
- Docs: Updating guides on PPR and ISR: #81307
- fix(Turbopack): Address duplicated metadata image modules when they are impored: #82367
- Bump swc to 35: #82237
- docs: CSP with SRI corrections: #82365
- fix: implications of global-not-found skipping 'normal' rendering: #82399
- update rspack-dev-tests-manifest for failing tests: #82414
- Docs: Add more info about TW and TW 3 option: #82203
- Update Rspack production test manifest: #82397
- fix(turbopack): external module shouldn't wrap by esm when type as global: #82374
- docs: polyfills usage in app router: #80447
- global-error, revalidatePath and PWA headings: #82408
- chore(Next.js sync): open draft MRs immediately: #82424
- Turbopack: improve loop breaks: #77964
- Update Rspack development test manifest: #82433
- Turbopack: remove a few clones: #82435
- Update Rspack production test manifest: #82432
- Update to run rspack tests on release: #82453
- Docs/polyfills fix pages only: #82462
- Turbopack: enable side effects optimization by default in all test cases: #82463
- Turbopack: split basic side effects optimization test: #82464
- Turbopack: add more side effects test cases: #82465
- Turbopack: refactor side effects optimization: #82466
- Devcontainer: Replace Dockerfile with prebuilt image+features: #82450
- Update Rspack development test manifest: #82461
- docs: update revalidatePath, revalidateTag docs to be more consistent + highlight res.revalidate case: #82479
- use correct workflow id for v0: #82484
- Turbopack: increase time before persisting: #82403
- [turbopack] Fix a small issue in the analyzer where we wouldn't skip assignments to free vars that were just identifiers: #82392
- [turbopack] Promote
exports
and module to factory parameters for cjs: #82285 - [turbopack] Fix the build under
--features=tokio_tracing
: #81979 - Turbopack: Restore watchers for children when using non-recursive FS watcher: #82130
- Turbopack: fix CSS module references, take 2: #82448
- Turbopack: respect
productionBrowserSourceMaps
: #78014 - chore: Ignore
compiled
folder in ripgrep/ast-grep/ag/etc: #82482 - Update Rspack development test manifest: #82526
- Update Rspack production test manifest: #82525
- Test that there are no server-side CSS chunks: #82471
- docs: experimental config browserDebugInfoInTerminal: #82532
- Turbopack: Rework watcher data structures, store watched list and watcher behind the same RwLock: #82258
- Bump React types: #82541
- Turbopack: fix postcss in RSC CSS: #82554
- Turbopack: improve Lightning CSS error handling: #82561
- [turbopack] Handle relative paths before matching in node file traces: #82539
- Turbopack: symlinks and parent globs in
outputFileTracingIncludes
: #82528 - Turbopack: fix module rules for
.module.scss
: #82570 - Turbopack: Watch parent directories before watching children in
non_recursive_helpers::start_watching_dir_and_parents
: #82454 - feat(turbo-tasks-hash): update twox-hash: #82518
- Update Rspack development test manifest: #82558
- Update Rspack production test manifest: #82557
- [turbopack] Fix a crash under turbopackPersistentCaching: #82592
- Turbopack: don't block on parsing traced modules: #82602
- Docs/feedback round aug: #82549
- Turbopack: avoid using rayon in favor of tokio tasks: #82256
- Turbopack: support requests with dynamic part in module name: #82401
- Cleanup
shouldRunTurboDevTest
usage: #82603 - Update Rspack production test manifest: #82601
- Update Rspack development test manifest: #82600
- Fix generate-metadata.mdx typo: #82624
- docs: fix typos: #82503
- Turbopack: fix edge function name: #82617
- Turbopack: avoid REEXPORTED_OBJECTS property on Module object: #82622
- Turbopack: patch sourcemap crate: #82641
- Turbopack: do not run a compaction when opening the db: #82635
- Revert "Turbopack: avoid using rayon in favor of tokio tasks (#82256)": #82658
- [turbopack] Fix a bug where our
global
rewrite could introduce a TDZ issue: #82659 - chore: Bump Turborepo: #82652
- test: improve tests for typed route validation: #82660
- docs: add
experimental.typedEnv
: #82647 - Turbopack: use published sourcemap crate: #82646
- chore: set Turborepo version correctly: #82680
- Turbopack: run snapshot in normal task instead of blocking task: #82636
- docs: fix typo in vitest.mdx: #82690
- Update Rspack production test manifest: #82681
- Update Rspack development test manifest: #82682
- Remove stability disclamer on Node runtime in middleware: #82181
- Add metadata to server reference manifest: #82695
- Turbopack: refactor idle process queue and fix bugs and race conditions: #82630
- Turbopack: Stop persisting background task correctly on stop: #82727
- Turbopack: fix race condition in test case: #82728
- [turbopack] Remove a debug assertions in client references endpoint: #82725
- Turbopack: use bail instead of panic: #82745
- Update Rspack production test manifest: #82732
- fix(turbopack): webpack-loaders failed to resolve relative path: #82720
-
create-next-app
: use Turbopack for both dev and build: #82753 - fix: make sure validator.ts uses relative paths for imports: #82761
Credits
Huge thanks to @unstubbable, @gnoff, @RobPruzan, @mischnic, @huozhi, @delbaoliveira, @styfle, @ankur-arch, @skt-t1-byungi, @ijjk, @Han5991, @SyMind, @Anas-github-acc, @hf, @bgw, @wyattjoh, @ztanner, @prateekkish, @eps1lon, @lubieowoce, @timneutkens, @acdlite, @lukesandberg, @bgub, @Cy-Tek, @padmaia, @raunofreiberg, @devjiwonchoi, @sokra, @MidnightDesign, @stephenliang, @allenzhou101, @icyJoseph, @gaojude, @remcohaszing, @wesjune, @wbinnssmith, @m1abdullahh, @Sayakie, @startracex, @chadfennell, @dlehmhus, @Jarred-Sumner, @candymask0712, @stepan662, @PuppyOne, @huperniketes, @xusd320, @MichalMoravik, @fireairforce, @kitfoster, @feedthejim, @r34son, @guoci, @JamBalaya56562, @adkile, @snyamathi, and @kachkaev for helping!
v15.4.7
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix router handling when setting a location response header #82588
Credits
Huge thanks to @ztanner for helping!
v15.4.6
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- fix:
_error
page'sreq.url
can be overwritten to dynamic param on minimal mode (#82347) - fix: add
?dpl
to fonts in/_next/static/media
(#82384)
Credits
Huge thanks to @devjiwonchoi, @ijjk, and @styfle for helping!
v15.4.5
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix API stripping JSON incorrectly (#82062)
- Fix i18n fallback: false collision (#82158)
- Revert "Fix tracing of server actions imported by client components (#82167)
- Ensure setAssetPrefix updates config instance (#82165)
- Turbopack: update mimalloc (#82166)
- fix(next/image): fix image-optimizer.ts headers (#82175)
- fix(next/image): improve and simplify detect-content-type (#82174)
Credits
Huge thanks to @ijjk, @sokra, and @styfle for helping!
v15.4.4
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Fix dynamicParams false layout case in dev (#82026)
- Turbopack: fix scope hoisting variable renaming bug (#81640)
- Upgrade to swc v33 (#81750)
- Revert "[metadata] use https protocol for schema urls" (#81934)
Credits
Huge thanks to @bgw @mischnic @huozhi @lukesandberg and @ijjk for helping!
v15.4.3
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Turbopack: fix dist dir on Windows (#81758)
Credits
Huge thanks to @mischnic for helping!
v15.4.2
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- pages router metadata bugs with React 19 (#81733)
- [metadata] replace for initial body icon case (#81688)
- Ensure custom NextServer config is honored (#81681)
Credits
Huge thanks to @huozhi, @ijjk, and @ztanner for helping!
v15.4.1
[!TIP]
Check out our Next v15.4 Blog Post 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
toc44e4a25-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/ : #77992
- Add graceful error fallback for bots requests: #77916
- Upgrade React from
c44e4a25-20250409
to1d6c8168-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
image-size@1.2.1
: #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
to39cad7af-20250411
: #78152 - Turbopack: add test case for persistent caching: #77030
- Upgrade React from
39cad7af-20250411
tob04254fd-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 image-size@1.2.1 (#78164)
-
@next/mdx
: Use stable turbopack config options: #78261 - Upgrade React from
b04254fd-20250415
to4a36d3ea-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
tobc6184dd-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
to914319ae-20250423
: #78468 - Update turbopack to syn2: #78385
- [next-server] ensure prepare is done before preloading entry: #78454
- Upgrade React from
914319ae-20250423
to197d6a04-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
to5dc00d6b-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
to408d055a-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
to197d6a04-20250424
: #78834 - Reland "[Link] Add prefetch="auto" option": #78821
- build: Update
@swc/core
npm package tov1.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
todefine-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
whendynamicIO
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 inpackages/next
without having to build first: #79782 - Run
tsc
in watch mode duringpnpm 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
fromIssue
: #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 ofnext/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) - [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 fornext 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
to79d9aed7-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
to06e89951-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
to197d6a04-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
tofa3feba6-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
tocee7939b-20250625
: #80904 - [segment explorer] hover state for open-in-editor color: #80950
- Upgrade React from
cee7939b-20250625
to4db4b21c-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
to65c4decb-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
to7216c0f0-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
to73aa744b-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
toa7a11657-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
toexperimental.dynamicIO
: #81449 - Upgrade React from
a7a11657-20250708
to60b5271a-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
to96c61b7f-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
to97cdd5d3-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 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"
andcacheLife
API references: #78024 - Docs: Update
useLinkStatus
API reference: #78022 - Turbopack: add debug assertion to check for duplicate modules: #78025
- Turbopack: bundle only
new Worker
withnew 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
tov22.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
anddocs/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, createSelf-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
andgenerateMetadata
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
tov1
: #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
intoturbo-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
afterpnpm build
inbuild_reusable.yml
: #78720 - Update authentication.mdx: #78738
- chore(CI): Use
TEST_CONCURRENCY
by default inrun-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 MRs: #78792
- Revert "De-dupe build_and_deploy run for MRs": #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
tov23.2.0
: #78885 - Turbopack: create smaller initial files to reduce memory usage: #78778
- fix CSP docs: #78937
- Revert "build: Update
swc_core
tov23.2.0
": #78935 - fix(CI): Remove e2e test timeout overrides from rspack & turbopack suites: #78934
- Update Turbopack development test manifest: #78953
- Turbopack:
ChunkingType::Parallel
withhoisted
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
tov23.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
tov24.0.0
: #79092 - Revert "build: Update
swc_core
tov24.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
tov24.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
fromnode_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 tojs
: #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
forAutoMap
: #79218 - docs: add missing links and imports to
cacheLife
andcacheTag
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 makeflatten()
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
tov25.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 toBox::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
tov26.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 MR 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
tov26.0.1
andstyled-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
tov26.0.1
andstyled-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
inrscModuleMapping
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 oflatest
: #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 ofstable
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
tov26.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
forRope#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
tov9.2.2
: #80066 - chore(turbopack): Remove
Lightningcss
prefix for CSS types: #80067 - build(turbopack): Update
swc_core
tov26.3.3
: #80059 - perf(turbopack): Use owned instance of
Code
forminify()
: #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
tov26.4.4
: #80161 - [turbopack] Remove uses of
Value<ClientContextType>
by makingClientContextType
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 makingReferenceType
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 ingenerateMetadata
: #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 justPattern
- [test] Unflake back-forward-cache test: #80250
- perf(turbopack): Decode sourcemap partially: #80177
- [turbopack] Replace uses of
Value<ExecutionEnvironment>
with justExecutionEnvironment
: #80135 - [turbopack] Replace uses of
Value<ContentSourceData>
with justContentSourceData
: #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 fromturbo_tasks::value
and theTypedForInput
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 MRs 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
tov27.0.1
: #80338 - Docs: Clarify how intercepting routes work and update example: #80145
- Require that
turbo_tasks::value_trait
items be annotated withturbo-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 inempty-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
tov27.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
tov27.0.4
: #80467 - Rename
empty-fallback-shells
test suite to justfallback-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 withturbo_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
fromAssetContext::layer
: #80592 - build(turbopack): Update
swc_core
tov27.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
tofallback-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
tov29.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
to29.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
tov29.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 ofVc<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
tov29.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
andfind_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
forEither
, replaceNextTurboTasks
with a type alias: #80823 - Remove unneccesary step that's making workflow fail: #81164
- Update caching.mdx: #81129
- build(turbopack): Update
swc_core
tov30.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
tov30.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 thebody
: #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, useNone
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
totraverse_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!
v15.4.0
v15.3.5
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- Turbopack: list assert/strict as external (#80884)
- omit searchParam data from FlightRouterState before transport (#80734)
- bugfix: propagate staleTime to seeded prefetch entry (#81263)
Misc Changes
- document turbopack trace viewer (#78184)
Credits
Huge thanks to @ztanner, @mischnic, and @bgw for helping!
v15.3.4
[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- [metadata] render streaming metadata on the top level (#80566)
- [fix] clone the config module to avoid mutation (#80573)
Credits
Huge thanks to @huozhi for helping!
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.