Core Changes
- Fix
unstable_allowDynamic
when used with pnpm: #73732 - [dynamicIO] use new heuristic to track whether server render is dynamic: #73751
- Fix receiveExpiredTags not always called: #73759
- error-overlay: Rename "Error" to "Issue": #72817
- remove redundant segment collection call: #73773
- Metadata resolvers can be fetched synchronously: #73771
- Turbopack: migrate client references to single-graph-traversal: #73322
- next-codemod: update gitignore file for parity for yarn recommendations: #71963
- feat: error code: #73332
- Detach next-error-code-swc-plugin from workspace: #73806
- [CI] Prominent error message for check_error_codes: #73807
- [Segment Cache] Add PPR header to segment prefetch: #73756
- fix: path escaping issue on windows: #73843
- Rename variables in LayoutRouter for clarity: #73826
- [Segment Cache] Skip prefetched segments on server: #73626
- [Segment Cache] No data on tree prefetch if no PPR: #73767
- Remove segmentPath from RSC payload: #73827
- build: better error if fetching AMP validator fails: #73851
- Escape the '.' in '.json' when making static data routes.: #73850
- fix(next@15): use the asset prefix when loading a CSS in App Router: #72095
- Exclude
.test.
files from using error code plugin: #73868 - Refactor telemetry API: #73865
- Add additional error classes and error codes: #73862
- refactor: collectAppPageSegments: #73908
- cleanup unnecessary map in dev server: #73745
- Retry manifest file loading only in dev mode: #73900
- Turbopack: ignore empty NEXT_TURBOPACK_TRACING var: #73903
- Ignore RSC fetch errors after hard navigation: #73975
- Fix error code check in windows: #73981
- Separate viewport and metadata in rsc and cache: #73867
- Add feature flag for new dev overlay: #73977
- Restore RSC fetch error handling after navigating back: #73985
- refactor: make locales array immutable: #74037
- fix: skip rendering dynamic root segment routes: #74039
- refactor: cache lowercasing all the locales: #74038
- Add SRI support for Node.js Runtime : #73891
- Separate bots detection utils: #74000
- docs: remove a duplicated word in redirect code comment: #74043
- examples: update gitignore files for parity for yarn recommendations: #71956
- chore: update turbopack document path in the warning message: #72597
- Clean up
react-dev-overlay
before fork: #74016 - chore(next/image): improve imgopt api bypass detection for unsupported images: #73909
- [Segment Cache] Add CacheStatus.Empty: #73667
- chore: move static paths utils into own folder: #73928
- Delete unused
GroupedStackFrames.tsx
: #74028 - [Segment Cache] Move cache key creation to client : #73853
- feat: added partial shell generation using root params: #73816
- feat: added error when there's missing root params in generateStaticParams: #73933
- Remove parentRendered argument: #73877
- Generate per-segment responses for any static page: #73945
- feat: added fallback route params to prerender manifest: #74004
- refactor(turbopack): Make various types directly or indirectly included in
State<T>
types into OperationValues and/or NonLocalValues: #74008 - Fork
react-dev-overlay
for new UI: #74017 - fix: added fallback source route to prerender manifest: #74052
- Add storybook for UI testing: #74032
- [Segment Cache] Support for non-PPR projects/pages: #73960
- exclude
.stories.
and.test.
files from taskfile watch and error plugin: #74064 - Upgrade React from
7283a213-20241206
to372ec00c-20241209
: #73749 - fix: aria attribute typo for error overlay: #74074
- fix: set x-deployment-id to every middleware prefetch request: #71193
- Add middleware handler for error code telemetry: #74088
- Create ErrorOverlay component: #74073
- fix(typed-routes): Fix route type fallback: #73271
- Rename
root-layout-missing-tags-error.tsx
to pascal case: #74089 - Turbopack: next/dynamic use transitions instead of AST analysis: #73627
- [Turbopack] fix root and project path usages in a monorepo: #73552
- support
bun.lock
as package manager lockfile: #74056 - Stop sourcemapping function names: #74085
- Move ErrorIndicator to separate file: #74090
- Upgrade React from
372ec00c-20241209
to518d06d2-20241219
: #74155 - used shared worker for lint & typecheck steps: #74154
- chore(turbopack): Ignore no-vc-struct lint in trybuild proc macro tests: #74110
- Use provided waitUntil for pending revalidates: #74164
- Port ErrorPagination: #74097
- Port LeftIcon RightIcon from ErrorPagination: #74098
- Port ToolButtonsGroup: #74099
- [Turbopack] fix import.meta.url in monorepo: #72612
- refactor: rename the react client error callbacks module: #74192
- Use ErrorOverlayLayout in Errors component: #74107
- refactor: remove internal queries, move to request metadata: #74100
- Fix accessing headers in progressively enhanced form actions: #74196
- Use Geist font in Dev Overlay: #74160
- [metadata] Align prefetch head type with head: #74161
- refactor: error boundary rendering in app-render: #74259
- [metadata] Merge the metadata resolve apis into one api: #74191
- [DevOverlay] fix: restore pagination style: #74296
- fix: update broken links in config-shared.d.ts: #74122
- fix: fix typos in errors.json & create-component-tree.tsx: #74471
- Safely retrieve router, improve page reload logic: #74209
- docs: bump year: #74475
- [DevOverlay] Remove Dialog Banner: #74464
- [DevOverlay] Add color palette script: #74465
- Fix: Preserve intentional percent encoding in search param for client nav: #74473
- [DevOverlay] Implement New Overlay Layout with Bottom Stacks: #74466
- [DevOverlay] Add error overlay footer and feedback: #74472
- [DevOverlay] Remove temporary header children: #74490
- fix: server functions x-forwarded-host possible multiple values: #73701
- [DevOverlay] Pass footer message from error containers: #74493
- feat(rsc): allow host or forwarded: #74199
- [DevOverlay] Adjust border style for header and footer: #74480
- feat(next/image): add support for
images.qualities
in next.config: #74257 - Upgrade React from
518d06d2-20241219
to3b009b4c-20250102
: #74492 - fix: add node internals stack frames to ignored list: #73698
- chore: break calls to forEach into for loops: #74523
- [DevOverlay] Add error message: #74541
- [DevOverlay] Add error type label: #74543
- feat: connect error rating buttons to telemetry API: #74496
- [metadata] Move metadata rendering adjacent to page component: #74262
- Delete set-cache-busting-search-param.test.ts: #74561
- fix: enhance a11y, prevent double firing in error rating: #74563
- fix: add aria-hidden to error overlay voting icons: #74568
- Update font data: #74572
- Upgrade React from
3b009b4c-20250102
to3ce77d55-20250106
: #74557 - [metadata] Change the array head to single node in flight data: #74299
- [DevOverlay] Add Toolbar: #74555
- restore deleted comment in next-app-loader: #74597
- Turbopack dev: Remove client to server websocket ping event: #74584
- Fix prerender tags when notFound is called: #74577
- fix: add prerender abort errors to unstable rethrow: #74556
- Upgrade React from
3ce77d55-20250106
to7b402084-20250107
: #74599 - fix: handle optional catchall parameters properly when deployed: #74562
- refactor: generic dev build indicator: #74615
- ensure custom cache handlers are preloaded: #74622
- feat: dev build indicator for App Router: #74618
- fix fetch lock not being consistently released: #74623
- Ensure global cache handlers are used properly: #74626
- Ensure custom Suspense boundaries in layouts resolve if they contain the page: #74552
- test: exclude the ts testing files from tsconfig during local dev in nextjs repo: #74647
- Remove unused dependencyFactory plugin code: #74661
- test: do not log the changes for local dev tsconfig: #74674
- [metadata] initial support of streaming metadata: #74619
- Remove PPR feature check from Segment Cache client: #74669
- [Segment Cache] Add act-inspired internal router testing helper: #74668
- [Segment Cache] Background segment revalidation: #74057
- Upgrade React from
7b402084-20250107
to42687267-20250108
: #74649 - Indicate boolean value for configured experimental features on startup: #74691
- Implement encryption key into turbopack as hash salt: #72933
- Show numerical values for configured experimental features: #74692
- Upgrade React from
42687267-20250108
to74ea0c73-20250109
: #74693 - feat: DevToolsIndicator: #74679
- Fix presentation when onerror receives an event without error: #74643
- refactor: move the global client error code: #74699
- fix: ts language server rule metadata should allow null: #74704
- [DevTools] create error state for indicator: #74717
- [DevOverlay] Add Basic Stories for Error Containers: #74697
- Add experimental flag for View Transitions: #74659
- [DevOverlay] Floating Header and Bottom Stacks: #74581
- [DevOverlay] Add Pagination: #74583
- Fix @vercel/og license SPDX expression: #74745
- [DevOverlay] Add Next.js version staleness indicator: #74601
- Write errors.json fully formatted: #74753
- [DevOverlay] Fix style details and correctly pass version info: #74606
- [DevOverlay] Decouple Dialog component from Error Overlay: #74638
- [DevOverlay] Apply Turbopack Styling: #74636
- [DevOverlay] Add Call Stack: #74658
- [DevOverlay] Add Runtime Error CodeFrame: #74682
- Do not warn during build for supported modules in the Edge runtime: #74752
- Ensure metadata doesn't break scroll-to-top on navigation: #74748
- [Segment Cache] Fix stale time unit conversion: #74759
- [metadata] add option of configuring ua of async metadata: #74594
- SingleModuleGraph: yield edge weights during traversal: #74620
- refactor(turbopack/next-api): Implement NonLocalValue for TracedDiGraph and SingleModuleGraph: #74506
- Always display version indicator: #74774
- Update font data: #74777
- Upgrade React from
74ea0c73-20250109
to056073de-20250109
: #74754 - [DevOverlay] Improve Storybook Structure: #74764
- fix: always show indicator in app router: #74758
- Upgrade React from
056073de-20250109
to540efebc-20250112
: #74805 - [DevOverlay] Fix Style Regression: #74768
- Fix output files warning by Turborepo: #74811
- perf(lint): cache the returned regex result: #74827
- Upgrade React from
540efebc-20250112
tocabd8a0e-20250113
: #74828 - feat: added rewrite headers after user-supplied rewrites: #74776
- Add partial support for
"use cache"
in metadata route handlers: #74835 - [DevOverlay] Hydration Error Code Frame: #74822
- fix: when metadatabase is set we should not warn: #74840
- [DevOverlay] Sync Terminal component with CodeFrame for Build Error: #74831
- feat: animated dev build/render indicator: #74833
- Fix mojibake in server action inputs (fixes #74843): #74845
- [DevOverlay] Add Turbopack story for Error Containers: #74834
- Add pagination SEO link tags: #74737
- chore: fix local development warnings inside next monorepo: #74863
- fix: eslint rule of using img in metadata routes: #74864
- Upgrade React from
cabd8a0e-20250113
tob3a95caf-20250113
: #74868 - [Segment Cache] Support
<Link prefetch={true}>
: #74172 - Remove unnecessary re render on link reveal: #74670
- [Segment Cache] Cancel prefetch on viewport exit: #74671
- [Segment Cache] Prioritize hovered links: #74672
- Refine NextLogo Accessibility and Styling: #74869
- Disable failed scroll restoration warning: #74875
- Polish UI for dev indicator popover: #74872
- [DevTools] Add
CMD + .
keyboard shortcut to show/hide: #74878 - [DevOverlay] use buttons for interactive indicator row options: #74887
- [DevOverlay] close popover/overlay on Esc: #74889
- Skip client reference manifests for static metadata route handlers: #74876
- Upgrade React from
b3a95caf-20250113
tof0edf41e-20250115
: #74890 - fix: moved down segment path handling after cache headers are set: #74893
- [Turbopack] improve task optimization: #74837
- Ensure client reference manifest is traced for global not found page: #74919
- Polish error feedback row: #74880
- fix: static indicator for new overlay decoupled from appIsrStatus: #74933
- [test] Avoid hydration errors in react-compiler tests: #74928
- feat: write the segment path data out from the incremental cache: #74892
- Track dynamic IO feature usage: #74942
- Upgrade React from
f0edf41e-20250115
tob158439a-20250115
: #74936 - Turbopack: chunk_group_multiple: #74859
- [DevOverlay] Fix floating header invisble on small screen: #74886
- rest errors queue after passing to handler: #74982
- [DevOverlay] Keep pagination on Build Error: #74905
- [Segment Cache] Evict client cache on revalidate: #74874
- Upgrade React from
b158439a-20250115
to5b51a2b9-20250116
: #74993 - [DevOverlay] Gather Feedback per Error: #74908
- Fix dev server ignores ENOENT error when loading page: #65213
- refactor: updated route regexp handling to simplify: #74996
- [DevOverlay] Rename file names to kebab: #75000
- Fix dhat support for turbo dev: #67166
- Fix missing revalidate with notFound(): #75009
- fix: always ensure element before set to weakmap: #75012
- Fix ping event being sent unintentionally for Pages Router with Turbopack: #75030
- fix: don't memory-leak promises passed to
waitUntil
: #75041 - refactor: include new option for including prefixes: #75015
- Disable
colormin
feature fromcssnano
: #53393 - types: improve types in app-index: #75045
- feature(error): capture ssr error in overlay during dev: #74983
- [DevOverlay] Polish new Error Overlay badge: #74975
- [DevOverlay]: hook up issue click handlers in NextLogo: #75069
- error when output: export is used with intercepting routes: #75058
- Display global-error along dev overlay during development: #75101
- [DevOverlay] Decouple Error Overlay with DevTools Indicator: #74999
- [DevOverlay] Open Error Overlay when DevTools Indicator clicked: #75025
- fix: be more defensive in useMergedRef: #75088
- [Dev Badge] Focus states and fluid transitioning between states: #75141
- polish indicator loading behaviour for new dev overlay: #75149
- clean unused stop: #75156
- [Segment Cache] Remove segment access tokens: #75157
- [Segment Cache] Minimize special root key handling: #75159
- [next:dev] fix: console error conflicting public file: #75140
- [Turbopack] allow to disable source maps: #75136
- Allow disabling HTTP request logs in dev server: #74349
- [metadata] Fix streaming metadata was missing in ssr: #75155
- fix(turbopack/napi): Flush optional task cache hit statistics upon completion of build: #75122
- add hostname to default error boundary message: #75151
- [Segment Cache] Predictable fallback param encoding: #75166
- misc: remove authors section in the readme: #75184
- Track
use cache
usage: #75007 - Upgrade React from
5b51a2b9-20250116
to9b62ee71-20250122
: #75187 - fix
after
export in next-types-plugin: #75190 - fix: Merge
link
header from middleware with the ones from React: #73431 - Restore and enhance error handling for hanging inputs in
"use cache"
: #74652 - Error handling for hanging promises in
"use cache"
closures: #74750 - Fix source mapping of generated cache wrapper calls: #74987
- [Turbopack] use new backend by default: #72434
- eslint: allow ts extensions for config: #75222
- Split entrypoint/route handling into separate dev and prod versions: #75169
- [Segment Cache] Prioritize route trees over segments: #75213
- Remove
internal_disableSyncDynamicAPIWarnings
flag: #75231 - router.prefetch should not trigger a React update: #75238
- [DevOverlay] Enable reactOwnerStack when newDevOverlay is enabled: #75199
- fix: typeof msg should compare to object: #75221
- [DevOverlay] Align old and new overlay: #74935
- Introduce standalone
experimental.useCache
flag: #75240 - [metadata] keep blocking metadata rendered in head: #75227
- Upgrade React from
9b62ee71-20250122
toae9017ce-20250122
: #75233 - Update React types: #75245
- docs:
opengraph-image
files work with the node.js runtime: #75274 - Upgrade vercel/og: #75247
- Turbopack: migrate global module ids to single-graph: #73752
- Emit build error when
useCache
is enabled and Edge runtime is used: #75279 - Fix
use server
diagnostics for type exports: #74256 - Turbopack: don't hardcode
edge-instrumentation.js
: #75289 - Upgrade React from
ae9017ce-20250122
tode1eaa26-20250124
: #75286 - Update bundler for pre-bundling runtime: #75294
- Ensure mangling is disabled for dev runtime builds: #75297
- Configure correct app dir when building
/_error
fallback in dev: #75354 - Upgrade React from
de1eaa26-20250124
to9eabb373-20250124
: #75367 - tweak static generation retry wait time: #75381
- [Dev Badge] Accessibility improvements to dropdown menu: #75268
- Gate
captureOwnerStack
access onexperimental.reactOwnerStack
: #75241 - [DevOverlay] Remove unused props from
errors.tsx
and its story: #75392 - feat: slow module detection for webpack: #75368
- UI polish: dev overlay feedback button: #75400
- [DevOverlay] fix: shadow host element affects parent's display: #70676
- [DevOverlay] Display Correct Number of Errors on Indicator: #75395
- [dev-overlay] fix: do not open error overlay when click indicator: #75404
- fix: handle optional catchalls correctly: #75377
- [dev-overlay] do not close overlay when click indicator elements: #75406
- fix: add parser metadata for eslint 9 cache: #74791
- Fixed
null is not an object (evaluating 't.parallelRoutes.get')
: #75360 - Turbopack: Move build to separate file: #75390
- Upgrade React from
9eabb373-20250124
to37906d4d-20250127
: #75398 - Turbopack: Implement build worker: #75391
- Revert changing bundler for runtime bundle but keep externals fix: #75412
- Revert "fix: handle optional catchalls correctly": #75442
- [Turbopack] allow to manually mark tasks as root: #75436
- [Turbopack] disable dependency tracking when running build without persistent caching: #75243
- [DevOverlay] fix total error count: #75500
- [DevOverlay] fix total error count: #75500
- fix: incoming requests should use plural: #75582
- Don't warn about Turbopack config if disabled: #75618
- Unfork stack frame utils: #75532
- [use-cache] Exclude warmup render when dynamicIO is off: #75527
- add additional x-middleware-set-cookie filtering: #75561
- [use-cache] use computed size of the ReadableStream for LRU evicting: #75607
- Include HMR refresh hash in
"use cache"
cache keys: #75474 - [DevOverlay] cleanup hydration error UI: #75499
- [metadata] Remove deadcode and extract separate test suite: #75528
- refactor: decouple getOriginalStackFrame from endpoint: #75553
- fix: dev overlay style to add wrap + adjust bg width: #75485
- fix: preserve custom Vary headers: #75536
- Clean-up: remove unused errorMessage param in stack frames: #75554
- Upgrade React from
37906d4d-20250127
toc492f975-20250128
: #75434 - Fix console replaying and
React.cache
usage in"use cache"
functions: #75520 - Upgrade React from
c492f975-20250128
toa4b2d0d5-20250203
: #75649 - DX: Reduce devtools clutter by batching stack frame requests: #75557
- Add nodejs runtime support for middleware: #75624
- polish hydration errors: #75632
- feat: added support for prefetch segments when deployed: #75202
- [Turbopack] await shutdown before ending pool: #75545
- [Error Overlay] Comprehensive refinement: #75471
- Upgrade React from
a4b2d0d5-20250203
to0a82580b-20250203
: #75660 - Ensure src/middleware handles correctly: #75702
- Unused
searchParams
in"use cache"
page should not cause dynamic: #75662 rootParams()
is now a plain Proimse (not exotic): #75717- Invalidator: donβt call invalidate at all if thereβs nothing to invalidate: #75706
- add script for quickly updating error codes: #75690
- [dev-overlay] fix: color contrast for terminal: #75736
- fix: enable new overlay properly when env var is set: #75747
- fix: work around setTimeout memory leak, improve wrappers: #75727
- [DevOverlay] fix style regression: #75756
- [dev-overlay] fix: proceed to get runtime error when fails to fetch original stack frames: #75743
- [dev-overlay] add and apply merge class names util: #75758
- docs: Update README for experimental testmode: #75722
- fix: middleware not applied to _next/image: #75729
- fix: ensure lint worker errors aren't silenced: #75766
- Ensure node middleware is handled with standalone: #75765
- Fix incorrect error count : #75759
- Upgrade React from
0a82580b-20250203
tod85cf3e5-20250205
: #75698 - Only disable Prettier for original Turbopack source: #75716
- [dev-overlay] fix: pagination focus ring was invisible: #75790
- test: Exclude
turbo-tasks-macro
fromtest-cargo-unit
: #75776 - Send formatted error to frontend if sourcemapping fails: #75712
- Upgrade React from
d85cf3e5-20250205
toff628334-20250205
: #75757 - [dev-overlay] fix link styling on hydration errors: #75792
- Only reference published
@types/react-dom
versions: #75606 - Dedupe cached data from
"use cache"
functions in RSC payload: #75786 - Allow
"use cache"
withoutput: 'export'
: #75794 - [metadata] new metadata insertion API and support PPR: #75366
- Handle invalid sourcemaps: #75713
- [error overlay] fix missing html error is not displayed: #75831
- docs: improve JSDocs for
metadata
and<Link>
: #75576 - [error overlay] missing html tags error should be blocking: #75839
- Upgrade React from
ff628334-20250205
to8759c5c8-20250207
: #75796 - Use TypeScript to check if a default case is required in
switch
: #75854 - Revert "[metadata] new metadata insertion API and support PPR": #75858
- [Error Overlay] Fix bottom stack animation: #75867
- [Error Overlay] New design: #75679
- Upgrade React from
8759c5c8-20250207
to93b58361-20250209
: #75868 - [dev-overlay] HOTFIX: clicking nav escapes the overlay: #75876
- dev error overlay: async boundary for original stack frame call: #75718
- fix(turbopack): Always console.log the "done in" message after receiving a BUILT event: #75730
- Add test to verify that inner caches are excluded from Resume Data Cache: #75883
- Respect
no-store
request header for"use cache"
entries in dev mode: #75754 - Reland "[metadata] new metadata insertion API and support PPR #75366": #75873
- [metadata] do not rethrow postpone when streaming metadata is not enabled: #75887
- refactor(webpack-config): Pass through jsConfigPath: #75886
- refactor(webpack-config): Disable some options based on bundler version: #75888
- Improve hydration diff view: #75799
- [dev-overlay] Introduce motion to surface new errors: #75734
- Upgrade React from
93b58361-20250209
tocd90a4d8-20250210
: #75914 - [DevOverlay]: render indicator in pages router: #75918
- error code should preserve after stitching: #75929
- [error overlay] display different error info individually: #75916
- refactor: minor cleanups in webpack actions code: #75912
- [DevOverlay]: fix missing Error context for build-time errors: #75932
- [error overlay] align data attributes between 2 UIs: #75937
- fix: typos in documentation files: #75816
- [error overlay] fix highlighted lines: #75940
- [error overlay] hornor the original erroring order: #75934
- Restore
--no-mangling
CLI option fornext build
: #75921 - Turbopack: make tracing easier: #75958
- Upgrade React from
cd90a4d8-20250210
tof83903bf-20250212
: #75967 - Use
compilation.{emitAsset,updateAsset}
api rather than mutatingassets
object: #75927 - Use resource to detect feature usage in telemetry: #75917
- Create unique source URLs between Client and Server in Pages dir: #75878
- cleanup: remove unused NEXT_RSC_ERR_* error parsing code: #75982
- [error overlay] fix infinite loop when frames are failed to fetch: #75988
- [dev-overlay] fix: call stack silently fails to open editor with 204: #75785
- Cleanup webpack sourcemap middleware source URL handling: #75879
- Upgrade React from
f83903bf-20250212
tocbbe8666-20250213
: #76010 - [dev-overlay] sync style diffs with new design: #75949
- [dev-overlay] update overlay toolbar icons: #75998
- webpack: Sourcemap externals when replayed in the browser: #75863
- [DevOverlay]: enable by default: #75882
- [dev-overlay] style: version info staleness click text to learn more: #75768
- [ppr] Improve experimental debugging: #76016
- [metadata] set bypass ua regex string for ppr routes: #75977
- fix: handle parsing destination with patterns in hostname: #75973
- Fix: Build error causes infinite loop on new dev overlay in Turbopack: #75984
- [metadata] disable streaming metadata for ppr deployment: #75978
- [dev-overlay] fix: hydration error style: #76049
- Remove
experimental.reactOwnerStack
flag: #76021 - [dev-overlay] style: improve version staleness indicator version unknown: #76061
- [dev-overlay] add aria to disabled docs button: #76055
- [dev-overlay] fix: terminal symbols are longer than text: #76059
- Disallow
rootParams()
incache
scope: #75801 - Remove tracestate header from fetch cache key: #76041
- [dev-overlay] remove hide dev tools shortcut: #76066
- [dev-overlay] hide dev overlay when printing: #73489
- Create valid URLs in source map sources with Turbopack: #76075
- [metadata] fix ppr deployment by not disabling ppr: #76087
- [dev-overlay] add error env name label: #76003
- [dev-overlay] deprecate
devIndicators
optionsappIsrStatus
andbuildActivity
: #76067 - [dev-overlay] deprecate
devIndicators.buildActivityPosition
and rename toposition
: #76069 - Fix runtime error in
writeConfigurationDefaults
: #76106 - [dev-overlay] change dev indicator position by next config option: #76077
- perf: Do not run react compiler needlessly: #75676
- Handle more known protocols in stackframe locations: #76086
- Bump webpack to 5.98.0: #75847
- fix(edge): run after() if request is cancelled mid-streaming: #76013
- Clean module path if Fast Refresh full reload was caused by files outside project: #76108
- Revalidate
"use cache"
caches during on-demand revalidation: #76100 - Fix cache kind validation: #76064
- [dev-overlay] add false option to disable dev indicator: #76079
- Fix on-demand revalidation with
"use cache"
in dev mode: #76122 - [dev-overlay] handle ssrd nextjs internal errors in overlay: #76124
- [dev-overlay] fix: overlay is located relatively low when long content: #76113
- [dev-overlay] Fix off-by-one column sourcemapping in Webpack: #76152
- [metadata] handle navigation API in streaming metadata: #76156
- [dev-overlay] refactor to group the middleware response utils: #76199
- [dev-overlay] fix geist font woff2 name: #76201
- [dev-overlay] rename
readyErrors
toruntimeErrors
: #76208 - [dev-overlay] do not allow dismissing build error for dev indicator: #76209
- [dev-overlay] use stop icon for hide devtools button: #76212
- Add basic profiling plugin for alternative bundler: #76030
- [dev-overlay] font style backward compat with react 18: #76225
- Implement foundations for additional bundler option: #75981
- Remove hmr socket code from prod build: #76232
- fix: overlapping query and param names should not conflict: #76177
- Built-in app loader plugin for additional bundler: #76017
- Built-in flight plugin for additional bundler: #76014
- Built-in swc loader plugin for additional bundler
- misc: remove vendored node-fetch usages: #75741
- Consolidate
next/link
error tests: #76214 - fix: NextConfig.rewrites type for fallback: #75784
- [dev-overlay] use absolute font src url: #76229
- [dev-overlay]: remove old CollapseIcon: #76239
- fix: add appDir path to middleware output path: #75923
- [Turbopack] pass inner modules to chunking to match chunking types: #76227
- [dev-overlay] Remove old Dev Overlay: #76256
- [dev-overlay]: make open in editor button a separate click region: #76243
- [dev-overlay] dead code elimination: #76276
- [dev-overlay] use unique font name: #76230
- [dev-overlay] align border color: #76288
- Add canary warning for node middleware: #76292
- fix: top level await in node middleware: #76012
- docs(errors): add failed-to-find-server-action error page: #75678
- Ensure middleware layer is applied for node: #76293
- [metadata] fix streaming metadata triggering error boundaries: #76280
- [errors]: default export error should distinguish between layout/page: #76294
- Remove unused nccd node-fetch: #76241
- [dev-overlay] expandable error message container: #76297
- feat: option to disable next types plugin: #76300
- [dev-overlay] pick up build error message: #76290
- [dev-overlay] fix: line number handling for cursor editor: #76151
- [dev-overlay] restructure dev-overlay project: #76291
- Upgrade React from
32b0cad8-20250213
to662957cc-20250221
: #76333 - Revert null check in mountLinkInstance: #76289
- [dev-overlay] Isolate overlay from user space Components: #76277
- [global-error] fallback to default error when user one fails: #76339
- [misc]: remove unused render worker code: #76345
- [dev-overlay] do not attach hydration info to non hydration errors: #76349
- [dev-overlay] adjust Next.js logo stroke color during dev builds: #76351
- [dev-overlay] fix: restore the missing Cursor editor case in dev-overlay : #76371
- [dev-overlay] remove the experiment config for overlay: #76356
- [dev-overlay] minify css: #76370
- [dev-overlay] remove unused base styles: #76372
- [dev-overlay] use css var for
<a>
tag focus ring: #76374 - [dev-overlay] fix: fallback to local machine's Geist Font if applicable: #76377
- [dev-overlay] fix: bottom stack count: #76375
- [next] use
tsconfig.build.json
for production build: #76373 - [metadata] only blocking render for html bots in ppr pages: #76379
- [metadata] enable streaming metadata by default: #76221
- [dev-overlay] toggle overlay when clicking
N issues
section: #76398 - [dev-overlay]: hiding devtools shouldn't hide errors: #76399
- [dev-overlay] docs: add readme: #76396
- Add test to assert on current build output tree view: #76342
- Flight loader: use
normalModule.type
to determine module type: #76338 - update type for next/dynamic
loading
option to acceptReactNode
: #76402 - [dev-overlay] Link to section explaining opt-in error feedback: #76424
- [dev-overlay] polish component stack mask css: #76434
- [dev-overlay] Disable error feedback in UI if
NEXT_TELEMETRY_DISABLED
is set: #76423 - [metadata] promote streaming metadata configs to stable: #76344
- [metadata] update metadat docs for streaming metadata: #76282
- [app] Send errors not handled by explicit error boundaries through
reportError
: #76101 - Upgrade React from
662957cc-20250221
to25677265-20250224
: #76437 - [Testing] Update middleware/next-config tests to include search params: #76354
- Add node middleware handling for turbopack: #76360
- Upgrade React from
25677265-20250224
to22e39ea7-20250225
: #76481 - [app i18n]: warn about i18n configuration deprecation in app router: #76346
- [dev-overlay] style: improve error label background color contrast: #76490
- Fork Form implementation for Pages and App Router: #76498
- Webpack: handle file:// urls when finding sourcemaps: #76443
- Ensure middleware layer is bundled: #76466
- [dev-overlay] do not force hide scrollbar: #76504
- [Segment Cache] Hard nav when root layout changes: #76163
- [metadata] clarify the default list behavior: #76450
- [dev-overlay]: generalize ISR status functions for pages/app: #76457
- [dev-overlay]: wire up ISR status for pages router: #76458
- [dev-overlay]: fix inline docs to show correct info for given router: #76461
- [dev-overlay] add title for the dev indicator menu items: #76510
- [dev-overlay] sync suffix
N
of--size-N
withpx
value of base font16px
: #76384 - Add event for webpack plugin customization: #76477
- [dev-overlay] use
rem
for sizes andpx
for spacings: #76385 - [dev-overlay] hide dev indicator for server session or 1 day: #76430
- [dev-overlay] customize scrollbar styling: #76509
- [dev-overlay] Add indicator when sourcemapping fails: #76516
- refactor: clean up forked Form implementations: #76495
- [dev-overlay]: fix invalid font in info panels: #76519
- [dev-overlay] upgrade
storybook@8.6.0
: #76511 - [dev-overlay]: add preference panel: #76522
- [dev-overlay]: remove background on custom select: #76526
- [dev-overlay]: tweak system icon: #76527
- fix: remove initial-scale=1 from viewport when set to false: #76397
- [dev-overlay] control scrollbar by selected theme: #76553
- [dev-overlay] misc:
Ignored-listed
->Ignore-listed
: #76554 - [dev-overlay] add disabled backround-color for toolbar buttons: #76555
- [dev-overlay]: update docs for devIndicators & outdated screenshot: #76463
- [dev-overlay] improve color contrast for terminal: #76525
- [dev-overlay]: use proper labels for preferences: #76558
- Handle duplex automatically for NextRequest: #76531
- [Segment Cache] Implement scroll-to-new-page: #76170
- Do not pass an empty string tag into
receiveExpiredTags
: #76561 - [Segment Cache] Re-prefetch links on navigation: #76060
- [dev-overlay] fix: svg icon ids are not unique: #76566
- [dev-overlay] change button to lowercase except leading letter: #76565
- Remove rewrite query params from request URL when deployed to Vercel: #76548
- exclude AppDevOverlayErrorBoundary from prod build: #76568
- [dev-overlay] rephrase docs button title as link to related docs: #76571
- [dev-overlay]: allow disabled state to be dismissable: #76572
Example Changes
- chore(docs): add missing
search: ''
onremotePatterns
: #73925 - examples: remove
with-tailwindcss
example: #73919 - examples: update
next-config-js
document path: #73774 - examples: convert @next/third-parties examples from JS to TS: #73602
- updated with-orbit-components example to utilize the App Router.: #73266
- examples: update
with-styled-components
README: #73729 - examples: update
with-orbit-components
README: #74011 - examples: update
with-mdx-remote
example to utilize the App Router: #74067 - Removed duplicated cn function declaration from lib dir: #74065
- Fix linting between lint-check and lint-staged: #74503
- chore(examples): update React in reproduction templates to stable 19: #74499
- chore(examples): updated the example of with-react-jss to utlize the App router: #74440
- chore(examples): updated the example of with-styled-components-rtl to utlize the App router: #74180
- examples: remove
app-dir
andwith
prefix in themdx
directory name: #73458 - examples: add StackBlitz preview to README.md: #73546
- examples: improve DX while copying command to create new project: #73463
- examples: fix
with-zones
repository name in the deploy link: #74852 - with-mux-video: recommend environment variables instead of secrets: #74879
- with-mux-video: updates for next 15 compat: #74881
- Update readme for with-mux-video: #74966
- docs: recommend webp over avif: #75966
- examples: fix search usage: #75972
- example: add next config to hello-world app: #76022
- Fix cms-plasmic example: #75750
- examples: Fix prettier issue: #76027
- Update with urql example: #76485
- Updated remove-console example to utilize the app router.: #76543
- Fix createclient: #76567
Misc Changes
- Add NEXT_PRIVATE_SKIP_CANARY_CHECK env for bench job: #73763
- refactor(turbopack): Add
NonLocalValue
derives to types deriving TraceRawVcs: #73714 - Turbopack: support module workers: #72614
- docs: add versions to connection API: #73798
- Increase test retries from 1 to 2: #73795
- refactor(turbo-tasks): Implement
NonLocalValue
for allResolvedVc
s andOperationVc
s: #73764 - docs: supporting after for providers: #73743
- [E2E] Fix config file conflict: #73818
- feat: Update
swc_core
tov9.0.0
: #73696 - Turbopack: resolve some to-resolved-in-loop: #73794
- Bump Rust version: #73169
- fix(turbopack): Enable
explicit_resource_management
transform: #73802 - docs: fix code block extension on
after
anderror handling
: #73844 - Revert "feat: Update
swc_core
tov9.0.0
": #73866 - refactor(turbo-tasks): Derive NonLocalValue by default in value/value_trait macros: #73766
- refactor(turbo-tasks): Implement
NonLocalValue
forState<T>
whereT: NonLocalValue
: #73770 - chore(github): fix typo in close-issue-message: #73878
- Docs: Remove
unstable_expirePath
andunstable_expireTag
docs: #73856 - Docs: Create
Examples
section: #73858 - Docs clean up: Merge and delete content from
routing/index.mdx
: #73859 - Docs clean up: delete
defining-routes.mdx
andpages.mdx
: #73863 - Turbopack: store ChunkingType in single-module-graph: #73837
- chore(turbopack-browser): Pedantically fix minor typos in comments about TraitRef: #73772
- chore(docs): update version history of
next/image
: #73923 - docs: update
WebVitals
component: #73869 - Correct typo in Update 04-images-and-fonts.mdx: #73790
- chore(github): add issue_wrong_template workflow: #73882
- docs(mdx): add a dynamic imports section for App Router: #73466
- chore: increase test sharding: #73852
- fix(turbo): sassOptions
silenceDeprecations
was not overwritten with user options: #73937 - Docs: fix typo in
examples
page: #73907 - docs: add
next.config.ts
code switcher to Redirecting docs: #73848 - docs: add tsx switcher to
linking and navigation
: #73846 - docs: update file structure on contribution guide: #73778
- docs: add
next-intlayer
into i18n solution list: #73750 - docs: minor typos and fixes: #73955
- docs: fix sitemap changelog table formatting: #73760
- fix(docs): vitest manual setup: #73754
- docs: fix file extension and missing export: #73842
- docs: update
tailwind.config.ts
to usesatisfies
operator: #73924 - docs: Fix MDX syntax error: #73970
- chore(next-custom-transforms): Mark fixture outputs as generated: #73918
- docs(use-cache): add missing jsx switcher example and types: #73473
- docs(internalization): add typescript examples and fix params as promise: #73240
- docs: add missing quotation marks in exmaple code: #73720
- chore(turbo-tasks-macros): Remove use of associated items for NativeFunction construction: #73929
- refactor(turbo-tasks-macros): Strip (already hidden) doc attributes from inline function signatures: #73931
- chore(github): fix wrong-issue-template body: #74003
- chore(turbopack): Fix build error when CI environment variable is not supplied: #74041
- Make
ChunkItem
s reference onlyOutputAssets
: #73824 - Install Vercel CLI at start of E2E deploy tests: #74047
- Fixed small typo in the doc: #73971
- docs: fixed regex for parsing base64String, and updated subscribeToPush function.: #73940
- exclude some modules from auto-import: #74020
- [Docs]: Clarify redirects in next.config to negate potential infinite redirects: #74019
- Update Turbopack development test manifest: #74013
- Turbopack: use old client reference collection implementation: #74029
- Create Jest project for Turbopack: #73769
- [Turbopack] move git version info to top-level crate to fix caching issues: #74015
- docs(redirect): add typescript example and fix params as promise: #73963
- docs: Fix filename for Turbopack traces: #74066
- Fix flakey deploy test assertion: #74060
- Specify PPR test dimension via environment variable only: #74031
- Name default Jest project according to used env variables: #74084
- test: assert that app exited without signal: #74087
- sync-react: Handle version bumps across SemVer minors and release channels: #74091
- Turbopack: change COMMON_CHUNKING_TYPE: #74080
- Turbopack: only inherit visited modules from parent layouts: #74072
- fix: improve types in turbopack runtime: #74119
- Fix merge conflicts: #74157
- refactor(turbopack/next-core): Migrate app_page_loader_tree structs to ResolvedVc: #74114
- refactor(turbo-tasks): Remove public OperationVc constructor, introduce a macro annotation for creating OperationVc types: #72871
- refactor(turbo-tasks): Make State require OperationValue: #73876
- chore(turbopack): Remove or improve a few uses of
.to_resolved().await
inside a loop: #74112 - refactor(turbopack): Rewrite CollectiblesSource callsites to use OperationVc (part 1/3): #74051
- chore(turbopack): Delete to-resolved-in-loop lint (too low signal): #74113
- Allow usage of
this
andarguments
in nested function expression: #74179 - docs: update ISR self-hosting example code: #74211
- ci: use consistent playwright-chromium version: #74251
- Fixed typo in documentation: #74254
- docs: fix typo in self-host after() details: #74243
- chore(github): update comments stale period: #74291
- Fix typo in generateViewport docs: #74288
- docs: remove catch-all for opengraph-image: #74338
- docs(generate-static-params): add typescript example and missing jsx switcher: #73962
- docs(fetching-data-and-streaming): add missing types to example: #74081
- docs(use-cache): add missing
switcher
code blocks and types in examples: #74083 - refactor(next-core): Remove local annotations from structs in next-core/src/app_structure.rs: #74200
- test: add missing await for hydration test: #74542
- Getting Started Docs: Add
Mutating Data
page: #74018 - Getting Started docs: Add
Error Handling
page: #74069 - test: update test for async client component with snapshot: #74550
- test utils: Include origin of failed
browser.*
in stack: #74553 - fix react being incorrectly mentioned as extending fetch API: #74278
- docs: pin react version to 18 in Next.js 14 upgrade guide: #74222
- chore(github): update issue_stale token to release bot token: #74575
- chore(ci): Ensure all 6 shards are used equally in deploy tests: #74574
- fix: force module format for virtual client-proxy file: #74162
- [Turbopack] fix shadow-rs build caching: #74579
- Relocate
SingleModuleGraph
toturbopack-core
: #74571 - misc: add
.stories.tsx
to vscode file nesting: #74593 - ci(eslint): remove unecessary react/self-closing-comp: #74120
- docs(images): update distinction between priority and fetchPriority: #74650
- docs: SPAs: #74605
- docs: fix typo: #74657
- Use prefer offline flag for CI: #74663
- perf(rcstr): Support inline string: #74482
- refactor(turbopack-ecmascript) Use ResolvedVc in EsmExport type: #74508
- test: assert the logs has updated after revaluate js value: #74686
- Recommend styled-components VSCode extension to get CSS autocomplete in Dev Overlay: #74688
- fix(turbopack): Stop analyzer if IIFE is recursive: #74628
- refactor(turbo-tasks): Add NonLocalValue marker trait implementation for TransientState: #74509
- build(scripts/pack-next): Add support for compressing debuginfo with zlib: #74662
- refactor(turbopack-core): Use ResolvedVc in IntrospectableChildren: #74510
- refactor(turbopack-core): Use ResolvedVc in ProcessResult and ModuleResolveResultItem: #74511
- Update lightningcss: #74695
- refactor(turbopack-core): Use ResolvedVc for IntrospectableModule and IntrospectableSource: #74512
- Turbopack: add flag to switch between envs: #74135
- Upgrade Turborepo to v2.3.3: #74736
- build: Update
swc_core
tov10.1.0
: #74580 - Improve memory usage of the new backend: #74740
- test: add feature of overriding files: #74716
- Update 09-error-handling.mdx: #74656
- misc: add
.cursorignore
: #74763 - chore(github): update how we handle stale issues: #73488
- chore(github): ignore PRs in for stale issue bot: #74767
- Turbopack chunking: use ChunkableModules in
chunk_content
, not ChunkItems: #74040 - chore(turbopack): Delete some dead code that was using unresolved Vcs: #74705
- refactor(turbopack-core): Remove remaining "local" value type opt-outs in turbopack-core: #74706
- refactor(turbopack-dev-server): Remove unresolved Vc from DevHtmlEntry, use a named struct: #74707
- Update incorrect comment: #74687
- Typo in nextjs-compiler.mdx: #74645
- Fix small bug in getting started docs: #74744
- docs update: Remove public access modifier from resetRequestCache method in CacheHandler class, it's not available in js file (only in typescript): #74788
- docs: unstable_cache clarify usage: #74802
- fix: unauthorized.mdx: #74799
- [Turbopack] make the single module graph a root task: #74778
- docs: mark app router dynamic example as client component: #74806
- docs: disclaimer for only canary version available for ppr: #74813
- refactor(turbopack-dev-server): Use ResolvedVc/NonLocalValue in RewriteType, remove all "local" opt-outs from structs: #74708
- refactor(turbopack-ecmascript): Use ResolvedVc in CodeGen type: #74709
- refactor(turbopack/next-core): Use ResolvedVc in VisitClientReferenceNodeState: #74710
- refactor(turbopack-core): Use ResolvedVc in ContextCondition: #74711
- refactor(turbopack/next-core): Use ResolvedVc in PackagesGlobs: #74712
- docs: mention special case for trailing slash: #74839
- refactor(turbopack): Remove last known (non-test) usages of unresolved vcs in turbo_tasks::value (!!!): #74713
- docs: fix typos in 08-mutating-data.mdx: #74856
- [Turbopack] add count method to storage: #74830
- [Turbopack] add tracing to task execution: #74770
- [Turbopack] improve task aggregation update: #74771
- [Turbopack] add active_counter to keep tasks active: #74772
- Update CI config for Windows runner: #74850
- fix(turbopack): Fix tree shaking with
import * as R
: #74725 - ci: ensure fnm is installed in build_reusable: #74891
- feat(turbopack): Add a compile-time feature to turbopack to enable tokio-console support: #74675
- [Turbopack] fix task optimization by removing children count: #74907
- fix(turbopack-swc-utils): Don't panic if issues aren't emitted, use
#[must_use]
annotation: #74906 - Create synchronous snapshots of recursive AvailableModuleInfo struct: #74894
- fix persisent caching restore bug: #74917
- Fix missing
await
ofparams
when metadata with an image file pt2: #74193 - Turbopack: capture all references in module graph: #74873
- Add reference library that supports React Server and uses React Compiler: #74923
- [Turbopack] refactor to pass ModuleGraph to chunk_group: #74937
- [Turbopack] fix unemit collectible: #74932
- refactor(turbo-tasks): Convert local Vcs to non-local Vcs when returning from task functions: #74714
- perf(turbo-tasks): Add a synchronous try_sidecast method to ResolvedVc: #74844
- perf(turbopack): Reduce size of
ConstantValue
: #74965 - Turbopack: singular EcmascriptClientReferenceModule: #74946
- refactor(turbopack): Merge
Atom
andJsWord
variant ofConstantString
: #74967 - Turbopack: add server actions loader to module graph: #74951
- perf(turbopack): Box
ConstantValue::Regex
: #74968 - perf(turbopack): Reduce size of
Effect
: #74969 - test: temporarily disable after deploy test: #74989
- test: add turbopack hmr flaky test: #74995
- Turbopack error logging: check NEXT_TEST_CI to use verbose behavior: #75001
- Turbopack: compute chunk group info: #74947
- build: Update
swc_core
tov10.2.5
: #75002 - Re-enable app-dir logging test: #75003
- chore(github): use Issue Types: #75006
- chore(github): remove documentation label from area dropdown: #75008
- refactor(turbopack/next-api): Make VcArc use OperationVc: #74479
- Add
next-custom-transforms
tests to verify source maps: #75005 - build: Update
swc_core
tov10.3.0
: #75018 - put dirty task tracing behind a feature flag: #75022
- Turbopack: fix layout segment optimization: #75026
- fix layout segment optimization: #75035
- Turbopack: don't search for layout segments in routes: #73847
- Turbopack: resolve arguments to
EsmAssetReference::new
: #75040 - perf(turbo-tasks): Optionally schedule ResolveNative/ResolveTrait tasks as local tasks: #69126
- hopefully fix infinite recursion in optimize: #75043
- [Turbopack] implement chunking based on the module graph: #74979
- [Turbopack] avoid crashing on e.g. .DS_Store: #75050
- perf(turbo-tasks): Use the type information we already have for all ResolvedVc casts, expose synchronous versions of functions: #75055
- docs: update Next.js 15 versions in upgrade guide: #74960
- [Turbopack] Production Chunking: #75010
- Include CI runner labels in Turborepo hashes: #75099
- [Turbopack] try to avoid too small chunks size when optimizing for production: #75048
- perf(turbopack): Reduce size of
EffectArg
: #74973 - build: Update
swc_core
tov10.5.0
: #75098 - perf(turbopack): Use
u32
for the total node count: #75100 - test: add dynamic api usage test case for streaming metadata: #75109
- Turbopack: optimize NftJsonAsset: #75105
- [Turbopack] Low hanging fixes and improvement on module graph: #75106
- Turbopack: don't create span for parallel chunking type: #75094
- refactor(turbopack): Only perform strongly consistent reads/resolves on VcOperation: #75016
- fix: remove unnecessary parentheses in draft mode API: #75153
- perf(turbo-tasks): Turn on
local_resolution
feature by default: #75051 - [Turbopack] allocation improvements for SingleModuleGraph: #75145
- [Turbopack] pass sourceMap flag to webpack loaders and postcss: #75144
- Update 06-data-fetching-and-streaming.mdx (Removed duplicate word): #74810
- add test case for intercepting route + catchall + generateStaticParams: #75167
- [Turbopack] remove verbose new backend tracing: #75165
- optimize read matches to reduce FileSystemPath calls: #75164
- chore(turbo-tasks): Remove the ability to opt-out of NonLocalValue for VcValueType and VcValueTrait: #75053
- chore(turbopack): Mark
ResolvedVc::resolve
as deprecated to prevent resolving an already-resolved ResolvedVc: #75168 - Turbopack: don't generate CSS for Node.js: #75117
- chore(tests): Remove linguist-generated git attribute from test snapshot data/fixtures: #75194
- chore(github): remove Developer Experience area: #75198
- [Turbopack] fix invalidation and counting with collectibles: #75195
- chore(github): add CSS area/label: #75201
- Remove
endpoint.write_to_disk()
in favor of standardizedendpoint.output()
: #75059 - perf(turbopack): Use
Cow::into_owned
instead of.to_string()
: #75216 - [Turbopack] Memory improvements: #75210
- docs: Update
robots
forgenerateMetadata
spec: #75229 - refactor(turbo-tasks): Use Return Position Impl Traits (RPIT) to reimplement GraphTraversal: #74896
- chore(turbo-tasks): Delete
non_local_return
support from#[turbo_tasks::function]
: #75209 - perf(turbopack): Update SWC plugins (
styled-jsx
,emotion
): #75236 - refactor(turbopack): Remove
ReadRawVcFuture.turbo_task
: #75217 - test: Move
should not cause error when removing loading.js
to flaky manifest: #75239 - test: skip dev/deploy testing for
test/e2e/app-dir/segment-cache/revalidation/segment-cache-revalidation.test.ts
: #75249 - misc: add Rauno to CI approved: #75269
- [Turbopack] include async loaders in chunking instead of separating it: #75052
- perf(turbopack): Use
Pass
API forstyled-jsx
SWC plugin: #75271 - perf(turbopack): Reduce needless allocations for SWC plugins: #75275
- Add test fixtures demonstrating export statement validation bugs: #75277
- Fix export statement validations for app router pages: #75278
- change turbopack-cli to new backend: #75242
- chore(turbo-tasks): Remove argument resolution from backends, only allow local-task-based argument resolution: #75214
- refactor(turbo-tasks): Merge dynamic_call/native_call with dynamic_this_call/native_this_call: #75253
- chore(turbo-tasks): Clean up consistency/untracked APIs around local outputs and cells: #75171
- fix(turbo-tasks): Implement
is_transient
onOperationVc
: #75291 - [Turbopack] box InnerStorage to avoid overallocation: #75287
- [Turbopack] Inline commonly used storages: #75284
- perf(turbo-tasks): Add a 'local' option to
#[turbo_tasks::function(..)]
: #75259 - [Turbopack] avoid some allocations: #75285
- chore(turbo-tasks): Loosen some type bounds on ShrinkToFit for IndexMap, update indexmap crate: #75193
- perf: Update SWC plugins: #75324
- Getting Started docs: Consistent casing and naming: #74637
- Turbopack: CLI / perf improvements: #75373
- docs: fixed typo to auth.ts: #75345
- fix(create-next-app): use web standard error check for URL: #71473
- docs: remove infinite looping redirect: #75376
- chore(github): update more labels: #75382
- docs: let searchParams be Promise in
<Form>
example.: #75386 - [Turbopack] cleanup tracing spans and names: #75385
- Convert remaining sync (search)params access: #75389
- Turbopack: use type alias: #75300
- [cna] upgrade templates tailwind to v4: #75407
- chore(github): update more labels: #75409
- create-next-app: default to ESLint disabled: #73864
- Turbopack: Use from_utf8_unchecked for minify output: #75422
- docs: add optimizations for navigating between App/Pages router: #75427
- Add temporary CI workflows for testing: #75432
- [Turbopack] fix is_empty implementation: #75426
- docs: specify encryption for custom actions key: #75425
- chore(github): update more labels: #75444
- [Turbopack] only the first task read need to be strongly consistent: #75435
- perf(turbo-tasks): Filter out and do not cache unused arguments: #75261
- build: Update
swc_core
tov12.0.0
: #75327 - chore(github): update github labels: #75452
- fix rustflags for musl targets: #75599
- Fix rewrite-headers test: #75602
- Turbopack CI: Update test results artifact: #75429
- Add package.json script for building turbopack-cli: #75031
- [Turbopack] update event_listener to fix hanging bug: #75481
- Turbopack: add dedicated TracedAsset: #75510
- Turbopack: generate shorter variable idents: #75611
- [Turbopack] connect children in a batch when task is about to finish: #74773
- Update test-junit-report path: #75612
- [Turbopack] add more options for production chunking: #75544
- Turbopack: Skip Traced chunking type in module graph: #75608
- fix(turbo-tasks): Fix building with --features=turbo-tasks/hanging_detection: #75584
- Turbopack: Disable react_refresh code in production: #75535
- chore: remove global-error in hello-world example: #75509
- [Turbopack] limit the number of concurrent fs operations: #75480
- Fix rustflags in *-musl builds: #75614
- Update test-junit-report path: #75612
- [Turbopack] add more options for production chunking: #75544
- Turbopack: Skip Traced chunking type in module graph: #75608
- fix(turbo-tasks): Fix building with --features=turbo-tasks/hanging_detection: #75584
- Turbopack: Disable react_refresh code in production: #75535
- chore: remove global-error in hello-world example: #75509
- [Turbopack] limit the number of concurrent fs operations: #75480
- Fix rustflags in *-musl builds: #75614
- Ensure junit-report is uploaded: #75615
- refactor(turbo-tasks): Port task statistics to the new backend: #75303
- Bring back rust bindings path: #75620
- Turbopack: short module ids in cli: #75357
- perf(turbo-rcstr): Fix the fast codepath for RcStr::into_owned(): #75504
- Fix corepack keys in deploy e2e tests: #75622
- chore(turbo-tasks): Add test for argument filtering: #75585
- perf: Make
next-page-static-info
useAtom
instead ofString
: #75587 - refactor(turbo-tasks): Codemod/migrate all ResolvedVc casting callsites to use the new synchronous APIs: #75547
- perf: Make
cjs_optimizer
useAtom
instead ofString
: #75588 - perf(turbo-tasks-fs): Call shrink_to_fit when building an immutable Rope: #75505
- chore(turbopack): Remove unmaintained fxhash crate, use rustc-hash instead: #75530
- chore(github): add conditional to triage workflow: #75524
- chore(github): update stale bot: #75630
- perf(turbopack): Update rustc-hash from 1.1.0 to 2.1.0: #75531
- perf(next-custom-transforms): Replace non-
Sync
Rc<DashMap<_, _>>
usage withRc<RefCell<FxHashMap<_, _>>>
: #75534 - refactor(turbopack): Define and use an FxDashMap alias everywhere: #75538
- perf(turbopack): Migrate as many data structures to FxHash as possible: #75546
- Disable
rewrite-headers
tests that are dependent on Vercel site config: #75647 - docs: remove unused imports: #75653
- Run build-nextjs for Turbopack test runs on metal machines instead of GitHub hosted runner: #75654
- perf: Make
next_ssg
useAtom
instead ofString
: #75591 - Remove github runner specific step: #75655
- [Turbopack] fix dependencies on own task: #75658
- Turbopack:
OutputAsset::path()
: #75659 - [Turbopack] use Timestamp type, allow spans less than 1Β΅s: #75479
- Turbopack: generate less JS before minification: #75358
- [Turbopack] correctly apply defines: #75643
- Turbopack: don't cell CodeGen-s: #75513
- perf: Make barrel optimizer use
Atom
instead ofString
: #75592 - perf: Make RSC pass use
Atom
instead ofString
: #75593 - perf: Make server action pass use
Atom
instead ofString
: #75594 - [Turbopack] sort spans by start date in tracing: #75642
- [Turbopack] setup aggregation number before connecting children: #74910
- perf: Make page exports stripper use
Atom
instead ofString
: #75595 - perf: Make page static info use
Atom
instead ofString
: #75596 - [Turbopack] reduce the number of spans created in task completion: #75437
- [Turbopack] wait for output instead of waiting for task completion: #75438
- perf: Remove needless
Arc
: #75601 - Turbopack: make IssueSource a TaskInput: #75542
- Unflake
cookies/headers/draftMode in "use cache"
test: #75675 - Turbopack: don't watch output FS: #75680
- Turbopack: uncell RequireContextValue: #75683
- Turbopack: cache variables in linker: #75440
- Turbopack: disambiguate
TaskInput::resolve
: #75661 - Turbopack: remove last stray lint ignore comments: #75519
- Update
swc_core
tov13.0.4
: #75684 - test: fix eslint plugin test: #75687
- Add regression test for previously hanging compilation with Turbopack: #75507
- chore(turbo-tasks): Remove support for local_cells (a specific mode of local tasks we ended up not using): #75672
- docs: fix example for multiple tags in cacheTag usage: #75693
- Turbopack: lazily evaluate
obj
for member replacements: #75453 - Fix lint for cacheTag doc: #75703
- [Turbopack] disable dependency tracking for next build: #75704
- Add test to verify which pages are prerendered in
use-cache
test suite: #75681 - chore(next-swc-napi): Remove unused(?) rlib target: #75707
- Turbopack: add test for local tasks in traits: #75708
- Revert "chore(next-swc-napi): Remove unused(?) rlib target": #75745
- [Turbopack] use new backend in next-build-test: #75724
- [Turbopack] Reduce memory: #75723
- Report build-and-deploy failures: #75749
- Turbopack: uncell AstPath: #75695
- Turbopack: switch some deps back to upstream: #75752
- Turbopack: less tasks in
with_modules
: #75700 - chore(turbopack): Remove legacy next.js HMR compat code: #75725
- Turbopack: make
ModulePart
aTaskInput
: #75364 - Turbopack: remove SWC CSS sourcemap variant: #75753
- docs: follow up fix: #75760
- chore(github): add labels-to-add-when-unstale label -> not stale: #75721
- docs(route-segment-config): remove line in force-dynamic mentioning it's like getServerSideProps: #75773
- Return
null
if Redbox has no component stack: #75744 - unsupported should be supported in docs: #75772
- build: Update
swc_core
tov13.1.0
: #75771 - chore(github): skip nissuer when Documentation issue template is used: #75802
- refactor: Use
shrink-to-fit
crate instead: #75777 - Delete expirePath and expireTag pages (again): #75691
- docs: add Chrome debugging port configuration steps: #75845
- [test] More accurate stack assertions in terminal: #75355
- refactor(tests): Refactor environment reload HMR test: #75875
- [Turbopack] fix recompute invalidation: #75850
- [Turbopack] allow to configure last successful parse cache state: #75851
- [Turbopack] remove asset context and layer from static files: #75892
- [Turbopack] fix hanging bug caused by incorrect active counter handling on stale tasks: #75732
- [Turbopack] prefer to use the node.js process where we invested the most time: #75894
- Turbopack: remove unused code: #75897
- [Turbopack] allow to disable active tracking in turbo-tasks: #75899
- [Turbopack] add fast path for increase active count: #75900
- test: align existing testing util: #75844
- [Turbopack] Add
final_read_hint
API and changeclone_value
toowned
: #75852 - Turbopack: use result instead of panic: #75903
- fix(turbopack): Update Cargo.toml/package.json license field for turbopack-related crates: #75889
- Turbopack: source locations as u32: #75705
- test: Write files before install: #75906
- docs(css-in-js): update warning about using css-in-js with server components: #75931
- docs: update CRA guide: #75939
- docs: fix typo in
use-cache.mdx
: #75848 - Update 01-installation.mdx: #75788
- fix typo in 07-updating-data.mdx: #75711
- docs: fixed wrong import for
unauthorized
: #75420 - docs: incorrect anchor on searchParams link: #75266
- Fixed link to stale-while-revalidate article: #74949
- Stop using deprecated
TURBO_REMOTE_ONLY
: #75832 - Turbopack: store serialized sourcemaps instead: #75791
- Add test for missing sourcemap loader support of
ignoreList
: #75907 - Update sourcemap tests due to recent Turbopack changes: #75954
- [Turbopack] scale down process pool when module graph is finished: #75896
- Fix flaky error-recovery test: #75948
- [Turbopack] disable session dependent tasks when dependency tracking is disabled: #75965
- docs: fix
use
pattern: #75529 - docs: fix prettier error: #75968
- Add (failing) test for module based feature telemetry in App Router: #75952
- [docs] update tailwind installation instruction to v4: #75739
- fix: compiler error when next/cache is used in a client module: #75979
- Update toolchain to nightly-2025-02-12: #75983
- fix(CI): Initialize non-existent bundler manifests: #75987
- [Turbopack] improve race condition handling of scheduling: #75748
- Check for visibility not just existence of Redbox: #75846
- ci: fix version-staleness test: #76020
- fix(turbopack CI): Pin corepack version for production tests manifest update action: #75986
- Fix unisolated tests: #76018
- [Turbopack] fix hanging and flaky issues: #76032
- [Turbopack] only invalidate fs writes with a different content: #75936
- [Turbopack] fix tree shake ident on code generation: #75970
- [Turbopack] avoid allocating on AggregationUpdateQueue::new: #76034
- [Turbopack] add tracing to turbopack-tests: #76033
- [Turbopack] avoid creating many ModuleOptions: #76035
- fix recomputation when reading gc'ed cells from in progress tasks: #75969
- [Turbopack] try to avoid cloning AST during code generation, pass final_read_hint: #75853
- [Turbopack] make
make_chunks
a non-turbo-tasks-function: #76042 - Turbopack: less CodeGenerateable for references: #75963
- Turbopack: refactor how EsmAssetReferences are added: #76011
- Turbopack: codegen EsmAssetReference without turbo tasks: #76024
- Fix stale snapshots: #76116
- Turbopack: Fix static generation test: #76125
- Cleanup
experimental.reactOwnerStack
: #76123 - Turbopack: Fix middleware test: #76126
- Current behavior for
reportError
: #76115 - test: replace explicit
padding-bottom
withdevIndicators: false
for scroll position testing: #76105 - Turbopack: less turbo tasks for
chunk_item.id()
: #76110 - Turbopack: Add passing test to manifest: #76143
- Improve server actions sourcemap test: #76129
- build: Update
swc_core
tov14.0.0
: #76135 - refactor(turbopack): Simplify
minify()
: #76139 - feat(turboyet): Upload test data for both bundlers: #76090
- chore(github): add Error Overlay area: #76167
- Put flaky
use-cache-unknown-cache-kind
dev tests in sandboxes: #76171 - Turbopack: compute async info from module graph: #76118
- Report tests to Datadog from Job that executed them: #73180
- Align Redbox test helpers: #76213
- Fix stale snapshots: #76237
- Ensure datadog upload is skipped for forks: #76238
- docs: Fix link on UPGRADING.md: #75761
- [Turbopack] add many pages bench: #76244
- [Turbopack] remove ChunkingType::Passthrough: #76217
- [Turbopack] add concept of ChunkGroups: #76218
- [Turbopack] increase hash length to avoid hash conflict: #76245
- [Turbopack] add ChunkingType::Shared: #76228
- Turbopack: Fix 500 handling in edge with pages router: #76155
- Turbopack: Update app-dir tests: #76145
- Turbopack panic handler: link to bug report issue template: #76226
- Disable turbo daemon by default: #76248
- Unflake
ppr-full
tests: #76271 - docs(errors): minor update to failed-to-find-server-action error page: #76296
- docs(cookies): update good-to-know for cookie.delete: #76303
- Turbopack: ignore invalid sourcemaps for now: #76215
- Update outdated snapshots: #76318
- [Turbopack] smarter merging of small chunks in production chunking: #76319
- [ci]: skip use-cache deployment test: #76334
- [Turbopack] merged chunks need to have min overlap of 2 merge remainers into chunk: #76320
- test: disable metadata streaming deployment tests: #76335
- [Turbopack] allow to merge into big enough chunk candidate when 100% overlap: #76321
- [Turbopack] compute expected benefit of merging chunks and use that as factor: #76331
- Update datadog job to use pnpm dlx: #76337
- docs: add Logto auth library: #75176
- [test] Use new Redbox matchers in pages/ hydration-error test: #76350
- test: update snapshot for component stack: #76359
- Update error-recovery test snapshots for alternative bundler: #76299
- Turbopack: ChunkGroupType for graph entries: #76235
- Turbopack: accept ChunkGroup in chunking context: #76242
- [test] Use new Redbox matchers in pages/ error-recovery test: #76348
- [test] Use new Redbox matchers in pages/ ReactRefreshLogBox-builtins: #76392
- [test] Use new Redbox matchers in pages/ ReactRefreshLogBox: #76391
- [test] Use new Redbox matchers in app/ ReactRefreshLogBox-builtins: #76394
- docs: update
building.md
to contain descriptive build process: #76393 - fix(turbopack): Fix pure span check in advanced tree shaking: #76406
- Turbopack: fix graph chunk groups: #76383
toDisplayRedbox()
matcher: trim line endings: #76404- Turbopack: rename reverse topological to postorder topological, fix async referenced modules: #76429
- Turbopack: handle removed assets similar to non-existing assets: #76420
- Turbopack: fix duplicate modules due to import context: #76432
- typechecking inputs/outputs in action transform tests: #75935
- [test] Use new Redbox matchers in app/ ReactRefreshLogBox: #76431
- [test] fix client navigation error count in react 18: #76442
- docs: add note to language and filename section: #74239
- docs: fix duplicate "scroll" parameter in Link component documentation: #74820
- refactor(CI): Convert daily turbopack (areweturboyet) integration tests into reusable workflows: #76251
- fix: workaround for TS bug in Object.defineProperty: #75944
- [docs]: add --api option information: #76493
- refactor(CI): Extend areweturboyet integration test jobs for all bundlers: #76361
- [repo] misc: rename
.cursorignore
to.cursorindexingignore
: #76494 - [ci]: PPR tests should run on development/acceptance-app: #76505
- chore(CI): Only update areweturboyet datasets for other bundlers from canary branch results: #76449
- docs: fix typo in route-segment-config: #74403
- Docs: Fix minor typo in
api-reference/functions/cookies.mdx
: #76376 - Correcting typo: #76440
- Update error-recovery test snapshots for alternative bundler [3/n]: #76446
- refactor(CI): Assign tests to groups round-robin instead of sequentially when we don't have timings: #76462
- Update Turbopack development test manifest: #76471
- Update Turbopack production test manifest: #76472
- Move known failed test back into
failed
set in Turbopack manifest: #76542 - Run React 18 tests for automated update PRs: #76544
- Skip globally installing turbo CLI: #76532
- docs(errors): update suppressHydrationWarning section: #76521
Credits
Huge thanks to @ijjk, @unstubbable, @bgw, @gnoff, @eps1lon, @ztanner, @mischnic, @Marukome0743, @leerob, @gaojude, @lubieowoce, @acdlite, @kdy1, @JamBalaya56562, @creationix, @noreiller, @samcx, @delbaoliveira, @styfle, @abdonrd, @ollyw, @wyattjoh, @devjiwonchoi, @aymericzip, @davidhu2000, @attilarepka, @devpla, @dydals3440, @huozhi, @wbinnssmith, @suu3, @PapatMayuri, @Sahil4883, @abyii, @molebox, @sokra, @maciej-ka, @abvthecity, @damiensedgwick, @alitas, @RiskyMH, @ytreister, @sommeeeer, @n1ckoates, @yongholeeme, @spidersouris, @gurkerl83, @cassiossantos, @Netail, @tknickman, @eur00t, @cseas, @nnnnoel, @timneutkens, @Manoj-M-S, @lfades, @sebmarkbage, @matmannion, @mikeboensel, @nphmuller, @apostolos, @k15a, @pavelee, @locothedev, @vexcat, @Zach-Jaensch, @decepulis, @gadcam, @lukahartwig, @jsanford8, @RobinMalfait, @raunofreiberg, @mohsen1, @skushagra, @feedthejim, @amannn, @HQidea, @jrandolf, @smit-err, @littledivy, @k35o, @martinsione, @CvX, @msereniti, @Timer, @Iftee97, @chibicode, @RobPruzan, @padmaia, @PlagueFPS, @bjunix, @maximevtush, @michaelven, @sedlukha, @johannpinson, @AxelUser, @Nayeem-XTREME, @IcaroG, @blurrah, @lachlanjc, @ashi009, @conico974, @raphaelcosta, @dulmandakh, @khuezy, @Knoa0405, @wangsijie, @stefanprobst, @wentsul, @loopy-lim, @bratvanov, @hedgeday, @cassian-goode, @artemszelenov, and @saltcod for helping!