yarn @next/eslint-plugin-next 15.2.0
v15.2.0

latest release: 15.2.1-canary.0
7 hours ago

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 to 372ec00c-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 to 518d06d2-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 to 3b009b4c-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 to 3ce77d55-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 to 7b402084-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 to 42687267-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 to 74ea0c73-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 to 056073de-20250109: #74754
  • [DevOverlay] Improve Storybook Structure: #74764
  • fix: always show indicator in app router: #74758
  • Upgrade React from 056073de-20250109 to 540efebc-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 to cabd8a0e-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 to b3a95caf-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 to f0edf41e-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 to b158439a-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 to 5b51a2b9-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 from cssnano: #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 to 9b62ee71-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 to ae9017ce-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 to de1eaa26-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 to 9eabb373-20250124: #75367
  • tweak static generation retry wait time: #75381
  • [Dev Badge] Accessibility improvements to dropdown menu: #75268
  • Gate captureOwnerStack access on experimental.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 to 37906d4d-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 to c492f975-20250128: #75434
  • Fix console replaying and React.cache usage in "use cache" functions: #75520
  • Upgrade React from c492f975-20250128 to a4b2d0d5-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 to 0a82580b-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 to d85cf3e5-20250205: #75698
  • Only disable Prettier for original Turbopack source: #75716
  • [dev-overlay] fix: pagination focus ring was invisible: #75790
  • test: Exclude turbo-tasks-macro from test-cargo-unit: #75776
  • Send formatted error to frontend if sourcemapping fails: #75712
  • Upgrade React from d85cf3e5-20250205 to ff628334-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" with output: '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 to 8759c5c8-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 to 93b58361-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 to cd90a4d8-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 for next build: #75921
  • Turbopack: make tracing easier: #75958
  • Upgrade React from cd90a4d8-20250210 to f83903bf-20250212: #75967
  • Use compilation.{emitAsset,updateAsset} api rather than mutating assets 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 to cbbe8666-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() in cache 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 options appIsrStatus and buildActivity: #76067
  • [dev-overlay] deprecate devIndicators.buildActivityPosition and rename to position: #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 to runtimeErrors: #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 to 662957cc-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 accept ReactNode: #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 to 25677265-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 to 22e39ea7-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 with px value of base font 16px: #76384
  • Add event for webpack plugin customization: #76477
  • [dev-overlay] use rem for sizes and px 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: '' on remotePatterns: #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 and with prefix in the mdx 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 all ResolvedVcs and OperationVcs: #73764
  • docs: supporting after for providers: #73743
  • [E2E] Fix config file conflict: #73818
  • feat: Update swc_core to v9.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 and error handling: #73844
  • Revert "feat: Update swc_core to v9.0.0": #73866
  • refactor(turbo-tasks): Derive NonLocalValue by default in value/value_trait macros: #73766
  • refactor(turbo-tasks): Implement NonLocalValue for State<T> where T: NonLocalValue: #73770
  • chore(github): fix typo in close-issue-message: #73878
  • Docs: Remove unstable_expirePath and unstable_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 and pages.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 use satisfies 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 ChunkItems reference only OutputAssets: #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 and arguments 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 to turbopack-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 to v10.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 of params 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 and JsWord variant of ConstantString: #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 to v10.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 to v10.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 to v10.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 standardized endpoint.output(): #75059
  • perf(turbopack): Use Cow::into_owned instead of .to_string(): #75216
  • [Turbopack] Memory improvements: #75210
  • docs: Update robots for generateMetadata 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 for styled-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 on OperationVc: #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 to v12.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 use Atom instead of String: #75587
  • refactor(turbo-tasks): Codemod/migrate all ResolvedVc casting callsites to use the new synchronous APIs: #75547
  • perf: Make cjs_optimizer use Atom instead of String: #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 with Rc<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 use Atom instead of String: #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 of String: #75592
  • perf: Make RSC pass use Atom instead of String: #75593
  • perf: Make server action pass use Atom instead of String: #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 of String: #75595
  • perf: Make page static info use Atom instead of String: #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 to v13.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 a TaskInput: #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 to v13.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 change clone_value to owned: #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 with devIndicators: 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 to v14.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!

Don't miss a new eslint-plugin-next release

NewReleases is sending notifications on new releases.