chore(deps): update all-minor-updates #6

Open
renovate-bot wants to merge 1 commits from renovate/minor into main
Collaborator

This PR contains the following updates:

Package Type Update Change
@types/node (source) devDependencies minor 25.1.025.5.0
@types/react (source) devDependencies patch 19.2.1019.2.14
@vitejs/plugin-react (source) devDependencies minor 5.1.25.2.0
autoprefixer dependencies patch 10.4.2410.4.27
axios (source) dependencies minor 1.13.41.14.0
eslint (source) devDependencies minor 10.0.010.1.0
eslint-config-next (source) devDependencies minor 16.1.616.2.1
jsdom devDependencies minor 28.0.028.1.0
next (source) dependencies minor 16.1.616.2.1
node (source) minor 25.5.025.8.2
pnpm (source) packageManager minor 10.28.210.33.0
postcss (source) dependencies patch 8.5.68.5.8
vitest (source) devDependencies minor 4.0.184.1.2
yarn (source) packageManager minor 4.12.04.13.0

Release Notes

vitejs/vite-plugin-react (@​vitejs/plugin-react)

v5.2.0

Compare Source

v5.1.4

Compare Source

Fix canSkipBabel not accounting for babel.overrides (#​1098)

When configuring babel.overrides without top-level plugins or presets, Babel was incorrectly skipped. The canSkipBabel function now checks for overrides.length to ensure override configurations are processed.

v5.1.3

Compare Source

postcss/autoprefixer (autoprefixer)

v10.4.27

Compare Source

  • Removed development key from package.json.

v10.4.26

Compare Source

  • Reduced package size.

v10.4.25

Compare Source

  • Fixed broken gradients on CSS Custom Properties (by @​serger777).
axios/axios (axios)

v1.14.0

Compare Source

This release focuses on compatibility fixes, adapter stability improvements, and test/tooling modernisation.

⚠️ Important Changes

  • Breaking Changes: None identified in this release.
  • Action Required: If you rely on env-based proxy behaviour or CJS resolution edge-cases, validate your integration after upgrade (notably proxy-from-env v2 alignment and main entry compatibility fix).

🚀 New Features

  • Runtime Features: No new end-user features were introduced in this release.
  • Test Coverage Expansion: Added broader smoke/module test coverage for CJS and ESM package usage. (#​7510)

🐛 Bug Fixes

  • Headers: Trim trailing CRLF in normalised header values. (#​7456)
  • HTTP/2: Close detached HTTP/2 sessions on timeout to avoid lingering sessions. (#​7457)
  • Fetch Adapter: Cancel ReadableStream created during request-stream capability probing to prevent async resource leaks. (#​7515)
  • Proxy Handling: Fixed env proxy behavior with proxy-from-env v2 usage. (#​7499)
  • CommonJS Compatibility: Fixed package main entry regression affecting CJS consumers. (#​7532)

🔧 Maintenance & Chores

🌟 New Contributors

We are thrilled to welcome our new contributors. Thank you for helping improve Axios:

Full Changelog: v1.13.6...v1.14.0

v1.13.6

Compare Source

This release focuses on platform compatibility, error handling improvements, and code quality maintenance.

⚠️ Important Changes

  • Breaking Changes: None identified in this release.
  • Action Required: Users targeting React Native should verify their integration, particularly if relying on specific Blob or FormData behaviours, as improvements have been made to support these objects.

🚀 New Features

  • React Native Blob Support: Axios now includes support for React Native Blob objects. Thanks to @​moh3n9595 for the initial implementation. (#​5764)
  • Code Quality: Implemented prettier across the codebase and resolved associated formatting issues. (#​7385)

🐛 Bug Fixes

  • Environment Compatibility:

    • Fixed module exports for React Native and Browserify environments. (#​7386)
    • Added safe FormData detection for the WeChat Mini Program environment. (#​7324)
  • Error Handling:

    • AxiosError.message is now correctly enumerable. (#​7392)
    • AxiosError.from now correctly copies the status property from the source error, ensuring better error propagation. (#​7403)

🔧 Maintenance & Chores

🌟 New Contributors

We are thrilled to welcome our new contributors! Thank you for helping improve the project:

Full Changelog: v1.13.5...v1.13.6

v1.13.5

Compare Source

Release 1.13.5

Highlights
  • Security: Fixed a potential Denial of Service issue involving the __proto__ key in mergeConfig. (PR #​7369)
  • Bug fix: Resolved an issue where AxiosError could be missing the status field on and after v1.13.3. (PR #​7368)
Changes
Security
  • Fix Denial of Service via __proto__ key in mergeConfig. (PR #​7369)
Fixes
  • Fix/5657. (PR #​7313)
  • Ensure status is present in AxiosError on and after v1.13.3. (PR #​7368)
Features / Improvements
  • Add input validation to isAbsoluteURL. (PR #​7326)
  • Refactor: bump minor package versions. (PR #​7356)
Documentation
  • Clarify object-check comment. (PR #​7323)
  • Fix deprecated Buffer constructor usage and README formatting. (PR #​7371)
CI / Maintenance
  • Chore: fix issues with YAML. (PR #​7355)
  • CI: update workflow YAMLs. (PR #​7372)
  • CI: fix run condition. (PR #​7373)
  • Dev deps: bump karma-sourcemap-loader from 0.3.8 to 0.4.0. (PR #​7360)
  • Chore(release): prepare release 1.13.5. (PR #​7379)
New Contributors

Full Changelog: https://github.com/axios/axios/compare/v1.13.4...v1.13.5

eslint/eslint (eslint)

v10.1.0

Compare Source

Features

  • ff4382b feat: apply fix for no-var in TSModuleBlock (#​20638) (Tanuj Kanti)
  • 0916995 feat: Implement api support for bulk-suppressions (#​20565) (Blake Sager)

Bug Fixes

  • 2b8824e fix: Prevent no-var autofix when a variable is used before declaration (#​20464) (Amaresh S M)
  • e58b4bf fix: update eslint (#​20597) (renovate[bot])

Documentation

  • b7b57fe docs: use correct JSDoc link in require-jsdoc.md (#​20641) (mkemna-clb)
  • 58e4cfc docs: add deprecation notice partial (#​20639) (Milos Djermanovic)
  • 7143dbf docs: update v9 migration guide for @eslint/js usage (#​20540) (fnx)
  • 035fc4f docs: note that globalReturn applies only with sourceType: "script" (#​20630) (Milos Djermanovic)
  • e972c88 docs: merge ESLint option descriptions into type definitions (#​20608) (Francesco Trotta)
  • 7f10d84 docs: Update README (GitHub Actions Bot)
  • aeed007 docs: open playground link in new tab (#​20602) (Tanuj Kanti)
  • a0d1a37 docs: Add AI Usage Policy (#​20510) (Nicholas C. Zakas)

Chores

v10.0.3

Compare Source

Bug Fixes

Documentation

  • 9fc31b0 docs: Update README (GitHub Actions Bot)
  • 4efaa36 docs: add info box for eslint-plugin-eslint-comments (#​20570) (DesselBane)
  • 23b2759 docs: add v10 migration guide link to Use docs index (#​20577) (Pixel998)
  • 80259a9 docs: Remove deprecated eslintrc documentation files (#​20472) (Copilot)
  • 9b9b4ba docs: fix typo in no-await-in-loop documentation (#​20575) (Pixel998)
  • e7d72a7 docs: document TypeScript 5.3 minimum supported version (#​20547) (sethamus)

Chores

  • ef8fb92 chore: package.json update for eslint-config-eslint release (Jenkins)
  • e8f2104 chore: updates for v9.39.4 release (Jenkins)
  • 5cd1604 refactor: simplify isCombiningCharacter helper (#​20524) (Huáng Jùnliàng)
  • 70ff1d0 chore: eslint-config-eslint require Node ^20.19.0 || ^22.13.0 || >=24 (#​20586) (Milos Djermanovic)
  • e32df71 chore: update eslint-plugin-eslint-comments, remove legacy-peer-deps (#​20576) (Milos Djermanovic)
  • 53ca6ee chore: disable eslint-comments/no-unused-disable rule (#​20578) (Milos Djermanovic)
  • e121895 ci: pin Node.js 25.6.1 (#​20559) (Milos Djermanovic)
  • efc5aef chore: update tsconfig.json in eslint-config-eslint (#​20551) (Francesco Trotta)

v10.0.2

Compare Source

Bug Fixes

  • 2b72361 fix: update ajv to 6.14.0 to address security vulnerabilities (#​20537) (루밀LuMir)

Documentation

  • 13eeedb docs: link rule type explanation to CLI option --fix-type (#​20548) (Mike McCready)
  • 98cbf6b docs: update migration guide per Program range change (#​20534) (Huáng Jùnliàng)
  • 61a2405 docs: add missing semicolon in vars-on-top rule example (#​20533) (Abilash)

Chores

v10.0.1

Compare Source

Bug Fixes

Documentation

  • 5b3dbce docs: add AI acknowledgement section to templates (#​20431) (루밀LuMir)
  • 6f23076 docs: toggle nav in no-JS mode (#​20476) (Tanuj Kanti)
  • b69cfb3 docs: Update README (GitHub Actions Bot)

Chores

vercel/next.js (eslint-config-next)

v16.2.1

Compare Source

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes
  • docs: post release amends (#​91715)
  • docs: fix broken Activity Patterns demo link in preserving UI state guide (#​91698)
  • Fix adapter outputs for dynamic metadata routes (#​91680)
  • Turbopack: fix webpack loader runner layer (#​91727)
  • Fix server actions in standalone mode with cacheComponents (#​91711)
  • turbo-persistence: remove Unmergeable mmap advice (#​91713)
  • Fix layout segment optimization: move app-page imports to server-utility transition (#​91701)
  • Turbopack: lazy require metadata and handle TLA (#​91705)
  • [turbopack] Respect {eval:true} in worker_threads constructors (#​91666)
Credits

Huge thanks to @​icyJoseph, @​abhishekmardiya, @​ijjk, @​mischnic, @​unstubbable, @​sokra, and @​lukesandberg for helping!

v16.2.0

Compare Source

[!TIP]
Check out our Next v16.2 Blog Post to learn more about this release.

Core Changes
  • Upgrade React from f93b9fd4-20251217 to 65eec428-20251218: #​87323
  • Turbopack: Create junction points instead of symlinks on Windows: #​87606
  • Turbopack: Symlink handling follow-up: #​87637
  • Add experimental routing package for resolving adapter routes: #​86404
  • Ensure outputs are correct with cache components in deployment adapters: #​87018
  • Move off of deprecated url.parse: #​87257
  • [strict-route-types] Add experimental.strictRouteTypes config: #​87378
  • misc: fix type check log for CI envs: #​87838
  • fix: revalidateTag with profile should not trigger client cache invalidation: #​88069
  • chore: warn when running tests against stale build: #​88001
  • Redesign default error pages with cleaner, more user-friendly UI: #​87988
  • dx: avoid next-env.d.ts change in dev: #​88103
  • prevent browser cache from using stale RSC responses from previous builds: #​86554
  • [strict-route-types] Typecheck App Router page props: #​87386
  • [strict-route-types] Enforce common React Component return types in App Router: #​87389
  • [strict-route-types] Switch to satisfies when validating page and route modules: #​87398
  • [strict-route-types] Don't reject number in config.api.bodyParser.sizeLimit when validating route: #​87633
  • Revert "dx: avoid next-env.d.ts change in dev": #​88153
  • [strict-route-types] Typecheck pages router routes in absence of App Router: #​87628
  • [strict-route-types] Ensure cache profiles and routes are type-checked even if .next is excluded: #​87768
  • add compilation error for taint when not enabled: #​88173
  • feat(next/image)!: add images.maximumResponseBody config: #​88183
  • Add maximum size limit for postponed body parsing: #​88175
  • metadata: use fixed segment in dynamic routes with static metadata files: #​88113
  • feat: add --experimental-cpu-prof flag for dev, build, and start: #​87946
  • Add experimental option to use no-cache instead of no-store in dev: #​88182
  • fix overlay frames cannot be opened sometimes: #​88210
  • Handle pnpm-workspace.yaml while searching for monorepo root: #​74818
  • Add more debug logs to 'use cache' wrapper: #​88219
  • Omit unused arguments from 'use cache' function calls: #​86920
  • Only log pending revalidates... debug log if applicable: #​88221
  • fix(next/image): bump sharp@​0.34.5: #​88238
  • Disallow javascript urls in router methods and redirects: #​88185
  • Fix relative same host redirects in node middleware: #​88253
  • Remove loadConfig from main development process, pass value from child process: #​88230
  • Update deploy adapters outputs and handler interfaces for node and edge: #​88247
  • Move Ready in time before handler initialization: #​88235
  • next/image: support custom cache handlers: #​88248
  • feat: add Claude Code plugin marketplace with Cache Components skill: #​87993
  • refactor: consolidate PPR into cacheComponents architecture: #​88243
  • Turbopack: include fewer traced files for standalone: #​88322
  • feat(turbopack): add resolve plugin condition variant of Always and Never: #​88190
  • perf: use length = 0 to clear the logging array: #​88244
  • Time logs: Show full millisecond instead of 1 decimal: #​88313
  • [turbopack] Enable inferring module side effects by default: #​87216
  • Track search string as part of "refresh state": #​87203
  • Pass RouteTree into navigation function: #​87256
  • Read from segment cache unknown routes: #​87293
  • Pass loading boundary as part of RSC data: #​87825
  • Revert "refactor: consolidate PPR into cacheComponents architecture (#​88243)": #​88421
  • fix: support TypeScript noUncheckedSideEffectImports for CSS imports: #​88199
  • Don't import typescript at runtime: #​88321
  • fix: use RDC for server action requests: #​88129
  • Warn when overriding Cache-Control header on /_next/ routes: #​88353
  • [prebuilt-skew-protection] feat: adding in automatic deploymentId: #​88012
  • Revert "[prebuilt-skew-protection] feat: adding in automatic deploymentId": #​88449
  • Turbopack: Update reqwest, remove experimental system TLS feature: #​88290
  • Revert "prevent browser cache from using stale RSC responses from pre…: #​88457
  • Turbopack: retain loader tree order for metadata: #​88487
  • Turbopack: more dead code: #​88505
  • fix(build): prevent route handler manifests from inheriting unrelated client components: #​88419
  • Upgrade React from 65eec428-20251218 to 3e1abcc8-20260113: #​88530
  • Better typesafety for interopDefault: #​88486
  • keep next-env.d.s unchanged between dev and build: #​88428
  • Remove sibling caches from CacheNode tree: #​87991
  • Upgrade React from 3e1abcc8-20260113 to 4a3d993e-20260114: #​88547
  • Finish deleting Mutable from router implementation: #​88046
  • fetch(next/image): reduce maximumResponseBody from 300MB to 50MB: #​88588
  • [CC] Fix dev validation error from server action bound args: #​88600
  • Fix incorrect 'Ready in' time for next start: #​88589
  • feat: server action logging: #​88277
  • Log browser error and warnings in terminal: #​88352
  • Upgrade React from 4a3d993e-20260114 to bef88f7c-20260116: #​88649
  • fix: make RedirectType constant properties literal types: #​88653
  • Turbopack: add support for matching loaders on resource queries: #​88644
  • fix: capture promisified setImmediate separately: #​88346
  • fix: setImmediate[util.promisify.custom] access fails in edge runtime: #​88685
  • Fix --debug-build-paths bracket escaping for glob patterns: #​88660
  • Add negation pattern support to --debug-build-paths: #​88654
  • Only filter next config if experimental flag is enabled: #​88733
  • [Devtool Indicator] Fix cross alignment: #​88664
  • Turbopack: don't use build id for pages router client-side manifests: #​88641
  • Allow inspecting server with next start --inspect: #​88744
  • Turbopack: Add --debug-build-paths support to filter routes: #​88655
  • Upgrade React from bef88f7c-20260116 to 41b3e9a6-20260119: #​88756
  • Use rewritten pathname for implicit cache tags: #​88732
  • Upgrade React from 41b3e9a6-20260119 to d2908752-20260119: #​88774
  • Add experimental_gesturePush to App Router: #​88776
  • Rename rewroteURL to rewrittenPathname in request metadata: #​88751
  • Simplify getImplicitTags to accept pathname instead of url object: #​88753
  • Add NEXT_DEPLOYMENT_ID global: #​86738
  • Turbopack: remove deployment id suffix from client reference manifest chunks: #​88741
  • Inject <html data-dpl-id> and don't inline it into JS anymore: #​88761
  • [metadata] match the Metadata and ResolvedMetadata type: #​88739
  • Reuse bfcache data during Full prefetches: #​88606
  • Embed static sibling info in route tree: #​88692
  • Fix revalidatePath with params and trailing slash when deployed: #​88623
  • fix: preserve cache behavior for PPR fallback shells with root params: #​88556
  • Upgrade React from d2908752-20260119 to b546603b-20260121: #​88860
  • stabilize browser log forward options: #​88857
  • [devtools] Wrap long file names of stack frames in the error overlay: #​88886
  • [devtools] Fix notch coloring of error overlay in forced colors mode: #​88892
  • Remove deploymentId from App Router RenderOptsPartial: #​88866
  • feat: implement LRU cache with invocation ID scoping for minimal mode response cache: #​88509
  • [prebuilt-skew-protection] feat: adding in automatic deploymentId: #​88496
  • [devtool] Add hydration diff indicator for diff lines: #​88919
  • Revert "[prebuilt-skew-protection] feat: adding in automatic deploymentId": #​88942
  • [turbopack] add task type infromation to the print_cache_item_size feature: #​88925
  • Upgrade React from b546603b-20260121 to 24d8716e-20260123: #​88963
  • Turbopack: add ?dpl= to all asset urls returned by Turbopack: #​88828
  • feat(next-codemod): add agents-md command for AI coding agents: #​88961
  • Update font data: #​88975
  • Improve agents-md prompt to force doc retrieval: #​88997
  • [Reapply] Add useEffectEvent to disallowed React APIs in Server Components: #​88985
  • Apply fixes for onBuildComplete and route module: #​88831
  • Rename renderOpts.nextExport to isBuildTimePrerendering: #​88951
  • docs: fix typos in README.mds: #​89022
  • refactor: consume global-error from loader tree: #​88437
  • Fix chunk loading when using __turbopack_load_by_url__ with query: #​88899
  • [mcp] change the mcp endpoint response to JSON: #​88911
  • Reapply "[turbopack] Add bundling support for worker_threads" (#​88725): #​88967
  • fix: ensure LRU cache items have minimum size of 1 to prevent unbounded growth: #​89040
  • Upgrade React from 24d8716e-20260123 to 8c34556c-20260126: #​89066
  • Use null-prototype objects in server actions manifests: #​89069
  • Re-enable types-and-precompiled: #​89070
  • Apply segment changes to adapters outputs: #​89072
  • Improve no response route handler error: #​89036
  • Limit number of server action arguments to 1000: #​89068
  • [prebuilt-skew-protection] feat: adding in automatic deploymentId: #​88958
  • Decouple route stale time from segment-level data: #​88834
  • Decouple route and segment cache lifecycles: #​88989
  • [ci] Silence baseline-browser-mapping warnings: #​89175
  • [Cache Components] Prevent streaming fetch calls from hanging in dev: #​89171
  • React types update: #​89110
  • [nextjs] feat: removing length requirement: #​89173
  • add GPTBot to matcher for known bots: #​89188
  • Ensure .md licenses are included in vendored packages: #​89201
  • Switch development log item format as JSON: #​89168
  • IsolatedDevBuild flag removal: #​89167
  • fix: coerce HEAD to GET for internal images: #​84180
  • Upgrade React from 10680271-20260126 to 230772f9-20260128: #​89250
  • Upgrade tar used to extract SWC binary : #​89158
  • Sort prerender manifest routes: #​89246
  • Track vary params for segments without server-side param access: #​88998
  • Optimistic routing: client-side route prediction: #​88965
  • Keep pages/404.js to be able to dynamically render it anyway: #​89263
  • fix: fully static pages should emit & serve static rsc payloads: #​89202
  • fix: CSRF origin matching should be case-insensitive: #​89127
  • fix(build): format runAfterProductionCompile duration as human-readable time: #​89232
  • fix(router): support BigInt in query parameters: #​89213
  • Update font data: #​89200
  • Update font data: #​89272
  • Turbopack: add support for contentType condition for webpack loaders: #​89156
  • Revert "fix(router): support BigInt in query parameters": #​89283
  • Track vary params during static prerendering: #​89267
  • Improve lock dir error message: #​89119
  • Ensures browserslist doesn't issue outdated warnings for baseline-browser-mapping: #​89287
  • Replace build id in Pages data routes with deployment id: #​88959
  • Upgrade React from 230772f9-20260128 to da641178-20260129: #​89301
  • Inline handler dependencies instead of tracing: #​89269
  • Turbopack: add rules.*.type config to allow changing the type of a module: #​88788
  • Add experimental.varyParams feature flag: #​89307
  • Fix/zlib mem node: #​89099
  • Revert "Replace build id in Pages data routes with deployment id (#​88959)": #​89323
  • Turbopack: Rename crates/napi to crates/next-napi-bindings and update crate name: #​89314
  • feat: detect @​typescript/native-preview as alternative TypeScript compiler: #​89149
  • Revert "Fix/zlib mem node": #​89322
  • Turbopack: FreeVarReference::ReportUsage: #​89302
  • Make Server Function logging opt-in via logging.serverFunctions: #​89321
  • Restore default-enabled Server Function logging: #​89407
  • Re-add build-complete traces for webpack: #​89402
  • Skip Server Function logging for 'use cache' functions: #​89408
  • Replace flight navigation build id field with header: #​88855
  • Upgrade React from da641178-20260129 to ed4bd540-20260202: #​89401
  • Upgrade React from ed4bd540-20260202 to b1533b03-20260203: #​89444
  • Upgrade React from b1533b03-20260203 to 3e00319b-20260203: #​89449
  • Rename CACHE_ONE_YEAR for clarity and fix usage: #​89450
  • [Codemod] Fix agents-md on Windows: #​89319
  • Experimental deferred entries handling: #​88347
  • Add experimental.reportSystemEnvInlining for Turbopack: #​89304
  • fix: use signal-based exit codes to prevent inspector blocking exit: #​89351
  • Add Instant Navigation Testing API: #​89465
  • Support MPA navigations in instant(): #​89469
  • Handle Pages data route skew with deployment id header, take 2: #​89325
  • Include owner stack for forwarded errors if available: #​89493
  • [CC] Rename "unstable_prefetch" to "unstable_instant": #​89448
  • Ensure module contexts are always included in adapter traces: #​89508
  • Don't insert build id comment in HTML: #​89478
  • Clarify type checking error message: #​89525
  • Require explicit cacheLife on outer "use cache" when nesting short-lived caches: #​89481
  • [Instant] Instant validation in Dev: #​89077
  • Upgrade React from 3e00319b-20260203 to 95ffd6cd-20260205: #​89550
  • Turbpopack: fix is_persistent_caching_enabled: #​89533
  • Fix a small doc typo: #​89553
  • Ensure _middleware is consistent in adapter for name/id: #​89559
  • Ensure Errors with deep causal chains respect inspect depth: #​89594
  • refactor: extract route discovery into unified discoverRoutes() API: #​88971
  • Ensure static metadata are static outputs for adapters: #​89574
  • Resolve local variable references in error code SWC plugin: #​89596
  • Turbopack: Add --experimental-server-fast-refresh CLI flag: #​89274
  • Fix deployment id header when proxying: #​89593
  • fix: deprecated util._extend: #​89614
  • Fix missing non-deferred turbopack build items: #​89616
  • Revert "Ensure _middleware is consistent in adapter for name/id": #​89624
  • Omit unused arguments for server actions: #​89651
  • Upgrade React from 95ffd6cd-20260205 to 2dd9b7cf-20260208: #​89681
  • Include AggregateError.errors in terminal output: #​88999
  • fix(image): findClosestQuality returns 0 for low quality values: #​89621
  • Upgrade React from 2dd9b7cf-20260208 to 272441a9-20260209: #​89722
  • Avoid using unclosing prefetch streams in the browser: #​89610
  • Pass shouldCache to all manifest loading calls: #​89713
  • Add 2nd cloned body to FinalizationRegistry. Only used RuntimeStyles component for webpack: #​88577
  • Tracing: trace render times as render-path: #​89763
  • Turbopack: Server HMR infrastructure: #​88870
  • Turbopack: Reorganize runtime files into shared/runtime directory: #​89461
  • [Instant] Validation on client navs: #​89777
  • Turbopack: extract core hmr client logic into shared runtime: #​88912
  • Turbopack: Fix slow filesystem benchmark warning for next dev: #​89798
  • Add turbopackIgnoreIssue config to suppress Turbopack warnings: #​89682
  • Add support for with type: "text" under a new experimental flag, following what webpack did: #​89560
  • Remove unused devtools code handling React without use: #​89793
  • [devtools] Wrap overlay in Activity: #​89818
  • Add CSS URL deployment ID suffix support: #​89771
  • Fix cascading LRU eviction during prefetch batches: #​89766
  • Refactor prerenderManifest passing: #​89765
  • [AI] Ship bundled docs in next and generate AGENTS.md in create-next-app: #​89850
  • Turbopack: Implement server hmr in nodejs dev runtime: #​89130
  • Allow sitemap.ts and sitemap/page.tsx to coexist in Turbopack: #​89789
  • [fragment-scroll] Cleanup scroll and focus restoration in layout router: #​83110
  • [fragment-scroll] Add experimental.appNewScrollHandler: #​83107
  • [Instant] Fix crash with search params: #​89922
  • Fix memory leak in dev mode caused by fast-set-immediate: #​89779
  • Trace upload: include experimental flag states: #​89845
  • Upgrade React from 272441a9-20260209 to 6066c782-20260212: #​89923
  • Add a better error message for when turbopack cannot be loaded: #​89633
  • fix: support multiple icon formats with same base name (icon.png + icon.svg): #​89504
  • Turbopack: Move turbopackIgnoreIssue from experimental to turbopack.ignoreIssue: #​89817
  • Build with dev runtimes when --debug-prerender is set: #​89834
  • Append deployment id query string for next-font: #​89960
  • Fix parallel routes with deferred entries: #​89967
  • Rename node extension utils for clarity: #​89970
  • Model abandoning by signal: #​89971
  • Fix missing incremental cache in middleware unstable_cache: #​89980
  • Run fast immediates during prerender abort to fix flaky I/O stack traces: #​89969
  • [fragment-scroll] Ensure hoisted elements don't break scroll-to-top on page navigations: #​83108
  • dx: Include path count in export error message: #​89333
  • fix(agents-md): use require.resolve() to get the installed next version: #​89166
  • docs: agent skills, pr-status script, and AGENTS.md updates (1/8): #​89857
  • Ignore prefetch={true} on Links to routes with instant: #​90061
  • Expand deferred entries test suite and fix turbopack build: #​90057
  • Use StageController for runtime prerendering: #​89972
  • Improve task pipelining: #​90065
  • fix(next/legacy/image): add deployment id (dpl) query string support: #​89956
  • Cache expected missing manifest read: #​89908
  • Use for...in instead of Object.keys for parallelRouteKey traversal: #​89905
  • [Instant] allow non-blocking dynamic holes and errors in shared parents: #​89875
  • Move prefetch hints from CacheNodeSeedData to FlightRouterState: #​90066
  • [Instant] Don't block on client APIs that wouldn't block in the browser: #​89924
  • [devtools] Add support for error causes in the dev overlay: #​90108
  • Unify runInSequentialTasks across all sequential task work: #​89978
  • Cleanup all stage promises on abort: #​89984
  • segment cache: fix segment cache normalizer: #​90111
  • Handle null history.state in client-side router popstate handler: #​90083
  • Don't parse default postponedsizelimit: #​89906
  • Turbopack: handle invalid RSC imports via importmap: #​88146
  • [create-next-app] Improve AGENTS.md prompt wording: #​90118
  • ensure maxPostponedStateSize is always respected: #​90060
  • Upgrade React from 6066c782-20260212 to 4842fbea-20260217: #​90144
  • [fragment-scroll] Stop focusing the first focusable host descendant: #​89903
  • fix: normalize loopback only in hostname: #​90158
  • Only error for sync IO after runtime in segments that would be runtime prefetched: #​89979
  • [refactor] Replace runtime prefetch sentinel transform stream: #​90160
  • fix: use Buffer.indexOf in uint8array helpers for faster byte scanning (3/8): #​89864
  • Automatically build and clear native build when running pnpm build: #​89819
  • fix(cache): DCE to avoid pulling server internals into browser bundles (4/8): #​89865
  • Attach active src route to next global: #​90171
  • Fix OTEL propagation and add direct entrypoint e2e coverage: #​90181
  • Use cookie as sole protocol for instant navigation testing: #​89871
  • Simplify metadata tag rendering to flat imperative style: #​90209
  • Prevent unhandled rejection filter from being bundled into the server runtime: #​90205
  • [Instant] speed up test instant-validation suite: #​90214
  • Turbopack: fix static asset skew protection for edge and prerenders: #​90238
  • Remove workStore from params/searchParams/pathname function signatures: #​90215
  • Remove workStore from metadata resolution chain: #​90217
  • [Instant] export "Instant" config type: #​90257
  • Replace getDynamicParamFromSegment closure with interpolatedParams in metadata: #​90249
  • [Instant] Dev Tools toggle for Instant Navigation Mode: #​90222
  • [instant] Include declaration location of instant config in validation errors: #​90169
  • Turbopack: rename ServerPaths to AssetPaths: #​90234
  • feat(next/image): add lru disk cache and images.maximumDiskCacheSize: #​89963
  • Revert "Handle null history.state in client-side router popstate handler": #​90268
  • [devtools] Omit empty looking error messages: #​90256
  • Fix runtime prefetch isPartial byte stripping when deployed: #​90272
  • Upgrade React from 2ba30655-20260219 to ab18f33d-20260220: #​90279
  • validate sync IO in generateMetadata according to Page's prefetchable status: #​90164
  • Turbopack: support Subresource Integrity
    #​90152
  • segment cache: add test for passing unawaited promise to context provider: #​89339
  • Fix route.replace crash with --debug-build-paths: #​90312
  • refactor(app-render): extract stream-ops and debug-channel modules (5/8): #​89858
  • [turbopack] Consider ignoreList of 3rd party sourcemaps in Redbox: #​90317
  • [turbopack] Remove obsolete is_internal field : #​90329
  • Fix: Image component ignores images.qualities in Jest environment: #​89536
  • Revert "keep next-env.d.s unchanged between dev and build": #​90384
  • Fix route cache keying for unprefetched navigations: #​90400
  • Add support for Next.js error telemetry for AggregateError: #​90391
  • Fix config.reactProductionProfiling for Webpack: #​90430
  • next-image: fix deployment id handling for unoptimized: #​90416
  • [ci] Fix input cache keys for tasks referencing rust-toolchain: #​90442
  • next-image: fix dpl handling with unicode: #​90420
  • Upgrade React from ab18f33d-20260220 to c0060cf2-20260224: #​90452
  • [ci] Stop using Turbopack tests in native binary build cache keys: #​90449
  • [Instant] Validate blocking head: #​89539
  • Turbopack: Fix experimental server hmr for pages router: #​90398
  • Fix params leaking into instant navigation shell in dev: #​90455
  • Limit build workers to pages+1: #​90475
  • fix: sanitize worker args for worker_threads compatibility: #​90506
  • Fix varyParams tracking for optional catch-all params with no value: #​90496
  • Don't start worker for Typescript when only doing config validation: #​90504
  • [Instant] Fix loading.js not being counted as a suspense boundary: #​90292
  • [ci] Crash if next-swc could not be loaded when NEXT_TEST_NATIVE_DIR is specified: #​90387
  • Fix: server-patch retry preserves push/replace intent of suspended transitions: #​90533
  • Cached Navigations: Serve cached segments instantly on repeat visits: #​90223
  • Throw when unstable_instant is used in Client Component: #​90396
  • [test] Fix jest-haste-map warnings: #​82995
  • Don't require collect-build-traces with Turbopack: #​90586
  • Enable experimental.reactDebugChannel by default: #​90310
  • Less dynamic pages manifest path: #​90581
  • Upgrade React from c0060cf2-20260224 to 98ce535f-20260226: #​90605
  • Turbopack: Add Next.js version to "initialize project" trace span: #​90545
  • [devtools] Stop sending codeframes for ignored frames: #​90577
  • Allow reset() from user's global-error: #​89684
  • Fix per-segment prefetching for initial loads with Cache Components: #​90610
  • Add unstable_retry() to error.js: #​89685
  • Fix edge index page _next/data route: #​90611
  • Turbopack server hmr: Implement restart event: #​90550
  • Turbopack: Panic if a top-level task attempts an eventually consistent read: #​89735
  • Fix middleware case with adapters: #​90624
  • refactor(turbopack-node): support execution by napi and worker_threads: #​86266
  • [instant] Allow providing user feedback for blocking route errors: #​90498
  • Allow Node.js' experimental inspector flags in next dev and next build: #​90603
  • tests: Assert dpl query string in all tests for Turbopack: #​90592
  • [instant] Don't add debug stack to random unstable_instant exports: #​90273
  • Adapter: STATIC_FILE.immutableHash: #​90045
  • Turbopack: experimental.immutableAssetToken: #​88607
  • remove runInContext callbacks from stream-ops: #​90609
  • Turbopack: restrict server HMR to app pages: #​90663
  • Turbopack: Allow turbopack-node backend to be swapped at runtime using an experimental config option: #​90671
  • Turbopack: Revert default loader runtime backend to child processes: #​90675
  • [devtools] Stop blocking overlay on error details copy: #​90698
  • feat: provide nextVersion to modifyConfig adapter hook: #​90735
  • experimental.prefetchInlining: bundle segment prefetches into a single response: #​90555
  • instant(): fix cookie handling for fresh page loads: #​90613
  • fix(turbopack): use posix.join for client URL manifest paths on Windows: #​90700
  • Turbopack: improve cell order lint rule for ReadRef::cell: #​88500
  • Change names of logged times: #​90688
  • [devtools] Bump React Compiler version to latest experimental: #​90763
  • Skip writeToBfCache without window: #​90771
  • docs: error component unstable_retry(): #​89732
  • Stub adapterPath with experimental.runtimeServerDeploymentId: #​90790
  • Conditionally load uncommon paths: #​90514
  • Refactor extractExportedConstValue to return { value } | null instead of throwing: #​90510
  • Reimplement code frame rendering in native code: #​85592
  • [devtools] Bundle for same target as Next.js browser runtime: #​90762
  • Upgrade React from 98ce535f-20260226 to 4cc5b7a9-20260303: #​90827
  • Add transitionTypes prop to next/link: #​90701
  • [otel] fix missing http.route attribute: #​90832
  • [otel] set parent span name: #​90840
  • Update default error pages: #​90469
  • Replace PPR config helpers with cacheComponents checks: #​90704
  • Cached Navigations: Cache visited fully static pages in the segment cache: #​90306
  • Remove isRoutePPREnabled from render options and delete dead PPR branch: #​90713
  • Use page extensions in next-swc transforms applying to pages: #​90650
  • Cached Navigations: Cache static stage of partially static initial HTML: #​90539
  • Remove PrerenderStorePPR type and all prerender-ppr switch cases: #​90721
  • Clean up legacy PPR references in test fixtures: #​90725
  • Cached Navigations: Cache runtime stage data from navigation requests: #​90666
  • Remove legacy PPR postpone cluster: #​90726
  • partial fallbacks: add adapter flag: #​90395
  • Address review feedback: extract modules, clean up imports: #​90813
  • Add trace spans for turbopack persistence in .next/trace: #​90397
  • Upgrade React from 4cc5b7a9-20260303 to 3bc2d414-20260304: #​90876
  • Fix prefetch inlining build failure with dynamic routes: #​90899
  • Update @vercel/og and satori vendors: #​90933
  • Batch require cache deletion to avoid quadratic scanning: #​90625
  • Revert legacy PPR removal: #​90948
  • Rewrite instant validation to use depth-based URL boundary discovery: #​90905
  • Add experimental.cachedNavigations feature flag: #​90928
  • preserve allowQuery for partial fallback shells: #​90887
  • Cache runtime data for partially static pages on initial load (resume): #​90888
  • re-introduce partial fallback -> route upgrading: #​89063
  • fix: Don't fall through to catch-all when static child subtree doesn't match: #​90957
  • Bump Node heap limit for lint-no-typescript to avoid OOM in CI: #​90996
  • Upgrade React from 3bc2d414-20260304 to 46103596-20260305: #​90989
  • fix: trigger MPA navigation for server action redirects with build ID mismatch: #​89946
  • Improve webpack loader error messages and handling: #​89698
  • Turbopack: implement module.hot.accept(deps, cb) and module.hot.decline(deps): #​90443
  • partial fallbacks: gate behind experimental flag: #​91123
  • fix: app-page URL normalization: #​91121
  • Updates to Instant Navs devtools functionality: #​91005
  • Trace upload: add git and environment info: #​91124
  • fix(css): rewrite MiniCssExtractPlugin insert function to ES5 to support legacy browsers: #​90556
  • Revert "Address review feedback: extract modules, clean up imports": #​91159
  • [turbopack] Render code frames on the turbopack side: #​90534
  • Add experimental.lightningCssFeatures config option: #​90901
  • fix: correct appPaths sort order for parallel routes with route groups: #​91160
  • Tracing: tag spans as failed if their runner fn fails: #​91206
  • Adds a Start button to the Instant Navs panel to initiate inspection …: #​91216
  • Preserve RSC metadata in Proxy request with skipProxyUrlNormalize: #​91213
  • [cna] Bump picocolors to 1.1.1: #​91252
  • [Instant] Build-time validation: #​90964
  • [Instant] fix instant config suggested by editor plugin: #​91262
  • chore(deps): Bump tar from 7.5.7 to 7.5.11 in /packages/next: #​91233
  • Upgrade React from 46103596-20260305 to 5e9eedb5-20260312: #​91272
  • feat(server): expose requestMeta router helpers and merge fallback context: #​91235
  • [Instant] Show owner stack for validation-blocking errors: #​91277
  • Hydrate page loads during instant navigation testing: #​91207
  • perf: use Buffer.from for base64 encoding of binary Flight data: #​91221
  • Skip dimming when --inspect is used: #​91271
  • Respect generateStaticParams in instant navigation shell: #​91316
  • [Prefetch Inlining] Generate size-based hints on server: #​90891
  • Wire cache handlers in edge paths and add e2e regression coverage: #​91236
  • Expose edge runtime fields in build-complete: #​91239
  • [turbopack] Remove turbo_tasks::function from ModuleReference getters: #​91229
  • [Turbopack] write route bundle stats to .next/diagnostics/route-bundle-stats.json: #​90949
  • partial fallbacks: only upgrade shells with remaining prerenderable params: #​91158
  • partial fallbacks: complete generic shells into more specific shells: #​91231
  • Add eval and docs for unstable_instant: #​91334
  • Simplify scroll restoration with shared ScrollRef on CacheNode: #​91348
  • fix: test-cargo-unit CI job timing out since LTO was enabled: #​91424
  • fix(build): don't block SSG on telemetry flush, add persistence spans to trace-build: #​91335
  • Ready in X - prints wrong timing on dev server restart: #​90874
  • Show generated code from loaders in parse error messages: #​89898
  • Remove unused layer from server actions manifest: #​91425
  • Support accessing root params in generateStaticParams: #​91189
  • Avoid undefined outer work unit store in "use cache": #​91190
  • Add unstable_dynamicStaleTime route segment config: #​91437
  • [next-playwright] Use unique cookie values for instant navigation testing lock: #​91250
  • Add unstable_catchError() API for component-level error recovery: #​89688
  • docs(turbopack): Fix all warnings in cargo doc --no-deps --workspace, and run rustdoc as part of our CI checks: #​91339
  • Patch improvements into http-proxy lib: #​91480
  • Disallow Server Action submissions from privacy-sensitive contexts: #​91478
  • Fix startup warmup for empty-shell app route cache: #​91470
  • Fix unstable_catchError type inference for fallback props: #​91485
  • Support accessing root params in "use cache" functions: #​91191
  • Fix inconsistent cache life/tags propagation for cache handler hits: #​91454
  • Upgrade React from 5e9eedb5-20260312 to c80a0750-20260312: #​91324
  • Error when accessing undefined root params in generateStaticParams: #​91519
  • Buffer prefetch response before passing to Flight client: #​91487
  • [Segment Cache] Always upsert on prefetch completion: #​91488
  • Track vary params during runtime prefetches: #​89297
  • [react-sync] Allow locking in manual sync: #​91509
  • Remove devCacheControlNoCache experimental option (hard-code no-cache): #​91503
  • fix allowedDevOrigins for no-cors requests: #​91506
  • Remove webpack stats generation from Turbopack: #​91515
  • Upgrade React from c80a0750-20260312 to 3f0b9e61-20260317: #​91522
  • Move adapterPath from experimental to stable top-level config: #​91535
  • block disallowed dev origins by default: #​91507
  • Turbopack: Merge release-with-assertions-no-lto profile into release-with-assertions: #​91530
  • improve allowedDevOrigins error: #​91521
  • Add group depth tracking to instant validation boundary discovery: #​91208
Documentation Changes
  • docs: next experimental-analyze: #​87272
  • docs: use cache private redo: #​87111
  • docs: fix highlight in 05-server-and-client-components.mdx: #​87347
  • Guide: Update Optimizing Package Bundling to include new Bundle Analyzer: #​87246
  • docs: generateMetadata and generateViewport w/ CC: #​87218
  • docs: tweaks/fixes to papercuts: #​87445
  • docs: fix typos and clarify examples in Cache Components guide: #​87530
  • [docs] add get_routes in mcp available tools: #​88181
  • Update generateMetadata in client component error: #​88172
  • docs: fix CSP example to only include unsafe-eval in development: #​88407
  • docs: add useSearchParams and useParams documentation for Pages Router: #​88429
  • docs: fix Pages Router fonts documentation showing App Router examples: #​88326
  • doc: add details of mcp client integration: #​88543
  • Turbopack: query conditions in rules follow-ups: #​88801
  • Docs: Add Next.js Glossary: #​88811
  • docs: Server functions rename: #​86827
  • docs: Update Partytown URLs and package reference: #​88928
  • docs: improve clarity in cache components and server/client docs: #​88946
  • docs: revalidatePath w/ rewrites and trailing slash: #​88956
  • Cache Component Guide: Building public, mostly static pages: #​87248
  • Turbopack: Add postcss.config.ts support: #​89049
  • CC Guide: Fix filenames, reduce line breaks: #​89065
  • docs: fix code highlight in 07-fetching-data.mdx: #​88727
  • [docs] Always include unsafe-eval in dev Content-Security-Policy: #​89163
  • Turbopack: add support for turbopackOptional: true: #​89227
  • docs: Rename Error component to ErrorPage: #​89284
  • docs: replace 'can not' with 'cannot': #​89354
  • docs: Fix custom server code snippets: #​89400
  • Snippet multi package syntax: #​89381
  • Fix indentation of types of tests in docs: #​89409
  • docs: Fix syntax in proxy example code: #​89395
  • docs: fix ISR guide link to res.revalidate: #​89342
  • Fix spelling in robots.mdx documentation: #​89565
  • Remove more examples: #​89709
  • clarify unstable_cache replacement with use cache: #​89435
  • docs: correct use term: #​89438
  • [docs] Add RedirectType usage example to permanentRedirect: #​89833
  • Next CLI flags documentation: #​89750
  • docs: adapt lead to source path patterns: #​89392
  • docs: Papercuts Feb26: #​89484
  • After() docs requests API: #​89837
  • docs: Move browserToTerminal into logging: #​88901
  • Update documentation to explain behavior in a Catch-all route: #​89742
  • docs: add deploymentId config and clarify encryption key for self-hosting: #​89795
  • docs: adapterPath amends: #​89930
  • docs: improve next/image localPatterns error page: #​89914
  • docs: inline-css dev-action oriented: #​89064
  • docs: document cacheLife expire omission behavior and fix default preset value: #​89913
  • docs: Activity boundary guide: #​89126
  • Turbopack: Add inline loader configuration via import attributes: #​89644
  • docs: fix broken blockquote formatting in API Routes page: #​89966
  • docs: clarify async instrumentation register request : #​90039
  • Add AGENTS.md and bundled docs guide: #​89973
  • In-Depth Explanation of React Version Handling Doc: #​89426
  • Next.js sticky scroll standards: #​90197
  • docs: fixes typo in manifest.mdx regarding Route Handler note: #​90394
  • docs: improve form guide consistency and validation examples: #​90361
  • docs: rework version staleness: #​90192
  • docs: clarify that next upgrade is for 16.1.x+: #​90435
  • Add not-found.js / notFound() links to Status Codes section: #​88332
  • docs: update with more patterns and decision based: #​90203
  • docs: add Docker Standalone and Docker Export examples to Deploying page: #​90386
  • feat: Join guides and frame around UI preservation: #​90595
  • docs(deploying): add Hostinger Web Apps Hosting to Node.js deployment options: #​90246
  • docs: fix navigationType value and variable name in useReportWebVitals: #​90599
  • Accept header content negotiation: #​90607
  • docs: clarify native <script> usage for JSON-LD in docs: #​90380
  • Create next app CLI docs: #​90788
  • Unify caching story across the docs: #​90149
  • update proxy docs to use NextProxy type: #​90647
  • Loading layout docs update: #​90787
  • Uncached data suspense issue: #​90450
  • docs: explain deploy test custom scripts: #​90966
  • Update adapters documentation: #​90986
  • docs: large page data error: #​90920
  • docs(localFont): enhance details about using the localFont function: #​88189
  • chore(docs): mention behavior of redirects and remotePatterns: #​91151
  • docs: More Server Actions security guidance across docs: #​90878
  • docs: Streaming guide: #​90779
  • Docs: Split route segment config options into their own files: #​90991
  • Expose resolved invocation targets in next-routing: #​91242
  • docs: remove incorrect _document.tsx font example: #​91346
  • docs: unstable_catchError(): #​89847
  • SRI turbopack documentation: #​90477
  • docs: Clarify ignoreBuildErrors behavior: #​91367
Example Changes
  • fix: Change Dockerfile.bun to use group/useradd instead of addgroup/user: #​87443
  • fix(examples): resolve hydration mismatch in blog-starter: #​87703
  • Update with-mysql example to Next.js 15, Tailwind 4, Prisma 7: #​88475
  • chore(examples): remove with-recoil exmaple: #​81836
  • chore(examples): remove with-tigris example: #​81843
  • [feat] Added Docker examples for standalone output and export output following best practices: #​87069
  • Migrate from react-markdown to Streamdown static in EdgeDB example: #​86435
  • example: restore .next handling for with-docker examples: #​90651
  • with-docker: add new config file formats: #​90731
  • example: remove duplicate items in .dockerignore: #​91079
Misc Changes
  • Turbopack: refactor graph traveral and fix module graph determinism: #​87312
  • bundle analyzer: remove uncompressed toggle, stabilize top bar ui: #​87325
  • test: de-flake client-cache deployment tests: #​87412
  • Revert "Revert "[turbopack] Set liveness of exports based on assignment analysis (#​82802)"": #​87214
  • ci: track runner name on datadog test reports: #​87440
  • Turbopack: In CI only persist at the end: #​87316
  • fix: correct quotes in dev script filter in package.json: #​87638
  • chore: add a missing period to rspack description: #​86526
  • [test] Move off of as much url.parse as possible: #​87286
  • Update Rspack production test manifest: #​87889
  • Update Rspack development test manifest: #​87888
  • chore(turbo-tasks-malloc): replace mimalloc-rspack to mimalloc: #​87815
  • fix: normalize CRLF line endings in jscodeshift tests on Windows: #​88008
  • chore: add Claude Code configuration: #​87943
  • test: reduce flakiness in opentelemetry test for prod mode: #​88102
  • Rename CLAUDE.md to AGENTS.md with symlink: #​88105
  • [turbopack] Populate the names field of sourcemaps: #​87911
  • Turbopack: fix order of breadth first edges: #​88117
  • Turbopack: transpile CHUNK_SUFFIX: #​88128
  • chore: add dev boot profiling and benchmark scripts: #​87940
  • perf: improve stats action reliability and reduce CI noise: #​87945
  • Update Rspack production test manifest: #​88137
  • Update Rspack development test manifest: #​88138
  • Fix compile error when running next-custom-transform tests: #​83715
  • chore: add Conductor configuration for parallel development: #​88116
  • fix: move conductor.json to repo root for proper detection: #​88184
  • Turbopack: Update to swc_core v50.2.3: #​87841
  • ci: run stats on canary pushes for historical trend tracking: #​88157
  • perf: improve stats thresholds to reduce CI noise: #​88158
  • Turbopack: Use batch get request to read more efficient from database: #​87106
  • Turbopack: improve aggregation update performance: #​87317
  • Add test creation instructions to agents.md: #​88215
  • Turbopack: report changed env vars in tracing: #​88195
  • Turbopack: get rid of some manual self.await-s: #​88236
  • Guard against Object/Array shadowing in 'use cache' transform: #​88229
  • feat(turbo-tasks-fs): support multi denied_paths: #​88186
  • Upgrade to swc 54: #​88207
  • ci: fix javascript-urls test to account for React 18: #​88249
  • Turbopack: Remove tokio and turbo-task handles from Invalidator: #​88242
  • Turbopack: remove Stateful flag: #​88196
  • Upgrade to rustc 2026-01-04: #​88095
  • Turbopack: include children count in "task execution completed" span: #​87318
  • Turbopack: avoid blocking tasks for I/O work: #​87661
  • Turbopack: flatten trace when it reaches cut off depth: #​88118
  • Turbopack: remove unused code: #​88274
  • Turbopack: escape colon in output names: #​88273
  • [test] Add a failing test for cycle serialization in segment prefetches: #​88287
  • Turbopack: scope hoisting bug with reexport-self-star: #​86131
  • Turbopack: Add #[automatically_derived] to proc macros: #​88281
  • Update Rspack development test manifest: #​88260
  • Turbopack: Use format! instead of anyhow! inside of anyhow::Context::with_context calls: #​88293
  • Turbopack: pull in updated vercel/nft tests: #​88162
  • Fix pack-next script for next-swc: #​88126
  • Turbopack: use correct flags in tests: #​88307
  • Turbopack: fix task category on reading cells: #​88309
  • agent.md: Explain where the Next.js core code lives: #​88314
  • Turbopack: improve next-server.nft.json tests: #​88320
  • Turbopack: add family to database read span: #​88323
  • Tests: Reduce loglines from apply patch delay: #​88224
  • Turbopack: prefetch children too: #​88324
  • Turbopack: more stale details for tracing: #​88306
  • Turbopack: make GraphTraversal deterministically calling all nodes before erroring: #​88119
  • Turbopack: improve error message for incompatible swc plugins: #​86346
  • Update Rspack development test manifest: #​88301
  • Update Rspack production test manifest: #​88300
  • Stats Action: Add ready in time: #​88283
  • fix: skip stats-aggregate job for docs-only changes: #​88330
  • docs: add PR description guidance to AGENTS.md: #​88408
  • ci: Fix retry comments in workflow files: #​88412
  • [test] Deflake test/integration/invalid-custom-routes/test/index.test.ts: #​88416
  • [test] Remove rogue debug log: #​88423
  • Update AGENTS.md with PR template and test generation requirements: #​88417
  • Add .cursor/worktrees.json configuration: #​88415
  • docs: add guidance for code block highlight line numbers to AGENTS.md: #​88430
  • [turbopack] Compute transitive side effects and use them to trim imports: #​86675
  • fix(turbo-tasks-backend): use correct TaskDataCategory for is_immutable check: #​88331
  • perf(turbo-tasks-backend): use DefaultStorage for AggregationNumber to save memory: #​88336
  • [Turbopack] Move DirList to its own module: #​88256
  • docs: add rebuild guidance and ICE troubleshooting to AGENTS.md: #​88337
  • Type-check run-tests.js and remove unused related flag: #​88433
  • [test] Remove obsolete reference to NEXT_TEST_SKIP_RETRY_MANIFEST: #​88434
  • Revert "[Turbopack] Move DirList to its own module": #​88441
  • [scripts] Avoid conflicting type for pack-next --compress: #​88439
  • Update Rspack production test manifest: #​88403
  • Update Rspack development test manifest: #​88404
  • [test] Always run all tests without aborting on failure: #​88435
  • Turbopack: remove sourcemapping comments: #​88217
  • Turbopack: use mimalloc on Linux musl: #​88426
  • Turbopack: add support for selective reads of keyed cell values: #​88303
  • Turbopack: Reduce usage of parse_quote in turbo-tasks-macros: #​88454
  • Turbopack: don't cell in async map: #​88473
  • Turbopack: replace is_reference_used with unused_references set: #​88304
  • Turbopack: add lint rule to not cell in async map: #​88474
  • Turbopack: Remove dead generic_type_macro code: #​88455
  • Turbopack: remove unused code: #​88497
  • Turbopack: improve cell order lint rule: #​88498
  • Turbopack: parallelize making dependent tasks dirty: #​86755
  • Turbopack: fix bad performance edge case in production chunking: #​88508
  • Remove lerna bootstrap from the clean script in package.json: #​88527
  • Turbopack: Clean up VcRead::Repr associated type: #​88456
  • [cna] Avoid error with out-of-box Netlify config: #​88546
  • [turbopack] Move some of the logic for issue filtering into the rust layer: #​88511
  • Update Rspack production test manifest: #​88469
  • Update Rspack development test manifest: #​88470
  • feat: add TaskStorage derive macro and schema infrastructure: #​88338
  • [ci] Don't retry/notify for failed deploy tests with custom tarball URLs: #​88576
  • fix(turbopack): Collect declare global {} in VarDeclWithTsDeclareCollector: #​88568
  • Update labeler.json: #​88591
  • Fix optional parent_task_id compile failure w/tokio_tracing enabled: #​88598
  • Turbopack: support disabling tsconfig lookup: #​88529
  • Turbopack: run tasks with priority based on distance to leaf: #​87662
  • Turbopack: avoid removing cells for erroring tasks: #​88305
  • [ci] Use native concurrency feature in build-and-test: #​87287
  • Turbopack: unflake unit test: #​88620
  • Turbopack: snapshot the ModuleGraph to avoid (eventual) inconsistent graphs: #​88340
  • Turbopack: Consistency for compute_async_module_info: #​88409
  • Turbopack: follow tracing spans through aggregation update queue: #​88410
  • Turbopack: avoid chunk_item_id task and use selective cell access instead: #​88411
  • Turbopack: MappedReadRef should be Send and Sync: #​88558
  • Turbopack: selective read for module_chunk_groups in ChunkGroupInfo: #​88559
  • Turbopack: use selective reads for merged modules: #​88560
  • Turbopack: add caching to chunking: #​88561
  • Turbopack: use bugs.nextjs.org for Turbopack panic error reports: #​88356
  • Turbopack: docs: condition.query will ship in 16.2.0, not 16.1.1: #​88663
  • [turbopack] Add bundling support for worker_threads: #​87746
  • [cna] Ensure created app is not considered the workspace root in pnpm: #​88647
  • Revert "[turbopack] Add bundling support for worker_threads": #​88725
  • [ci] Enable Turborepo remote caching in e2e release deploy tests: #​88746
  • [test] Deflake test/development/app-dir/browser-log-forwarding/fixtures/verbose-level/verbose-level.test.ts: #​88754
  • Fix Build Commands section in AGENTS.md: #​88757
  • [test] Deflake test/development/app-dir/hydration-error-count/hydration-error-count.test.ts: #​88749
  • [ci] Exclude test/production from deploy tests: #​88763
  • Apply buildArgs also for deploy tests (via package.json): #​88731
  • [ci] Ensure Turbo Remote Cache can be written to: #​88794
  • perf(turbopack): optimize resolve plugin handling: #​88639
  • Fix buildManifest.js deployment tests: #​88806
  • [ci] Merge Cache Components and deploy tests manifests when running CC deploy tests: #​88824
  • Turbopack: Extend filesystem watcher fuzzing to cover symlinks and junction points: #​88192
  • [test]: add ability to run test-deploy with pre-existing deployment: #​88829
  • Update deterministic-build assertion: #​88820
  • Turbopack: shrink amortized: #​88619
  • Fix deployment test due to data-dpl-id attribute: #​88846
  • [ci] Fix Rspack/Turbopack test manifest generation: #​88845
  • Turbopack: show compressed size for print_cache_item_size: #​88850
  • [test] Fix deploy test of cache-components.server-action.test.ts: #​88854
  • Turbopack: Use a real file entrypoint for Workers (and SharedWorkers): #​88602
  • Turbopack: Add file write invalidation tracking to filesystem watcher fuzzing: #​88665
  • Turbopack: Move fuzzer for fs watcher into a separate file/module: #​88666
  • Turbopack: Add a stress test / fuzzer that tries creating many symlinks in a tight loop: #​88667
  • Turbopack: Make the priority_runner testcase deterministic: #​88651
  • Turbopack: Various cleanup for turbo-tasks-fs, mostly retry logic and string formatting: #​88668
  • Turbopack: Tweak retry loop for link creation to try to fix os error 80 on Windows: #​88669
  • feat: Replace InnerStorage with the generated TaskStorage struct: #​88355
  • Turbopack: Use webpki-root-certs in addition to rustls-platform-verifier on Linux for bare-bones Linux images without root CA stores: #​88869
  • refactor: migrate to typed accessors and remove CachedDataItem adapter: #​88397
  • docs: add skill for updating Next.js documentation: #​88656
  • Turbopack: [chore] Fix Rust check warnings: #​88871
  • Create-next-app update message: #​88706
  • Turbopack: Fix next/font preloading for page.mdx: #​88848
  • Update Rspack production test manifest: #​88882
  • [test] Skip failing deploy test in searchparams-reuse-loading.test.ts: #​88821
  • [test] Skip flaky prefetch-runtime tests for deploy tests: #​88826
  • remove gt workflow from agents.md: #​88918
  • Turbopack: refactor data storage to avoid reverse task cache: #​88492
  • Turbopack: change invalidator and immutable to data category: #​88889
  • Turbopack: reduce cache size: #​88929
  • fix typo: #​88934
  • Turbopack: improve module type error message: #​88815
  • Turbopack: improve selective read support to allow Equivalent keys: #​88760
  • Turbopack: add indirection layer for better caching during resolving: #​80062
  • Add Graphite workflow Cursor command: #​88939
  • Update Rspack production test manifest: #​88930
  • Update Rspack development test manifest: #​88931
  • Improve performance and token usage of /ci-failures command: #​88960
  • [Turbopack] Use a presized scratch buffer for task encoding: #​88924
  • Update Rspack development test manifest: #​89004
  • Update Rspack production test manifest: #​89003
  • Turbopack: remove Asset supertrait from Module trait. Modules don't have content: #​86416
  • [test] Improve deployment skew test for Pages Router data routes: #​89038
  • Fix react-loadable-manifest chunk hash mismatch by preserving async loader mapping: #​88775
  • Fix reset deploy project script: #​89001
  • Revert "Fix react-loadable-manifest chunk hash mismatch by preserving async loader mapping": #​89073
  • /pr-status (former /ci-failures): fetch PR reviews too: #​89082
  • Improve /pr-status: comments, argument, avoid full log: #​89092
  • chore(ci): rename 'new tests' jobs to 'new and changed tests': #​89054
  • [ci] Exclude tests by filename when merging manifests: #​89093
  • Turbopack: import with type should be handled via condition: #​89035
  • Enable pnpm dependency caching in e2e deploy tests: #​88953
  • [ci] Make gh auth status optional when triggering a release: #​89098
  • Update Rspack development test manifest: #​89084
  • tweak LRU sentinel cache key: #​89123
  • Turbopack: allow key block without hash in SST files: #​88938
  • Turbopack: Remove unused argument: #​80235
  • Prettier-ignore changes in next-env.d.ts files in all top-level apps: #​89176
  • Turbopack: warn when tracing the whole project: #​89157
  • Add full adapters E2E tests to workflow: #​89125
  • Update Rspack production test manifest: #​89147
  • Fix @​next/routing for i18n api and dynamic routes: #​89197
  • Remove Vercel specific assertions from E2E deploy: #​89198
  • Add custom deploy and logs env for next-deploy: #​89206
  • Turbopack: change AsyncModulesInfo to use keyed reads: #​89216
  • Turbopack: selective reads of defined env vars in module analysis: #​88759
  • Turbopack: fix tracking modifications for transient and data: #​89228
  • [ci] Clear Jest transform cache: #​89247
  • Turbopack: Make the globals we pass to workers configurable: #​88773
  • Accept deploy script and log script as inputs: #​89253
  • [turbopack] mark persistent_task_type as inline: #​89185
  • [test] Add test suite name for Tests failures table: #​89258
  • refactor: Improve templates layout flexibility: #​89245
  • test: add client-cache.defaults failing deploy test: #​89242
  • test: add resume-data-cache failing deploy test: #​89243
  • [turbopack] Make shrinking logic declarative and optimize for immutable tasks: #​89222
  • Turbopack: Trace task modifications: #​89229
  • Turbopack: refactor extend transforms: #​89116
  • Turbopack: improve print_cache_item_size: #​89279
  • Update Rspack development test manifest: #​89278
  • Update Rspack production test manifest: #​89277
  • Improve consistency of how Flag typed fields are handled in the macro to more structurally prevent bugs like what was fixed in #​89228: #​89255
  • Add failing test to deploy-tests-manifest: #​89318
  • Apply server actions transform to node_modules in route handlers: #​89316
  • [test] Deflake browser-log-forwarding verbose level test suite: #​89324
  • Turbopack: Move PrettyPrintError to turbo_tasks and add tests: #​89280
  • Update Rspack production test manifest: #​89372
  • Update Rspack development test manifest: #​89371
  • TURBOPACK: support chunk_loading_global method: #​88790
  • Don't upload build cache for deployment tests: #​89432
  • Add separate E2E deploy env for turbopack tests: #​89458
  • Turbopack: Symbol.for and keyFor are sideeffect-free: #​89454
  • Update Rspack production test manifest: #​89423
  • Update Rspack development test manifest: #​89424
  • Turbopack: improve suggestions for experimental.reportSystemEnvInlining: #​89486
  • Add experimental flag to expose testing API in production builds: #​89499
  • Proper e2e test of function determinism: #​88908
  • Turbopack: add turbo-persistence benchmark: #​89446
  • Proper e2e test of function determinism - adapter: #​89522
  • [test] consolidate the browser log test: #​89601
  • Fix flaky turbo cache pull with retries and graceful fallback: #​89575
  • Turbopack: Pass globals to node.js workers as well: #​89261
  • Upgrade rustc to 2026-02-05: #​89591
  • Update metadata assertions: #​89625
  • Update vercel CLI version in flakey deployment-id test: #​89652
  • Turbopack: remove unneeded benchmarks: #​89592
  • Turbopack Persistence: Remove amqf cache, store all amqfs in memory: #​89562
  • Add inline value support for small values (≤8 bytes): #​89271
  • [turbopack] remove the _backend field from TaskGuardImpl: #​89015
  • [Turbopack] Include CSS URL attributes, including Layer, Media and Supports: #​89300
  • docs: add task decomposition and verification guidelines: #​89640
  • Turbopack: Remove old Vc::try_resolve_* methods in favor of the ResolvedVc alternatives: #​89696
  • Fix reset-project script for E2E deploy tests: #​89693
  • feat: move font variables to html in create-next-app: #​89632
  • reduce the number of shards on small systems: #​89731
  • Update Rspack production test manifest: #​89701
  • Update Rspack development test manifest: #​89702
  • [test] Add regression test for segment cache prefetch memory leak: #​89756
  • Improve not-found-with-pages test: #​89538
  • Update flakey E2E deploy tests: #​89792
  • Update flakey E2E deploy tests no-prefetch: #​89799
  • Update Rspack production test manifest: #​89741
  • Fix devlow job timeouts: #​89804
  • Update Rspack development test manifest: #​89740
  • Turbopack Persistence: Improve heuristic for compacted database access: #​89497
  • Turbopack: remove ChunkableModuleReference trait: #​89745
  • docs: improve Graphite workflow documentation: #​89488
  • Remove --turbopack and --webpack flags from create-next-app: #​89706
  • Turbopack: make routes hashes mainfest more incremental: #​87107
  • [test] Remove references to removed, internal PPR environment variable: #​89832
  • [test] Enable scroll related tests in Cache Component tests: #​83245
  • docs: update adapter docs for routing, handlers, and PPR: #​89849
  • [test] Ensure new deploy test builds have the necessary env variables: #​89846
  • test: allow dpl query suffix in scss url-global expectation: #​89856
  • test: stabilize app-dir hash navigation RSC assertion: #​89867
  • Turbopack: Clean up unused register!() macro argument in test: #​89869
  • test: allow query suffix in related media URL e2e assertions: #​89872
  • Update Rspack development test manifest: #​89811
  • Turbopack: Store task error as pointer to the source error: #​89293
  • Turbopack: Pass asset_suffix_path as Vc: #​89899
  • [turbopack] Simplify JS ChunkItem with a single impl in most cases: #​89548
  • Change UrlBehavior.static_suffix to ResolvedVc<Option>: #​89921
  • [turbopack] Add #[derive(ValueToString)] and convert ~45 manual impls: #​89788
  • Turbopack hmr: fix missing factories: #​89934
  • Next-api: Check client_source_maps before generate source map: #​89915
  • Upgrade to swc 56: #​89111
  • Turbopack: fix CSS dependency locations: #​89761
  • Enable backtraces in turbopack integration tests: #​89935
  • Turbopack: Use std::any::type_name for global naming of turbo-task items: #​89874
  • [turbopack] use type_ids to register turbo task traits on value types: #​89964
  • Turbopack: Fix flake in task_statistics unit test: #​89981
  • Turbopack hmr: preserve group factory consistency for compressed modules: #​89976
  • chore: Don't run build-and-deploy CI job on graphite-base branches: #​89982
  • Turbopack: Update trybuild test dependency from 1.0.104 to 1.0.116: #​89986
  • test: Isolate read-only-source-hmr test: #​86721
  • Upgrade Lightning CSS: #​88789
  • fix(turbopack): --debug-build-paths fails with route groups: #​89336
  • test: scope e2e timeouts to startup and per-it: #​89929
  • Always set adapter deploy env variable: #​90064
  • [turbopack] Fix some modification tracking bugs in TaskStorage: #​89708
  • bench: render-pipeline benchmarks and stress routes (2/8): #​89863
  • [turbopack] fix our verify features in turbo-tasks backend: #​90013
  • Refactor factory not available error message generation: #​89897
  • [turbopack] Followup for #[derive(ValueToString)]: #​89936
  • Revert "[turbopack] Fix some modification tracking bugs in TaskStorage": #​90096
  • Disable jest cache for CI instead of wiping: #​90097
  • next-stats-action: avoid pnpm EXDEV during stats installs: #​90100
  • [turbopack] Run the deployment tests for turbopack and webpack: #​84360
  • ci: only cancel pull_request_stats on PR updates: #​90104
  • [Instant] test: remove unnecessary reactDebugChannel permutation: #​90103
  • [test] Replace flaky webpack snapshots in cache-components-errors: #​90105
  • Upgrade to swc 57: #​90084
  • [turbopack] Fix concurrent task lock panic during error formatting: #​90056
  • Reland "[turbopack] Fix some modification tracking bugs in TaskStorage": #​90098
  • refactor: fix non-determinism in resolve package: #​90058
  • Update Rspack development test manifest: #​90074
  • Update Rspack production test manifest: #​90073
  • test: extend production-browser-sourcemaps test: #​89945
  • Turbopack: use file_content.hash() consistently: #​90078
  • [test] Current behavior of focus after next/link navigation: #​89959
  • Turbopack: Enable tree-shaking for dynamic imports with destructuring: #​89683
  • test: Don't run integration tests twice for Turbopack : #​83335
  • Simplify how json imports work by turning it into a source transform: #​89631
  • Update Rspack production test manifest: #​90120
  • Update Rspack development test manifest: #​90121
  • Turbopack: Update rust toolchain to nightly-2026-02-18: #​89974
  • Turbopack: Derive Default on PartialProjectOptions, remove silly partial_project_options_with_debug_build_paths helper: #​90170
  • Turbopack: document ModuleSideEffects better: #​90132
  • [ci]: pin styled-components version in tests: #​90194
  • [turbopack] Add a simple tool to inspect serialized SST files and report on their contents: #​89310
  • Upgrade React from 4842fbea-20260217 to 2ba30655-20260219: #​90211
  • [test] Improve fetch timeout error stack for act: #​90261
  • Turbopack: add Rope.content_hash and SHA hashing: #​90235
  • [instant] Handle more instant declaration patterns: #​90251
  • [sync-react] Allow syncing React with local build: #​90277
  • Add PR tarball install note to stats comment: #​90316
  • Bump Turborepo to 2.8.9: #​90079
  • Update wasm and next-custom-transforms crates to Rust edition 2024: #​90350
  • Turbopack: refactoring to prepare for name mangling: #​89406
  • Turbopack: Aggregation update improvements: #​90139
  • [ci] Stop linting auto-generated next-swc typings: #​90390
  • Add more known folders to is-folder-empty check in create-next-app: #​88218
  • [ci] Always upload Turborepo summary artifact: #​90441
  • tests: reenable escheck-output: #​90423
  • [test] Deflake typed-routes-validator using tsc: #​90451
  • test: Cleanup and refactoring: #​90454
  • [turbopack] Make compression in SST files optional: #​89309
  • [test] Only auto-retry individual e2e tests in CI: #​90464
  • Update Rspack production test manifest: #​90412
  • Update Rspack development test manifest: #​90413
  • Add @​next/playwright package with instant() testing helper: #​90470
  • [turbopack] Reduce memory usage during compaction: #​90229
  • [sync-react] Allow syncing from a React commit: #​90283
  • Turbopack: Add line numbers to debug info in release-with-assertions profile: #​90474
  • Turbopack: emit env_diff span attribute for update: #​90466
  • test: unflake lru-disk-eviction on Windows: #​90465
  • test: Improve test assertions to prepare for dpl query string: #​90463
  • [test] Fix flaky "delay re-prefetch after revalidation" test: #​90503
  • Revert "Turbopack: Add line numbers to debug info in release-with-assertions profile (#​90474)": #​90525
  • Bump Turborepo to 2.8.11: #​90530
  • Turbopack: Move turbopack out of pnpm build and into a pnpm build-all command: #​90543
  • Remove revalidation settling period from router-act: #​90531
  • Turbopack: add webpack loader names to traces: #​87230
  • Replace mark_root() with #[turbo_tasks::function(root)] flag: #​90512
  • [test] Deflake typed-routes-validator: #​90562
  • [test] Remove getStackFramesContent: #​90571
  • Replace testonly to testheadless in AGENTS.md: #​90578
  • [test] Include error code in Redbox snapshot: #​90497
  • Turbopack: Add TransientEnvMap to avoid persisting env vars in cache: #​90526
  • Turbopack: add Xxh3Hash128Hasher: #​90584
  • [test] Fix error code snapshots when testing with React 18: #​90593
  • Turbopack: use xxhash3_128 for content hashes: #​90583
  • test: remove stray TURBOPACK_BUILD=1: #​90602
  • Update Rspack development test manifest: #​90566
  • Update Rspack production test manifest: #​90565
  • [ci] Use NEXT_TEST_CI instead of CI for e2e test retry guard: #​90606
  • [test] Skip failing segment-cache deploy test: #​90601
  • turbo-persistence: drop key compression dictionary from SST files: #​90608
  • Pre-warm a single NodeJS instance when the next devserver starts: #​90174
  • Turbopack server HMR: inline source maps for evaled modules: #​90561
  • test: Run Adapter e2e tests with Turbopack instead: #​90600
  • Add MemorySample to Turbopack trace infrastructure: #​90597
  • Use VisitMut instead of Fold for debug_instant_stack transform: #​90274
  • Ensure we only run main test mode with custom deploy script: #​90665
  • Centralize test timings to fix shard divergence in CI: #​90672
  • tests: Fix immutableAssetToken extraction: #​90668
  • turbo-persistence: streaming SST writer for reduced memory usage: #​90617
  • Add custom cleanup script support for deploy tests: #​90696
  • Use commit-based tarball URL in PR stats comment: #​90709
  • [ci] Use commit instead of PR number for preview builds in deploy tests: #​90722
  • Fix ENOBUFS errors in pr-status.js when fetching large CI logs: #​90654
  • Publish @​next/playwright to npm as part of canary releases: #​90738
  • Update Rspack development test manifest: #​90751
  • Update Rspack production test manifest: #​90750
  • Turbopack: improve cell order lint rule for TraitRef::cell: #​90756
  • Add determinism test for static shell with asset preload headers: #​89826
  • Add static error when unstable_instant is used without cacheComponents: #​90793
  • enable server action RDC deploy test: #​90796
  • turbo-persistence: StreamingSstWriter performance and readability improvements: #​90692
  • pr-status: add reply-thread and resolve-thread subcommands: #​90773
  • [turbopack] Don't schedule idle snapshots when we are in a short session: #​90804
  • Update Rust dependencies for turbo-persistence and turbo-tasks-backend: #​90774
  • Add support for multi-valued tables: #​89728
  • pr-status: add --wait flag and background execution for /pr-status command: #​90687
  • exempt data URL CSS from Pages Router global CSS restriction: #​89901
  • turbo-persistence: add CRC32 block checksums: #​90754
  • Remove unused turbo-tasks items and add lint check: #​90801
  • Fix missing const generic parameter in turbo-persistence lookup call: #​90817
  • Turbopack: add anyhow::Context to turbo-persistence mmap, file open, and decompress operations: #​90769
  • Update Rspack development test manifest: #​90805
  • Avoid using TaskTypes as keys in storage instead use hashes: #​88904
  • Remove leaf segment force-refetch check: #​90836
  • [turbopack] add a new hasher implementation to eliminate allocations: #​89059
  • Show labeled steps for instant() test helper in the Playwright UI: #​90664
  • [turbotask] Make turbotask function registration const: #​90797
  • Turbopack: turbofmt/turbobail macros: #​90092
  • Add Err(anyhow(... ast-grep rule: #​90869
  • Turbopack: allow resolving TS files in tailwind config: #​90046
  • Unify Node and Edge externals list: #​90819
  • chore: add aurorascharff to devex team labeler config: #​90866
  • Update Rspack production test manifest: #​90857
  • Update Rspack development test manifest: #​90858
  • [ci]: continue-on-error for more gh auth status checks: #​90890
  • Cleanup non-generic assertions in our deploy test suite: #​90894
  • Turbopack: Tree shaking fixes and code organization: #​89295
  • tests: Use pnpm dlx to install latest CLI version: #​90923
  • Turbopack: Fix some eventually consistent reads at the top level in dev-server and snapshot tests: #​90792
  • Turbopack: Annotate ReadVcFuture as must_use instead of annotating functions that return it: #​90839
  • Prefix pr-status replies with 🤖 emoji: #​90943
  • Set DontFork and Unmergeable on all mmap sites in turbo-persistence: #​90941
  • Turbopack: CompileTimeDefineValue numbers and regex: #​90934
  • Turbopack: pass reference type to CustomModuleType: #​90814
  • Fix preview version in window.next.version for PR builds: #​90937
  • [Evals] Standardize Evals in Next.js: #​90883
  • TURBOPACK: alias resolve lost query param: #​88891
  • Update Rspack development test manifest: #​90969
  • Turbopack: Make ReadVcFuture::strongly_consistent private: #​90843
  • Fix next-routing header interpolation: #​91010
  • Turbopack: accept ChunkGroup in entry_chunk_group: #​90821
  • Turbopack: show specific SWC error messages as error titles: #​91022
  • Turbopack: correctly use ChunkGroup::Shared: #​90978
  • Add script to patch project with preview tarball URLs: #​91057
  • Fix pr-status script missing failed jobs on page 2+ of API results: #​91087
  • Turbopack: don't panic due to eventual consistency in module merging: #​91088
  • fix: run lerna on a branch: #​91092
  • Fix preview tarball script to include @​next/swc-linux-x64-gnu: #​91099
  • Improve unsafe code safety documentation in turbo-tasks-backend: #​90755
  • docs(contributing): Update setup in contributing/core/developing.md: #​91018
  • Turbopack: Pass hmr_enabled to ImportMetaBinding: #​91118
  • docs(turbopack): Copy over turbopack-trace-server docs: #​91111
  • Turbopack: introduce ReferenceTypeCondition: #​91101
  • fix: Use a pnpm preinstall script to fix catch-22 in next binary creation: #​91016
  • Exclude partial fallback for deploy mode: #​91163
  • [turbopack] Add support for fixed key blocks: #​90844
  • [turbopack] Encode task storage directly during persistence (skip clone): #​89412
  • [turbopack] hashing improvements to turbo-persistence: #​90936
  • [turbopack] Move empty snapshot filtering into take_snapshot: #​90166
  • docs(turbopack): Merge old turbo-tasks concept mdbook page with crate's top-level rustdoc: #​91120
  • Add RDC action test to deploy manifest and update PR test trigger: #​91173
  • [Turbopack] Don't attempt to compress key blocks containing small keys: #​90881
  • Lint against .context(format!(...)): #​91122
  • fix(turbopack): unref ThreadsafeFunctions to allow Node.js exit after build: #​91107
  • remove worktrees accidentally committed in #​90166: #​91215
  • Fix syntax contexts in server action transform: #​91210
  • docs(turbopack): Merge the contents of the "cells" page in the mdbook with our rustdocs: #​91126
  • TURBOPACK: typescript transform support verbatimModuleSyntax: #​90907
  • [ci] Disable test-level retries during flakiness detection: #​91261
  • [cna] Bump vendored json-schema-types: #​91255
  • Remove sequential madvise for compressed blocks in StaticSortedFile: #​91263
  • docs(turbopack): Move mdbook "tasks" docs over to turbo_tasks::function rustdoc: #​91132
  • test-new-tests: enable adapter in deploy flow: #​91269
  • Revert "Exclude partial fallback for deploy mode": #​91172
  • [test] Properly log framereceived payload: #​91266
  • docs(turbopack): Merge task input docs from mdbook into rustdocs: #​91136
  • bundle-analyzer: merge _app route modules into current route visualization: #​90841
  • docs(turbopack): Migrate docs about traits from mdbook to rustdocs: #​91170
  • Remove LMDB backend and ReadTransaction abstractions from turbo-tasks-backend: #​91284
  • docs(turbopack): Move singleton pattern documentation from mdbook to rustdoc: #​91175
  • Turbopack: rename CSS module structs for clarity: #​91304
  • [test] Deflake instant-navs-devtools: #​91256
  • Delete blob files during compaction when entries are superseded: #​91314
  • [test] Resolve stale merge issues: #​91329
  • Turbopack: Remove the IntoTraitRef trait, make it an inherent method on Vc: #​91223
  • re-enable RDC deployment tests: #​91327
  • Use keyed cells for used_exports and export_circuit_breakers in BindingUsageInfo: #​91306
  • [test] Show decoded binary WebSocket messages in traces: #​91308
  • Docs skills: guide and api-reference: #​90992
  • Turbopack: switch chunk/asset hashes from hex to base40 encoding: #​91137
  • Turbopack: don't emit polyfill chunk for API routes: #​91331
  • [test] Current behavior for request APIs in generateStaticParams: #​91188
  • Update Rspack production test manifest: #​91301
  • Update Rspack development test manifest: #​91300
  • Turbopack: Remove old macos-compress script: #​90967
  • disable sub shell generation test outside of adapter: #​91353
  • Turboopack: put import attributes behind a pointer, 23% faster analyze: #​91347
  • Turbopack: require(/* turbopackChunkingType: parallel */: #​91278
  • Turbopack: use keyed cell access for AsyncModulesInfo: #​91305
  • Enable thin LTO for release builds: #​91343
  • [turbopack] const-ify most of the registration code: #​90868
  • [test] Improve actions-tree-shaking tests: #​91326
  • Move database compaction from write batch commit to backend idle loop: #​91258
  • Turbopack: use ChunkGroupEntry::Shared, part 2: #​91279
  • [test] More instant-navs-devtools deflaking: #​91345
  • Turbopack: Enable server HMR by default for app pages: #​91476
  • Allow blocking cross-site dev-only websocket connections from privacy sensitive origins: #​91479
  • Fix DataUriSource description to include "data:" prefix: #​91455
  • Deflake per-page dynamic stale time test: #​91492
  • Improve RSC error messages: #​90702
  • Improve CSS parse error recovery and reporting: #​90025
  • perf(turbopack-node): zero-copy Buffer transfer from node to rust: #​91376
  • docs(turbopack-core): Copy "layers" documentation from mdbook to rustdoc: #​91350
  • Turbopack: correctly apply effects for issue snapshots: #​91511
  • Turbopack: treat unknown CSS selectors as warnings: #​91513
  • docs(turbopack): Migrate chunking docs from mdbook, with proof-reading and minor updates from claude: #​91472
  • Skip catch-error-react-compiler test to unblock CI: #​91528
  • [turbopack] update qfilter to 0.3.0-alpha: #​91467
  • Unflake two "use cache" tests: #​91529
  • docs(turbopack): Remove old architecture.md file from turbopack crate: #​91473
  • [turbopack] Share scratch buffer across shards using thread local: #​90167
  • Turbopack: Use debug = "line-tables-only" for dev builds: #​91539
  • Unflake router events deploy test: #​91589
Credits

Huge thanks to @​icyJoseph, @​nextjs-bot, @​sokra, @​Juneezee, @​delbaoliveira, @​wbinnssmith, @​ztanner, @​lukesandberg, @​bgw, @​naveenkarmegam, @​Marukome0743, @​pji2918, @​nathannewyen, @​eps1lon, @​ijjk, @​feedthejim, @​vercel-release-bot, @​xusd320, @​huozhi, @​mischnic, @​wyattjoh, @​styfle, @​timneutkens, @​unstubbable, @​lubieowoce, @​gnoff, @​acdlite, @​Rani367, @​andrewimm, @​brookemosby, @​karlhorky, @​kdy1, @​mmastrac, @​naaa760, @​jgeschwendt, @​williambout, @​SimeonGriggs, @​gaojude, @​hanzala-sohrab, @​dango0812, @​msmx-mnakagawa, @​davidgolden, @​LucianBuzzo, @​devjiwonchoi, @​alexcarpenter, @​jaffarkeikei, @​BradErz, @​mintydev789, @​Suhaib3100, @​pavan-sh, @​amannn, @​fireairforce, @​JamBalaya56562, @​wheresrhys, @​ericrav, @​Thomas465xd, @​bgub, @​Netail, @​robert-j-webb, @​bencmbrook, @​shadcn, @​sigmachirality, @​abhishekmardiya, @​vvscode, @​freek-boon-greenberry, @​alubbe, @​FurryR, @​01-binary, @​andrewdamelio, @​swarnava, @​kristiyan-velkov, @​haydenbleasel, @​rishishanbhag, @​tdarthur, @​lavanitha, @​agneliutkiene, @​Mimori256, @​pieh, @​sleitor, @​jantimon, @​clicktodev, @​mitul-s, @​aurorascharff, @​shuding, @​jonasherr, @​thdxg, @​kowyo, @​samselikoff, @​dependabot, @​benfavre, @​zamadye, @​cursor, and @​richardjzhang for helping!

v16.1.7

Compare Source

[!NOTE]
This release is backporting bug fixes. It does not include all pending features/changes on canary.

Core Changes
  • [Cache Components] Prevent streaming fetch calls from hanging in dev (#​89194)
  • Apply server actions transform to node_modules in route handlers (#​89380)
  • ensure maxPostponedStateSize is always respected (See: CVE-2026-27979)
  • feat(next/image): add lru disk cache and images.maximumDiskCacheSize (See: CVE-2026-27980)
  • Allow blocking cross-site dev-only websocket connections from privacy-sensitive origins (See: CVE-2026-27977)
  • Disallow Server Action submissions from privacy-sensitive contexts by default (See: CVE-2026-27978)
  • fix: patch http-proxy to prevent request smuggling in rewrites (See: CVE-2026-29057)
Credits

Huge thanks to @​unstubbable, @​styfle, @​eps1lon, and @​ztanner for helping!

jsdom/jsdom (jsdom)

v28.1.0

Compare Source

  • Added blob.text(), blob.arrayBuffer(), and blob.bytes() methods.
  • Improved getComputedStyle() to account for CSS specificity when multiple rules apply. (@​asamuzaK)
  • Improved synchronous XMLHttpRequest performance by using a persistent worker thread, avoiding ~400ms of setup overhead on every synchronous request after the first one.
  • Improved performance of node.getRootNode(), node.isConnected, and event.dispatchEvent() by caching the root node of document-connected trees.
  • Fixed getComputedStyle() to correctly handle !important priority. (@​asamuzaK)
  • Fixed document.getElementById() to return the first element in tree order when multiple elements share the same ID.
  • Fixed <svg> elements to no longer incorrectly proxy event handlers to the Window.
  • Fixed FileReader event timing and fileReader.result state to more closely follow the spec.
  • Fixed a potential hang when synchronous XMLHttpRequest encountered dispatch errors.
  • Fixed compatibility with environments where Node.js's built-in fetch() has been used before importing jsdom, by working around undici v6/v7 incompatibilities.
nodejs/node (node)

v25.8.2: 2026-03-24, Version 25.8.2 (Current), @​RafaelGSS

Compare Source

This is a security release.

Notable Changes
  • (CVE-2026-21637) wrap SNICallback invocation in try/catch (Matteo Collina) - High
  • (CVE-2026-21710) use null prototype for headersDistinct/trailersDistinct (Matteo Collina) - High
  • (CVE-2026-21711) include permission check to pipe_wrap.cc (RafaelGSS) - Medium
  • (CVE-2026-21712) handle url crash on different url formats (RafaelGSS) - Medium
  • (CVE-2026-21713) use timing-safe comparison in Web Cryptography HMAC and KMAC (Filip Skokan) - Medium
  • (CVE-2026-21714) handle NGHTTP2_ERR_FLOW_CONTROL error code (RafaelGSS) - Medium
  • (CVE-2026-21717) test array index hash collision (Joyee Cheung) - Medium
  • (CVE-2026-21715) add permission check to realpath.native (RafaelGSS) - Low
  • (CVE-2026-21716) include permission check on lib/fs/promises (RafaelGSS) - Low
Commits
pnpm/pnpm (pnpm)

v10.33.0: pnpm 10.33

Compare Source

Minor Changes

  • Added a new dedupePeers setting that reduces peer dependency duplication. When enabled, peer dependency suffixes use version-only identifiers (name@version) instead of full dep paths, eliminating nested suffixes like (foo@1.0.0(bar@2.0.0)). This dramatically reduces the number of package instances in projects with many recursive peer dependencies #​11070.

Patch Changes

  • Fail on incompatible lockfiles in CI when frozen lockfile mode is enabled, while preserving non-frozen CI fallback behavior.

  • When package metadata is malformed or can't be fetched, the error thrown will now show the originating error.

  • Fixed intermittent failures when multiple pnpm dlx calls run concurrently for the same package. When the global virtual store is enabled, the importer now verifies file content before skipping a rename, avoiding destructive swap-renames that break concurrent processes. Also tolerates EPERM during bin creation on Windows and properly propagates enableGlobalVirtualStore through the install pipeline.

  • Fixed handling of non-string version selectors in hoistPeers, preventing invalid peer dependency specifiers.

  • Improve the non-interactive modules purge error hint to include the confirmModulesPurge=false workaround.

    When pnpm needs to recreate node_modules but no TTY is available, the error now suggests either setting CI=true or disabling the purge confirmation prompt via confirmModulesPurge=false.

    Adds a regression test for the non-TTY flow.

  • Fixed false "Command not found" errors on Windows when a command exists in PATH but exits with a non-zero code. Also fixed path resolution for --filter contexts where the command runs in a different package directory.

  • When a pnpm-lock.yaml contains two documents, ignore the first one. pnpm v11 will write two lockfile documents into pnpm-lock.yaml in order to store pnpm version integrities and config dependency resolutions.

  • Fixed a bug preventing the clearCache function returned by createNpmResolver from properly clearing metadata cache.

Platinum Sponsors

Bit

Gold Sponsors

Sanity Discord Vite
SerpApi CodeRabbit Stackblitz
Workleap Nx

v10.32.1: pnpm 10.32.1

Compare Source

Patch Changes

  • Fix a regression where pnpm-workspace.yaml without a packages field caused all directories to be treated as workspace projects. This broke projects that use pnpm-workspace.yaml only for settings (e.g. minimumReleaseAge) without defining workspace packages #​10909.

Platinum Sponsors

Bit

Gold Sponsors

Sanity Discord Vite
SerpApi CodeRabbit Stackblitz
Workleap Nx

v10.32.0: pnpm 10.32

Compare Source

Minor Changes

  • Added --all flag to pnpm approve-builds that approves all pending builds without interactive prompts #​10136.

Patch Changes

  • Reverted change related to setting explicitly the npm config file path, which caused regressions.
  • Reverted fix related to lockfile-include-tarball-url. Fixes #​10915.

Platinum Sponsors

Bit

Gold Sponsors

Sanity Discord Vite
SerpApi CodeRabbit Stackblitz
Workleap Nx

v10.31.0: pnpm 10.31

Compare Source

Minor Changes

  • When pnpm updates the pnpm-workspace.yaml, comments, string formatting, and whitespace will be preserved.

Patch Changes

  • Added -F as a short alias for the --filter option in the help output.

  • Handle undefined pkgSnapshot in pnpm why -r #​10700.

  • Fix headless install not being used when a project has an injected self-referencing file: dependency that resolves to link: in the lockfile.

  • Fixed a race condition when multiple worker threads import the same package to the global virtual store concurrently. The rename operation now tolerates ENOTEMPTY/EEXIST errors if another thread already completed the import.

  • When lockfile-include-tarball-url is set to false, tarball URLs are now always excluded from the lockfile. Previously, tarball URLs could still appear for packages hosted under non-standard URLs, making the behavior flaky and inconsistent #​6667.

  • Fixed optimisticRepeatInstall skipping install when overrides, packageExtensions, ignoredOptionalDependencies, patchedDependencies, or peersSuffixMaxLength changed.

  • Fixed pnpm patch-commit failing with "unable to access '/.config/git/attributes': Permission denied" error in environments where HOME is unset or non-standard (Docker containers, CI systems).

    The issue occurred because pnpm was setting HOME and the Windows user profile env var to empty strings to suppress user git configuration when running git diff. This caused git to resolve the home directory (~) as root (/), leading to permission errors when attempting to access /.config/git/attributes.

    Now uses GIT_CONFIG_GLOBAL: os.devNull instead, which is git's proper mechanism for bypassing user-level configuration without corrupting the home directory path resolution.

    Fixes #​6537

  • Fix pnpm why -r --parseable missing dependents when multiple workspace packages share the same dependency #​8100.

  • Fix link-workspace-packages=true incorrectly linking workspace packages when the requested version doesn't match the workspace package's version. Previously, on fresh installs the version constraint is overridden to * in the fallback resolution paths, causing any workspace package with a matching name to be linked regardless of version #​10173.

  • Fixed pnpm update --interactive table breaking with long version strings (e.g., prerelease versions like 7.0.0-dev.20251209.1) by dynamically calculating column widths instead of using hardcoded values #​10316.

  • Explicitly tell npm the path to the global rc config file.

  • The parameter set by the --allow-build flag is written to allowBuilds.

  • Fix a bug in which specifying filter on pnpm-workspace.yaml would cause pnpm to not detect any projects.

  • Print help message on running pnpm dlx without arguments and exit.

Platinum Sponsors

Bit

Gold Sponsors

Sanity Discord Vite
SerpApi CodeRabbit Stackblitz
Workleap Nx

v10.30.3: pnpm 10.30.3

Compare Source

Patch Changes

  • Fixed version switching via packageManager field failing when pnpm is installed as a standalone executable in environments without a system Node.js #​10687.

Platinum Sponsors

Bit

Gold Sponsors

Sanity Discord Vite
SerpApi CodeRabbit Workleap
Stackblitz Nx

v10.30.2: pnpm 10.30.2

Compare Source

Patch Changes

  • Fix auto-installed peer dependencies ignoring overrides when a stale version exists in the lockfile.
  • Fixed "input line too long" error on Windows when running lifecycle scripts with the global virtual store enabled #​10673.
  • Update @​zkochan/js-yaml to fix moderate vulnerability.

Platinum Sponsors

Bit

Gold Sponsors

Sanity Discord Vite
SerpApi CodeRabbit Workleap
Stackblitz Nx

v10.30.1: pnpm 10.30.1

Compare Source

Patch Changes

  • Use the /-/npm/v1/security/audits/quick endpoint as the primary audit endpoint, falling back to /-/npm/v1/security/audits when it fails #​10649.

Platinum Sponsors

Bit

Gold Sponsors

Sanity Discord Vite
SerpApi CodeRabbit Workleap
Stackblitz Nx

v10.30.0: pnpm 10.30

Compare Source

Minor Changes

  • pnpm why now shows a reverse dependency tree. The searched package appears at the root with its dependents as branches, walking back to workspace roots. This replaces the previous forward-tree output which was noisy and hard to read for deeply nested dependencies.

Patch Changes

  • Revert pnpm why dependency pruning to prefer correctness over memory consumption. Reverted PR: #​7122.
  • Optimize pnpm why and pnpm list performance in workspaces with many importers by sharing the dependency graph and materialization cache across all importers instead of rebuilding them independently for each one #​10596.

Platinum Sponsors

Bit

Gold Sponsors

Sanity Discord Vite
SerpApi CodeRabbit Workleap
Stackblitz Nx

v10.29.3: pnpm 10.29.3

Compare Source

Patch Changes
  • Fixed an out-of-memory error in pnpm list (and pnpm why) on large dependency graphs by replacing the recursive tree builder with a two-phase approach: a BFS dependency graph followed by cached tree materialization. Duplicate subtrees are now deduplicated in the output, shown as "deduped (N deps hidden)" #​10586.
  • Fixed allowBuilds not working when set via .pnpmfile.cjs #​10516.
  • When the enableGlobalVirtualStore option is set, the pnpm deploy command would incorrectly create symlinks to the global virtual store. To keep the deploy directory self-contained, pnpm deploy now ignores this setting and always creates a localized virtual store within the deploy directory.
  • Fixed minimumReleaseAgeExclude not being respected by pnpm dlx #​10338.

Platinum Sponsors

Bit

Gold Sponsors

Sanity Discord Vite
SerpApi CodeRabbit Workleap
Stackblitz Nx

v10.29.2: pnpm 10.29.2

Compare Source

Patch Changes

  • Reverted a fix shipped in v10.29.1, which caused another issue #​10571.
    Reverted fix: Fixed pnpm run -r failing with "No projects matched the filters" when an empty pnpm-workspace.yaml exists #​10497.

Platinum Sponsors

Bit

Gold Sponsors

Discord CodeRabbit Workleap
Stackblitz Vite

v10.29.1: pnpm 10.29.1

Compare Source

Minor Changes

  • The pnpm dlx / pnpx command now supports the catalog: protocol. Example: pnpm dlx shx@catalog:.
  • Support configuring auditLevel in the pnpm-workspace.yaml file #​10540.
  • Support bare workspace: protocol without version specifier. It is now treated as workspace:* and resolves to the concrete version during publish #​10436.

Patch Changes

  • Fixed pnpm list --json returning incorrect paths when using global virtual store #​10187.

  • Fix pnpm store path and pnpm store status using workspace root for path resolution when storeDir is relative #​10290.

  • Fixed pnpm run -r failing with "No projects matched the filters" when an empty pnpm-workspace.yaml exists #​10497.

  • Fixed a bug where catalogMode: strict would write the literal string "catalog:" to pnpm-workspace.yaml instead of the resolved version specifier when re-adding an existing catalog dependency #​10176.

  • Fixed the documentation URL shown in pnpm completion --help to point to the correct page at https://pnpm.io/completion #​10281.

  • Skip local file: protocol dependencies during pnpm fetch. This fixes an issue where pnpm fetch would fail in Docker builds when local directory dependencies were not available #​10460.

  • Fixed pnpm audit --json to respect the --audit-level setting for both exit code and output filtering #​10540.

  • update tar to version 7.5.7 to fix security issue

    Updating the version of dependency tar to 7.5.7 because the previous one have a security vulnerability reported here: CVE-2026-24842

  • Fix pnpm audit --fix replacing reference overrides (e.g. $foo) with concrete versions #​10325.

  • Fix shamefullyHoist set via updateConfig in .pnpmfile.cjs not being converted to publicHoistPattern #​10271.

  • pnpm help should correctly report if the currently running pnpm CLI is bundled with Node.js #​10561.

  • Add a warning when the current directory contains the PATH delimiter character. On macOS, folder names containing forward slashes (/) appear as colons (:) at the Unix layer. Since colons are PATH separators in POSIX systems, this breaks PATH injection for node_modules/.bin, causing binaries to not be found when running commands like pnpm exec #​10457.

Platinum Sponsors

Bit

Gold Sponsors

Discord CodeRabbit Workleap
Stackblitz Vite
postcss/postcss (postcss)

v8.5.8

Compare Source

  • Fixed Processor#version.

v8.5.7

Compare Source

  • Improved source map annotation cleaning performance (by CodeAnt AI).
vitest-dev/vitest (vitest)

v4.1.2

Compare Source

This release bumps Vitest's flatted version and removes version pinning to resolve flatted's CVE related issues (#​9975).

   🐞 Bug Fixes
    View changes on GitHub

v4.1.1

Compare Source

   🚀 Features
   🐞 Bug Fixes
    View changes on GitHub

v4.1.0

Compare Source

Vitest 4.1 is out!

This release page lists all changes made to the project during the 4.1 beta. To get a review of all the new features, read our blog post.

   🚀 Features
   🐞 Bug Fixes
   🏎 Performance
    View changes on GitHub
yarnpkg/berry (yarn)

v4.13.0

Compare Source


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | devDependencies | minor | [`25.1.0` → `25.5.0`](https://renovatebot.com/diffs/npm/@types%2fnode/25.1.0/25.5.0) | | [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react)) | devDependencies | patch | [`19.2.10` → `19.2.14`](https://renovatebot.com/diffs/npm/@types%2freact/19.2.10/19.2.14) | | [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react#readme) ([source](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react)) | devDependencies | minor | [`5.1.2` → `5.2.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-react/5.1.2/5.2.0) | | [autoprefixer](https://github.com/postcss/autoprefixer) | dependencies | patch | [`10.4.24` → `10.4.27`](https://renovatebot.com/diffs/npm/autoprefixer/10.4.24/10.4.27) | | [axios](https://axios-http.com) ([source](https://github.com/axios/axios)) | dependencies | minor | [`1.13.4` → `1.14.0`](https://renovatebot.com/diffs/npm/axios/1.13.4/1.14.0) | | [eslint](https://eslint.org) ([source](https://github.com/eslint/eslint)) | devDependencies | minor | [`10.0.0` → `10.1.0`](https://renovatebot.com/diffs/npm/eslint/10.0.0/10.1.0) | | [eslint-config-next](https://nextjs.org/docs/app/api-reference/config/eslint) ([source](https://github.com/vercel/next.js/tree/HEAD/packages/eslint-config-next)) | devDependencies | minor | [`16.1.6` → `16.2.1`](https://renovatebot.com/diffs/npm/eslint-config-next/16.1.6/16.2.1) | | [jsdom](https://github.com/jsdom/jsdom) | devDependencies | minor | [`28.0.0` → `28.1.0`](https://renovatebot.com/diffs/npm/jsdom/28.0.0/28.1.0) | | [next](https://nextjs.org) ([source](https://github.com/vercel/next.js)) | dependencies | minor | [`16.1.6` → `16.2.1`](https://renovatebot.com/diffs/npm/next/16.1.6/16.2.1) | | [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | | minor | `25.5.0` → `25.8.2` | | [pnpm](https://pnpm.io) ([source](https://github.com/pnpm/pnpm/tree/HEAD/pnpm)) | packageManager | minor | [`10.28.2` → `10.33.0`](https://renovatebot.com/diffs/npm/pnpm/10.28.2/10.33.0) | | [postcss](https://postcss.org/) ([source](https://github.com/postcss/postcss)) | dependencies | patch | [`8.5.6` → `8.5.8`](https://renovatebot.com/diffs/npm/postcss/8.5.6/8.5.8) | | [vitest](https://vitest.dev) ([source](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)) | devDependencies | minor | [`4.0.18` → `4.1.2`](https://renovatebot.com/diffs/npm/vitest/4.0.18/4.1.2) | | [yarn](https://github.com/yarnpkg/berry) ([source](https://github.com/yarnpkg/berry/tree/HEAD/packages/yarnpkg-cli)) | packageManager | minor | [`4.12.0` → `4.13.0`](https://renovatebot.com/diffs/npm/yarn/4.12.0/4.13.0) | --- ### Release Notes <details> <summary>vitejs/vite-plugin-react (@&#8203;vitejs/plugin-react)</summary> ### [`v5.2.0`](https://github.com/vitejs/vite-plugin-react/compare/f066114c3e6bf18f5209ff3d3ef6bf1ab46d3866...fda3a86095556b49ae3c995eb57a30d4e0b8fa8d) [Compare Source](https://github.com/vitejs/vite-plugin-react/compare/f066114c3e6bf18f5209ff3d3ef6bf1ab46d3866...fda3a86095556b49ae3c995eb57a30d4e0b8fa8d) ### [`v5.1.4`](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#514-2026-02-10) [Compare Source](https://github.com/vitejs/vite-plugin-react/compare/cf0cb8aa3398e312f4e91b702281806aad004cd7...f066114c3e6bf18f5209ff3d3ef6bf1ab46d3866) ##### Fix `canSkipBabel` not accounting for `babel.overrides` ([#&#8203;1098](https://github.com/vitejs/vite-plugin-react/pull/1098)) When configuring `babel.overrides` without top-level plugins or presets, Babel was incorrectly skipped. The `canSkipBabel` function now checks for `overrides.length` to ensure override configurations are processed. ### [`v5.1.3`](https://github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react/CHANGELOG.md#513-2026-02-02) [Compare Source](https://github.com/vitejs/vite-plugin-react/compare/f127a24376a90a82acf5b8aad4be750bec3045f3...cf0cb8aa3398e312f4e91b702281806aad004cd7) </details> <details> <summary>postcss/autoprefixer (autoprefixer)</summary> ### [`v10.4.27`](https://github.com/postcss/autoprefixer/blob/HEAD/CHANGELOG.md#10427) [Compare Source](https://github.com/postcss/autoprefixer/compare/10.4.26...10.4.27) - Removed development key from `package.json`. ### [`v10.4.26`](https://github.com/postcss/autoprefixer/blob/HEAD/CHANGELOG.md#10426) [Compare Source](https://github.com/postcss/autoprefixer/compare/10.4.25...10.4.26) - Reduced package size. ### [`v10.4.25`](https://github.com/postcss/autoprefixer/blob/HEAD/CHANGELOG.md#10425) [Compare Source](https://github.com/postcss/autoprefixer/compare/10.4.24...10.4.25) - Fixed broken gradients on CSS Custom Properties (by [@&#8203;serger777](https://github.com/serger777)). </details> <details> <summary>axios/axios (axios)</summary> ### [`v1.14.0`](https://github.com/axios/axios/releases/tag/v1.14.0) [Compare Source](https://github.com/axios/axios/compare/v1.13.6...v1.14.0) This release focuses on compatibility fixes, adapter stability improvements, and test/tooling modernisation. #### ⚠️ Important Changes - **Breaking Changes:** None identified in this release. - **Action Required:** If you rely on env-based proxy behaviour or CJS resolution edge-cases, validate your integration after upgrade (notably `proxy-from-env` v2 alignment and `main` entry compatibility fix). #### 🚀 New Features - **Runtime Features:** No new end-user features were introduced in this release. - **Test Coverage Expansion:** Added broader smoke/module test coverage for CJS and ESM package usage. ([#&#8203;7510](https://github.com/axios/axios/pull/7510)) #### 🐛 Bug Fixes - **Headers:** Trim trailing CRLF in normalised header values. ([#&#8203;7456](https://github.com/axios/axios/pull/7456)) - **HTTP/2:** Close detached HTTP/2 sessions on timeout to avoid lingering sessions. ([#&#8203;7457](https://github.com/axios/axios/pull/7457)) - **Fetch Adapter:** Cancel `ReadableStream` created during request-stream capability probing to prevent async resource leaks. ([#&#8203;7515](https://github.com/axios/axios/pull/7515)) - **Proxy Handling:** Fixed env proxy behavior with `proxy-from-env` v2 usage. ([#&#8203;7499](https://github.com/axios/axios/pull/7499)) - **CommonJS Compatibility:** Fixed package `main` entry regression affecting CJS consumers. ([#&#8203;7532](https://github.com/axios/axios/pull/7532)) #### 🔧 Maintenance & Chores - **Security/Dependencies:** Updated `formidable` and refreshed package set to newer versions. ([#&#8203;7533](https://github.com/axios/axios/pull/7533), [#&#8203;10556](https://github.com/axios/axios/pull/10556)) - **Tooling:** Continued migration to Vitest and modernised CI/test harnesses. ([#&#8203;7484](https://github.com/axios/axios/pull/7484), [#&#8203;7489](https://github.com/axios/axios/pull/7489), [#&#8203;7498](https://github.com/axios/axios/pull/7498)) - **Build/Lint Stack:** Rollup, ESLint, TypeScript, and related dev-dependency updates. ([#&#8203;7508](https://github.com/axios/axios/pull/7508), [#&#8203;7509](https://github.com/axios/axios/pull/7509), [#&#8203;7522](https://github.com/axios/axios/pull/7522)) - **Documentation:** Clarified JSON parsing and adapter-related docs/comments. ([#&#8203;7398](https://github.com/axios/axios/pull/7398), [#&#8203;7460](https://github.com/axios/axios/pull/7460), [#&#8203;7478](https://github.com/axios/axios/pull/7478)) #### 🌟 New Contributors We are thrilled to welcome our new contributors. Thank you for helping improve Axios: - [@&#8203;aviu16](https://github.com/aviu16) ([#&#8203;7456](https://github.com/axios/axios/pull/7456)) - [@&#8203;NETIZEN-11](https://github.com/NETIZEN-11) ([#&#8203;7460](https://github.com/axios/axios/pull/7460)) - [@&#8203;fedotov](https://github.com/fedotov) ([#&#8203;7457](https://github.com/axios/axios/pull/7457)) - [@&#8203;nthbotast](https://github.com/nthbotast) ([#&#8203;7478](https://github.com/axios/axios/pull/7478)) - [@&#8203;veeceey](https://github.com/veeceey) ([#&#8203;7398](https://github.com/axios/axios/pull/7398)) - [@&#8203;penkzhou](https://github.com/penkzhou) ([#&#8203;7515](https://github.com/axios/axios/pull/7515)) *Full Changelog: [v1.13.6...v1.14.0](https://github.com/axios/axios/compare/v1.13.6...v1.14.0)* ### [`v1.13.6`](https://github.com/axios/axios/releases/tag/v1.13.6) [Compare Source](https://github.com/axios/axios/compare/v1.13.5...v1.13.6) This release focuses on platform compatibility, error handling improvements, and code quality maintenance. #### ⚠️ Important Changes - **Breaking Changes:** None identified in this release. - **Action Required:** Users targeting React Native should verify their integration, particularly if relying on specific Blob or FormData behaviours, as improvements have been made to support these objects. #### 🚀 New Features - **React Native Blob Support:** Axios now includes support for React Native Blob objects. Thanks to [@&#8203;moh3n9595](https://github.com/moh3n9595) for the initial implementation. ([#&#8203;5764](https://github.com/axios/axios/pull/5764)) - **Code Quality:** Implemented prettier across the codebase and resolved associated formatting issues. ([#&#8203;7385](https://github.com/axios/axios/pull/7385)) #### 🐛 Bug Fixes - **Environment Compatibility:** - Fixed module exports for React Native and Browserify environments. ([#&#8203;7386](https://github.com/axios/axios/pull/7386)) - Added safe FormData detection for the WeChat Mini Program environment. ([#&#8203;7324](https://github.com/axios/axios/pull/7324)) - **Error Handling:** - AxiosError.message is now correctly enumerable. ([#&#8203;7392](https://github.com/axios/axios/pull/7392)) - AxiosError.from now correctly copies the status property from the source error, ensuring better error propagation. ([#&#8203;7403](https://github.com/axios/axios/pull/7403)) #### 🔧 Maintenance & Chores - **Dependencies:** Updated the development\_dependencies group (5 updates). ([#&#8203;7432](https://github.com/axios/axios/pull/7432)) - **Infrastructure:** Migrated [@&#8203;rollup/plugin-babel](https://github.com/rollup/plugin-babel) from v5.3.1 to v6.1.0. ([#&#8203;7424](https://github.com/axios/axios/pull/7424)) - **Documentation:** Added missing JSDoc comments to utilities. ([#&#8203;7427](https://github.com/axios/axios/pull/7427)) #### 🌟 New Contributors We are thrilled to welcome our new contributors! Thank you for helping improve the project: - [@&#8203;Gudahtt](https://github.com/Gudahtt) ([#&#8203;7386](https://github.com/axios/axios/pull/7386)) - [@&#8203;ybbus](https://github.com/ybbus) ([#&#8203;7392](https://github.com/axios/axios/pull/7392)) - [@&#8203;Shiwaangee](https://github.com/Shiwaangee) ([#&#8203;7324](https://github.com/axios/axios/pull/7324)) - [@&#8203;skrtheboss](https://github.com/skrtheboss) ([#&#8203;7403](https://github.com/axios/axios/pull/7403)) - [@&#8203;Janaka66](https://github.com/Janaka66) ([#&#8203;7427](https://github.com/axios/axios/pull/7427)) - [@&#8203;moh3n9595](https://github.com/moh3n9595) ([#&#8203;5764](https://github.com/axios/axios/pull/5764)) - [@&#8203;digital-wizard48](https://github.com/digital-wizard48) ([#&#8203;7424](https://github.com/axios/axios/pull/7424)) *Full Changelog: [v1.13.5...v1.13.6](https://github.com/axios/axios/compare/v1.13.5...v1.13.6)* ### [`v1.13.5`](https://github.com/axios/axios/releases/tag/v1.13.5) [Compare Source](https://github.com/axios/axios/compare/v1.13.4...v1.13.5) #### Release 1.13.5 ##### Highlights - **Security:** Fixed a potential **Denial of Service** issue involving the `__proto__` key in `mergeConfig`. (PR [#&#8203;7369](https://github.com/axios/axios/pull/7369)) - **Bug fix:** Resolved an issue where `AxiosError` could be missing the `status` field on and after **v1.13.3**. (PR [#&#8203;7368](https://github.com/axios/axios/pull/7368)) ##### Changes ##### Security - Fix Denial of Service via `__proto__` key in `mergeConfig`. (PR [#&#8203;7369](https://github.com/axios/axios/pull/7369)) ##### Fixes - Fix/5657. (PR [#&#8203;7313](https://github.com/axios/axios/pull/7313)) - Ensure `status` is present in `AxiosError` on and after v1.13.3. (PR [#&#8203;7368](https://github.com/axios/axios/pull/7368)) ##### Features / Improvements - Add input validation to `isAbsoluteURL`. (PR [#&#8203;7326](https://github.com/axios/axios/pull/7326)) - Refactor: bump minor package versions. (PR [#&#8203;7356](https://github.com/axios/axios/pull/7356)) ##### Documentation - Clarify object-check comment. (PR [#&#8203;7323](https://github.com/axios/axios/pull/7323)) - Fix deprecated `Buffer` constructor usage and README formatting. (PR [#&#8203;7371](https://github.com/axios/axios/pull/7371)) ##### CI / Maintenance - Chore: fix issues with YAML. (PR [#&#8203;7355](https://github.com/axios/axios/pull/7355)) - CI: update workflow YAMLs. (PR [#&#8203;7372](https://github.com/axios/axios/pull/7372)) - CI: fix run condition. (PR [#&#8203;7373](https://github.com/axios/axios/pull/7373)) - Dev deps: bump `karma-sourcemap-loader` from 0.3.8 to 0.4.0. (PR [#&#8203;7360](https://github.com/axios/axios/pull/7360)) - Chore(release): prepare release 1.13.5. (PR [#&#8203;7379](https://github.com/axios/axios/pull/7379)) ##### New Contributors - [@&#8203;sachin11063](https://github.com/sachin11063) (first contribution — PR [#&#8203;7323](https://github.com/axios/axios/pull/7323)) - [@&#8203;asmitha-16](https://github.com/asmitha-16) (first contribution — PR [#&#8203;7326](https://github.com/axios/axios/pull/7326)) **Full Changelog:** <https://github.com/axios/axios/compare/v1.13.4...v1.13.5> </details> <details> <summary>eslint/eslint (eslint)</summary> ### [`v10.1.0`](https://github.com/eslint/eslint/releases/tag/v10.1.0) [Compare Source](https://github.com/eslint/eslint/compare/v10.0.3...v10.1.0) #### Features - [`ff4382b`](https://github.com/eslint/eslint/commit/ff4382be349035acdb170627a2dc92828e134562) feat: apply fix for `no-var` in `TSModuleBlock` ([#&#8203;20638](https://github.com/eslint/eslint/issues/20638)) (Tanuj Kanti) - [`0916995`](https://github.com/eslint/eslint/commit/0916995b51528872b15ba4fedb24172cf25fcb3f) feat: Implement api support for bulk-suppressions ([#&#8203;20565](https://github.com/eslint/eslint/issues/20565)) (Blake Sager) #### Bug Fixes - [`2b8824e`](https://github.com/eslint/eslint/commit/2b8824e6be4223980e929a20025602df20d05ea2) fix: Prevent `no-var` autofix when a variable is used before declaration ([#&#8203;20464](https://github.com/eslint/eslint/issues/20464)) (Amaresh S M) - [`e58b4bf`](https://github.com/eslint/eslint/commit/e58b4bff167e79afd067d1b0ee9360bec2d3393e) fix: update eslint ([#&#8203;20597](https://github.com/eslint/eslint/issues/20597)) (renovate\[bot]) #### Documentation - [`b7b57fe`](https://github.com/eslint/eslint/commit/b7b57fe9942c572ff651230f1f96cefed787ca52) docs: use correct JSDoc link in require-jsdoc.md ([#&#8203;20641](https://github.com/eslint/eslint/issues/20641)) (mkemna-clb) - [`58e4cfc`](https://github.com/eslint/eslint/commit/58e4cfc7dbf0fe40c73f09bf0ff94ad944d0ba0e) docs: add deprecation notice partial ([#&#8203;20639](https://github.com/eslint/eslint/issues/20639)) (Milos Djermanovic) - [`7143dbf`](https://github.com/eslint/eslint/commit/7143dbf99df27c61edf1552da981794e99a0b2f2) docs: update v9 migration guide for `@eslint/js` usage ([#&#8203;20540](https://github.com/eslint/eslint/issues/20540)) (fnx) - [`035fc4f`](https://github.com/eslint/eslint/commit/035fc4fbe506e3e4524882cf50db37a4e430adf4) docs: note that `globalReturn` applies only with `sourceType: "script"` ([#&#8203;20630](https://github.com/eslint/eslint/issues/20630)) (Milos Djermanovic) - [`e972c88`](https://github.com/eslint/eslint/commit/e972c88ab7474a74191ee99ac2558b00d0427a8a) docs: merge ESLint option descriptions into type definitions ([#&#8203;20608](https://github.com/eslint/eslint/issues/20608)) (Francesco Trotta) - [`7f10d84`](https://github.com/eslint/eslint/commit/7f10d8440137f0cfd75f18f4746ba6a1c621b953) docs: Update README (GitHub Actions Bot) - [`aeed007`](https://github.com/eslint/eslint/commit/aeed0078ca2f73d4744cc522102178d45b5be64e) docs: open playground link in new tab ([#&#8203;20602](https://github.com/eslint/eslint/issues/20602)) (Tanuj Kanti) - [`a0d1a37`](https://github.com/eslint/eslint/commit/a0d1a3772679d3d74bb860fc65b5b58678acd452) docs: Add AI Usage Policy ([#&#8203;20510](https://github.com/eslint/eslint/issues/20510)) (Nicholas C. Zakas) #### Chores - [`a9f9cce`](https://github.com/eslint/eslint/commit/a9f9cce82d80b540a0e3549d0e91c16df28740d8) chore: update dependency eslint-plugin-unicorn to ^63.0.0 ([#&#8203;20584](https://github.com/eslint/eslint/issues/20584)) (Milos Djermanovic) - [`1f42bd7`](https://github.com/eslint/eslint/commit/1f42bd7876ae4192cf7f7f4faf73b4ef3d2563cb) chore: update `prettier` to 3.8.1 ([#&#8203;20651](https://github.com/eslint/eslint/issues/20651)) (루밀LuMir) - [`c0a6f4a`](https://github.com/eslint/eslint/commit/c0a6f4a2b4169edeca2a81bf7b47783e39ade366) chore: update dependency [@&#8203;eslint/json](https://github.com/eslint/json) to ^1.2.0 ([#&#8203;20652](https://github.com/eslint/eslint/issues/20652)) (renovate\[bot]) - [`cc43f79`](https://github.com/eslint/eslint/commit/cc43f795c42e5ec2f19bb43b1f6d534ef2e469f3) chore: update dependency c8 to v11 ([#&#8203;20650](https://github.com/eslint/eslint/issues/20650)) (renovate\[bot]) - [`2ce4635`](https://github.com/eslint/eslint/commit/2ce4635b036ff2665c7009afddf9c0fb2274dceb) chore: update dependency [@&#8203;eslint/json](https://github.com/eslint/json) to v1 ([#&#8203;20649](https://github.com/eslint/eslint/issues/20649)) (renovate\[bot]) - [`f0406ee`](https://github.com/eslint/eslint/commit/f0406eedcc3dc415babbbf6bbdb5db1eebfd487b) chore: update dependency markdownlint-cli2 to ^0.21.0 ([#&#8203;20646](https://github.com/eslint/eslint/issues/20646)) (renovate\[bot]) - [`dbb4c95`](https://github.com/eslint/eslint/commit/dbb4c9582a00bac604d5c6ac671bb7111468a846) chore: remove trunk ([#&#8203;20478](https://github.com/eslint/eslint/issues/20478)) (sethamus) - [`c672a2a`](https://github.com/eslint/eslint/commit/c672a2a70579fddf1c6ce33dfa712d705726e1c9) test: fix CLI test for empty output file ([#&#8203;20640](https://github.com/eslint/eslint/issues/20640)) (kuldeep kumar) - [`c7ada24`](https://github.com/eslint/eslint/commit/c7ada2455680036bbfc42fcb1511ff28afe3c587) ci: bump pnpm/action-setup from 4.3.0 to 4.4.0 ([#&#8203;20636](https://github.com/eslint/eslint/issues/20636)) (dependabot\[bot]) - [`07c4b8b`](https://github.com/eslint/eslint/commit/07c4b8b4a9f49145e60a3448dd57853213ed4de3) test: fix `RuleTester` test without test runners ([#&#8203;20631](https://github.com/eslint/eslint/issues/20631)) (Francesco Trotta) - [`079bba7`](https://github.com/eslint/eslint/commit/079bba7ff17d0a99fdffe32bf991d005ba797fae) test: Add tests for `isValidWithUnicodeFlag` ([#&#8203;20601](https://github.com/eslint/eslint/issues/20601)) (Manish chaudhary) - [`5885ae6`](https://github.com/eslint/eslint/commit/5885ae66216bcee9310bbf73786b7d7d5774aeaf) ci: unpin Node.js 25.x in CI ([#&#8203;20615](https://github.com/eslint/eslint/issues/20615)) (Copilot) - [`f65e5d3`](https://github.com/eslint/eslint/commit/f65e5d3c0df65fdb317ad6d23f7ae113c5f4b6d7) chore: update pnpm/action-setup digest to [`b906aff`](https://github.com/eslint/eslint/commit/b906aff) ([#&#8203;20610](https://github.com/eslint/eslint/issues/20610)) (renovate\[bot]) ### [`v10.0.3`](https://github.com/eslint/eslint/releases/tag/v10.0.3) [Compare Source](https://github.com/eslint/eslint/compare/v10.0.2...v10.0.3) #### Bug Fixes - [`e511b58`](https://github.com/eslint/eslint/commit/e511b58d5ecd63a232b87743614867f4eaadbba4) fix: update eslint ([#&#8203;20595](https://github.com/eslint/eslint/issues/20595)) (renovate\[bot]) - [`f4c9cf9`](https://github.com/eslint/eslint/commit/f4c9cf9b8dc5642de555a09295933464080d722a) fix: include variable name in `no-useless-assignment` message ([#&#8203;20581](https://github.com/eslint/eslint/issues/20581)) (sethamus) - [`ee9ff31`](https://github.com/eslint/eslint/commit/ee9ff31cee13712d2be2a6b5c0a4a54449fe9fe1) fix: update dependency minimatch to ^10.2.4 ([#&#8203;20562](https://github.com/eslint/eslint/issues/20562)) (Milos Djermanovic) #### Documentation - [`9fc31b0`](https://github.com/eslint/eslint/commit/9fc31b03ef05abfc4f0f449b22947029d51a72f6) docs: Update README (GitHub Actions Bot) - [`4efaa36`](https://github.com/eslint/eslint/commit/4efaa367c62d5a45dd21e246e4a506e11dd51758) docs: add info box for `eslint-plugin-eslint-comments` ([#&#8203;20570](https://github.com/eslint/eslint/issues/20570)) (DesselBane) - [`23b2759`](https://github.com/eslint/eslint/commit/23b2759dd5cd70976ab2e8f4a1cf86ffe4b9f65d) docs: add v10 migration guide link to Use docs index ([#&#8203;20577](https://github.com/eslint/eslint/issues/20577)) (Pixel998) - [`80259a9`](https://github.com/eslint/eslint/commit/80259a9b0d9e29596a5ef0e1e5269031636cacdb) docs: Remove deprecated eslintrc documentation files ([#&#8203;20472](https://github.com/eslint/eslint/issues/20472)) (Copilot) - [`9b9b4ba`](https://github.com/eslint/eslint/commit/9b9b4baf7f0515d28290464ea754d7e7dc350395) docs: fix typo in no-await-in-loop documentation ([#&#8203;20575](https://github.com/eslint/eslint/issues/20575)) (Pixel998) - [`e7d72a7`](https://github.com/eslint/eslint/commit/e7d72a77e5e1277690a505160137aebd5985909a) docs: document TypeScript 5.3 minimum supported version ([#&#8203;20547](https://github.com/eslint/eslint/issues/20547)) (sethamus) #### Chores - [`ef8fb92`](https://github.com/eslint/eslint/commit/ef8fb924bfabc2e239b46b2d7b3c37319b03084e) chore: package.json update for eslint-config-eslint release (Jenkins) - [`e8f2104`](https://github.com/eslint/eslint/commit/e8f21040f675753e92df8e04f2dbd03addb92985) chore: updates for v9.39.4 release (Jenkins) - [`5cd1604`](https://github.com/eslint/eslint/commit/5cd1604cea5734bc235155a1a1add9f08ae83370) refactor: simplify isCombiningCharacter helper ([#&#8203;20524](https://github.com/eslint/eslint/issues/20524)) (Huáng Jùnliàng) - [`70ff1d0`](https://github.com/eslint/eslint/commit/70ff1d07a8e7eba9e70b67ea55fcf2e47cdc9b2d) chore: eslint-config-eslint require Node `^20.19.0 || ^22.13.0 || >=24` ([#&#8203;20586](https://github.com/eslint/eslint/issues/20586)) (Milos Djermanovic) - [`e32df71`](https://github.com/eslint/eslint/commit/e32df71a569d5f4aca13079dedd4ae76ea05168a) chore: update eslint-plugin-eslint-comments, remove legacy-peer-deps ([#&#8203;20576](https://github.com/eslint/eslint/issues/20576)) (Milos Djermanovic) - [`53ca6ee`](https://github.com/eslint/eslint/commit/53ca6eeed87262ebddd20636107f486badabcc1f) chore: disable `eslint-comments/no-unused-disable` rule ([#&#8203;20578](https://github.com/eslint/eslint/issues/20578)) (Milos Djermanovic) - [`e121895`](https://github.com/eslint/eslint/commit/e1218957452e223af27ace1f9d031ab421aec08f) ci: pin Node.js 25.6.1 ([#&#8203;20559](https://github.com/eslint/eslint/issues/20559)) (Milos Djermanovic) - [`efc5aef`](https://github.com/eslint/eslint/commit/efc5aef2f9a05f01d5cad53dcb91e7f2c575e295) chore: update `tsconfig.json` in `eslint-config-eslint` ([#&#8203;20551](https://github.com/eslint/eslint/issues/20551)) (Francesco Trotta) ### [`v10.0.2`](https://github.com/eslint/eslint/releases/tag/v10.0.2) [Compare Source](https://github.com/eslint/eslint/compare/v10.0.1...v10.0.2) #### Bug Fixes - [`2b72361`](https://github.com/eslint/eslint/commit/2b723616a4daeacd4605f11b4d087d4a7cae5c74) fix: update `ajv` to `6.14.0` to address security vulnerabilities ([#&#8203;20537](https://github.com/eslint/eslint/issues/20537)) (루밀LuMir) #### Documentation - [`13eeedb`](https://github.com/eslint/eslint/commit/13eeedbbd16218b0da1425b78cb284937fd964ca) docs: link rule type explanation to CLI option --fix-type ([#&#8203;20548](https://github.com/eslint/eslint/issues/20548)) (Mike McCready) - [`98cbf6b`](https://github.com/eslint/eslint/commit/98cbf6ba53a1fb2028d25078c7049a538d0e392c) docs: update migration guide per Program range change ([#&#8203;20534](https://github.com/eslint/eslint/issues/20534)) (Huáng Jùnliàng) - [`61a2405`](https://github.com/eslint/eslint/commit/61a24054411fa56ce74bef554846caa9d8cb01f5) docs: add missing semicolon in vars-on-top rule example ([#&#8203;20533](https://github.com/eslint/eslint/issues/20533)) (Abilash) #### Chores - [`951223b`](https://github.com/eslint/eslint/commit/951223b29669885643f7854d7c824288ba962d7e) chore: update dependency [@&#8203;eslint/eslintrc](https://github.com/eslint/eslintrc) to ^3.3.4 ([#&#8203;20553](https://github.com/eslint/eslint/issues/20553)) (renovate\[bot]) - [`6aa1afe`](https://github.com/eslint/eslint/commit/6aa1afe6694f3fd7f82116109a5ef2ad18ece074) chore: update dependency eslint-plugin-jsdoc to ^62.7.0 ([#&#8203;20536](https://github.com/eslint/eslint/issues/20536)) (Milos Djermanovic) ### [`v10.0.1`](https://github.com/eslint/eslint/releases/tag/v10.0.1) [Compare Source](https://github.com/eslint/eslint/compare/v10.0.0...v10.0.1) #### Bug Fixes - [`c87d5bd`](https://github.com/eslint/eslint/commit/c87d5bded54c5cf491eb04c24c9d09bbbd42c23e) fix: update eslint ([#&#8203;20531](https://github.com/eslint/eslint/issues/20531)) (renovate\[bot]) - [`d841001`](https://github.com/eslint/eslint/commit/d84100115c14691691058f00779c94e74fca946a) fix: update `minimatch` to `10.2.1` to address security vulnerabilities ([#&#8203;20519](https://github.com/eslint/eslint/issues/20519)) (루밀LuMir) - [`04c2147`](https://github.com/eslint/eslint/commit/04c21475b3004904948f02049f2888b401d82c78) fix: update error message for unused suppressions ([#&#8203;20496](https://github.com/eslint/eslint/issues/20496)) (fnx) - [`38b089c`](https://github.com/eslint/eslint/commit/38b089c1726feac0e31a31d47941bd99e29ce003) fix: update dependency [@&#8203;eslint/config-array](https://github.com/eslint/config-array) to ^0.23.1 ([#&#8203;20484](https://github.com/eslint/eslint/issues/20484)) (renovate\[bot]) #### Documentation - [`5b3dbce`](https://github.com/eslint/eslint/commit/5b3dbce50a1404a9f118afe810cefeee79388a2a) docs: add AI acknowledgement section to templates ([#&#8203;20431](https://github.com/eslint/eslint/issues/20431)) (루밀LuMir) - [`6f23076`](https://github.com/eslint/eslint/commit/6f23076037d5879f20fb3be2ef094293b1e8d38c) docs: toggle nav in no-JS mode ([#&#8203;20476](https://github.com/eslint/eslint/issues/20476)) (Tanuj Kanti) - [`b69cfb3`](https://github.com/eslint/eslint/commit/b69cfb32a16c5d5e9986390d484fae1d21e406f9) docs: Update README (GitHub Actions Bot) #### Chores - [`e5c281f`](https://github.com/eslint/eslint/commit/e5c281ffd038a3a7a3e5364db0b9378e0ad83020) chore: updates for v9.39.3 release (Jenkins) - [`8c3832a`](https://github.com/eslint/eslint/commit/8c3832adb77cd993b4a24891900d5eeaaf093cdc) chore: update [@&#8203;typescript-eslint/parser](https://github.com/typescript-eslint/parser) to ^8.56.0 ([#&#8203;20514](https://github.com/eslint/eslint/issues/20514)) (Milos Djermanovic) - [`8330d23`](https://github.com/eslint/eslint/commit/8330d238ae6adb68bb6a1c9381e38cfedd990d94) test: add tests for config-api ([#&#8203;20493](https://github.com/eslint/eslint/issues/20493)) (Milos Djermanovic) - [`37d6e91`](https://github.com/eslint/eslint/commit/37d6e91e88fa6a2ca6d8726679096acff21ba6cc) chore: remove eslint v10 prereleases from eslint-config-eslint deps ([#&#8203;20494](https://github.com/eslint/eslint/issues/20494)) (Milos Djermanovic) - [`da7cd0e`](https://github.com/eslint/eslint/commit/da7cd0e79197ad16e17052eef99df141de6dbfb1) refactor: cleanup error message templates ([#&#8203;20479](https://github.com/eslint/eslint/issues/20479)) (Francesco Trotta) - [`84fb885`](https://github.com/eslint/eslint/commit/84fb885d49ac810e79a9491276b4828b53d913e5) chore: package.json update for [@&#8203;eslint/js](https://github.com/eslint/js) release (Jenkins) - [`1f66734`](https://github.com/eslint/eslint/commit/1f667344b57c4c09b548d94bcfac1f91b6e5c63d) chore: add `eslint` to `peerDependencies` of `@eslint/js` ([#&#8203;20467](https://github.com/eslint/eslint/issues/20467)) (Milos Djermanovic) </details> <details> <summary>vercel/next.js (eslint-config-next)</summary> ### [`v16.2.1`](https://github.com/vercel/next.js/releases/tag/v16.2.1) [Compare Source](https://github.com/vercel/next.js/compare/v16.2.0...v16.2.1) > \[!NOTE] > This release is backporting bug fixes. It does **not** include all pending features/changes on canary. ##### Core Changes - docs: post release amends ([#&#8203;91715](https://github.com/vercel/next.js/issues/91715)) - docs: fix broken Activity Patterns demo link in preserving UI state guide ([#&#8203;91698](https://github.com/vercel/next.js/issues/91698)) - Fix adapter outputs for dynamic metadata routes ([#&#8203;91680](https://github.com/vercel/next.js/issues/91680)) - Turbopack: fix webpack loader runner layer ([#&#8203;91727](https://github.com/vercel/next.js/issues/91727)) - Fix server actions in standalone mode with `cacheComponents` ([#&#8203;91711](https://github.com/vercel/next.js/issues/91711)) - turbo-persistence: remove Unmergeable mmap advice ([#&#8203;91713](https://github.com/vercel/next.js/issues/91713)) - Fix layout segment optimization: move app-page imports to server-utility transition ([#&#8203;91701](https://github.com/vercel/next.js/issues/91701)) - Turbopack: lazy require metadata and handle TLA ([#&#8203;91705](https://github.com/vercel/next.js/issues/91705)) - \[turbopack] Respect `{eval:true}` in worker\_threads constructors ([#&#8203;91666](https://github.com/vercel/next.js/issues/91666)) ##### Credits Huge thanks to [@&#8203;icyJoseph](https://github.com/icyJoseph), [@&#8203;abhishekmardiya](https://github.com/abhishekmardiya), [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;mischnic](https://github.com/mischnic), [@&#8203;unstubbable](https://github.com/unstubbable), [@&#8203;sokra](https://github.com/sokra), and [@&#8203;lukesandberg](https://github.com/lukesandberg) for helping! ### [`v16.2.0`](https://github.com/vercel/next.js/releases/tag/v16.2.0) [Compare Source](https://github.com/vercel/next.js/compare/v16.1.7...v16.2.0) > \[!TIP]\ > **Check out our Next v16.2 [Blog Post](https://nextjs.org/blog/next-16-2) to learn more about this release.** ##### Core Changes - Upgrade React from `f93b9fd4-20251217` to `65eec428-20251218`: [#&#8203;87323](https://github.com/vercel/next.js/issues/87323) - Turbopack: Create junction points instead of symlinks on Windows: [#&#8203;87606](https://github.com/vercel/next.js/issues/87606) - Turbopack: Symlink handling follow-up: [#&#8203;87637](https://github.com/vercel/next.js/issues/87637) - Add experimental routing package for resolving adapter routes: [#&#8203;86404](https://github.com/vercel/next.js/issues/86404) - Ensure outputs are correct with cache components in deployment adapters: [#&#8203;87018](https://github.com/vercel/next.js/issues/87018) - Move off of deprecated url.parse: [#&#8203;87257](https://github.com/vercel/next.js/issues/87257) - \[strict-route-types] Add `experimental.strictRouteTypes` config: [#&#8203;87378](https://github.com/vercel/next.js/issues/87378) - misc: fix type check log for CI envs: [#&#8203;87838](https://github.com/vercel/next.js/issues/87838) - fix: revalidateTag with profile should not trigger client cache invalidation: [#&#8203;88069](https://github.com/vercel/next.js/issues/88069) - chore: warn when running tests against stale build: [#&#8203;88001](https://github.com/vercel/next.js/issues/88001) - Redesign default error pages with cleaner, more user-friendly UI: [#&#8203;87988](https://github.com/vercel/next.js/issues/87988) - dx: avoid next-env.d.ts change in dev: [#&#8203;88103](https://github.com/vercel/next.js/issues/88103) - prevent browser cache from using stale RSC responses from previous builds: [#&#8203;86554](https://github.com/vercel/next.js/issues/86554) - \[strict-route-types] Typecheck App Router page props: [#&#8203;87386](https://github.com/vercel/next.js/issues/87386) - \[strict-route-types] Enforce common React Component return types in App Router: [#&#8203;87389](https://github.com/vercel/next.js/issues/87389) - \[strict-route-types] Switch to `satisfies` when validating page and route modules: [#&#8203;87398](https://github.com/vercel/next.js/issues/87398) - \[strict-route-types] Don't reject `number` in `config.api.bodyParser.sizeLimit` when validating route: [#&#8203;87633](https://github.com/vercel/next.js/issues/87633) - Revert "dx: avoid next-env.d.ts change in dev": [#&#8203;88153](https://github.com/vercel/next.js/issues/88153) - \[strict-route-types] Typecheck pages router routes in absence of App Router: [#&#8203;87628](https://github.com/vercel/next.js/issues/87628) - \[strict-route-types] Ensure cache profiles and routes are type-checked even if .next is excluded: [#&#8203;87768](https://github.com/vercel/next.js/issues/87768) - add compilation error for taint when not enabled: [#&#8203;88173](https://github.com/vercel/next.js/issues/88173) - feat(next/image)!: add `images.maximumResponseBody` config: [#&#8203;88183](https://github.com/vercel/next.js/issues/88183) - Add maximum size limit for postponed body parsing: [#&#8203;88175](https://github.com/vercel/next.js/issues/88175) - metadata: use fixed segment in dynamic routes with static metadata files: [#&#8203;88113](https://github.com/vercel/next.js/issues/88113) - feat: add --experimental-cpu-prof flag for dev, build, and start: [#&#8203;87946](https://github.com/vercel/next.js/issues/87946) - Add experimental option to use no-cache instead of no-store in dev: [#&#8203;88182](https://github.com/vercel/next.js/issues/88182) - fix overlay frames cannot be opened sometimes: [#&#8203;88210](https://github.com/vercel/next.js/issues/88210) - Handle pnpm-workspace.yaml while searching for monorepo root: [#&#8203;74818](https://github.com/vercel/next.js/issues/74818) - Add more debug logs to `'use cache'` wrapper: [#&#8203;88219](https://github.com/vercel/next.js/issues/88219) - Omit unused arguments from `'use cache'` function calls: [#&#8203;86920](https://github.com/vercel/next.js/issues/86920) - Only log `pending revalidates...` debug log if applicable: [#&#8203;88221](https://github.com/vercel/next.js/issues/88221) - fix(next/image): bump sharp\@&#8203;0.34.5: [#&#8203;88238](https://github.com/vercel/next.js/issues/88238) - Disallow javascript urls in router methods and redirects: [#&#8203;88185](https://github.com/vercel/next.js/issues/88185) - Fix relative same host redirects in node middleware: [#&#8203;88253](https://github.com/vercel/next.js/issues/88253) - Remove loadConfig from main development process, pass value from child process: [#&#8203;88230](https://github.com/vercel/next.js/issues/88230) - Update deploy adapters outputs and handler interfaces for node and edge: [#&#8203;88247](https://github.com/vercel/next.js/issues/88247) - Move Ready in time before handler initialization: [#&#8203;88235](https://github.com/vercel/next.js/issues/88235) - next/image: support custom cache handlers: [#&#8203;88248](https://github.com/vercel/next.js/issues/88248) - feat: add Claude Code plugin marketplace with Cache Components skill: [#&#8203;87993](https://github.com/vercel/next.js/issues/87993) - refactor: consolidate PPR into cacheComponents architecture: [#&#8203;88243](https://github.com/vercel/next.js/issues/88243) - Turbopack: include fewer traced files for standalone: [#&#8203;88322](https://github.com/vercel/next.js/issues/88322) - feat(turbopack): add resolve plugin condition variant of Always and Never: [#&#8203;88190](https://github.com/vercel/next.js/issues/88190) - perf: use length = 0 to clear the logging array: [#&#8203;88244](https://github.com/vercel/next.js/issues/88244) - Time logs: Show full millisecond instead of 1 decimal: [#&#8203;88313](https://github.com/vercel/next.js/issues/88313) - \[turbopack] Enable inferring module side effects by default: [#&#8203;87216](https://github.com/vercel/next.js/issues/87216) - Track search string as part of "refresh state": [#&#8203;87203](https://github.com/vercel/next.js/issues/87203) - Pass RouteTree into navigation function: [#&#8203;87256](https://github.com/vercel/next.js/issues/87256) - Read from segment cache unknown routes: [#&#8203;87293](https://github.com/vercel/next.js/issues/87293) - Pass loading boundary as part of RSC data: [#&#8203;87825](https://github.com/vercel/next.js/issues/87825) - Revert "refactor: consolidate PPR into cacheComponents architecture ([#&#8203;88243](https://github.com/vercel/next.js/issues/88243))": [#&#8203;88421](https://github.com/vercel/next.js/issues/88421) - fix: support TypeScript `noUncheckedSideEffectImports` for CSS imports: [#&#8203;88199](https://github.com/vercel/next.js/issues/88199) - Don't import typescript at runtime: [#&#8203;88321](https://github.com/vercel/next.js/issues/88321) - fix: use RDC for server action requests: [#&#8203;88129](https://github.com/vercel/next.js/issues/88129) - Warn when overriding Cache-Control header on `/_next/` routes: [#&#8203;88353](https://github.com/vercel/next.js/issues/88353) - \[prebuilt-skew-protection] feat: adding in automatic deploymentId: [#&#8203;88012](https://github.com/vercel/next.js/issues/88012) - Revert "\[prebuilt-skew-protection] feat: adding in automatic deploymentId": [#&#8203;88449](https://github.com/vercel/next.js/issues/88449) - Turbopack: Update reqwest, remove experimental system TLS feature: [#&#8203;88290](https://github.com/vercel/next.js/issues/88290) - Revert "prevent browser cache from using stale RSC responses from pre…: [#&#8203;88457](https://github.com/vercel/next.js/issues/88457) - Turbopack: retain loader tree order for metadata: [#&#8203;88487](https://github.com/vercel/next.js/issues/88487) - Turbopack: more dead code: [#&#8203;88505](https://github.com/vercel/next.js/issues/88505) - fix(build): prevent route handler manifests from inheriting unrelated client components: [#&#8203;88419](https://github.com/vercel/next.js/issues/88419) - Upgrade React from `65eec428-20251218` to `3e1abcc8-20260113`: [#&#8203;88530](https://github.com/vercel/next.js/issues/88530) - Better typesafety for `interopDefault`: [#&#8203;88486](https://github.com/vercel/next.js/issues/88486) - keep next-env.d.s unchanged between dev and build: [#&#8203;88428](https://github.com/vercel/next.js/issues/88428) - Remove sibling caches from CacheNode tree: [#&#8203;87991](https://github.com/vercel/next.js/issues/87991) - Upgrade React from `3e1abcc8-20260113` to `4a3d993e-20260114`: [#&#8203;88547](https://github.com/vercel/next.js/issues/88547) - Finish deleting Mutable from router implementation: [#&#8203;88046](https://github.com/vercel/next.js/issues/88046) - fetch(next/image): reduce maximumResponseBody from 300MB to 50MB: [#&#8203;88588](https://github.com/vercel/next.js/issues/88588) - \[CC] Fix dev validation error from server action bound args: [#&#8203;88600](https://github.com/vercel/next.js/issues/88600) - Fix incorrect 'Ready in' time for next start: [#&#8203;88589](https://github.com/vercel/next.js/issues/88589) - feat: server action logging: [#&#8203;88277](https://github.com/vercel/next.js/issues/88277) - Log browser error and warnings in terminal: [#&#8203;88352](https://github.com/vercel/next.js/issues/88352) - Upgrade React from `4a3d993e-20260114` to `bef88f7c-20260116`: [#&#8203;88649](https://github.com/vercel/next.js/issues/88649) - fix: make RedirectType constant properties literal types: [#&#8203;88653](https://github.com/vercel/next.js/issues/88653) - Turbopack: add support for matching loaders on resource queries: [#&#8203;88644](https://github.com/vercel/next.js/issues/88644) - fix: capture promisified setImmediate separately: [#&#8203;88346](https://github.com/vercel/next.js/issues/88346) - fix: setImmediate\[util.promisify.custom] access fails in edge runtime: [#&#8203;88685](https://github.com/vercel/next.js/issues/88685) - Fix `--debug-build-paths` bracket escaping for glob patterns: [#&#8203;88660](https://github.com/vercel/next.js/issues/88660) - Add negation pattern support to `--debug-build-paths`: [#&#8203;88654](https://github.com/vercel/next.js/issues/88654) - Only filter next config if experimental flag is enabled: [#&#8203;88733](https://github.com/vercel/next.js/issues/88733) - \[Devtool Indicator] Fix cross alignment: [#&#8203;88664](https://github.com/vercel/next.js/issues/88664) - Turbopack: don't use build id for pages router client-side manifests: [#&#8203;88641](https://github.com/vercel/next.js/issues/88641) - Allow inspecting server with `next start --inspect`: [#&#8203;88744](https://github.com/vercel/next.js/issues/88744) - Turbopack: Add `--debug-build-paths` support to filter routes: [#&#8203;88655](https://github.com/vercel/next.js/issues/88655) - Upgrade React from `bef88f7c-20260116` to `41b3e9a6-20260119`: [#&#8203;88756](https://github.com/vercel/next.js/issues/88756) - Use rewritten pathname for implicit cache tags: [#&#8203;88732](https://github.com/vercel/next.js/issues/88732) - Upgrade React from `41b3e9a6-20260119` to `d2908752-20260119`: [#&#8203;88774](https://github.com/vercel/next.js/issues/88774) - Add experimental\_gesturePush to App Router: [#&#8203;88776](https://github.com/vercel/next.js/issues/88776) - Rename `rewroteURL` to `rewrittenPathname` in request metadata: [#&#8203;88751](https://github.com/vercel/next.js/issues/88751) - Simplify `getImplicitTags` to accept pathname instead of url object: [#&#8203;88753](https://github.com/vercel/next.js/issues/88753) - Add `NEXT_DEPLOYMENT_ID` global: [#&#8203;86738](https://github.com/vercel/next.js/issues/86738) - Turbopack: remove deployment id suffix from client reference manifest chunks: [#&#8203;88741](https://github.com/vercel/next.js/issues/88741) - Inject `<html data-dpl-id>` and don't inline it into JS anymore: [#&#8203;88761](https://github.com/vercel/next.js/issues/88761) - \[metadata] match the Metadata and ResolvedMetadata type: [#&#8203;88739](https://github.com/vercel/next.js/issues/88739) - Reuse bfcache data during Full prefetches: [#&#8203;88606](https://github.com/vercel/next.js/issues/88606) - Embed static sibling info in route tree: [#&#8203;88692](https://github.com/vercel/next.js/issues/88692) - Fix `revalidatePath` with params and trailing slash when deployed: [#&#8203;88623](https://github.com/vercel/next.js/issues/88623) - fix: preserve cache behavior for PPR fallback shells with root params: [#&#8203;88556](https://github.com/vercel/next.js/issues/88556) - Upgrade React from `d2908752-20260119` to `b546603b-20260121`: [#&#8203;88860](https://github.com/vercel/next.js/issues/88860) - stabilize browser log forward options: [#&#8203;88857](https://github.com/vercel/next.js/issues/88857) - \[devtools] Wrap long file names of stack frames in the error overlay: [#&#8203;88886](https://github.com/vercel/next.js/issues/88886) - \[devtools] Fix notch coloring of error overlay in forced colors mode: [#&#8203;88892](https://github.com/vercel/next.js/issues/88892) - Remove `deploymentId` from App Router `RenderOptsPartial`: [#&#8203;88866](https://github.com/vercel/next.js/issues/88866) - feat: implement LRU cache with invocation ID scoping for minimal mode response cache: [#&#8203;88509](https://github.com/vercel/next.js/issues/88509) - \[prebuilt-skew-protection] feat: adding in automatic deploymentId: [#&#8203;88496](https://github.com/vercel/next.js/issues/88496) - \[devtool] Add hydration diff indicator for diff lines: [#&#8203;88919](https://github.com/vercel/next.js/issues/88919) - Revert "\[prebuilt-skew-protection] feat: adding in automatic deploymentId": [#&#8203;88942](https://github.com/vercel/next.js/issues/88942) - \[turbopack] add task type infromation to the print\_cache\_item\_size feature: [#&#8203;88925](https://github.com/vercel/next.js/issues/88925) - Upgrade React from `b546603b-20260121` to `24d8716e-20260123`: [#&#8203;88963](https://github.com/vercel/next.js/issues/88963) - Turbopack: add `?dpl=` to all asset urls returned by Turbopack: [#&#8203;88828](https://github.com/vercel/next.js/issues/88828) - feat(next-codemod): add agents-md command for AI coding agents: [#&#8203;88961](https://github.com/vercel/next.js/issues/88961) - Update font data: [#&#8203;88975](https://github.com/vercel/next.js/issues/88975) - Improve agents-md prompt to force doc retrieval: [#&#8203;88997](https://github.com/vercel/next.js/issues/88997) - \[Reapply] Add `useEffectEvent` to disallowed React APIs in Server Components: [#&#8203;88985](https://github.com/vercel/next.js/issues/88985) - Apply fixes for onBuildComplete and route module: [#&#8203;88831](https://github.com/vercel/next.js/issues/88831) - Rename `renderOpts.nextExport` to `isBuildTimePrerendering`: [#&#8203;88951](https://github.com/vercel/next.js/issues/88951) - docs: fix typos in `README.md`s: [#&#8203;89022](https://github.com/vercel/next.js/issues/89022) - refactor: consume global-error from loader tree: [#&#8203;88437](https://github.com/vercel/next.js/issues/88437) - Fix chunk loading when using `__turbopack_load_by_url__` with query: [#&#8203;88899](https://github.com/vercel/next.js/issues/88899) - \[mcp] change the mcp endpoint response to JSON: [#&#8203;88911](https://github.com/vercel/next.js/issues/88911) - Reapply "\[turbopack] Add bundling support for worker\_threads" ([#&#8203;88725](https://github.com/vercel/next.js/issues/88725)): [#&#8203;88967](https://github.com/vercel/next.js/issues/88967) - fix: ensure LRU cache items have minimum size of 1 to prevent unbounded growth: [#&#8203;89040](https://github.com/vercel/next.js/issues/89040) - Upgrade React from `24d8716e-20260123` to `8c34556c-20260126`: [#&#8203;89066](https://github.com/vercel/next.js/issues/89066) - Use null-prototype objects in server actions manifests: [#&#8203;89069](https://github.com/vercel/next.js/issues/89069) - Re-enable types-and-precompiled: [#&#8203;89070](https://github.com/vercel/next.js/issues/89070) - Apply segment changes to adapters outputs: [#&#8203;89072](https://github.com/vercel/next.js/issues/89072) - Improve no response route handler error: [#&#8203;89036](https://github.com/vercel/next.js/issues/89036) - Limit number of server action arguments to 1000: [#&#8203;89068](https://github.com/vercel/next.js/issues/89068) - \[prebuilt-skew-protection] feat: adding in automatic deploymentId: [#&#8203;88958](https://github.com/vercel/next.js/issues/88958) - Decouple route stale time from segment-level data: [#&#8203;88834](https://github.com/vercel/next.js/issues/88834) - Decouple route and segment cache lifecycles: [#&#8203;88989](https://github.com/vercel/next.js/issues/88989) - \[ci] Silence `baseline-browser-mapping` warnings: [#&#8203;89175](https://github.com/vercel/next.js/issues/89175) - \[Cache Components] Prevent streaming fetch calls from hanging in dev: [#&#8203;89171](https://github.com/vercel/next.js/issues/89171) - React types update: [#&#8203;89110](https://github.com/vercel/next.js/issues/89110) - \[nextjs] feat: removing length requirement: [#&#8203;89173](https://github.com/vercel/next.js/issues/89173) - add GPTBot to matcher for known bots: [#&#8203;89188](https://github.com/vercel/next.js/issues/89188) - Ensure `.md` licenses are included in vendored packages: [#&#8203;89201](https://github.com/vercel/next.js/issues/89201) - Switch development log item format as JSON: [#&#8203;89168](https://github.com/vercel/next.js/issues/89168) - IsolatedDevBuild flag removal: [#&#8203;89167](https://github.com/vercel/next.js/issues/89167) - fix: coerce HEAD to GET for internal images: [#&#8203;84180](https://github.com/vercel/next.js/issues/84180) - Upgrade React from `10680271-20260126` to `230772f9-20260128`: [#&#8203;89250](https://github.com/vercel/next.js/issues/89250) - Upgrade `tar` used to extract SWC binary : [#&#8203;89158](https://github.com/vercel/next.js/issues/89158) - Sort prerender manifest routes: [#&#8203;89246](https://github.com/vercel/next.js/issues/89246) - Track vary params for segments without server-side param access: [#&#8203;88998](https://github.com/vercel/next.js/issues/88998) - Optimistic routing: client-side route prediction: [#&#8203;88965](https://github.com/vercel/next.js/issues/88965) - Keep pages/404.js to be able to dynamically render it anyway: [#&#8203;89263](https://github.com/vercel/next.js/issues/89263) - fix: fully static pages should emit & serve static rsc payloads: [#&#8203;89202](https://github.com/vercel/next.js/issues/89202) - fix: CSRF origin matching should be case-insensitive: [#&#8203;89127](https://github.com/vercel/next.js/issues/89127) - fix(build): format runAfterProductionCompile duration as human-readable time: [#&#8203;89232](https://github.com/vercel/next.js/issues/89232) - fix(router): support BigInt in query parameters: [#&#8203;89213](https://github.com/vercel/next.js/issues/89213) - Update font data: [#&#8203;89200](https://github.com/vercel/next.js/issues/89200) - Update font data: [#&#8203;89272](https://github.com/vercel/next.js/issues/89272) - Turbopack: add support for contentType condition for webpack loaders: [#&#8203;89156](https://github.com/vercel/next.js/issues/89156) - Revert "fix(router): support BigInt in query parameters": [#&#8203;89283](https://github.com/vercel/next.js/issues/89283) - Track vary params during static prerendering: [#&#8203;89267](https://github.com/vercel/next.js/issues/89267) - Improve lock dir error message: [#&#8203;89119](https://github.com/vercel/next.js/issues/89119) - Ensures `browserslist` doesn't issue outdated warnings for `baseline-browser-mapping`: [#&#8203;89287](https://github.com/vercel/next.js/issues/89287) - Replace build id in Pages data routes with deployment id: [#&#8203;88959](https://github.com/vercel/next.js/issues/88959) - Upgrade React from `230772f9-20260128` to `da641178-20260129`: [#&#8203;89301](https://github.com/vercel/next.js/issues/89301) - Inline handler dependencies instead of tracing: [#&#8203;89269](https://github.com/vercel/next.js/issues/89269) - Turbopack: add `rules.*.type` config to allow changing the type of a module: [#&#8203;88788](https://github.com/vercel/next.js/issues/88788) - Add experimental.varyParams feature flag: [#&#8203;89307](https://github.com/vercel/next.js/issues/89307) - Fix/zlib mem node: [#&#8203;89099](https://github.com/vercel/next.js/issues/89099) - Revert "Replace build id in Pages data routes with deployment id ([#&#8203;88959](https://github.com/vercel/next.js/issues/88959))": [#&#8203;89323](https://github.com/vercel/next.js/issues/89323) - Turbopack: Rename crates/napi to crates/next-napi-bindings and update crate name: [#&#8203;89314](https://github.com/vercel/next.js/issues/89314) - feat: detect [@&#8203;typescript/native-preview](https://github.com/typescript/native-preview) as alternative TypeScript compiler: [#&#8203;89149](https://github.com/vercel/next.js/issues/89149) - Revert "Fix/zlib mem node": [#&#8203;89322](https://github.com/vercel/next.js/issues/89322) - Turbopack: FreeVarReference::ReportUsage: [#&#8203;89302](https://github.com/vercel/next.js/issues/89302) - Make Server Function logging opt-in via `logging.serverFunctions`: [#&#8203;89321](https://github.com/vercel/next.js/issues/89321) - Restore default-enabled Server Function logging: [#&#8203;89407](https://github.com/vercel/next.js/issues/89407) - Re-add build-complete traces for webpack: [#&#8203;89402](https://github.com/vercel/next.js/issues/89402) - Skip Server Function logging for `'use cache'` functions: [#&#8203;89408](https://github.com/vercel/next.js/issues/89408) - Replace flight navigation build id field with header: [#&#8203;88855](https://github.com/vercel/next.js/issues/88855) - Upgrade React from `da641178-20260129` to `ed4bd540-20260202`: [#&#8203;89401](https://github.com/vercel/next.js/issues/89401) - Upgrade React from `ed4bd540-20260202` to `b1533b03-20260203`: [#&#8203;89444](https://github.com/vercel/next.js/issues/89444) - Upgrade React from `b1533b03-20260203` to `3e00319b-20260203`: [#&#8203;89449](https://github.com/vercel/next.js/issues/89449) - Rename CACHE\_ONE\_YEAR for clarity and fix usage: [#&#8203;89450](https://github.com/vercel/next.js/issues/89450) - \[Codemod] Fix agents-md on Windows: [#&#8203;89319](https://github.com/vercel/next.js/issues/89319) - Experimental deferred entries handling: [#&#8203;88347](https://github.com/vercel/next.js/issues/88347) - Add `experimental.reportSystemEnvInlining` for Turbopack: [#&#8203;89304](https://github.com/vercel/next.js/issues/89304) - fix: use signal-based exit codes to prevent inspector blocking exit: [#&#8203;89351](https://github.com/vercel/next.js/issues/89351) - Add Instant Navigation Testing API: [#&#8203;89465](https://github.com/vercel/next.js/issues/89465) - Support MPA navigations in `instant()`: [#&#8203;89469](https://github.com/vercel/next.js/issues/89469) - Handle Pages data route skew with deployment id header, take 2: [#&#8203;89325](https://github.com/vercel/next.js/issues/89325) - Include owner stack for forwarded errors if available: [#&#8203;89493](https://github.com/vercel/next.js/issues/89493) - \[CC] Rename "unstable\_prefetch" to "unstable\_instant": [#&#8203;89448](https://github.com/vercel/next.js/issues/89448) - Ensure module contexts are always included in adapter traces: [#&#8203;89508](https://github.com/vercel/next.js/issues/89508) - Don't insert build id comment in HTML: [#&#8203;89478](https://github.com/vercel/next.js/issues/89478) - Clarify type checking error message: [#&#8203;89525](https://github.com/vercel/next.js/issues/89525) - Require explicit `cacheLife` on outer `"use cache"` when nesting short-lived caches: [#&#8203;89481](https://github.com/vercel/next.js/issues/89481) - \[Instant] Instant validation in Dev: [#&#8203;89077](https://github.com/vercel/next.js/issues/89077) - Upgrade React from `3e00319b-20260203` to `95ffd6cd-20260205`: [#&#8203;89550](https://github.com/vercel/next.js/issues/89550) - Turbpopack: fix is\_persistent\_caching\_enabled: [#&#8203;89533](https://github.com/vercel/next.js/issues/89533) - Fix a small doc typo: [#&#8203;89553](https://github.com/vercel/next.js/issues/89553) - Ensure \_middleware is consistent in adapter for name/id: [#&#8203;89559](https://github.com/vercel/next.js/issues/89559) - Ensure Errors with deep causal chains respect inspect depth: [#&#8203;89594](https://github.com/vercel/next.js/issues/89594) - refactor: extract route discovery into unified `discoverRoutes()` API: [#&#8203;88971](https://github.com/vercel/next.js/issues/88971) - Ensure static metadata are static outputs for adapters: [#&#8203;89574](https://github.com/vercel/next.js/issues/89574) - Resolve local variable references in error code SWC plugin: [#&#8203;89596](https://github.com/vercel/next.js/issues/89596) - Turbopack: Add --experimental-server-fast-refresh CLI flag: [#&#8203;89274](https://github.com/vercel/next.js/issues/89274) - Fix deployment id header when proxying: [#&#8203;89593](https://github.com/vercel/next.js/issues/89593) - fix: deprecated util.\_extend: [#&#8203;89614](https://github.com/vercel/next.js/issues/89614) - Fix missing non-deferred turbopack build items: [#&#8203;89616](https://github.com/vercel/next.js/issues/89616) - Revert "Ensure \_middleware is consistent in adapter for name/id": [#&#8203;89624](https://github.com/vercel/next.js/issues/89624) - Omit unused arguments for server actions: [#&#8203;89651](https://github.com/vercel/next.js/issues/89651) - Upgrade React from `95ffd6cd-20260205` to `2dd9b7cf-20260208`: [#&#8203;89681](https://github.com/vercel/next.js/issues/89681) - Include `AggregateError.errors` in terminal output: [#&#8203;88999](https://github.com/vercel/next.js/issues/88999) - fix(image): findClosestQuality returns 0 for low quality values: [#&#8203;89621](https://github.com/vercel/next.js/issues/89621) - Upgrade React from `2dd9b7cf-20260208` to `272441a9-20260209`: [#&#8203;89722](https://github.com/vercel/next.js/issues/89722) - Avoid using unclosing prefetch streams in the browser: [#&#8203;89610](https://github.com/vercel/next.js/issues/89610) - Pass shouldCache to all manifest loading calls: [#&#8203;89713](https://github.com/vercel/next.js/issues/89713) - Add 2nd cloned body to FinalizationRegistry. Only used RuntimeStyles component for webpack: [#&#8203;88577](https://github.com/vercel/next.js/issues/88577) - Tracing: trace render times as render-path: [#&#8203;89763](https://github.com/vercel/next.js/issues/89763) - Turbopack: Server HMR infrastructure: [#&#8203;88870](https://github.com/vercel/next.js/issues/88870) - Turbopack: Reorganize runtime files into shared/runtime directory: [#&#8203;89461](https://github.com/vercel/next.js/issues/89461) - \[Instant] Validation on client navs: [#&#8203;89777](https://github.com/vercel/next.js/issues/89777) - Turbopack: extract core hmr client logic into shared runtime: [#&#8203;88912](https://github.com/vercel/next.js/issues/88912) - Turbopack: Fix slow filesystem benchmark warning for `next dev`: [#&#8203;89798](https://github.com/vercel/next.js/issues/89798) - Add turbopackIgnoreIssue config to suppress Turbopack warnings: [#&#8203;89682](https://github.com/vercel/next.js/issues/89682) - Add support for with `type: "text"` under a new experimental flag, following what webpack did: [#&#8203;89560](https://github.com/vercel/next.js/issues/89560) - Remove unused devtools code handling React without `use`: [#&#8203;89793](https://github.com/vercel/next.js/issues/89793) - \[devtools] Wrap overlay in Activity: [#&#8203;89818](https://github.com/vercel/next.js/issues/89818) - Add CSS URL deployment ID suffix support: [#&#8203;89771](https://github.com/vercel/next.js/issues/89771) - Fix cascading LRU eviction during prefetch batches: [#&#8203;89766](https://github.com/vercel/next.js/issues/89766) - Refactor prerenderManifest passing: [#&#8203;89765](https://github.com/vercel/next.js/issues/89765) - \[AI] Ship bundled docs in next and generate AGENTS.md in create-next-app: [#&#8203;89850](https://github.com/vercel/next.js/issues/89850) - Turbopack: Implement server hmr in nodejs dev runtime: [#&#8203;89130](https://github.com/vercel/next.js/issues/89130) - Allow sitemap.ts and sitemap/page.tsx to coexist in Turbopack: [#&#8203;89789](https://github.com/vercel/next.js/issues/89789) - \[fragment-scroll] Cleanup scroll and focus restoration in layout router: [#&#8203;83110](https://github.com/vercel/next.js/issues/83110) - \[fragment-scroll] Add `experimental.appNewScrollHandler`: [#&#8203;83107](https://github.com/vercel/next.js/issues/83107) - \[Instant] Fix crash with search params: [#&#8203;89922](https://github.com/vercel/next.js/issues/89922) - Fix memory leak in dev mode caused by fast-set-immediate: [#&#8203;89779](https://github.com/vercel/next.js/issues/89779) - Trace upload: include experimental flag states: [#&#8203;89845](https://github.com/vercel/next.js/issues/89845) - Upgrade React from `272441a9-20260209` to `6066c782-20260212`: [#&#8203;89923](https://github.com/vercel/next.js/issues/89923) - Add a better error message for when turbopack cannot be loaded: [#&#8203;89633](https://github.com/vercel/next.js/issues/89633) - fix: support multiple icon formats with same base name (icon.png + icon.svg): [#&#8203;89504](https://github.com/vercel/next.js/issues/89504) - Turbopack: Move turbopackIgnoreIssue from experimental to turbopack.ignoreIssue: [#&#8203;89817](https://github.com/vercel/next.js/issues/89817) - Build with dev runtimes when `--debug-prerender` is set: [#&#8203;89834](https://github.com/vercel/next.js/issues/89834) - Append deployment id query string for next-font: [#&#8203;89960](https://github.com/vercel/next.js/issues/89960) - Fix parallel routes with deferred entries: [#&#8203;89967](https://github.com/vercel/next.js/issues/89967) - Rename node extension utils for clarity: [#&#8203;89970](https://github.com/vercel/next.js/issues/89970) - Model abandoning by signal: [#&#8203;89971](https://github.com/vercel/next.js/issues/89971) - Fix missing incremental cache in middleware unstable\_cache: [#&#8203;89980](https://github.com/vercel/next.js/issues/89980) - Run fast immediates during prerender abort to fix flaky I/O stack traces: [#&#8203;89969](https://github.com/vercel/next.js/issues/89969) - \[fragment-scroll] Ensure hoisted elements don't break scroll-to-top on page navigations: [#&#8203;83108](https://github.com/vercel/next.js/issues/83108) - dx: Include path count in export error message: [#&#8203;89333](https://github.com/vercel/next.js/issues/89333) - fix(agents-md): use `require.resolve()` to get the installed `next` version: [#&#8203;89166](https://github.com/vercel/next.js/issues/89166) - docs: agent skills, pr-status script, and AGENTS.md updates (1/8): [#&#8203;89857](https://github.com/vercel/next.js/issues/89857) - Ignore `prefetch={true}` on Links to routes with `instant`: [#&#8203;90061](https://github.com/vercel/next.js/issues/90061) - Expand deferred entries test suite and fix turbopack build: [#&#8203;90057](https://github.com/vercel/next.js/issues/90057) - Use StageController for runtime prerendering: [#&#8203;89972](https://github.com/vercel/next.js/issues/89972) - Improve task pipelining: [#&#8203;90065](https://github.com/vercel/next.js/issues/90065) - fix(next/legacy/image): add deployment id (dpl) query string support: [#&#8203;89956](https://github.com/vercel/next.js/issues/89956) - Cache expected missing manifest read: [#&#8203;89908](https://github.com/vercel/next.js/issues/89908) - Use for...in instead of Object.keys for parallelRouteKey traversal: [#&#8203;89905](https://github.com/vercel/next.js/issues/89905) - \[Instant] allow non-blocking dynamic holes and errors in shared parents: [#&#8203;89875](https://github.com/vercel/next.js/issues/89875) - Move prefetch hints from CacheNodeSeedData to FlightRouterState: [#&#8203;90066](https://github.com/vercel/next.js/issues/90066) - \[Instant] Don't block on client APIs that wouldn't block in the browser: [#&#8203;89924](https://github.com/vercel/next.js/issues/89924) - \[devtools] Add support for error causes in the dev overlay: [#&#8203;90108](https://github.com/vercel/next.js/issues/90108) - Unify runInSequentialTasks across all sequential task work: [#&#8203;89978](https://github.com/vercel/next.js/issues/89978) - Cleanup all stage promises on abort: [#&#8203;89984](https://github.com/vercel/next.js/issues/89984) - segment cache: fix segment cache normalizer: [#&#8203;90111](https://github.com/vercel/next.js/issues/90111) - Handle null history.state in client-side router popstate handler: [#&#8203;90083](https://github.com/vercel/next.js/issues/90083) - Don't parse default postponedsizelimit: [#&#8203;89906](https://github.com/vercel/next.js/issues/89906) - Turbopack: handle invalid RSC imports via importmap: [#&#8203;88146](https://github.com/vercel/next.js/issues/88146) - \[create-next-app] Improve AGENTS.md prompt wording: [#&#8203;90118](https://github.com/vercel/next.js/issues/90118) - ensure maxPostponedStateSize is always respected: [#&#8203;90060](https://github.com/vercel/next.js/issues/90060) - Upgrade React from `6066c782-20260212` to `4842fbea-20260217`: [#&#8203;90144](https://github.com/vercel/next.js/issues/90144) - \[fragment-scroll] Stop focusing the first focusable host descendant: [#&#8203;89903](https://github.com/vercel/next.js/issues/89903) - fix: normalize loopback only in hostname: [#&#8203;90158](https://github.com/vercel/next.js/issues/90158) - Only error for sync IO after runtime in segments that would be runtime prefetched: [#&#8203;89979](https://github.com/vercel/next.js/issues/89979) - \[refactor] Replace runtime prefetch sentinel transform stream: [#&#8203;90160](https://github.com/vercel/next.js/issues/90160) - fix: use Buffer.indexOf in uint8array helpers for faster byte scanning (3/8): [#&#8203;89864](https://github.com/vercel/next.js/issues/89864) - Automatically build and clear native build when running `pnpm build`: [#&#8203;89819](https://github.com/vercel/next.js/issues/89819) - fix(cache): DCE to avoid pulling server internals into browser bundles (4/8): [#&#8203;89865](https://github.com/vercel/next.js/issues/89865) - Attach active src route to next global: [#&#8203;90171](https://github.com/vercel/next.js/issues/90171) - Fix OTEL propagation and add direct entrypoint e2e coverage: [#&#8203;90181](https://github.com/vercel/next.js/issues/90181) - Use cookie as sole protocol for instant navigation testing: [#&#8203;89871](https://github.com/vercel/next.js/issues/89871) - Simplify metadata tag rendering to flat imperative style: [#&#8203;90209](https://github.com/vercel/next.js/issues/90209) - Prevent unhandled rejection filter from being bundled into the server runtime: [#&#8203;90205](https://github.com/vercel/next.js/issues/90205) - \[Instant] speed up test instant-validation suite: [#&#8203;90214](https://github.com/vercel/next.js/issues/90214) - Turbopack: fix static asset skew protection for edge and prerenders: [#&#8203;90238](https://github.com/vercel/next.js/issues/90238) - Remove workStore from params/searchParams/pathname function signatures: [#&#8203;90215](https://github.com/vercel/next.js/issues/90215) - Remove workStore from metadata resolution chain: [#&#8203;90217](https://github.com/vercel/next.js/issues/90217) - \[Instant] export "Instant" config type: [#&#8203;90257](https://github.com/vercel/next.js/issues/90257) - Replace getDynamicParamFromSegment closure with interpolatedParams in metadata: [#&#8203;90249](https://github.com/vercel/next.js/issues/90249) - \[Instant] Dev Tools toggle for Instant Navigation Mode: [#&#8203;90222](https://github.com/vercel/next.js/issues/90222) - \[instant] Include declaration location of instant config in validation errors: [#&#8203;90169](https://github.com/vercel/next.js/issues/90169) - Turbopack: rename ServerPaths to AssetPaths: [#&#8203;90234](https://github.com/vercel/next.js/issues/90234) - feat(next/image): add lru disk cache and `images.maximumDiskCacheSize`: [#&#8203;89963](https://github.com/vercel/next.js/issues/89963) - Revert "Handle null history.state in client-side router popstate handler": [#&#8203;90268](https://github.com/vercel/next.js/issues/90268) - \[devtools] Omit empty looking error messages: [#&#8203;90256](https://github.com/vercel/next.js/issues/90256) - Fix runtime prefetch `isPartial` byte stripping when deployed: [#&#8203;90272](https://github.com/vercel/next.js/issues/90272) - Upgrade React from `2ba30655-20260219` to `ab18f33d-20260220`: [#&#8203;90279](https://github.com/vercel/next.js/issues/90279) - validate sync IO in generateMetadata according to Page's prefetchable status: [#&#8203;90164](https://github.com/vercel/next.js/issues/90164) - Turbopack: support Subresource Integrity : [#&#8203;90152](https://github.com/vercel/next.js/issues/90152) - segment cache: add test for passing unawaited promise to context provider: [#&#8203;89339](https://github.com/vercel/next.js/issues/89339) - Fix route.replace crash with --debug-build-paths: [#&#8203;90312](https://github.com/vercel/next.js/issues/90312) - refactor(app-render): extract stream-ops and debug-channel modules (5/8): [#&#8203;89858](https://github.com/vercel/next.js/issues/89858) - \[turbopack] Consider `ignoreList` of 3rd party sourcemaps in Redbox: [#&#8203;90317](https://github.com/vercel/next.js/issues/90317) - \[turbopack] Remove obsolete is\_internal field : [#&#8203;90329](https://github.com/vercel/next.js/issues/90329) - Fix: Image component ignores images.qualities in Jest environment: [#&#8203;89536](https://github.com/vercel/next.js/issues/89536) - Revert "keep next-env.d.s unchanged between dev and build": [#&#8203;90384](https://github.com/vercel/next.js/issues/90384) - Fix route cache keying for unprefetched navigations: [#&#8203;90400](https://github.com/vercel/next.js/issues/90400) - Add support for Next.js error telemetry for `AggregateError`: [#&#8203;90391](https://github.com/vercel/next.js/issues/90391) - Fix `config.reactProductionProfiling` for Webpack: [#&#8203;90430](https://github.com/vercel/next.js/issues/90430) - next-image: fix deployment id handling for unoptimized: [#&#8203;90416](https://github.com/vercel/next.js/issues/90416) - \[ci] Fix input cache keys for tasks referencing `rust-toolchain`: [#&#8203;90442](https://github.com/vercel/next.js/issues/90442) - next-image: fix dpl handling with unicode: [#&#8203;90420](https://github.com/vercel/next.js/issues/90420) - Upgrade React from `ab18f33d-20260220` to `c0060cf2-20260224`: [#&#8203;90452](https://github.com/vercel/next.js/issues/90452) - \[ci] Stop using Turbopack tests in native binary build cache keys: [#&#8203;90449](https://github.com/vercel/next.js/issues/90449) - \[Instant] Validate blocking head: [#&#8203;89539](https://github.com/vercel/next.js/issues/89539) - Turbopack: Fix experimental server hmr for pages router: [#&#8203;90398](https://github.com/vercel/next.js/issues/90398) - Fix params leaking into instant navigation shell in dev: [#&#8203;90455](https://github.com/vercel/next.js/issues/90455) - Limit build workers to pages+1: [#&#8203;90475](https://github.com/vercel/next.js/issues/90475) - fix: sanitize worker args for worker\_threads compatibility: [#&#8203;90506](https://github.com/vercel/next.js/issues/90506) - Fix varyParams tracking for optional catch-all params with no value: [#&#8203;90496](https://github.com/vercel/next.js/issues/90496) - Don't start worker for Typescript when only doing config validation: [#&#8203;90504](https://github.com/vercel/next.js/issues/90504) - \[Instant] Fix loading.js not being counted as a suspense boundary: [#&#8203;90292](https://github.com/vercel/next.js/issues/90292) - \[ci] Crash if next-swc could not be loaded when `NEXT_TEST_NATIVE_DIR` is specified: [#&#8203;90387](https://github.com/vercel/next.js/issues/90387) - Fix: server-patch retry preserves push/replace intent of suspended transitions: [#&#8203;90533](https://github.com/vercel/next.js/issues/90533) - Cached Navigations: Serve cached segments instantly on repeat visits: [#&#8203;90223](https://github.com/vercel/next.js/issues/90223) - Throw when `unstable_instant` is used in Client Component: [#&#8203;90396](https://github.com/vercel/next.js/issues/90396) - \[test] Fix jest-haste-map warnings: [#&#8203;82995](https://github.com/vercel/next.js/issues/82995) - Don't require collect-build-traces with Turbopack: [#&#8203;90586](https://github.com/vercel/next.js/issues/90586) - Enable `experimental.reactDebugChannel` by default: [#&#8203;90310](https://github.com/vercel/next.js/issues/90310) - Less dynamic pages manifest path: [#&#8203;90581](https://github.com/vercel/next.js/issues/90581) - Upgrade React from `c0060cf2-20260224` to `98ce535f-20260226`: [#&#8203;90605](https://github.com/vercel/next.js/issues/90605) - Turbopack: Add Next.js version to "initialize project" trace span: [#&#8203;90545](https://github.com/vercel/next.js/issues/90545) - \[devtools] Stop sending codeframes for ignored frames: [#&#8203;90577](https://github.com/vercel/next.js/issues/90577) - Allow `reset()` from user's global-error: [#&#8203;89684](https://github.com/vercel/next.js/issues/89684) - Fix per-segment prefetching for initial loads with Cache Components: [#&#8203;90610](https://github.com/vercel/next.js/issues/90610) - Add `unstable_retry()` to error.js: [#&#8203;89685](https://github.com/vercel/next.js/issues/89685) - Fix edge index page \_next/data route: [#&#8203;90611](https://github.com/vercel/next.js/issues/90611) - Turbopack server hmr: Implement `restart` event: [#&#8203;90550](https://github.com/vercel/next.js/issues/90550) - Turbopack: Panic if a top-level task attempts an eventually consistent read: [#&#8203;89735](https://github.com/vercel/next.js/issues/89735) - Fix middleware case with adapters: [#&#8203;90624](https://github.com/vercel/next.js/issues/90624) - refactor(turbopack-node): support execution by napi and worker\_threads: [#&#8203;86266](https://github.com/vercel/next.js/issues/86266) - \[instant] Allow providing user feedback for blocking route errors: [#&#8203;90498](https://github.com/vercel/next.js/issues/90498) - Allow Node.js' experimental inspector flags in `next dev` and `next build`: [#&#8203;90603](https://github.com/vercel/next.js/issues/90603) - tests: Assert dpl query string in all tests for Turbopack: [#&#8203;90592](https://github.com/vercel/next.js/issues/90592) - \[instant] Don't add debug stack to random `unstable_instant` exports: [#&#8203;90273](https://github.com/vercel/next.js/issues/90273) - Adapter: STATIC\_FILE.immutableHash: [#&#8203;90045](https://github.com/vercel/next.js/issues/90045) - Turbopack: experimental.immutableAssetToken: [#&#8203;88607](https://github.com/vercel/next.js/issues/88607) - remove runInContext callbacks from stream-ops: [#&#8203;90609](https://github.com/vercel/next.js/issues/90609) - Turbopack: restrict server HMR to app pages: [#&#8203;90663](https://github.com/vercel/next.js/issues/90663) - Turbopack: Allow turbopack-node backend to be swapped at runtime using an experimental config option: [#&#8203;90671](https://github.com/vercel/next.js/issues/90671) - Turbopack: Revert default loader runtime backend to child processes: [#&#8203;90675](https://github.com/vercel/next.js/issues/90675) - \[devtools] Stop blocking overlay on error details copy: [#&#8203;90698](https://github.com/vercel/next.js/issues/90698) - feat: provide nextVersion to modifyConfig adapter hook: [#&#8203;90735](https://github.com/vercel/next.js/issues/90735) - experimental.prefetchInlining: bundle segment prefetches into a single response: [#&#8203;90555](https://github.com/vercel/next.js/issues/90555) - instant(): fix cookie handling for fresh page loads: [#&#8203;90613](https://github.com/vercel/next.js/issues/90613) - fix(turbopack): use posix.join for client URL manifest paths on Windows: [#&#8203;90700](https://github.com/vercel/next.js/issues/90700) - Turbopack: improve cell order lint rule for ReadRef::cell: [#&#8203;88500](https://github.com/vercel/next.js/issues/88500) - Change names of logged times: [#&#8203;90688](https://github.com/vercel/next.js/issues/90688) - \[devtools] Bump React Compiler version to latest experimental: [#&#8203;90763](https://github.com/vercel/next.js/issues/90763) - Skip writeToBfCache without window: [#&#8203;90771](https://github.com/vercel/next.js/issues/90771) - docs: error component `unstable_retry()`: [#&#8203;89732](https://github.com/vercel/next.js/issues/89732) - Stub adapterPath with experimental.runtimeServerDeploymentId: [#&#8203;90790](https://github.com/vercel/next.js/issues/90790) - Conditionally load uncommon paths: [#&#8203;90514](https://github.com/vercel/next.js/issues/90514) - Refactor extractExportedConstValue to return { value } | null instead of throwing: [#&#8203;90510](https://github.com/vercel/next.js/issues/90510) - Reimplement code frame rendering in native code: [#&#8203;85592](https://github.com/vercel/next.js/issues/85592) - \[devtools] Bundle for same target as Next.js browser runtime: [#&#8203;90762](https://github.com/vercel/next.js/issues/90762) - Upgrade React from `98ce535f-20260226` to `4cc5b7a9-20260303`: [#&#8203;90827](https://github.com/vercel/next.js/issues/90827) - Add `transitionTypes` prop to `next/link`: [#&#8203;90701](https://github.com/vercel/next.js/issues/90701) - \[otel] fix missing http.route attribute: [#&#8203;90832](https://github.com/vercel/next.js/issues/90832) - \[otel] set parent span name: [#&#8203;90840](https://github.com/vercel/next.js/issues/90840) - Update default error pages: [#&#8203;90469](https://github.com/vercel/next.js/issues/90469) - Replace PPR config helpers with cacheComponents checks: [#&#8203;90704](https://github.com/vercel/next.js/issues/90704) - Cached Navigations: Cache visited fully static pages in the segment cache: [#&#8203;90306](https://github.com/vercel/next.js/issues/90306) - Remove `isRoutePPREnabled` from render options and delete dead PPR branch: [#&#8203;90713](https://github.com/vercel/next.js/issues/90713) - Use page extensions in next-swc transforms applying to pages: [#&#8203;90650](https://github.com/vercel/next.js/issues/90650) - Cached Navigations: Cache static stage of partially static initial HTML: [#&#8203;90539](https://github.com/vercel/next.js/issues/90539) - Remove `PrerenderStorePPR` type and all `prerender-ppr` switch cases: [#&#8203;90721](https://github.com/vercel/next.js/issues/90721) - Clean up legacy PPR references in test fixtures: [#&#8203;90725](https://github.com/vercel/next.js/issues/90725) - Cached Navigations: Cache runtime stage data from navigation requests: [#&#8203;90666](https://github.com/vercel/next.js/issues/90666) - Remove legacy PPR postpone cluster: [#&#8203;90726](https://github.com/vercel/next.js/issues/90726) - partial fallbacks: add adapter flag: [#&#8203;90395](https://github.com/vercel/next.js/issues/90395) - Address review feedback: extract modules, clean up imports: [#&#8203;90813](https://github.com/vercel/next.js/issues/90813) - Add trace spans for turbopack persistence in .next/trace: [#&#8203;90397](https://github.com/vercel/next.js/issues/90397) - Upgrade React from `4cc5b7a9-20260303` to `3bc2d414-20260304`: [#&#8203;90876](https://github.com/vercel/next.js/issues/90876) - Fix prefetch inlining build failure with dynamic routes: [#&#8203;90899](https://github.com/vercel/next.js/issues/90899) - Update `@vercel/og` and `satori` vendors: [#&#8203;90933](https://github.com/vercel/next.js/issues/90933) - Batch require cache deletion to avoid quadratic scanning: [#&#8203;90625](https://github.com/vercel/next.js/issues/90625) - Revert legacy PPR removal: [#&#8203;90948](https://github.com/vercel/next.js/issues/90948) - Rewrite instant validation to use depth-based URL boundary discovery: [#&#8203;90905](https://github.com/vercel/next.js/issues/90905) - Add `experimental.cachedNavigations` feature flag: [#&#8203;90928](https://github.com/vercel/next.js/issues/90928) - preserve allowQuery for partial fallback shells: [#&#8203;90887](https://github.com/vercel/next.js/issues/90887) - Cache runtime data for partially static pages on initial load (resume): [#&#8203;90888](https://github.com/vercel/next.js/issues/90888) - re-introduce partial fallback -> route upgrading: [#&#8203;89063](https://github.com/vercel/next.js/issues/89063) - fix: Don't fall through to catch-all when static child subtree doesn't match: [#&#8203;90957](https://github.com/vercel/next.js/issues/90957) - Bump Node heap limit for lint-no-typescript to avoid OOM in CI: [#&#8203;90996](https://github.com/vercel/next.js/issues/90996) - Upgrade React from `3bc2d414-20260304` to `46103596-20260305`: [#&#8203;90989](https://github.com/vercel/next.js/issues/90989) - fix: trigger MPA navigation for server action redirects with build ID mismatch: [#&#8203;89946](https://github.com/vercel/next.js/issues/89946) - Improve webpack loader error messages and handling: [#&#8203;89698](https://github.com/vercel/next.js/issues/89698) - Turbopack: implement module.hot.accept(deps, cb) and module.hot.decline(deps): [#&#8203;90443](https://github.com/vercel/next.js/issues/90443) - partial fallbacks: gate behind experimental flag: [#&#8203;91123](https://github.com/vercel/next.js/issues/91123) - fix: app-page URL normalization: [#&#8203;91121](https://github.com/vercel/next.js/issues/91121) - Updates to Instant Navs devtools functionality: [#&#8203;91005](https://github.com/vercel/next.js/issues/91005) - Trace upload: add git and environment info: [#&#8203;91124](https://github.com/vercel/next.js/issues/91124) - fix(css): rewrite MiniCssExtractPlugin insert function to ES5 to support legacy browsers: [#&#8203;90556](https://github.com/vercel/next.js/issues/90556) - Revert "Address review feedback: extract modules, clean up imports": [#&#8203;91159](https://github.com/vercel/next.js/issues/91159) - \[turbopack] Render code frames on the turbopack side: [#&#8203;90534](https://github.com/vercel/next.js/issues/90534) - Add experimental.lightningCssFeatures config option: [#&#8203;90901](https://github.com/vercel/next.js/issues/90901) - fix: correct appPaths sort order for parallel routes with route groups: [#&#8203;91160](https://github.com/vercel/next.js/issues/91160) - Tracing: tag spans as failed if their runner fn fails: [#&#8203;91206](https://github.com/vercel/next.js/issues/91206) - Adds a Start button to the Instant Navs panel to initiate inspection …: [#&#8203;91216](https://github.com/vercel/next.js/issues/91216) - Preserve RSC metadata in Proxy request with skipProxyUrlNormalize: [#&#8203;91213](https://github.com/vercel/next.js/issues/91213) - \[cna] Bump `picocolors` to 1.1.1: [#&#8203;91252](https://github.com/vercel/next.js/issues/91252) - \[Instant] Build-time validation: [#&#8203;90964](https://github.com/vercel/next.js/issues/90964) - \[Instant] fix instant config suggested by editor plugin: [#&#8203;91262](https://github.com/vercel/next.js/issues/91262) - chore(deps): Bump tar from 7.5.7 to 7.5.11 in /packages/next: [#&#8203;91233](https://github.com/vercel/next.js/issues/91233) - Upgrade React from `46103596-20260305` to `5e9eedb5-20260312`: [#&#8203;91272](https://github.com/vercel/next.js/issues/91272) - feat(server): expose requestMeta router helpers and merge fallback context: [#&#8203;91235](https://github.com/vercel/next.js/issues/91235) - \[Instant] Show owner stack for validation-blocking errors: [#&#8203;91277](https://github.com/vercel/next.js/issues/91277) - Hydrate page loads during instant navigation testing: [#&#8203;91207](https://github.com/vercel/next.js/issues/91207) - perf: use Buffer.from for base64 encoding of binary Flight data: [#&#8203;91221](https://github.com/vercel/next.js/issues/91221) - Skip dimming when `--inspect` is used: [#&#8203;91271](https://github.com/vercel/next.js/issues/91271) - Respect `generateStaticParams` in instant navigation shell: [#&#8203;91316](https://github.com/vercel/next.js/issues/91316) - \[Prefetch Inlining] Generate size-based hints on server: [#&#8203;90891](https://github.com/vercel/next.js/issues/90891) - Wire cache handlers in edge paths and add e2e regression coverage: [#&#8203;91236](https://github.com/vercel/next.js/issues/91236) - Expose edge runtime fields in build-complete: [#&#8203;91239](https://github.com/vercel/next.js/issues/91239) - \[turbopack] Remove `turbo_tasks::function` from ModuleReference getters: [#&#8203;91229](https://github.com/vercel/next.js/issues/91229) - \[Turbopack] write route bundle stats to .next/diagnostics/route-bundle-stats.json: [#&#8203;90949](https://github.com/vercel/next.js/issues/90949) - partial fallbacks: only upgrade shells with remaining prerenderable params: [#&#8203;91158](https://github.com/vercel/next.js/issues/91158) - partial fallbacks: complete generic shells into more specific shells: [#&#8203;91231](https://github.com/vercel/next.js/issues/91231) - Add eval and docs for unstable\_instant: [#&#8203;91334](https://github.com/vercel/next.js/issues/91334) - Simplify scroll restoration with shared ScrollRef on CacheNode: [#&#8203;91348](https://github.com/vercel/next.js/issues/91348) - fix: test-cargo-unit CI job timing out since LTO was enabled: [#&#8203;91424](https://github.com/vercel/next.js/issues/91424) - fix(build): don't block SSG on telemetry flush, add persistence spans to trace-build: [#&#8203;91335](https://github.com/vercel/next.js/issues/91335) - Ready in X - prints wrong timing on dev server restart: [#&#8203;90874](https://github.com/vercel/next.js/issues/90874) - Show generated code from loaders in parse error messages: [#&#8203;89898](https://github.com/vercel/next.js/issues/89898) - Remove unused layer from server actions manifest: [#&#8203;91425](https://github.com/vercel/next.js/issues/91425) - Support accessing root params in `generateStaticParams`: [#&#8203;91189](https://github.com/vercel/next.js/issues/91189) - Avoid `undefined` outer work unit store in `"use cache"`: [#&#8203;91190](https://github.com/vercel/next.js/issues/91190) - Add `unstable_dynamicStaleTime` route segment config: [#&#8203;91437](https://github.com/vercel/next.js/issues/91437) - \[next-playwright] Use unique cookie values for instant navigation testing lock: [#&#8203;91250](https://github.com/vercel/next.js/issues/91250) - Add `unstable_catchError()` API for component-level error recovery: [#&#8203;89688](https://github.com/vercel/next.js/issues/89688) - docs(turbopack): Fix all warnings in `cargo doc --no-deps --workspace`, and run rustdoc as part of our CI checks: [#&#8203;91339](https://github.com/vercel/next.js/issues/91339) - Patch improvements into `http-proxy` lib: [#&#8203;91480](https://github.com/vercel/next.js/issues/91480) - Disallow Server Action submissions from privacy-sensitive contexts: [#&#8203;91478](https://github.com/vercel/next.js/issues/91478) - Fix startup warmup for empty-shell app route cache: [#&#8203;91470](https://github.com/vercel/next.js/issues/91470) - Fix `unstable_catchError` type inference for fallback props: [#&#8203;91485](https://github.com/vercel/next.js/issues/91485) - Support accessing root params in `"use cache"` functions: [#&#8203;91191](https://github.com/vercel/next.js/issues/91191) - Fix inconsistent cache life/tags propagation for cache handler hits: [#&#8203;91454](https://github.com/vercel/next.js/issues/91454) - Upgrade React from `5e9eedb5-20260312` to `c80a0750-20260312`: [#&#8203;91324](https://github.com/vercel/next.js/issues/91324) - Error when accessing undefined root params in `generateStaticParams`: [#&#8203;91519](https://github.com/vercel/next.js/issues/91519) - Buffer prefetch response before passing to Flight client: [#&#8203;91487](https://github.com/vercel/next.js/issues/91487) - \[Segment Cache] Always upsert on prefetch completion: [#&#8203;91488](https://github.com/vercel/next.js/issues/91488) - Track vary params during runtime prefetches: [#&#8203;89297](https://github.com/vercel/next.js/issues/89297) - \[react-sync] Allow locking in manual sync: [#&#8203;91509](https://github.com/vercel/next.js/issues/91509) - Remove devCacheControlNoCache experimental option (hard-code no-cache): [#&#8203;91503](https://github.com/vercel/next.js/issues/91503) - fix allowedDevOrigins for no-cors requests: [#&#8203;91506](https://github.com/vercel/next.js/issues/91506) - Remove webpack stats generation from Turbopack: [#&#8203;91515](https://github.com/vercel/next.js/issues/91515) - Upgrade React from `c80a0750-20260312` to `3f0b9e61-20260317`: [#&#8203;91522](https://github.com/vercel/next.js/issues/91522) - Move adapterPath from experimental to stable top-level config: [#&#8203;91535](https://github.com/vercel/next.js/issues/91535) - block disallowed dev origins by default: [#&#8203;91507](https://github.com/vercel/next.js/issues/91507) - Turbopack: Merge release-with-assertions-no-lto profile into release-with-assertions: [#&#8203;91530](https://github.com/vercel/next.js/issues/91530) - improve allowedDevOrigins error: [#&#8203;91521](https://github.com/vercel/next.js/issues/91521) - Add group depth tracking to instant validation boundary discovery: [#&#8203;91208](https://github.com/vercel/next.js/issues/91208) ##### Documentation Changes - docs: next experimental-analyze: [#&#8203;87272](https://github.com/vercel/next.js/issues/87272) - docs: use cache private redo: [#&#8203;87111](https://github.com/vercel/next.js/issues/87111) - docs: fix highlight in 05-server-and-client-components.mdx: [#&#8203;87347](https://github.com/vercel/next.js/issues/87347) - Guide: Update `Optimizing Package Bundling` to include new Bundle Analyzer: [#&#8203;87246](https://github.com/vercel/next.js/issues/87246) - docs: generateMetadata and generateViewport w/ CC: [#&#8203;87218](https://github.com/vercel/next.js/issues/87218) - docs: tweaks/fixes to papercuts: [#&#8203;87445](https://github.com/vercel/next.js/issues/87445) - docs: fix typos and clarify examples in Cache Components guide: [#&#8203;87530](https://github.com/vercel/next.js/issues/87530) - \[docs] add get\_routes in mcp available tools: [#&#8203;88181](https://github.com/vercel/next.js/issues/88181) - Update generateMetadata in client component error: [#&#8203;88172](https://github.com/vercel/next.js/issues/88172) - docs: fix CSP example to only include unsafe-eval in development: [#&#8203;88407](https://github.com/vercel/next.js/issues/88407) - docs: add useSearchParams and useParams documentation for Pages Router: [#&#8203;88429](https://github.com/vercel/next.js/issues/88429) - docs: fix Pages Router fonts documentation showing App Router examples: [#&#8203;88326](https://github.com/vercel/next.js/issues/88326) - doc: add details of mcp client integration: [#&#8203;88543](https://github.com/vercel/next.js/issues/88543) - Turbopack: query conditions in rules follow-ups: [#&#8203;88801](https://github.com/vercel/next.js/issues/88801) - Docs: Add Next.js Glossary: [#&#8203;88811](https://github.com/vercel/next.js/issues/88811) - docs: Server functions rename: [#&#8203;86827](https://github.com/vercel/next.js/issues/86827) - docs: Update Partytown URLs and package reference: [#&#8203;88928](https://github.com/vercel/next.js/issues/88928) - docs: improve clarity in cache components and server/client docs: [#&#8203;88946](https://github.com/vercel/next.js/issues/88946) - docs: revalidatePath w/ rewrites and trailing slash: [#&#8203;88956](https://github.com/vercel/next.js/issues/88956) - Cache Component Guide: Building public, *mostly* static pages: [#&#8203;87248](https://github.com/vercel/next.js/issues/87248) - Turbopack: Add postcss.config.ts support: [#&#8203;89049](https://github.com/vercel/next.js/issues/89049) - CC Guide: Fix filenames, reduce line breaks: [#&#8203;89065](https://github.com/vercel/next.js/issues/89065) - docs: fix code highlight in 07-fetching-data.mdx: [#&#8203;88727](https://github.com/vercel/next.js/issues/88727) - \[docs] Always include `unsafe-eval` in dev `Content-Security-Policy`: [#&#8203;89163](https://github.com/vercel/next.js/issues/89163) - Turbopack: add support for turbopackOptional: true: [#&#8203;89227](https://github.com/vercel/next.js/issues/89227) - docs: Rename Error component to ErrorPage: [#&#8203;89284](https://github.com/vercel/next.js/issues/89284) - docs: replace 'can not' with 'cannot': [#&#8203;89354](https://github.com/vercel/next.js/issues/89354) - docs: Fix custom server code snippets: [#&#8203;89400](https://github.com/vercel/next.js/issues/89400) - Snippet multi package syntax: [#&#8203;89381](https://github.com/vercel/next.js/issues/89381) - Fix indentation of types of tests in docs: [#&#8203;89409](https://github.com/vercel/next.js/issues/89409) - docs: Fix syntax in proxy example code: [#&#8203;89395](https://github.com/vercel/next.js/issues/89395) - docs: fix ISR guide link to res.revalidate: [#&#8203;89342](https://github.com/vercel/next.js/issues/89342) - Fix spelling in robots.mdx documentation: [#&#8203;89565](https://github.com/vercel/next.js/issues/89565) - Remove more examples: [#&#8203;89709](https://github.com/vercel/next.js/issues/89709) - clarify unstable\_cache replacement with use cache: [#&#8203;89435](https://github.com/vercel/next.js/issues/89435) - docs: correct use term: [#&#8203;89438](https://github.com/vercel/next.js/issues/89438) - \[docs] Add `RedirectType` usage example to `permanentRedirect`: [#&#8203;89833](https://github.com/vercel/next.js/issues/89833) - Next CLI flags documentation: [#&#8203;89750](https://github.com/vercel/next.js/issues/89750) - docs: adapt lead to source path patterns: [#&#8203;89392](https://github.com/vercel/next.js/issues/89392) - docs: Papercuts Feb26: [#&#8203;89484](https://github.com/vercel/next.js/issues/89484) - After() docs requests API: [#&#8203;89837](https://github.com/vercel/next.js/issues/89837) - docs: Move browserToTerminal into logging: [#&#8203;88901](https://github.com/vercel/next.js/issues/88901) - Update documentation to explain behavior in a Catch-all route: [#&#8203;89742](https://github.com/vercel/next.js/issues/89742) - docs: add deploymentId config and clarify encryption key for self-hosting: [#&#8203;89795](https://github.com/vercel/next.js/issues/89795) - docs: adapterPath amends: [#&#8203;89930](https://github.com/vercel/next.js/issues/89930) - docs: improve next/image localPatterns error page: [#&#8203;89914](https://github.com/vercel/next.js/issues/89914) - docs: inline-css dev-action oriented: [#&#8203;89064](https://github.com/vercel/next.js/issues/89064) - docs: document cacheLife expire omission behavior and fix default preset value: [#&#8203;89913](https://github.com/vercel/next.js/issues/89913) - docs: Activity boundary guide: [#&#8203;89126](https://github.com/vercel/next.js/issues/89126) - Turbopack: Add inline loader configuration via import attributes: [#&#8203;89644](https://github.com/vercel/next.js/issues/89644) - docs: fix broken blockquote formatting in API Routes page: [#&#8203;89966](https://github.com/vercel/next.js/issues/89966) - docs: clarify async instrumentation register request : [#&#8203;90039](https://github.com/vercel/next.js/issues/90039) - Add AGENTS.md and bundled docs guide: [#&#8203;89973](https://github.com/vercel/next.js/issues/89973) - In-Depth Explanation of React Version Handling Doc: [#&#8203;89426](https://github.com/vercel/next.js/issues/89426) - Next.js sticky scroll standards: [#&#8203;90197](https://github.com/vercel/next.js/issues/90197) - docs: fixes typo in manifest.mdx regarding Route Handler note: [#&#8203;90394](https://github.com/vercel/next.js/issues/90394) - docs: improve form guide consistency and validation examples: [#&#8203;90361](https://github.com/vercel/next.js/issues/90361) - docs: rework version staleness: [#&#8203;90192](https://github.com/vercel/next.js/issues/90192) - docs: clarify that next upgrade is for 16.1.x+: [#&#8203;90435](https://github.com/vercel/next.js/issues/90435) - Add not-found.js / notFound() links to Status Codes section: [#&#8203;88332](https://github.com/vercel/next.js/issues/88332) - docs: update with more patterns and decision based: [#&#8203;90203](https://github.com/vercel/next.js/issues/90203) - docs: add Docker Standalone and Docker Export examples to Deploying page: [#&#8203;90386](https://github.com/vercel/next.js/issues/90386) - feat: Join guides and frame around UI preservation: [#&#8203;90595](https://github.com/vercel/next.js/issues/90595) - docs(deploying): add Hostinger Web Apps Hosting to Node.js deployment options: [#&#8203;90246](https://github.com/vercel/next.js/issues/90246) - docs: fix navigationType value and variable name in useReportWebVitals: [#&#8203;90599](https://github.com/vercel/next.js/issues/90599) - Accept header content negotiation: [#&#8203;90607](https://github.com/vercel/next.js/issues/90607) - docs: clarify native <script> usage for JSON-LD in docs: [#&#8203;90380](https://github.com/vercel/next.js/issues/90380) - Create next app CLI docs: [#&#8203;90788](https://github.com/vercel/next.js/issues/90788) - Unify caching story across the docs: [#&#8203;90149](https://github.com/vercel/next.js/issues/90149) - update proxy docs to use NextProxy type: [#&#8203;90647](https://github.com/vercel/next.js/issues/90647) - Loading layout docs update: [#&#8203;90787](https://github.com/vercel/next.js/issues/90787) - Uncached data suspense issue: [#&#8203;90450](https://github.com/vercel/next.js/issues/90450) - docs: explain deploy test custom scripts: [#&#8203;90966](https://github.com/vercel/next.js/issues/90966) - Update adapters documentation: [#&#8203;90986](https://github.com/vercel/next.js/issues/90986) - docs: large page data error: [#&#8203;90920](https://github.com/vercel/next.js/issues/90920) - docs(localFont): enhance details about using the localFont function: [#&#8203;88189](https://github.com/vercel/next.js/issues/88189) - chore(docs): mention behavior of redirects and remotePatterns: [#&#8203;91151](https://github.com/vercel/next.js/issues/91151) - docs: More Server Actions security guidance across docs: [#&#8203;90878](https://github.com/vercel/next.js/issues/90878) - docs: Streaming guide: [#&#8203;90779](https://github.com/vercel/next.js/issues/90779) - Docs: Split route segment config options into their own files: [#&#8203;90991](https://github.com/vercel/next.js/issues/90991) - Expose resolved invocation targets in next-routing: [#&#8203;91242](https://github.com/vercel/next.js/issues/91242) - docs: remove incorrect \_document.tsx font example: [#&#8203;91346](https://github.com/vercel/next.js/issues/91346) - docs: `unstable_catchError()`: [#&#8203;89847](https://github.com/vercel/next.js/issues/89847) - SRI turbopack documentation: [#&#8203;90477](https://github.com/vercel/next.js/issues/90477) - docs: Clarify ignoreBuildErrors behavior: [#&#8203;91367](https://github.com/vercel/next.js/issues/91367) ##### Example Changes - fix: Change Dockerfile.bun to use group/useradd instead of addgroup/user: [#&#8203;87443](https://github.com/vercel/next.js/issues/87443) - fix(examples): resolve hydration mismatch in blog-starter: [#&#8203;87703](https://github.com/vercel/next.js/issues/87703) - Update with-mysql example to Next.js 15, Tailwind 4, Prisma 7: [#&#8203;88475](https://github.com/vercel/next.js/issues/88475) - chore(examples): remove `with-recoil` exmaple: [#&#8203;81836](https://github.com/vercel/next.js/issues/81836) - chore(examples): remove `with-tigris` example: [#&#8203;81843](https://github.com/vercel/next.js/issues/81843) - \[feat] Added Docker examples for standalone output and export output following best practices: [#&#8203;87069](https://github.com/vercel/next.js/issues/87069) - Migrate from react-markdown to Streamdown static in EdgeDB example: [#&#8203;86435](https://github.com/vercel/next.js/issues/86435) - example: restore .next handling for with-docker examples: [#&#8203;90651](https://github.com/vercel/next.js/issues/90651) - with-docker: add new config file formats: [#&#8203;90731](https://github.com/vercel/next.js/issues/90731) - example: remove duplicate items in .dockerignore: [#&#8203;91079](https://github.com/vercel/next.js/issues/91079) ##### Misc Changes - Turbopack: refactor graph traveral and fix module graph determinism: [#&#8203;87312](https://github.com/vercel/next.js/issues/87312) - bundle analyzer: remove uncompressed toggle, stabilize top bar ui: [#&#8203;87325](https://github.com/vercel/next.js/issues/87325) - test: de-flake client-cache deployment tests: [#&#8203;87412](https://github.com/vercel/next.js/issues/87412) - Revert "Revert "\[turbopack] Set `liveness` of exports based on assignment analysis ([#&#8203;82802](https://github.com/vercel/next.js/issues/82802))"": [#&#8203;87214](https://github.com/vercel/next.js/issues/87214) - ci: track runner name on datadog test reports: [#&#8203;87440](https://github.com/vercel/next.js/issues/87440) - Turbopack: In CI only persist at the end: [#&#8203;87316](https://github.com/vercel/next.js/issues/87316) - fix: correct quotes in dev script filter in package.json: [#&#8203;87638](https://github.com/vercel/next.js/issues/87638) - chore: add a missing period to rspack description: [#&#8203;86526](https://github.com/vercel/next.js/issues/86526) - \[test] Move off of as much `url.parse` as possible: [#&#8203;87286](https://github.com/vercel/next.js/issues/87286) - Update Rspack production test manifest: [#&#8203;87889](https://github.com/vercel/next.js/issues/87889) - Update Rspack development test manifest: [#&#8203;87888](https://github.com/vercel/next.js/issues/87888) - chore(turbo-tasks-malloc): replace mimalloc-rspack to mimalloc: [#&#8203;87815](https://github.com/vercel/next.js/issues/87815) - fix: normalize CRLF line endings in jscodeshift tests on Windows: [#&#8203;88008](https://github.com/vercel/next.js/issues/88008) - chore: add Claude Code configuration: [#&#8203;87943](https://github.com/vercel/next.js/issues/87943) - test: reduce flakiness in opentelemetry test for prod mode: [#&#8203;88102](https://github.com/vercel/next.js/issues/88102) - Rename CLAUDE.md to AGENTS.md with symlink: [#&#8203;88105](https://github.com/vercel/next.js/issues/88105) - \[turbopack] Populate the `names` field of sourcemaps: [#&#8203;87911](https://github.com/vercel/next.js/issues/87911) - Turbopack: fix order of breadth first edges: [#&#8203;88117](https://github.com/vercel/next.js/issues/88117) - Turbopack: transpile CHUNK\_SUFFIX: [#&#8203;88128](https://github.com/vercel/next.js/issues/88128) - chore: add dev boot profiling and benchmark scripts: [#&#8203;87940](https://github.com/vercel/next.js/issues/87940) - perf: improve stats action reliability and reduce CI noise: [#&#8203;87945](https://github.com/vercel/next.js/issues/87945) - Update Rspack production test manifest: [#&#8203;88137](https://github.com/vercel/next.js/issues/88137) - Update Rspack development test manifest: [#&#8203;88138](https://github.com/vercel/next.js/issues/88138) - Fix compile error when running next-custom-transform tests: [#&#8203;83715](https://github.com/vercel/next.js/issues/83715) - chore: add Conductor configuration for parallel development: [#&#8203;88116](https://github.com/vercel/next.js/issues/88116) - fix: move conductor.json to repo root for proper detection: [#&#8203;88184](https://github.com/vercel/next.js/issues/88184) - Turbopack: Update to swc\_core v50.2.3: [#&#8203;87841](https://github.com/vercel/next.js/issues/87841) - ci: run stats on canary pushes for historical trend tracking: [#&#8203;88157](https://github.com/vercel/next.js/issues/88157) - perf: improve stats thresholds to reduce CI noise: [#&#8203;88158](https://github.com/vercel/next.js/issues/88158) - Turbopack: Use batch get request to read more efficient from database: [#&#8203;87106](https://github.com/vercel/next.js/issues/87106) - Turbopack: improve aggregation update performance: [#&#8203;87317](https://github.com/vercel/next.js/issues/87317) - Add test creation instructions to agents.md: [#&#8203;88215](https://github.com/vercel/next.js/issues/88215) - Turbopack: report changed env vars in tracing: [#&#8203;88195](https://github.com/vercel/next.js/issues/88195) - Turbopack: get rid of some manual self.await-s: [#&#8203;88236](https://github.com/vercel/next.js/issues/88236) - Guard against Object/Array shadowing in 'use cache' transform: [#&#8203;88229](https://github.com/vercel/next.js/issues/88229) - feat(turbo-tasks-fs): support multi denied\_paths: [#&#8203;88186](https://github.com/vercel/next.js/issues/88186) - Upgrade to swc 54: [#&#8203;88207](https://github.com/vercel/next.js/issues/88207) - ci: fix javascript-urls test to account for React 18: [#&#8203;88249](https://github.com/vercel/next.js/issues/88249) - Turbopack: Remove tokio and turbo-task handles from Invalidator: [#&#8203;88242](https://github.com/vercel/next.js/issues/88242) - Turbopack: remove Stateful flag: [#&#8203;88196](https://github.com/vercel/next.js/issues/88196) - Upgrade to rustc 2026-01-04: [#&#8203;88095](https://github.com/vercel/next.js/issues/88095) - Turbopack: include children count in "task execution completed" span: [#&#8203;87318](https://github.com/vercel/next.js/issues/87318) - Turbopack: avoid blocking tasks for I/O work: [#&#8203;87661](https://github.com/vercel/next.js/issues/87661) - Turbopack: flatten trace when it reaches cut off depth: [#&#8203;88118](https://github.com/vercel/next.js/issues/88118) - Turbopack: remove unused code: [#&#8203;88274](https://github.com/vercel/next.js/issues/88274) - Turbopack: escape colon in output names: [#&#8203;88273](https://github.com/vercel/next.js/issues/88273) - \[test] Add a failing test for cycle serialization in segment prefetches: [#&#8203;88287](https://github.com/vercel/next.js/issues/88287) - Turbopack: scope hoisting bug with reexport-self-star: [#&#8203;86131](https://github.com/vercel/next.js/issues/86131) - Turbopack: Add #\[automatically\_derived] to proc macros: [#&#8203;88281](https://github.com/vercel/next.js/issues/88281) - Update Rspack development test manifest: [#&#8203;88260](https://github.com/vercel/next.js/issues/88260) - Turbopack: Use `format!` instead of `anyhow!` inside of `anyhow::Context::with_context` calls: [#&#8203;88293](https://github.com/vercel/next.js/issues/88293) - Turbopack: pull in updated vercel/nft tests: [#&#8203;88162](https://github.com/vercel/next.js/issues/88162) - Fix pack-next script for next-swc: [#&#8203;88126](https://github.com/vercel/next.js/issues/88126) - Turbopack: use correct flags in tests: [#&#8203;88307](https://github.com/vercel/next.js/issues/88307) - Turbopack: fix task category on reading cells: [#&#8203;88309](https://github.com/vercel/next.js/issues/88309) - agent.md: Explain where the Next.js core code lives: [#&#8203;88314](https://github.com/vercel/next.js/issues/88314) - Turbopack: improve next-server.nft.json tests: [#&#8203;88320](https://github.com/vercel/next.js/issues/88320) - Turbopack: add family to database read span: [#&#8203;88323](https://github.com/vercel/next.js/issues/88323) - Tests: Reduce loglines from apply patch delay: [#&#8203;88224](https://github.com/vercel/next.js/issues/88224) - Turbopack: prefetch children too: [#&#8203;88324](https://github.com/vercel/next.js/issues/88324) - Turbopack: more stale details for tracing: [#&#8203;88306](https://github.com/vercel/next.js/issues/88306) - Turbopack: make GraphTraversal deterministically calling all nodes before erroring: [#&#8203;88119](https://github.com/vercel/next.js/issues/88119) - Turbopack: improve error message for incompatible swc plugins: [#&#8203;86346](https://github.com/vercel/next.js/issues/86346) - Update Rspack development test manifest: [#&#8203;88301](https://github.com/vercel/next.js/issues/88301) - Update Rspack production test manifest: [#&#8203;88300](https://github.com/vercel/next.js/issues/88300) - Stats Action: Add ready in time: [#&#8203;88283](https://github.com/vercel/next.js/issues/88283) - fix: skip stats-aggregate job for docs-only changes: [#&#8203;88330](https://github.com/vercel/next.js/issues/88330) - docs: add PR description guidance to AGENTS.md: [#&#8203;88408](https://github.com/vercel/next.js/issues/88408) - ci: Fix retry comments in workflow files: [#&#8203;88412](https://github.com/vercel/next.js/issues/88412) - \[test] Deflake `test/integration/invalid-custom-routes/test/index.test.ts`: [#&#8203;88416](https://github.com/vercel/next.js/issues/88416) - \[test] Remove rogue debug log: [#&#8203;88423](https://github.com/vercel/next.js/issues/88423) - Update AGENTS.md with PR template and test generation requirements: [#&#8203;88417](https://github.com/vercel/next.js/issues/88417) - Add .cursor/worktrees.json configuration: [#&#8203;88415](https://github.com/vercel/next.js/issues/88415) - docs: add guidance for code block highlight line numbers to AGENTS.md: [#&#8203;88430](https://github.com/vercel/next.js/issues/88430) - \[turbopack] Compute transitive side effects and use them to trim imports: [#&#8203;86675](https://github.com/vercel/next.js/issues/86675) - fix(turbo-tasks-backend): use correct TaskDataCategory for is\_immutable check: [#&#8203;88331](https://github.com/vercel/next.js/issues/88331) - perf(turbo-tasks-backend): use DefaultStorage for AggregationNumber to save memory: [#&#8203;88336](https://github.com/vercel/next.js/issues/88336) - \[Turbopack] Move DirList to its own module: [#&#8203;88256](https://github.com/vercel/next.js/issues/88256) - docs: add rebuild guidance and ICE troubleshooting to AGENTS.md: [#&#8203;88337](https://github.com/vercel/next.js/issues/88337) - Type-check `run-tests.js` and remove unused `related` flag: [#&#8203;88433](https://github.com/vercel/next.js/issues/88433) - \[test] Remove obsolete reference to `NEXT_TEST_SKIP_RETRY_MANIFEST`: [#&#8203;88434](https://github.com/vercel/next.js/issues/88434) - Revert "\[Turbopack] Move DirList to its own module": [#&#8203;88441](https://github.com/vercel/next.js/issues/88441) - \[scripts] Avoid conflicting type for `pack-next --compress`: [#&#8203;88439](https://github.com/vercel/next.js/issues/88439) - Update Rspack production test manifest: [#&#8203;88403](https://github.com/vercel/next.js/issues/88403) - Update Rspack development test manifest: [#&#8203;88404](https://github.com/vercel/next.js/issues/88404) - \[test] Always run all tests without aborting on failure: [#&#8203;88435](https://github.com/vercel/next.js/issues/88435) - Turbopack: remove sourcemapping comments: [#&#8203;88217](https://github.com/vercel/next.js/issues/88217) - Turbopack: use mimalloc on Linux musl: [#&#8203;88426](https://github.com/vercel/next.js/issues/88426) - Turbopack: add support for selective reads of keyed cell values: [#&#8203;88303](https://github.com/vercel/next.js/issues/88303) - Turbopack: Reduce usage of parse\_quote in turbo-tasks-macros: [#&#8203;88454](https://github.com/vercel/next.js/issues/88454) - Turbopack: don't cell in async map: [#&#8203;88473](https://github.com/vercel/next.js/issues/88473) - Turbopack: replace is\_reference\_used with unused\_references set: [#&#8203;88304](https://github.com/vercel/next.js/issues/88304) - Turbopack: add lint rule to not cell in async map: [#&#8203;88474](https://github.com/vercel/next.js/issues/88474) - Turbopack: Remove dead generic\_type\_macro code: [#&#8203;88455](https://github.com/vercel/next.js/issues/88455) - Turbopack: remove unused code: [#&#8203;88497](https://github.com/vercel/next.js/issues/88497) - Turbopack: improve cell order lint rule: [#&#8203;88498](https://github.com/vercel/next.js/issues/88498) - Turbopack: parallelize making dependent tasks dirty: [#&#8203;86755](https://github.com/vercel/next.js/issues/86755) - Turbopack: fix bad performance edge case in production chunking: [#&#8203;88508](https://github.com/vercel/next.js/issues/88508) - Remove `lerna bootstrap` from the `clean` script in package.json: [#&#8203;88527](https://github.com/vercel/next.js/issues/88527) - Turbopack: Clean up `VcRead::Repr` associated type: [#&#8203;88456](https://github.com/vercel/next.js/issues/88456) - \[cna] Avoid error with out-of-box Netlify config: [#&#8203;88546](https://github.com/vercel/next.js/issues/88546) - \[turbopack] Move some of the logic for issue filtering into the rust layer: [#&#8203;88511](https://github.com/vercel/next.js/issues/88511) - Update Rspack production test manifest: [#&#8203;88469](https://github.com/vercel/next.js/issues/88469) - Update Rspack development test manifest: [#&#8203;88470](https://github.com/vercel/next.js/issues/88470) - feat: add TaskStorage derive macro and schema infrastructure: [#&#8203;88338](https://github.com/vercel/next.js/issues/88338) - \[ci] Don't retry/notify for failed deploy tests with custom tarball URLs: [#&#8203;88576](https://github.com/vercel/next.js/issues/88576) - fix(turbopack): Collect `declare global {}` in `VarDeclWithTsDeclareCollector`: [#&#8203;88568](https://github.com/vercel/next.js/issues/88568) - Update labeler.json: [#&#8203;88591](https://github.com/vercel/next.js/issues/88591) - Fix optional `parent_task_id` compile failure w/`tokio_tracing` enabled: [#&#8203;88598](https://github.com/vercel/next.js/issues/88598) - Turbopack: support disabling tsconfig lookup: [#&#8203;88529](https://github.com/vercel/next.js/issues/88529) - Turbopack: run tasks with priority based on distance to leaf: [#&#8203;87662](https://github.com/vercel/next.js/issues/87662) - Turbopack: avoid removing cells for erroring tasks: [#&#8203;88305](https://github.com/vercel/next.js/issues/88305) - \[ci] Use native `concurrency` feature in build-and-test: [#&#8203;87287](https://github.com/vercel/next.js/issues/87287) - Turbopack: unflake unit test: [#&#8203;88620](https://github.com/vercel/next.js/issues/88620) - Turbopack: snapshot the ModuleGraph to avoid (eventual) inconsistent graphs: [#&#8203;88340](https://github.com/vercel/next.js/issues/88340) - Turbopack: Consistency for compute\_async\_module\_info: [#&#8203;88409](https://github.com/vercel/next.js/issues/88409) - Turbopack: follow tracing spans through aggregation update queue: [#&#8203;88410](https://github.com/vercel/next.js/issues/88410) - Turbopack: avoid chunk\_item\_id task and use selective cell access instead: [#&#8203;88411](https://github.com/vercel/next.js/issues/88411) - Turbopack: MappedReadRef should be Send and Sync: [#&#8203;88558](https://github.com/vercel/next.js/issues/88558) - Turbopack: selective read for module\_chunk\_groups in ChunkGroupInfo: [#&#8203;88559](https://github.com/vercel/next.js/issues/88559) - Turbopack: use selective reads for merged modules: [#&#8203;88560](https://github.com/vercel/next.js/issues/88560) - Turbopack: add caching to chunking: [#&#8203;88561](https://github.com/vercel/next.js/issues/88561) - Turbopack: use bugs.nextjs.org for Turbopack panic error reports: [#&#8203;88356](https://github.com/vercel/next.js/issues/88356) - Turbopack: docs: condition.query will ship in 16.2.0, not 16.1.1: [#&#8203;88663](https://github.com/vercel/next.js/issues/88663) - \[turbopack] Add bundling support for worker\_threads: [#&#8203;87746](https://github.com/vercel/next.js/issues/87746) - \[cna] Ensure created app is not considered the workspace root in pnpm: [#&#8203;88647](https://github.com/vercel/next.js/issues/88647) - Revert "\[turbopack] Add bundling support for worker\_threads": [#&#8203;88725](https://github.com/vercel/next.js/issues/88725) - \[ci] Enable Turborepo remote caching in e2e release deploy tests: [#&#8203;88746](https://github.com/vercel/next.js/issues/88746) - \[test] Deflake `test/development/app-dir/browser-log-forwarding/fixtures/verbose-level/verbose-level.test.ts`: [#&#8203;88754](https://github.com/vercel/next.js/issues/88754) - Fix `Build Commands` section in AGENTS.md: [#&#8203;88757](https://github.com/vercel/next.js/issues/88757) - \[test] Deflake `test/development/app-dir/hydration-error-count/hydration-error-count.test.ts`: [#&#8203;88749](https://github.com/vercel/next.js/issues/88749) - \[ci] Exclude `test/production` from deploy tests: [#&#8203;88763](https://github.com/vercel/next.js/issues/88763) - Apply `buildArgs` also for deploy tests (via `package.json`): [#&#8203;88731](https://github.com/vercel/next.js/issues/88731) - \[ci] Ensure Turbo Remote Cache can be written to: [#&#8203;88794](https://github.com/vercel/next.js/issues/88794) - perf(turbopack): optimize resolve plugin handling: [#&#8203;88639](https://github.com/vercel/next.js/issues/88639) - Fix buildManifest.js deployment tests: [#&#8203;88806](https://github.com/vercel/next.js/issues/88806) - \[ci] Merge Cache Components and deploy tests manifests when running CC deploy tests: [#&#8203;88824](https://github.com/vercel/next.js/issues/88824) - Turbopack: Extend filesystem watcher fuzzing to cover symlinks and junction points: [#&#8203;88192](https://github.com/vercel/next.js/issues/88192) - \[test]: add ability to run test-deploy with pre-existing deployment: [#&#8203;88829](https://github.com/vercel/next.js/issues/88829) - Update deterministic-build assertion: [#&#8203;88820](https://github.com/vercel/next.js/issues/88820) - Turbopack: shrink amortized: [#&#8203;88619](https://github.com/vercel/next.js/issues/88619) - Fix deployment test due to data-dpl-id attribute: [#&#8203;88846](https://github.com/vercel/next.js/issues/88846) - \[ci] Fix Rspack/Turbopack test manifest generation: [#&#8203;88845](https://github.com/vercel/next.js/issues/88845) - Turbopack: show compressed size for print\_cache\_item\_size: [#&#8203;88850](https://github.com/vercel/next.js/issues/88850) - \[test] Fix deploy test of `cache-components.server-action.test.ts`: [#&#8203;88854](https://github.com/vercel/next.js/issues/88854) - Turbopack: Use a real file entrypoint for Workers (and SharedWorkers): [#&#8203;88602](https://github.com/vercel/next.js/issues/88602) - Turbopack: Add file write invalidation tracking to filesystem watcher fuzzing: [#&#8203;88665](https://github.com/vercel/next.js/issues/88665) - Turbopack: Move fuzzer for fs watcher into a separate file/module: [#&#8203;88666](https://github.com/vercel/next.js/issues/88666) - Turbopack: Add a stress test / fuzzer that tries creating many symlinks in a tight loop: [#&#8203;88667](https://github.com/vercel/next.js/issues/88667) - Turbopack: Make the priority\_runner testcase deterministic: [#&#8203;88651](https://github.com/vercel/next.js/issues/88651) - Turbopack: Various cleanup for turbo-tasks-fs, mostly retry logic and string formatting: [#&#8203;88668](https://github.com/vercel/next.js/issues/88668) - Turbopack: Tweak retry loop for link creation to try to fix os error 80 on Windows: [#&#8203;88669](https://github.com/vercel/next.js/issues/88669) - feat: Replace InnerStorage with the generated TaskStorage struct: [#&#8203;88355](https://github.com/vercel/next.js/issues/88355) - Turbopack: Use webpki-root-certs in addition to rustls-platform-verifier on Linux for bare-bones Linux images without root CA stores: [#&#8203;88869](https://github.com/vercel/next.js/issues/88869) - refactor: migrate to typed accessors and remove CachedDataItem adapter: [#&#8203;88397](https://github.com/vercel/next.js/issues/88397) - docs: add skill for updating Next.js documentation: [#&#8203;88656](https://github.com/vercel/next.js/issues/88656) - Turbopack: \[chore] Fix Rust check warnings: [#&#8203;88871](https://github.com/vercel/next.js/issues/88871) - Create-next-app update message: [#&#8203;88706](https://github.com/vercel/next.js/issues/88706) - Turbopack: Fix next/font preloading for page.mdx: [#&#8203;88848](https://github.com/vercel/next.js/issues/88848) - Update Rspack production test manifest: [#&#8203;88882](https://github.com/vercel/next.js/issues/88882) - \[test] Skip failing deploy test in `searchparams-reuse-loading.test.ts`: [#&#8203;88821](https://github.com/vercel/next.js/issues/88821) - \[test] Skip flaky `prefetch-runtime` tests for deploy tests: [#&#8203;88826](https://github.com/vercel/next.js/issues/88826) - remove gt workflow from agents.md: [#&#8203;88918](https://github.com/vercel/next.js/issues/88918) - Turbopack: refactor data storage to avoid reverse task cache: [#&#8203;88492](https://github.com/vercel/next.js/issues/88492) - Turbopack: change invalidator and immutable to data category: [#&#8203;88889](https://github.com/vercel/next.js/issues/88889) - Turbopack: reduce cache size: [#&#8203;88929](https://github.com/vercel/next.js/issues/88929) - fix typo: [#&#8203;88934](https://github.com/vercel/next.js/issues/88934) - Turbopack: improve module type error message: [#&#8203;88815](https://github.com/vercel/next.js/issues/88815) - Turbopack: improve selective read support to allow `Equivalent` keys: [#&#8203;88760](https://github.com/vercel/next.js/issues/88760) - Turbopack: add indirection layer for better caching during resolving: [#&#8203;80062](https://github.com/vercel/next.js/issues/80062) - Add Graphite workflow Cursor command: [#&#8203;88939](https://github.com/vercel/next.js/issues/88939) - Update Rspack production test manifest: [#&#8203;88930](https://github.com/vercel/next.js/issues/88930) - Update Rspack development test manifest: [#&#8203;88931](https://github.com/vercel/next.js/issues/88931) - Improve performance and token usage of `/ci-failures` command: [#&#8203;88960](https://github.com/vercel/next.js/issues/88960) - \[Turbopack] Use a presized scratch buffer for task encoding: [#&#8203;88924](https://github.com/vercel/next.js/issues/88924) - Update Rspack development test manifest: [#&#8203;89004](https://github.com/vercel/next.js/issues/89004) - Update Rspack production test manifest: [#&#8203;89003](https://github.com/vercel/next.js/issues/89003) - Turbopack: remove Asset supertrait from Module trait. Modules don't have content: [#&#8203;86416](https://github.com/vercel/next.js/issues/86416) - \[test] Improve deployment skew test for Pages Router data routes: [#&#8203;89038](https://github.com/vercel/next.js/issues/89038) - Fix react-loadable-manifest chunk hash mismatch by preserving async loader mapping: [#&#8203;88775](https://github.com/vercel/next.js/issues/88775) - Fix reset deploy project script: [#&#8203;89001](https://github.com/vercel/next.js/issues/89001) - Revert "Fix react-loadable-manifest chunk hash mismatch by preserving async loader mapping": [#&#8203;89073](https://github.com/vercel/next.js/issues/89073) - /pr-status (former /ci-failures): fetch PR reviews too: [#&#8203;89082](https://github.com/vercel/next.js/issues/89082) - Improve /pr-status: comments, argument, avoid full log: [#&#8203;89092](https://github.com/vercel/next.js/issues/89092) - chore(ci): rename 'new tests' jobs to 'new and changed tests': [#&#8203;89054](https://github.com/vercel/next.js/issues/89054) - \[ci] Exclude tests by filename when merging manifests: [#&#8203;89093](https://github.com/vercel/next.js/issues/89093) - Turbopack: import with type should be handled via condition: [#&#8203;89035](https://github.com/vercel/next.js/issues/89035) - Enable pnpm dependency caching in e2e deploy tests: [#&#8203;88953](https://github.com/vercel/next.js/issues/88953) - \[ci] Make `gh auth status` optional when triggering a release: [#&#8203;89098](https://github.com/vercel/next.js/issues/89098) - Update Rspack development test manifest: [#&#8203;89084](https://github.com/vercel/next.js/issues/89084) - tweak LRU sentinel cache key: [#&#8203;89123](https://github.com/vercel/next.js/issues/89123) - Turbopack: allow key block without hash in SST files: [#&#8203;88938](https://github.com/vercel/next.js/issues/88938) - Turbopack: Remove unused argument: [#&#8203;80235](https://github.com/vercel/next.js/issues/80235) - Prettier-ignore changes in `next-env.d.ts` files in all top-level apps: [#&#8203;89176](https://github.com/vercel/next.js/issues/89176) - Turbopack: warn when tracing the whole project: [#&#8203;89157](https://github.com/vercel/next.js/issues/89157) - Add full adapters E2E tests to workflow: [#&#8203;89125](https://github.com/vercel/next.js/issues/89125) - Update Rspack production test manifest: [#&#8203;89147](https://github.com/vercel/next.js/issues/89147) - Fix [@&#8203;next/routing](https://github.com/next/routing) for i18n api and dynamic routes: [#&#8203;89197](https://github.com/vercel/next.js/issues/89197) - Remove Vercel specific assertions from E2E deploy: [#&#8203;89198](https://github.com/vercel/next.js/issues/89198) - Add custom deploy and logs env for next-deploy: [#&#8203;89206](https://github.com/vercel/next.js/issues/89206) - Turbopack: change AsyncModulesInfo to use keyed reads: [#&#8203;89216](https://github.com/vercel/next.js/issues/89216) - Turbopack: selective reads of defined env vars in module analysis: [#&#8203;88759](https://github.com/vercel/next.js/issues/88759) - Turbopack: fix tracking modifications for transient and data: [#&#8203;89228](https://github.com/vercel/next.js/issues/89228) - \[ci] Clear Jest transform cache: [#&#8203;89247](https://github.com/vercel/next.js/issues/89247) - Turbopack: Make the globals we pass to workers configurable: [#&#8203;88773](https://github.com/vercel/next.js/issues/88773) - Accept deploy script and log script as inputs: [#&#8203;89253](https://github.com/vercel/next.js/issues/89253) - \[turbopack] mark persistent\_task\_type as inline: [#&#8203;89185](https://github.com/vercel/next.js/issues/89185) - \[test] Add test suite name for Tests failures table: [#&#8203;89258](https://github.com/vercel/next.js/issues/89258) - refactor: Improve templates layout flexibility: [#&#8203;89245](https://github.com/vercel/next.js/issues/89245) - test: add client-cache.defaults failing deploy test: [#&#8203;89242](https://github.com/vercel/next.js/issues/89242) - test: add resume-data-cache failing deploy test: [#&#8203;89243](https://github.com/vercel/next.js/issues/89243) - \[turbopack] Make shrinking logic declarative and optimize for immutable tasks: [#&#8203;89222](https://github.com/vercel/next.js/issues/89222) - Turbopack: Trace task modifications: [#&#8203;89229](https://github.com/vercel/next.js/issues/89229) - Turbopack: refactor extend transforms: [#&#8203;89116](https://github.com/vercel/next.js/issues/89116) - Turbopack: improve print\_cache\_item\_size: [#&#8203;89279](https://github.com/vercel/next.js/issues/89279) - Update Rspack development test manifest: [#&#8203;89278](https://github.com/vercel/next.js/issues/89278) - Update Rspack production test manifest: [#&#8203;89277](https://github.com/vercel/next.js/issues/89277) - Improve consistency of how Flag typed fields are handled in the macro to more structurally prevent bugs like what was fixed in [#&#8203;89228](https://github.com/vercel/next.js/issues/89228): [#&#8203;89255](https://github.com/vercel/next.js/issues/89255) - Add failing test to deploy-tests-manifest: [#&#8203;89318](https://github.com/vercel/next.js/issues/89318) - Apply server actions transform to `node_modules` in route handlers: [#&#8203;89316](https://github.com/vercel/next.js/issues/89316) - \[test] Deflake `browser-log-forwarding verbose level` test suite: [#&#8203;89324](https://github.com/vercel/next.js/issues/89324) - Turbopack: Move PrettyPrintError to turbo\_tasks and add tests: [#&#8203;89280](https://github.com/vercel/next.js/issues/89280) - Update Rspack production test manifest: [#&#8203;89372](https://github.com/vercel/next.js/issues/89372) - Update Rspack development test manifest: [#&#8203;89371](https://github.com/vercel/next.js/issues/89371) - TURBOPACK: support chunk\_loading\_global method: [#&#8203;88790](https://github.com/vercel/next.js/issues/88790) - Don't upload build cache for deployment tests: [#&#8203;89432](https://github.com/vercel/next.js/issues/89432) - Add separate E2E deploy env for turbopack tests: [#&#8203;89458](https://github.com/vercel/next.js/issues/89458) - Turbopack: Symbol.for and keyFor are sideeffect-free: [#&#8203;89454](https://github.com/vercel/next.js/issues/89454) - Update Rspack production test manifest: [#&#8203;89423](https://github.com/vercel/next.js/issues/89423) - Update Rspack development test manifest: [#&#8203;89424](https://github.com/vercel/next.js/issues/89424) - Turbopack: improve suggestions for experimental.reportSystemEnvInlining: [#&#8203;89486](https://github.com/vercel/next.js/issues/89486) - Add experimental flag to expose testing API in production builds: [#&#8203;89499](https://github.com/vercel/next.js/issues/89499) - Proper e2e test of function determinism: [#&#8203;88908](https://github.com/vercel/next.js/issues/88908) - Turbopack: add turbo-persistence benchmark: [#&#8203;89446](https://github.com/vercel/next.js/issues/89446) - Proper e2e test of function determinism - adapter: [#&#8203;89522](https://github.com/vercel/next.js/issues/89522) - \[test] consolidate the browser log test: [#&#8203;89601](https://github.com/vercel/next.js/issues/89601) - Fix flaky turbo cache pull with retries and graceful fallback: [#&#8203;89575](https://github.com/vercel/next.js/issues/89575) - Turbopack: Pass globals to node.js workers as well: [#&#8203;89261](https://github.com/vercel/next.js/issues/89261) - Upgrade rustc to 2026-02-05: [#&#8203;89591](https://github.com/vercel/next.js/issues/89591) - Update metadata assertions: [#&#8203;89625](https://github.com/vercel/next.js/issues/89625) - Update vercel CLI version in flakey deployment-id test: [#&#8203;89652](https://github.com/vercel/next.js/issues/89652) - Turbopack: remove unneeded benchmarks: [#&#8203;89592](https://github.com/vercel/next.js/issues/89592) - Turbopack Persistence: Remove amqf cache, store all amqfs in memory: [#&#8203;89562](https://github.com/vercel/next.js/issues/89562) - Add inline value support for small values (≤8 bytes): [#&#8203;89271](https://github.com/vercel/next.js/issues/89271) - \[turbopack] remove the `_backend` field from TaskGuardImpl: [#&#8203;89015](https://github.com/vercel/next.js/issues/89015) - \[Turbopack] Include CSS URL attributes, including Layer, Media and Supports: [#&#8203;89300](https://github.com/vercel/next.js/issues/89300) - docs: add task decomposition and verification guidelines: [#&#8203;89640](https://github.com/vercel/next.js/issues/89640) - Turbopack: Remove old `Vc::try_resolve_*` methods in favor of the `ResolvedVc` alternatives: [#&#8203;89696](https://github.com/vercel/next.js/issues/89696) - Fix reset-project script for E2E deploy tests: [#&#8203;89693](https://github.com/vercel/next.js/issues/89693) - feat: move font variables to html in create-next-app: [#&#8203;89632](https://github.com/vercel/next.js/issues/89632) - reduce the number of shards on small systems: [#&#8203;89731](https://github.com/vercel/next.js/issues/89731) - Update Rspack production test manifest: [#&#8203;89701](https://github.com/vercel/next.js/issues/89701) - Update Rspack development test manifest: [#&#8203;89702](https://github.com/vercel/next.js/issues/89702) - \[test] Add regression test for segment cache prefetch memory leak: [#&#8203;89756](https://github.com/vercel/next.js/issues/89756) - Improve not-found-with-pages test: [#&#8203;89538](https://github.com/vercel/next.js/issues/89538) - Update flakey E2E deploy tests: [#&#8203;89792](https://github.com/vercel/next.js/issues/89792) - Update flakey E2E deploy tests no-prefetch: [#&#8203;89799](https://github.com/vercel/next.js/issues/89799) - Update Rspack production test manifest: [#&#8203;89741](https://github.com/vercel/next.js/issues/89741) - Fix devlow job timeouts: [#&#8203;89804](https://github.com/vercel/next.js/issues/89804) - Update Rspack development test manifest: [#&#8203;89740](https://github.com/vercel/next.js/issues/89740) - Turbopack Persistence: Improve heuristic for compacted database access: [#&#8203;89497](https://github.com/vercel/next.js/issues/89497) - Turbopack: remove ChunkableModuleReference trait: [#&#8203;89745](https://github.com/vercel/next.js/issues/89745) - docs: improve Graphite workflow documentation: [#&#8203;89488](https://github.com/vercel/next.js/issues/89488) - Remove --turbopack and --webpack flags from create-next-app: [#&#8203;89706](https://github.com/vercel/next.js/issues/89706) - Turbopack: make routes hashes mainfest more incremental: [#&#8203;87107](https://github.com/vercel/next.js/issues/87107) - \[test] Remove references to removed, internal PPR environment variable: [#&#8203;89832](https://github.com/vercel/next.js/issues/89832) - \[test] Enable scroll related tests in Cache Component tests: [#&#8203;83245](https://github.com/vercel/next.js/issues/83245) - docs: update adapter docs for routing, handlers, and PPR: [#&#8203;89849](https://github.com/vercel/next.js/issues/89849) - \[test] Ensure new deploy test builds have the necessary env variables: [#&#8203;89846](https://github.com/vercel/next.js/issues/89846) - test: allow dpl query suffix in scss url-global expectation: [#&#8203;89856](https://github.com/vercel/next.js/issues/89856) - test: stabilize app-dir hash navigation RSC assertion: [#&#8203;89867](https://github.com/vercel/next.js/issues/89867) - Turbopack: Clean up unused register!() macro argument in test: [#&#8203;89869](https://github.com/vercel/next.js/issues/89869) - test: allow query suffix in related media URL e2e assertions: [#&#8203;89872](https://github.com/vercel/next.js/issues/89872) - Update Rspack development test manifest: [#&#8203;89811](https://github.com/vercel/next.js/issues/89811) - Turbopack: Store task error as pointer to the source error: [#&#8203;89293](https://github.com/vercel/next.js/issues/89293) - Turbopack: Pass asset\_suffix\_path as Vc: [#&#8203;89899](https://github.com/vercel/next.js/issues/89899) - \[turbopack] Simplify JS `ChunkItem` with a single impl in most cases: [#&#8203;89548](https://github.com/vercel/next.js/issues/89548) - Change UrlBehavior.static\_suffix to ResolvedVc\<Option<RcStr>>: [#&#8203;89921](https://github.com/vercel/next.js/issues/89921) - \[turbopack] Add #\[derive(ValueToString)] and convert \~45 manual impls: [#&#8203;89788](https://github.com/vercel/next.js/issues/89788) - Turbopack hmr: fix missing factories: [#&#8203;89934](https://github.com/vercel/next.js/issues/89934) - Next-api: Check `client_source_maps` before generate source map: [#&#8203;89915](https://github.com/vercel/next.js/issues/89915) - Upgrade to swc 56: [#&#8203;89111](https://github.com/vercel/next.js/issues/89111) - Turbopack: fix CSS dependency locations: [#&#8203;89761](https://github.com/vercel/next.js/issues/89761) - Enable backtraces in turbopack integration tests: [#&#8203;89935](https://github.com/vercel/next.js/issues/89935) - Turbopack: Use `std::any::type_name` for global naming of turbo-task items: [#&#8203;89874](https://github.com/vercel/next.js/issues/89874) - \[turbopack] use type\_ids to register turbo task traits on value types: [#&#8203;89964](https://github.com/vercel/next.js/issues/89964) - Turbopack: Fix flake in task\_statistics unit test: [#&#8203;89981](https://github.com/vercel/next.js/issues/89981) - Turbopack hmr: preserve group factory consistency for compressed modules: [#&#8203;89976](https://github.com/vercel/next.js/issues/89976) - chore: Don't run build-and-deploy CI job on graphite-base branches: [#&#8203;89982](https://github.com/vercel/next.js/issues/89982) - Turbopack: Update trybuild test dependency from 1.0.104 to 1.0.116: [#&#8203;89986](https://github.com/vercel/next.js/issues/89986) - test: Isolate read-only-source-hmr test: [#&#8203;86721](https://github.com/vercel/next.js/issues/86721) - Upgrade Lightning CSS: [#&#8203;88789](https://github.com/vercel/next.js/issues/88789) - fix(turbopack): --debug-build-paths fails with route groups: [#&#8203;89336](https://github.com/vercel/next.js/issues/89336) - test: scope e2e timeouts to startup and per-it: [#&#8203;89929](https://github.com/vercel/next.js/issues/89929) - Always set adapter deploy env variable: [#&#8203;90064](https://github.com/vercel/next.js/issues/90064) - \[turbopack] Fix some modification tracking bugs in TaskStorage: [#&#8203;89708](https://github.com/vercel/next.js/issues/89708) - bench: render-pipeline benchmarks and stress routes (2/8): [#&#8203;89863](https://github.com/vercel/next.js/issues/89863) - \[turbopack] fix our verify features in turbo-tasks backend: [#&#8203;90013](https://github.com/vercel/next.js/issues/90013) - Refactor factory not available error message generation: [#&#8203;89897](https://github.com/vercel/next.js/issues/89897) - \[turbopack] Followup for `#[derive(ValueToString)]`: [#&#8203;89936](https://github.com/vercel/next.js/issues/89936) - Revert "\[turbopack] Fix some modification tracking bugs in TaskStorage": [#&#8203;90096](https://github.com/vercel/next.js/issues/90096) - Disable jest cache for CI instead of wiping: [#&#8203;90097](https://github.com/vercel/next.js/issues/90097) - next-stats-action: avoid pnpm EXDEV during stats installs: [#&#8203;90100](https://github.com/vercel/next.js/issues/90100) - \[turbopack] Run the deployment tests for turbopack and webpack: [#&#8203;84360](https://github.com/vercel/next.js/issues/84360) - ci: only cancel pull\_request\_stats on PR updates: [#&#8203;90104](https://github.com/vercel/next.js/issues/90104) - \[Instant] test: remove unnecessary reactDebugChannel permutation: [#&#8203;90103](https://github.com/vercel/next.js/issues/90103) - \[test] Replace flaky webpack snapshots in `cache-components-errors`: [#&#8203;90105](https://github.com/vercel/next.js/issues/90105) - Upgrade to swc 57: [#&#8203;90084](https://github.com/vercel/next.js/issues/90084) - \[turbopack] Fix concurrent task lock panic during error formatting: [#&#8203;90056](https://github.com/vercel/next.js/issues/90056) - Reland "\[turbopack] Fix some modification tracking bugs in TaskStorage": [#&#8203;90098](https://github.com/vercel/next.js/issues/90098) - refactor: fix non-determinism in resolve package: [#&#8203;90058](https://github.com/vercel/next.js/issues/90058) - Update Rspack development test manifest: [#&#8203;90074](https://github.com/vercel/next.js/issues/90074) - Update Rspack production test manifest: [#&#8203;90073](https://github.com/vercel/next.js/issues/90073) - test: extend production-browser-sourcemaps test: [#&#8203;89945](https://github.com/vercel/next.js/issues/89945) - Turbopack: use file\_content.hash() consistently: [#&#8203;90078](https://github.com/vercel/next.js/issues/90078) - \[test] Current behavior of focus after `next/link` navigation: [#&#8203;89959](https://github.com/vercel/next.js/issues/89959) - Turbopack: Enable tree-shaking for dynamic imports with destructuring: [#&#8203;89683](https://github.com/vercel/next.js/issues/89683) - test: Don't run integration tests twice for Turbopack : [#&#8203;83335](https://github.com/vercel/next.js/issues/83335) - Simplify how `json` imports work by turning it into a source transform: [#&#8203;89631](https://github.com/vercel/next.js/issues/89631) - Update Rspack production test manifest: [#&#8203;90120](https://github.com/vercel/next.js/issues/90120) - Update Rspack development test manifest: [#&#8203;90121](https://github.com/vercel/next.js/issues/90121) - Turbopack: Update rust toolchain to nightly-2026-02-18: [#&#8203;89974](https://github.com/vercel/next.js/issues/89974) - Turbopack: Derive `Default` on `PartialProjectOptions`, remove silly `partial_project_options_with_debug_build_paths` helper: [#&#8203;90170](https://github.com/vercel/next.js/issues/90170) - Turbopack: document ModuleSideEffects better: [#&#8203;90132](https://github.com/vercel/next.js/issues/90132) - \[ci]: pin styled-components version in tests: [#&#8203;90194](https://github.com/vercel/next.js/issues/90194) - \[turbopack] Add a simple tool to inspect serialized SST files and report on their contents: [#&#8203;89310](https://github.com/vercel/next.js/issues/89310) - Upgrade React from `4842fbea-20260217` to `2ba30655-20260219`: [#&#8203;90211](https://github.com/vercel/next.js/issues/90211) - \[test] Improve fetch timeout error stack for `act`: [#&#8203;90261](https://github.com/vercel/next.js/issues/90261) - Turbopack: add Rope.content\_hash and SHA hashing: [#&#8203;90235](https://github.com/vercel/next.js/issues/90235) - \[instant] Handle more instant declaration patterns: [#&#8203;90251](https://github.com/vercel/next.js/issues/90251) - \[sync-react] Allow syncing React with local build: [#&#8203;90277](https://github.com/vercel/next.js/issues/90277) - Add PR tarball install note to stats comment: [#&#8203;90316](https://github.com/vercel/next.js/issues/90316) - Bump Turborepo to 2.8.9: [#&#8203;90079](https://github.com/vercel/next.js/issues/90079) - Update wasm and next-custom-transforms crates to Rust edition 2024: [#&#8203;90350](https://github.com/vercel/next.js/issues/90350) - Turbopack: refactoring to prepare for name mangling: [#&#8203;89406](https://github.com/vercel/next.js/issues/89406) - Turbopack: Aggregation update improvements: [#&#8203;90139](https://github.com/vercel/next.js/issues/90139) - \[ci] Stop linting auto-generated next-swc typings: [#&#8203;90390](https://github.com/vercel/next.js/issues/90390) - Add more known folders to is-folder-empty check in create-next-app: [#&#8203;88218](https://github.com/vercel/next.js/issues/88218) - \[ci] Always upload Turborepo summary artifact: [#&#8203;90441](https://github.com/vercel/next.js/issues/90441) - tests: reenable escheck-output: [#&#8203;90423](https://github.com/vercel/next.js/issues/90423) - \[test] Deflake `typed-routes-validator` using `tsc`: [#&#8203;90451](https://github.com/vercel/next.js/issues/90451) - test: Cleanup and refactoring: [#&#8203;90454](https://github.com/vercel/next.js/issues/90454) - \[turbopack] Make compression in SST files optional: [#&#8203;89309](https://github.com/vercel/next.js/issues/89309) - \[test] Only auto-retry individual e2e tests in CI: [#&#8203;90464](https://github.com/vercel/next.js/issues/90464) - Update Rspack production test manifest: [#&#8203;90412](https://github.com/vercel/next.js/issues/90412) - Update Rspack development test manifest: [#&#8203;90413](https://github.com/vercel/next.js/issues/90413) - Add [@&#8203;next/playwright](https://github.com/next/playwright) package with instant() testing helper: [#&#8203;90470](https://github.com/vercel/next.js/issues/90470) - \[turbopack] Reduce memory usage during compaction: [#&#8203;90229](https://github.com/vercel/next.js/issues/90229) - \[sync-react] Allow syncing from a React commit: [#&#8203;90283](https://github.com/vercel/next.js/issues/90283) - Turbopack: Add line numbers to debug info in release-with-assertions profile: [#&#8203;90474](https://github.com/vercel/next.js/issues/90474) - Turbopack: emit env\_diff span attribute for update: [#&#8203;90466](https://github.com/vercel/next.js/issues/90466) - test: unflake lru-disk-eviction on Windows: [#&#8203;90465](https://github.com/vercel/next.js/issues/90465) - test: Improve test assertions to prepare for dpl query string: [#&#8203;90463](https://github.com/vercel/next.js/issues/90463) - \[test] Fix flaky "delay re-prefetch after revalidation" test: [#&#8203;90503](https://github.com/vercel/next.js/issues/90503) - Revert "Turbopack: Add line numbers to debug info in release-with-assertions profile ([#&#8203;90474](https://github.com/vercel/next.js/issues/90474))": [#&#8203;90525](https://github.com/vercel/next.js/issues/90525) - Bump Turborepo to 2.8.11: [#&#8203;90530](https://github.com/vercel/next.js/issues/90530) - Turbopack: Move turbopack out of `pnpm build` and into a `pnpm build-all` command: [#&#8203;90543](https://github.com/vercel/next.js/issues/90543) - Remove revalidation settling period from router-act: [#&#8203;90531](https://github.com/vercel/next.js/issues/90531) - Turbopack: add webpack loader names to traces: [#&#8203;87230](https://github.com/vercel/next.js/issues/87230) - Replace mark\_root() with #\[turbo\_tasks::function(root)] flag: [#&#8203;90512](https://github.com/vercel/next.js/issues/90512) - \[test] Deflake `typed-routes-validator`: [#&#8203;90562](https://github.com/vercel/next.js/issues/90562) - \[test] Remove `getStackFramesContent`: [#&#8203;90571](https://github.com/vercel/next.js/issues/90571) - Replace `testonly` to `testheadless` in AGENTS.md: [#&#8203;90578](https://github.com/vercel/next.js/issues/90578) - \[test] Include error code in Redbox snapshot: [#&#8203;90497](https://github.com/vercel/next.js/issues/90497) - Turbopack: Add TransientEnvMap to avoid persisting env vars in cache: [#&#8203;90526](https://github.com/vercel/next.js/issues/90526) - Turbopack: add Xxh3Hash128Hasher: [#&#8203;90584](https://github.com/vercel/next.js/issues/90584) - \[test] Fix error code snapshots when testing with React 18: [#&#8203;90593](https://github.com/vercel/next.js/issues/90593) - Turbopack: use xxhash3\_128 for content hashes: [#&#8203;90583](https://github.com/vercel/next.js/issues/90583) - test: remove stray TURBOPACK\_BUILD=1: [#&#8203;90602](https://github.com/vercel/next.js/issues/90602) - Update Rspack development test manifest: [#&#8203;90566](https://github.com/vercel/next.js/issues/90566) - Update Rspack production test manifest: [#&#8203;90565](https://github.com/vercel/next.js/issues/90565) - \[ci] Use `NEXT_TEST_CI` instead of `CI` for e2e test retry guard: [#&#8203;90606](https://github.com/vercel/next.js/issues/90606) - \[test] Skip failing segment-cache deploy test: [#&#8203;90601](https://github.com/vercel/next.js/issues/90601) - turbo-persistence: drop key compression dictionary from SST files: [#&#8203;90608](https://github.com/vercel/next.js/issues/90608) - Pre-warm a single NodeJS instance when the next devserver starts: [#&#8203;90174](https://github.com/vercel/next.js/issues/90174) - Turbopack server HMR: inline source maps for `eval`ed modules: [#&#8203;90561](https://github.com/vercel/next.js/issues/90561) - test: Run Adapter e2e tests with Turbopack instead: [#&#8203;90600](https://github.com/vercel/next.js/issues/90600) - Add MemorySample to Turbopack trace infrastructure: [#&#8203;90597](https://github.com/vercel/next.js/issues/90597) - Use `VisitMut` instead of `Fold` for debug\_instant\_stack transform: [#&#8203;90274](https://github.com/vercel/next.js/issues/90274) - Ensure we only run main test mode with custom deploy script: [#&#8203;90665](https://github.com/vercel/next.js/issues/90665) - Centralize test timings to fix shard divergence in CI: [#&#8203;90672](https://github.com/vercel/next.js/issues/90672) - tests: Fix immutableAssetToken extraction: [#&#8203;90668](https://github.com/vercel/next.js/issues/90668) - turbo-persistence: streaming SST writer for reduced memory usage: [#&#8203;90617](https://github.com/vercel/next.js/issues/90617) - Add custom cleanup script support for deploy tests: [#&#8203;90696](https://github.com/vercel/next.js/issues/90696) - Use commit-based tarball URL in PR stats comment: [#&#8203;90709](https://github.com/vercel/next.js/issues/90709) - \[ci] Use commit instead of PR number for preview builds in deploy tests: [#&#8203;90722](https://github.com/vercel/next.js/issues/90722) - Fix ENOBUFS errors in pr-status.js when fetching large CI logs: [#&#8203;90654](https://github.com/vercel/next.js/issues/90654) - Publish [@&#8203;next/playwright](https://github.com/next/playwright) to npm as part of canary releases: [#&#8203;90738](https://github.com/vercel/next.js/issues/90738) - Update Rspack development test manifest: [#&#8203;90751](https://github.com/vercel/next.js/issues/90751) - Update Rspack production test manifest: [#&#8203;90750](https://github.com/vercel/next.js/issues/90750) - Turbopack: improve cell order lint rule for TraitRef::cell: [#&#8203;90756](https://github.com/vercel/next.js/issues/90756) - Add determinism test for static shell with asset preload headers: [#&#8203;89826](https://github.com/vercel/next.js/issues/89826) - Add static error when `unstable_instant` is used without `cacheComponents`: [#&#8203;90793](https://github.com/vercel/next.js/issues/90793) - enable server action RDC deploy test: [#&#8203;90796](https://github.com/vercel/next.js/issues/90796) - turbo-persistence: StreamingSstWriter performance and readability improvements: [#&#8203;90692](https://github.com/vercel/next.js/issues/90692) - pr-status: add reply-thread and resolve-thread subcommands: [#&#8203;90773](https://github.com/vercel/next.js/issues/90773) - \[turbopack] Don't schedule idle snapshots when we are in a short session: [#&#8203;90804](https://github.com/vercel/next.js/issues/90804) - Update Rust dependencies for turbo-persistence and turbo-tasks-backend: [#&#8203;90774](https://github.com/vercel/next.js/issues/90774) - Add support for multi-valued tables: [#&#8203;89728](https://github.com/vercel/next.js/issues/89728) - pr-status: add --wait flag and background execution for /pr-status command: [#&#8203;90687](https://github.com/vercel/next.js/issues/90687) - exempt data URL CSS from Pages Router global CSS restriction: [#&#8203;89901](https://github.com/vercel/next.js/issues/89901) - turbo-persistence: add CRC32 block checksums: [#&#8203;90754](https://github.com/vercel/next.js/issues/90754) - Remove unused turbo-tasks items and add lint check: [#&#8203;90801](https://github.com/vercel/next.js/issues/90801) - Fix missing const generic parameter in turbo-persistence lookup call: [#&#8203;90817](https://github.com/vercel/next.js/issues/90817) - Turbopack: add anyhow::Context to turbo-persistence mmap, file open, and decompress operations: [#&#8203;90769](https://github.com/vercel/next.js/issues/90769) - Update Rspack development test manifest: [#&#8203;90805](https://github.com/vercel/next.js/issues/90805) - Avoid using TaskTypes as keys in storage instead use hashes: [#&#8203;88904](https://github.com/vercel/next.js/issues/88904) - Remove leaf segment force-refetch check: [#&#8203;90836](https://github.com/vercel/next.js/issues/90836) - \[turbopack] add a new hasher implementation to eliminate allocations: [#&#8203;89059](https://github.com/vercel/next.js/issues/89059) - Show labeled steps for `instant()` test helper in the Playwright UI: [#&#8203;90664](https://github.com/vercel/next.js/issues/90664) - \[turbotask] Make turbotask function registration const: [#&#8203;90797](https://github.com/vercel/next.js/issues/90797) - Turbopack: turbofmt/turbobail macros: [#&#8203;90092](https://github.com/vercel/next.js/issues/90092) - Add Err(anyhow(... ast-grep rule: [#&#8203;90869](https://github.com/vercel/next.js/issues/90869) - Turbopack: allow resolving TS files in tailwind config: [#&#8203;90046](https://github.com/vercel/next.js/issues/90046) - Unify Node and Edge externals list: [#&#8203;90819](https://github.com/vercel/next.js/issues/90819) - chore: add aurorascharff to devex team labeler config: [#&#8203;90866](https://github.com/vercel/next.js/issues/90866) - Update Rspack production test manifest: [#&#8203;90857](https://github.com/vercel/next.js/issues/90857) - Update Rspack development test manifest: [#&#8203;90858](https://github.com/vercel/next.js/issues/90858) - \[ci]: continue-on-error for more gh auth status checks: [#&#8203;90890](https://github.com/vercel/next.js/issues/90890) - Cleanup non-generic assertions in our deploy test suite: [#&#8203;90894](https://github.com/vercel/next.js/issues/90894) - Turbopack: Tree shaking fixes and code organization: [#&#8203;89295](https://github.com/vercel/next.js/issues/89295) - tests: Use pnpm dlx to install latest CLI version: [#&#8203;90923](https://github.com/vercel/next.js/issues/90923) - Turbopack: Fix some eventually consistent reads at the top level in dev-server and snapshot tests: [#&#8203;90792](https://github.com/vercel/next.js/issues/90792) - Turbopack: Annotate ReadVcFuture as must\_use instead of annotating functions that return it: [#&#8203;90839](https://github.com/vercel/next.js/issues/90839) - Prefix pr-status replies with :robot: emoji: [#&#8203;90943](https://github.com/vercel/next.js/issues/90943) - Set DontFork and Unmergeable on all mmap sites in turbo-persistence: [#&#8203;90941](https://github.com/vercel/next.js/issues/90941) - Turbopack: CompileTimeDefineValue numbers and regex: [#&#8203;90934](https://github.com/vercel/next.js/issues/90934) - Turbopack: pass reference type to CustomModuleType: [#&#8203;90814](https://github.com/vercel/next.js/issues/90814) - Fix preview version in `window.next.version` for PR builds: [#&#8203;90937](https://github.com/vercel/next.js/issues/90937) - \[Evals] Standardize Evals in Next.js: [#&#8203;90883](https://github.com/vercel/next.js/issues/90883) - TURBOPACK: alias resolve lost query param: [#&#8203;88891](https://github.com/vercel/next.js/issues/88891) - Update Rspack development test manifest: [#&#8203;90969](https://github.com/vercel/next.js/issues/90969) - Turbopack: Make `ReadVcFuture::strongly_consistent` private: [#&#8203;90843](https://github.com/vercel/next.js/issues/90843) - Fix next-routing header interpolation: [#&#8203;91010](https://github.com/vercel/next.js/issues/91010) - Turbopack: accept ChunkGroup in entry\_chunk\_group: [#&#8203;90821](https://github.com/vercel/next.js/issues/90821) - Turbopack: show specific SWC error messages as error titles: [#&#8203;91022](https://github.com/vercel/next.js/issues/91022) - Turbopack: correctly use ChunkGroup::Shared: [#&#8203;90978](https://github.com/vercel/next.js/issues/90978) - Add script to patch project with preview tarball URLs: [#&#8203;91057](https://github.com/vercel/next.js/issues/91057) - Fix pr-status script missing failed jobs on page 2+ of API results: [#&#8203;91087](https://github.com/vercel/next.js/issues/91087) - Turbopack: don't panic due to eventual consistency in module merging: [#&#8203;91088](https://github.com/vercel/next.js/issues/91088) - fix: run lerna on a branch: [#&#8203;91092](https://github.com/vercel/next.js/issues/91092) - Fix preview tarball script to include [@&#8203;next/swc-linux-x64-gnu](https://github.com/next/swc-linux-x64-gnu): [#&#8203;91099](https://github.com/vercel/next.js/issues/91099) - Improve unsafe code safety documentation in turbo-tasks-backend: [#&#8203;90755](https://github.com/vercel/next.js/issues/90755) - docs(contributing): Update setup in contributing/core/developing.md: [#&#8203;91018](https://github.com/vercel/next.js/issues/91018) - Turbopack: Pass hmr\_enabled to ImportMetaBinding: [#&#8203;91118](https://github.com/vercel/next.js/issues/91118) - docs(turbopack): Copy over turbopack-trace-server docs: [#&#8203;91111](https://github.com/vercel/next.js/issues/91111) - Turbopack: introduce `ReferenceTypeCondition`: [#&#8203;91101](https://github.com/vercel/next.js/issues/91101) - fix: Use a pnpm preinstall script to fix catch-22 in next binary creation: [#&#8203;91016](https://github.com/vercel/next.js/issues/91016) - Exclude partial fallback for deploy mode: [#&#8203;91163](https://github.com/vercel/next.js/issues/91163) - \[turbopack] Add support for fixed key blocks: [#&#8203;90844](https://github.com/vercel/next.js/issues/90844) - \[turbopack] Encode task storage directly during persistence (skip clone): [#&#8203;89412](https://github.com/vercel/next.js/issues/89412) - \[turbopack] hashing improvements to turbo-persistence: [#&#8203;90936](https://github.com/vercel/next.js/issues/90936) - \[turbopack] Move empty snapshot filtering into take\_snapshot: [#&#8203;90166](https://github.com/vercel/next.js/issues/90166) - docs(turbopack): Merge old turbo-tasks concept mdbook page with crate's top-level rustdoc: [#&#8203;91120](https://github.com/vercel/next.js/issues/91120) - Add RDC action test to deploy manifest and update PR test trigger: [#&#8203;91173](https://github.com/vercel/next.js/issues/91173) - \[Turbopack] Don't attempt to compress key blocks containing small keys: [#&#8203;90881](https://github.com/vercel/next.js/issues/90881) - Lint against `.context(format!(...))`: [#&#8203;91122](https://github.com/vercel/next.js/issues/91122) - fix(turbopack): unref ThreadsafeFunctions to allow Node.js exit after build: [#&#8203;91107](https://github.com/vercel/next.js/issues/91107) - remove worktrees accidentally committed in [#&#8203;90166](https://github.com/vercel/next.js/issues/90166): [#&#8203;91215](https://github.com/vercel/next.js/issues/91215) - Fix syntax contexts in server action transform: [#&#8203;91210](https://github.com/vercel/next.js/issues/91210) - docs(turbopack): Merge the contents of the "cells" page in the mdbook with our rustdocs: [#&#8203;91126](https://github.com/vercel/next.js/issues/91126) - TURBOPACK: typescript transform support verbatimModuleSyntax: [#&#8203;90907](https://github.com/vercel/next.js/issues/90907) - \[ci] Disable test-level retries during flakiness detection: [#&#8203;91261](https://github.com/vercel/next.js/issues/91261) - \[cna] Bump vendored `json-schema-types`: [#&#8203;91255](https://github.com/vercel/next.js/issues/91255) - Remove sequential madvise for compressed blocks in StaticSortedFile: [#&#8203;91263](https://github.com/vercel/next.js/issues/91263) - docs(turbopack): Move mdbook "tasks" docs over to `turbo_tasks::function` rustdoc: [#&#8203;91132](https://github.com/vercel/next.js/issues/91132) - test-new-tests: enable adapter in deploy flow: [#&#8203;91269](https://github.com/vercel/next.js/issues/91269) - Revert "Exclude partial fallback for deploy mode": [#&#8203;91172](https://github.com/vercel/next.js/issues/91172) - \[test] Properly log `framereceived` payload: [#&#8203;91266](https://github.com/vercel/next.js/issues/91266) - docs(turbopack): Merge task input docs from mdbook into rustdocs: [#&#8203;91136](https://github.com/vercel/next.js/issues/91136) - bundle-analyzer: merge \_app route modules into current route visualization: [#&#8203;90841](https://github.com/vercel/next.js/issues/90841) - docs(turbopack): Migrate docs about traits from mdbook to rustdocs: [#&#8203;91170](https://github.com/vercel/next.js/issues/91170) - Remove LMDB backend and ReadTransaction abstractions from turbo-tasks-backend: [#&#8203;91284](https://github.com/vercel/next.js/issues/91284) - docs(turbopack): Move singleton pattern documentation from mdbook to rustdoc: [#&#8203;91175](https://github.com/vercel/next.js/issues/91175) - Turbopack: rename CSS module structs for clarity: [#&#8203;91304](https://github.com/vercel/next.js/issues/91304) - \[test] Deflake `instant-navs-devtools`: [#&#8203;91256](https://github.com/vercel/next.js/issues/91256) - Delete blob files during compaction when entries are superseded: [#&#8203;91314](https://github.com/vercel/next.js/issues/91314) - \[test] Resolve stale merge issues: [#&#8203;91329](https://github.com/vercel/next.js/issues/91329) - Turbopack: Remove the IntoTraitRef trait, make it an inherent method on Vc: [#&#8203;91223](https://github.com/vercel/next.js/issues/91223) - re-enable RDC deployment tests: [#&#8203;91327](https://github.com/vercel/next.js/issues/91327) - Use keyed cells for used\_exports and export\_circuit\_breakers in BindingUsageInfo: [#&#8203;91306](https://github.com/vercel/next.js/issues/91306) - \[test] Show decoded binary WebSocket messages in traces: [#&#8203;91308](https://github.com/vercel/next.js/issues/91308) - Docs skills: guide and api-reference: [#&#8203;90992](https://github.com/vercel/next.js/issues/90992) - Turbopack: switch chunk/asset hashes from hex to base40 encoding: [#&#8203;91137](https://github.com/vercel/next.js/issues/91137) - Turbopack: don't emit polyfill chunk for API routes: [#&#8203;91331](https://github.com/vercel/next.js/issues/91331) - \[test] Current behavior for request APIs in `generateStaticParams`: [#&#8203;91188](https://github.com/vercel/next.js/issues/91188) - Update Rspack production test manifest: [#&#8203;91301](https://github.com/vercel/next.js/issues/91301) - Update Rspack development test manifest: [#&#8203;91300](https://github.com/vercel/next.js/issues/91300) - Turbopack: Remove old macos-compress script: [#&#8203;90967](https://github.com/vercel/next.js/issues/90967) - disable sub shell generation test outside of adapter: [#&#8203;91353](https://github.com/vercel/next.js/issues/91353) - Turboopack: put import attributes behind a pointer, 23% faster analyze: [#&#8203;91347](https://github.com/vercel/next.js/issues/91347) - Turbopack: `require(/* turbopackChunkingType: parallel */`: [#&#8203;91278](https://github.com/vercel/next.js/issues/91278) - Turbopack: use keyed cell access for AsyncModulesInfo: [#&#8203;91305](https://github.com/vercel/next.js/issues/91305) - Enable thin LTO for release builds: [#&#8203;91343](https://github.com/vercel/next.js/issues/91343) - \[turbopack] const-ify most of the registration code: [#&#8203;90868](https://github.com/vercel/next.js/issues/90868) - \[test] Improve actions-tree-shaking tests: [#&#8203;91326](https://github.com/vercel/next.js/issues/91326) - Move database compaction from write batch commit to backend idle loop: [#&#8203;91258](https://github.com/vercel/next.js/issues/91258) - Turbopack: use ChunkGroupEntry::Shared, part 2: [#&#8203;91279](https://github.com/vercel/next.js/issues/91279) - \[test] More `instant-navs-devtools` deflaking: [#&#8203;91345](https://github.com/vercel/next.js/issues/91345) - Turbopack: Enable server HMR by default for app pages: [#&#8203;91476](https://github.com/vercel/next.js/issues/91476) - Allow blocking cross-site dev-only websocket connections from privacy sensitive origins: [#&#8203;91479](https://github.com/vercel/next.js/issues/91479) - Fix DataUriSource description to include "data:" prefix: [#&#8203;91455](https://github.com/vercel/next.js/issues/91455) - Deflake per-page dynamic stale time test: [#&#8203;91492](https://github.com/vercel/next.js/issues/91492) - Improve RSC error messages: [#&#8203;90702](https://github.com/vercel/next.js/issues/90702) - Improve CSS parse error recovery and reporting: [#&#8203;90025](https://github.com/vercel/next.js/issues/90025) - perf(turbopack-node): zero-copy Buffer transfer from node to rust: [#&#8203;91376](https://github.com/vercel/next.js/issues/91376) - docs(turbopack-core): Copy "layers" documentation from mdbook to rustdoc: [#&#8203;91350](https://github.com/vercel/next.js/issues/91350) - Turbopack: correctly apply effects for issue snapshots: [#&#8203;91511](https://github.com/vercel/next.js/issues/91511) - Turbopack: treat unknown CSS selectors as warnings: [#&#8203;91513](https://github.com/vercel/next.js/issues/91513) - docs(turbopack): Migrate chunking docs from mdbook, with proof-reading and minor updates from claude: [#&#8203;91472](https://github.com/vercel/next.js/issues/91472) - Skip catch-error-react-compiler test to unblock CI: [#&#8203;91528](https://github.com/vercel/next.js/issues/91528) - \[turbopack] update qfilter to 0.3.0-alpha: [#&#8203;91467](https://github.com/vercel/next.js/issues/91467) - Unflake two `"use cache"` tests: [#&#8203;91529](https://github.com/vercel/next.js/issues/91529) - docs(turbopack): Remove old `architecture.md` file from turbopack crate: [#&#8203;91473](https://github.com/vercel/next.js/issues/91473) - \[turbopack] Share scratch buffer across shards using thread local: [#&#8203;90167](https://github.com/vercel/next.js/issues/90167) - Turbopack: Use `debug = "line-tables-only"` for dev builds: [#&#8203;91539](https://github.com/vercel/next.js/issues/91539) - Unflake router events deploy test: [#&#8203;91589](https://github.com/vercel/next.js/issues/91589) ##### Credits Huge thanks to [@&#8203;icyJoseph](https://github.com/icyJoseph), [@&#8203;nextjs-bot](https://github.com/nextjs-bot), [@&#8203;sokra](https://github.com/sokra), [@&#8203;Juneezee](https://github.com/Juneezee), [@&#8203;delbaoliveira](https://github.com/delbaoliveira), [@&#8203;wbinnssmith](https://github.com/wbinnssmith), [@&#8203;ztanner](https://github.com/ztanner), [@&#8203;lukesandberg](https://github.com/lukesandberg), [@&#8203;bgw](https://github.com/bgw), [@&#8203;naveenkarmegam](https://github.com/naveenkarmegam), [@&#8203;Marukome0743](https://github.com/Marukome0743), [@&#8203;pji2918](https://github.com/pji2918), [@&#8203;nathannewyen](https://github.com/nathannewyen), [@&#8203;eps1lon](https://github.com/eps1lon), [@&#8203;ijjk](https://github.com/ijjk), [@&#8203;feedthejim](https://github.com/feedthejim), [@&#8203;vercel-release-bot](https://github.com/vercel-release-bot), [@&#8203;xusd320](https://github.com/xusd320), [@&#8203;huozhi](https://github.com/huozhi), [@&#8203;mischnic](https://github.com/mischnic), [@&#8203;wyattjoh](https://github.com/wyattjoh), [@&#8203;styfle](https://github.com/styfle), [@&#8203;timneutkens](https://github.com/timneutkens), [@&#8203;unstubbable](https://github.com/unstubbable), [@&#8203;lubieowoce](https://github.com/lubieowoce), [@&#8203;gnoff](https://github.com/gnoff), [@&#8203;acdlite](https://github.com/acdlite), [@&#8203;Rani367](https://github.com/Rani367), [@&#8203;andrewimm](https://github.com/andrewimm), [@&#8203;brookemosby](https://github.com/brookemosby), [@&#8203;karlhorky](https://github.com/karlhorky), [@&#8203;kdy1](https://github.com/kdy1), [@&#8203;mmastrac](https://github.com/mmastrac), [@&#8203;naaa760](https://github.com/naaa760), [@&#8203;jgeschwendt](https://github.com/jgeschwendt), [@&#8203;williambout](https://github.com/williambout), [@&#8203;SimeonGriggs](https://github.com/SimeonGriggs), [@&#8203;gaojude](https://github.com/gaojude), [@&#8203;hanzala-sohrab](https://github.com/hanzala-sohrab), [@&#8203;dango0812](https://github.com/dango0812), [@&#8203;msmx-mnakagawa](https://github.com/msmx-mnakagawa), [@&#8203;davidgolden](https://github.com/davidgolden), [@&#8203;LucianBuzzo](https://github.com/LucianBuzzo), [@&#8203;devjiwonchoi](https://github.com/devjiwonchoi), [@&#8203;alexcarpenter](https://github.com/alexcarpenter), [@&#8203;jaffarkeikei](https://github.com/jaffarkeikei), [@&#8203;BradErz](https://github.com/BradErz), [@&#8203;mintydev789](https://github.com/mintydev789), [@&#8203;Suhaib3100](https://github.com/Suhaib3100), [@&#8203;pavan-sh](https://github.com/pavan-sh), [@&#8203;amannn](https://github.com/amannn), [@&#8203;fireairforce](https://github.com/fireairforce), [@&#8203;JamBalaya56562](https://github.com/JamBalaya56562), [@&#8203;wheresrhys](https://github.com/wheresrhys), [@&#8203;ericrav](https://github.com/ericrav), [@&#8203;Thomas465xd](https://github.com/Thomas465xd), [@&#8203;bgub](https://github.com/bgub), [@&#8203;Netail](https://github.com/Netail), [@&#8203;robert-j-webb](https://github.com/robert-j-webb), [@&#8203;bencmbrook](https://github.com/bencmbrook), [@&#8203;shadcn](https://github.com/shadcn), [@&#8203;sigmachirality](https://github.com/sigmachirality), [@&#8203;abhishekmardiya](https://github.com/abhishekmardiya), [@&#8203;vvscode](https://github.com/vvscode), [@&#8203;freek-boon-greenberry](https://github.com/freek-boon-greenberry), [@&#8203;alubbe](https://github.com/alubbe), [@&#8203;FurryR](https://github.com/FurryR), [@&#8203;01-binary](https://github.com/01-binary), [@&#8203;andrewdamelio](https://github.com/andrewdamelio), [@&#8203;swarnava](https://github.com/swarnava), [@&#8203;kristiyan-velkov](https://github.com/kristiyan-velkov), [@&#8203;haydenbleasel](https://github.com/haydenbleasel), [@&#8203;rishishanbhag](https://github.com/rishishanbhag), [@&#8203;tdarthur](https://github.com/tdarthur), [@&#8203;lavanitha](https://github.com/lavanitha), [@&#8203;agneliutkiene](https://github.com/agneliutkiene), [@&#8203;Mimori256](https://github.com/Mimori256), [@&#8203;pieh](https://github.com/pieh), [@&#8203;sleitor](https://github.com/sleitor), [@&#8203;jantimon](https://github.com/jantimon), [@&#8203;clicktodev](https://github.com/clicktodev), [@&#8203;mitul-s](https://github.com/mitul-s), [@&#8203;aurorascharff](https://github.com/aurorascharff), [@&#8203;shuding](https://github.com/shuding), [@&#8203;jonasherr](https://github.com/jonasherr), [@&#8203;thdxg](https://github.com/thdxg), [@&#8203;kowyo](https://github.com/kowyo), [@&#8203;samselikoff](https://github.com/samselikoff), [@&#8203;dependabot](https://github.com/dependabot), [@&#8203;benfavre](https://github.com/benfavre), [@&#8203;zamadye](https://github.com/zamadye), [@&#8203;cursor](https://github.com/cursor), and [@&#8203;richardjzhang](https://github.com/richardjzhang) for helping! ### [`v16.1.7`](https://github.com/vercel/next.js/releases/tag/v16.1.7) [Compare Source](https://github.com/vercel/next.js/compare/v16.1.6...v16.1.7) > \[!NOTE] > This release is backporting bug fixes. It does **not** include all pending features/changes on canary. ##### Core Changes - \[Cache Components] Prevent streaming fetch calls from hanging in dev ([#&#8203;89194](https://github.com/vercel/next.js/issues/89194)) - Apply server actions transform to node\_modules in route handlers ([#&#8203;89380](https://github.com/vercel/next.js/issues/89380)) - ensure `maxPostponedStateSize` is always respected (See: [CVE-2026-27979](https://github.com/vercel/next.js/security/advisories/GHSA-h27x-g6w4-24gq)) - feat(next/image): add lru disk cache and `images.maximumDiskCacheSize` (See: [CVE-2026-27980](https://github.com/vercel/next.js/security/advisories/GHSA-3x4c-7xq6-9pq8)) - Allow blocking cross-site dev-only websocket connections from privacy-sensitive origins (See: [CVE-2026-27977](https://github.com/vercel/next.js/security/advisories/GHSA-jcc7-9wpm-mj36)) - Disallow Server Action submissions from privacy-sensitive contexts by default (See: [CVE-2026-27978](https://github.com/vercel/next.js/security/advisories/GHSA-mq59-m269-xvcx)) - fix: patch http-proxy to prevent request smuggling in rewrites (See: [CVE-2026-29057](https://github.com/vercel/next.js/security/advisories/GHSA-ggv3-7p47-pfv8)) ##### Credits Huge thanks to [@&#8203;unstubbable](https://github.com/unstubbable), [@&#8203;styfle](https://github.com/styfle), [@&#8203;eps1lon](https://github.com/eps1lon), and [@&#8203;ztanner](https://github.com/ztanner) for helping! </details> <details> <summary>jsdom/jsdom (jsdom)</summary> ### [`v28.1.0`](https://github.com/jsdom/jsdom/releases/tag/v28.1.0) [Compare Source](https://github.com/jsdom/jsdom/compare/v28.0.0...v28.1.0) - Added `blob.text()`, `blob.arrayBuffer()`, and `blob.bytes()` methods. - Improved `getComputedStyle()` to account for CSS specificity when multiple rules apply. ([@&#8203;asamuzaK](https://github.com/asamuzaK)) - Improved synchronous `XMLHttpRequest` performance by using a persistent worker thread, avoiding \~400ms of setup overhead on every synchronous request after the first one. - Improved performance of `node.getRootNode()`, `node.isConnected`, and `event.dispatchEvent()` by caching the root node of document-connected trees. - Fixed `getComputedStyle()` to correctly handle `!important` priority. ([@&#8203;asamuzaK](https://github.com/asamuzaK)) - Fixed `document.getElementById()` to return the first element in tree order when multiple elements share the same ID. - Fixed `<svg>` elements to no longer incorrectly proxy event handlers to the `Window`. - Fixed `FileReader` event timing and `fileReader.result` state to more closely follow the spec. - Fixed a potential hang when synchronous `XMLHttpRequest` encountered dispatch errors. - Fixed compatibility with environments where Node.js's built-in `fetch()` has been used before importing jsdom, by working around undici v6/v7 incompatibilities. </details> <details> <summary>nodejs/node (node)</summary> ### [`v25.8.2`](https://github.com/nodejs/node/releases/tag/v25.8.2): 2026-03-24, Version 25.8.2 (Current), @&#8203;RafaelGSS [Compare Source](https://github.com/nodejs/node/compare/v25.5.0...v25.8.2) This is a security release. ##### Notable Changes - (CVE-2026-21637) wrap `SNICallback` invocation in `try`/`catch` (Matteo Collina) - High - (CVE-2026-21710) use null prototype for `headersDistinct`/`trailersDistinct` (Matteo Collina) - High - (CVE-2026-21711) include permission check to `pipe_wrap.cc` (RafaelGSS) - Medium - (CVE-2026-21712) handle url crash on different url formats (RafaelGSS) - Medium - (CVE-2026-21713) use timing-safe comparison in Web Cryptography HMAC and KMAC (Filip Skokan) - Medium - (CVE-2026-21714) handle `NGHTTP2_ERR_FLOW_CONTROL` error code (RafaelGSS) - Medium - (CVE-2026-21717) test array index hash collision (Joyee Cheung) - Medium - (CVE-2026-21715) add permission check to `realpath.native` (RafaelGSS) - Low - (CVE-2026-21716) include permission check on `lib/fs/promises` (RafaelGSS) - Low ##### Commits - \[[`2086b7477b`](https://github.com/nodejs/node/commit/2086b7477b)] - **(CVE-2026-21717)** **build,test**: test array index hash collision (Joyee Cheung) [nodejs-private/node-private#834](https://github.com/nodejs-private/node-private/pull/834) - \[[`0f9332a40a`](https://github.com/nodejs/node/commit/0f9332a40a)] - **(CVE-2026-21713)** **crypto**: use timing-safe comparison in Web Cryptography HMAC and KMAC (Filip Skokan) [nodejs-private/node-private#822](https://github.com/nodejs-private/node-private/pull/822) - \[[`2b6937ddb2`](https://github.com/nodejs/node/commit/2b6937ddb2)] - **deps**: update undici to 7.24.4 (Node.js GitHub Bot) [#&#8203;62271](https://github.com/nodejs/node/pull/62271) - \[[`bfb8ad5787`](https://github.com/nodejs/node/commit/bfb8ad5787)] - **deps**: update undici to 7.24.3 (Node.js GitHub Bot) [#&#8203;62233](https://github.com/nodejs/node/pull/62233) - \[[`be6384727f`](https://github.com/nodejs/node/commit/be6384727f)] - **deps**: upgrade npm to 11.11.1 (npm team) [#&#8203;62216](https://github.com/nodejs/node/pull/62216) - \[[`2feea5bb97`](https://github.com/nodejs/node/commit/2feea5bb97)] - **deps**: V8: override `depot_tools` version (Richard Lau) [#&#8203;62344](https://github.com/nodejs/node/pull/62344) - \[[`86c04784dd`](https://github.com/nodejs/node/commit/86c04784dd)] - **(CVE-2026-21710)** **http**: use null prototype for headersDistinct/trailersDistinct (Matteo Collina) [nodejs-private/node-private#821](https://github.com/nodejs-private/node-private/pull/821) - \[[`5197a56a34`](https://github.com/nodejs/node/commit/5197a56a34)] - **(CVE-2026-21711)** **permission**: include permission check to pipe\_wrap.cc (RafaelGSS) [nodejs-private/node-private#820](https://github.com/nodejs-private/node-private/pull/820) - \[[`04a886c735`](https://github.com/nodejs/node/commit/04a886c735)] - **(CVE-2026-21716)** **permission**: include permission check on lib/fs/promises (RafaelGSS) [nodejs-private/node-private#795](https://github.com/nodejs-private/node-private/pull/795) - \[[`9a7f80f2b0`](https://github.com/nodejs/node/commit/9a7f80f2b0)] - **(CVE-2026-21715)** **permission**: add permission check to realpath.native (RafaelGSS) [nodejs-private/node-private#794](https://github.com/nodejs-private/node-private/pull/794) - \[[`d9c9b628cf`](https://github.com/nodejs/node/commit/d9c9b628cf)] - **(CVE-2026-21714)** **src**: handle NGHTTP2\_ERR\_FLOW\_CONTROL error code (RafaelGSS) [nodejs-private/node-private#832](https://github.com/nodejs-private/node-private/pull/832) - \[[`45b55dc786`](https://github.com/nodejs/node/commit/45b55dc786)] - **(CVE-2026-21712)** **src**: handle url crash on different url formats (RafaelGSS) [nodejs-private/node-private#816](https://github.com/nodejs-private/node-private/pull/816) - \[[`4bfda307c0`](https://github.com/nodejs/node/commit/4bfda307c0)] - **(CVE-2026-21637)** **tls**: wrap SNICallback invocation in try/catch (Matteo Collina) [nodejs-private/node-private#819](https://github.com/nodejs-private/node-private/pull/819) </details> <details> <summary>pnpm/pnpm (pnpm)</summary> ### [`v10.33.0`](https://github.com/pnpm/pnpm/releases/tag/v10.33.0): pnpm 10.33 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.32.1...v10.33.0) #### Minor Changes - Added a new `dedupePeers` setting that reduces peer dependency duplication. When enabled, peer dependency suffixes use version-only identifiers (`name@version`) instead of full dep paths, eliminating nested suffixes like `(foo@1.0.0(bar@2.0.0))`. This dramatically reduces the number of package instances in projects with many recursive peer dependencies [#&#8203;11070](https://github.com/pnpm/pnpm/issues/11070). #### Patch Changes - Fail on incompatible lockfiles in CI when frozen lockfile mode is enabled, while preserving non-frozen CI fallback behavior. - When package metadata is malformed or can't be fetched, the error thrown will now show the originating error. - Fixed intermittent failures when multiple `pnpm dlx` calls run concurrently for the same package. When the global virtual store is enabled, the importer now verifies file content before skipping a rename, avoiding destructive swap-renames that break concurrent processes. Also tolerates EPERM during bin creation on Windows and properly propagates `enableGlobalVirtualStore` through the install pipeline. - Fixed handling of non-string version selectors in `hoistPeers`, preventing invalid peer dependency specifiers. - Improve the non-interactive modules purge error hint to include the `confirmModulesPurge=false` workaround. When pnpm needs to recreate `node_modules` but no TTY is available, the error now suggests either setting `CI=true` or disabling the purge confirmation prompt via `confirmModulesPurge=false`. Adds a regression test for the non-TTY flow. - Fixed false "Command not found" errors on Windows when a command exists in PATH but exits with a non-zero code. Also fixed path resolution for `--filter` contexts where the command runs in a different package directory. - When a pnpm-lock.yaml contains two documents, ignore the first one. pnpm v11 will write two lockfile documents into pnpm-lock.yaml in order to store pnpm version integrities and config dependency resolutions. - Fixed a bug preventing the `clearCache` function returned by `createNpmResolver` from properly clearing metadata cache. <!-- sponsors --> #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> <!-- sponsors end --> ### [`v10.32.1`](https://github.com/pnpm/pnpm/releases/tag/v10.32.1): pnpm 10.32.1 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.32.0...v10.32.1) #### Patch Changes - Fix a regression where `pnpm-workspace.yaml` without a `packages` field caused all directories to be treated as workspace projects. This broke projects that use `pnpm-workspace.yaml` only for settings (e.g. `minimumReleaseAge`) without defining workspace packages [#&#8203;10909](https://github.com/pnpm/pnpm/issues/10909). <!-- sponsors --> #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> <!-- sponsors end --> ### [`v10.32.0`](https://github.com/pnpm/pnpm/releases/tag/v10.32.0): pnpm 10.32 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.31.0...v10.32.0) #### Minor Changes - Added `--all` flag to `pnpm approve-builds` that approves all pending builds without interactive prompts [#&#8203;10136](https://github.com/pnpm/pnpm/issues/10136). #### Patch Changes - Reverted change related to setting explicitly the npm config file path, which caused regressions. - Reverted fix related to `lockfile-include-tarball-url`. Fixes [#&#8203;10915](https://github.com/pnpm/pnpm/issues/10915). <!-- sponsors --> #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> <!-- sponsors end --> ### [`v10.31.0`](https://github.com/pnpm/pnpm/releases/tag/v10.31.0): pnpm 10.31 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.30.3...v10.31.0) #### Minor Changes - When pnpm updates the `pnpm-workspace.yaml`, comments, string formatting, and whitespace will be preserved. #### Patch Changes - Added `-F` as a short alias for the `--filter` option in the help output. - Handle undefined pkgSnapshot in `pnpm why -r` [#&#8203;10700](https://github.com/pnpm/pnpm/issues/10700). - Fix headless install not being used when a project has an injected self-referencing `file:` dependency that resolves to `link:` in the lockfile. - Fixed a race condition when multiple worker threads import the same package to the global virtual store concurrently. The rename operation now tolerates `ENOTEMPTY`/`EEXIST` errors if another thread already completed the import. - When `lockfile-include-tarball-url` is set to `false`, tarball URLs are now always excluded from the lockfile. Previously, tarball URLs could still appear for packages hosted under non-standard URLs, making the behavior flaky and inconsistent [#&#8203;6667](https://github.com/pnpm/pnpm/issues/6667). - Fixed `optimisticRepeatInstall` skipping install when `overrides`, `packageExtensions`, `ignoredOptionalDependencies`, `patchedDependencies`, or `peersSuffixMaxLength` changed. - Fixed `pnpm patch-commit` failing with "unable to access '/.config/git/attributes': Permission denied" error in environments where HOME is unset or non-standard (Docker containers, CI systems). The issue occurred because pnpm was setting `HOME` and the Windows user profile env var to empty strings to suppress user git configuration when running `git diff`. This caused git to resolve the home directory (`~`) as root (`/`), leading to permission errors when attempting to access `/.config/git/attributes`. Now uses `GIT_CONFIG_GLOBAL: os.devNull` instead, which is git's proper mechanism for bypassing user-level configuration without corrupting the home directory path resolution. Fixes [#&#8203;6537](https://github.com/pnpm/pnpm/issues/6537) - Fix `pnpm why -r --parseable` missing dependents when multiple workspace packages share the same dependency [#&#8203;8100](https://github.com/pnpm/pnpm/issues/8100). - Fix `link-workspace-packages=true` incorrectly linking workspace packages when the requested version doesn't match the workspace package's version. Previously, on fresh installs the version constraint is overridden to `*` in the fallback resolution paths, causing any workspace package with a matching name to be linked regardless of version [#&#8203;10173](https://github.com/pnpm/pnpm/issues/10173). - Fixed `pnpm update --interactive` table breaking with long version strings (e.g., prerelease versions like `7.0.0-dev.20251209.1`) by dynamically calculating column widths instead of using hardcoded values [#&#8203;10316](https://github.com/pnpm/pnpm/issues/10316). - Explicitly tell `npm` the path to the global `rc` config file. - The parameter set by the `--allow-build` flag is written to `allowBuilds`. - Fix a bug in which specifying `filter` on `pnpm-workspace.yaml` would cause pnpm to not detect any projects. - Print help message on running pnpm dlx without arguments and exit. <!-- sponsors --> #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.cloud/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"></a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> <!-- sponsors end --> ### [`v10.30.3`](https://github.com/pnpm/pnpm/releases/tag/v10.30.3): pnpm 10.30.3 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.30.2...v10.30.3) #### Patch Changes - Fixed version switching via `packageManager` field failing when pnpm is installed as a standalone executable in environments without a system Node.js [#&#8203;10687](https://github.com/pnpm/pnpm/issues/10687). #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> ### [`v10.30.2`](https://github.com/pnpm/pnpm/releases/tag/v10.30.2): pnpm 10.30.2 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.30.1...v10.30.2) #### Patch Changes - Fix auto-installed peer dependencies ignoring overrides when a stale version exists in the lockfile. - Fixed "input line too long" error on Windows when running lifecycle scripts with the global virtual store enabled [#&#8203;10673](https://github.com/pnpm/pnpm/pull/10673). - Update [@&#8203;zkochan/js-yaml](https://github.com/zkochan/js-yaml) to fix moderate vulnerability. #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> ### [`v10.30.1`](https://github.com/pnpm/pnpm/releases/tag/v10.30.1): pnpm 10.30.1 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.30.0...v10.30.1) #### Patch Changes - Use the `/-/npm/v1/security/audits/quick` endpoint as the primary audit endpoint, falling back to `/-/npm/v1/security/audits` when it fails [#&#8203;10649](https://github.com/pnpm/pnpm/issues/10649). #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> ### [`v10.30.0`](https://github.com/pnpm/pnpm/releases/tag/v10.30.0): pnpm 10.30 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.29.3...v10.30.0) #### Minor Changes - `pnpm why` now shows a reverse dependency tree. The searched package appears at the root with its dependents as branches, walking back to workspace roots. This replaces the previous forward-tree output which was noisy and hard to read for deeply nested dependencies. #### Patch Changes - Revert `pnpm why` dependency pruning to prefer correctness over memory consumption. Reverted PR: [#&#8203;7122](https://github.com/pnpm/pnpm/pull/7122). - Optimize `pnpm why` and `pnpm list` performance in workspaces with many importers by sharing the dependency graph and materialization cache across all importers instead of rebuilding them independently for each one [#&#8203;10596](https://github.com/pnpm/pnpm/pull/10596/changes). #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> ### [`v10.29.3`](https://github.com/pnpm/pnpm/releases/tag/v10.29.3): pnpm 10.29.3 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.29.2...v10.29.3) ##### Patch Changes - Fixed an out-of-memory error in `pnpm list` (and `pnpm why`) on large dependency graphs by replacing the recursive tree builder with a two-phase approach: a BFS dependency graph followed by cached tree materialization. Duplicate subtrees are now deduplicated in the output, shown as "deduped (N deps hidden)" [#&#8203;10586](https://github.com/pnpm/pnpm/pull/10586). - Fixed `allowBuilds` not working when set via `.pnpmfile.cjs` [#&#8203;10516](https://github.com/pnpm/pnpm/issues/10516). - When the [`enableGlobalVirtualStore`](https://pnpm.io/settings#enableglobalvirtualstore) option is set, the `pnpm deploy` command would incorrectly create symlinks to the global virtual store. To keep the deploy directory self-contained, `pnpm deploy` now ignores this setting and always creates a localized virtual store within the deploy directory. - Fixed `minimumReleaseAgeExclude` not being respected by `pnpm dlx` [#&#8203;10338](https://github.com/pnpm/pnpm/issues/10338). #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://sanity.io/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/sanity.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/sanity_light.svg" /> <img src="https://pnpm.io/img/users/sanity.svg" width="120" alt="Sanity" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://serpapi.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/serpapi_dark.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/serpapi_light.svg" /> <img src="https://pnpm.io/img/users/serpapi_dark.svg" width="160" alt="SerpApi" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://nx.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/nx.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/nx_light.svg" /> <img src="https://pnpm.io/img/users/nx.svg" width="50" alt="Nx" /> </picture> </a> </td> </tr> </tbody> </table> ### [`v10.29.2`](https://github.com/pnpm/pnpm/releases/tag/v10.29.2): pnpm 10.29.2 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.29.1...v10.29.2) #### Patch Changes - Reverted a fix shipped in v10.29.1, which caused another issue [#&#8203;10571](https://github.com/pnpm/pnpm/issues/10571). Reverted fix: Fixed pnpm run -r failing with "No projects matched the filters" when an empty pnpm-workspace.yaml exists [#&#8203;10497](https://github.com/pnpm/pnpm/issues/10497). #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"> </a> </td> </tr> </tbody> </table> ### [`v10.29.1`](https://github.com/pnpm/pnpm/releases/tag/v10.29.1): pnpm 10.29.1 [Compare Source](https://github.com/pnpm/pnpm/compare/v10.28.2...v10.29.1) #### Minor Changes - The `pnpm dlx` / `pnpx` command now supports the `catalog:` protocol. Example: `pnpm dlx shx@catalog:`. - Support configuring `auditLevel` in the `pnpm-workspace.yaml` file [#&#8203;10540](https://github.com/pnpm/pnpm/issues/10540). - Support bare `workspace:` protocol without version specifier. It is now treated as `workspace:*` and resolves to the concrete version during publish [#&#8203;10436](https://github.com/pnpm/pnpm/pull/10436). #### Patch Changes - Fixed `pnpm list --json` returning incorrect paths when using global virtual store [#&#8203;10187](https://github.com/pnpm/pnpm/issues/10187). - Fix `pnpm store path` and `pnpm store status` using workspace root for path resolution when `storeDir` is relative [#&#8203;10290](https://github.com/pnpm/pnpm/issues/10290). - Fixed `pnpm run -r` failing with "No projects matched the filters" when an empty `pnpm-workspace.yaml` exists [#&#8203;10497](https://github.com/pnpm/pnpm/issues/10497). - Fixed a bug where `catalogMode: strict` would write the literal string `"catalog:"` to `pnpm-workspace.yaml` instead of the resolved version specifier when re-adding an existing catalog dependency [#&#8203;10176](https://github.com/pnpm/pnpm/issues/10176). - Fixed the documentation URL shown in `pnpm completion --help` to point to the correct page at <https://pnpm.io/completion> [#&#8203;10281](https://github.com/pnpm/pnpm/issues/10281). - Skip local `file:` protocol dependencies during `pnpm fetch`. This fixes an issue where `pnpm fetch` would fail in Docker builds when local directory dependencies were not available [#&#8203;10460](https://github.com/pnpm/pnpm/issues/10460). - Fixed `pnpm audit --json` to respect the `--audit-level` setting for both exit code and output filtering [#&#8203;10540](https://github.com/pnpm/pnpm/issues/10540). - update tar to version 7.5.7 to fix security issue Updating the version of dependency tar to 7.5.7 because the previous one have a security vulnerability reported here: <a href="https://github.com/advisories/GHSA-34x7-hfp2-rc4v">CVE-2026-24842</a> - Fix `pnpm audit --fix` replacing reference overrides (e.g. `$foo`) with concrete versions [#&#8203;10325](https://github.com/pnpm/pnpm/issues/10325). - Fix `shamefullyHoist` set via `updateConfig` in `.pnpmfile.cjs` not being converted to `publicHoistPattern` [#&#8203;10271](https://github.com/pnpm/pnpm/issues/10271). - `pnpm help` should correctly report if the currently running pnpm CLI is bundled with Node.js [#&#8203;10561](https://github.com/pnpm/pnpm/issues/10561). - Add a warning when the current directory contains the PATH delimiter character. On macOS, folder names containing forward slashes (/) appear as colons (:) at the Unix layer. Since colons are PATH separators in POSIX systems, this breaks PATH injection for `node_modules/.bin`, causing binaries to not be found when running commands like `pnpm exec` [#&#8203;10457](https://github.com/pnpm/pnpm/issues/10457). #### Platinum Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://bit.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"><img src="https://pnpm.io/img/users/bit.svg" width="80" alt="Bit"></a> </td> </tr> </tbody> </table> #### Gold Sponsors <table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://discord.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/discord.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/discord_light.svg" /> <img src="https://pnpm.io/img/users/discord.svg" width="220" alt="Discord" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://coderabbit.ai/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/coderabbit.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/coderabbit_light.svg" /> <img src="https://pnpm.io/img/users/coderabbit.svg" width="220" alt="CodeRabbit" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://workleap.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/workleap.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/workleap_light.svg" /> <img src="https://pnpm.io/img/users/workleap.svg" width="190" alt="Workleap" /> </picture> </a> </td> </tr> <tr> <td align="center" valign="middle"> <a href="https://stackblitz.com/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://pnpm.io/img/users/stackblitz.svg" /> <source media="(prefers-color-scheme: dark)" srcset="https://pnpm.io/img/users/stackblitz_light.svg" /> <img src="https://pnpm.io/img/users/stackblitz.svg" width="190" alt="Stackblitz" /> </picture> </a> </td> <td align="center" valign="middle"> <a href="https://vite.dev/?utm_source=pnpm&utm_medium=release_notes" target="_blank"> <img src="https://pnpm.io/img/users/vitejs.svg" width="42" alt="Vite"> </a> </td> </tr> </tbody> </table> </details> <details> <summary>postcss/postcss (postcss)</summary> ### [`v8.5.8`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#858) [Compare Source](https://github.com/postcss/postcss/compare/8.5.7...8.5.8) - Fixed `Processor#version`. ### [`v8.5.7`](https://github.com/postcss/postcss/blob/HEAD/CHANGELOG.md#857) [Compare Source](https://github.com/postcss/postcss/compare/8.5.6...8.5.7) - Improved source map annotation cleaning performance (by CodeAnt AI). </details> <details> <summary>vitest-dev/vitest (vitest)</summary> ### [`v4.1.2`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.2) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.1...v4.1.2) This release bumps Vitest's `flatted` version and removes version pinning to resolve `flatted`'s CVE related issues ([#&#8203;9975](https://github.com/vitest-dev/vitest/issues/9975)). #####    🐞 Bug Fixes - Don't resolve `setupFiles` from parent directory  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9960](https://github.com/vitest-dev/vitest/issues/9960) [<samp>(7aa93)</samp>](https://github.com/vitest-dev/vitest/commit/7aa937776) - Ensure sequential mock/unmock resolution  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9830](https://github.com/vitest-dev/vitest/issues/9830) [<samp>(7c065)</samp>](https://github.com/vitest-dev/vitest/commit/7c06598db) - **browser**: Take failure screenshot if `toMatchScreenshot` can't capture a stable screenshot  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9847](https://github.com/vitest-dev/vitest/issues/9847) [<samp>(faace)</samp>](https://github.com/vitest-dev/vitest/commit/faace1fbe) - **coverage**: Correct `coverageConfigDefaults` values and types  -  by [@&#8203;Arthie](https://github.com/Arthie) in [#&#8203;9940](https://github.com/vitest-dev/vitest/issues/9940) [<samp>(b3c99)</samp>](https://github.com/vitest-dev/vitest/commit/b3c992cb2) - **pretty-format**: Fix output limit over counting  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9965](https://github.com/vitest-dev/vitest/issues/9965) [<samp>(d3b7a)</samp>](https://github.com/vitest-dev/vitest/commit/d3b7a40fa) - Disable colors if agent is detected  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9851](https://github.com/vitest-dev/vitest/issues/9851) [<samp>(6f97b)</samp>](https://github.com/vitest-dev/vitest/commit/6f97b55dd) #####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.1...v4.1.2) ### [`v4.1.1`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.1) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.1.0...v4.1.1) #####    🚀 Features - **experimental**: - Expose `matchesTags` to test if the current filter matches tags  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9913](https://github.com/vitest-dev/vitest/issues/9913) [<samp>(eec53)</samp>](https://github.com/vitest-dev/vitest/commit/eec53d9f5) - Introduce `experimental.vcsProvider`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9928](https://github.com/vitest-dev/vitest/issues/9928) [<samp>(56115)</samp>](https://github.com/vitest-dev/vitest/commit/561150036) #####    🐞 Bug Fixes - Mark `TestProject.testFilesList` internal properly  -  by [@&#8203;sapphi-red](https://github.com/sapphi-red) in [#&#8203;9867](https://github.com/vitest-dev/vitest/issues/9867) [<samp>(54f26)</samp>](https://github.com/vitest-dev/vitest/commit/54f2660f5) - Detect fixture that returns without calling `use`  -  by [@&#8203;oilater](https://github.com/oilater) in [#&#8203;9831](https://github.com/vitest-dev/vitest/issues/9831) and [#&#8203;9861](https://github.com/vitest-dev/vitest/issues/9861) [<samp>(633ae)</samp>](https://github.com/vitest-dev/vitest/commit/633ae2303) - Drop vite 8.beta support  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9862](https://github.com/vitest-dev/vitest/issues/9862) [<samp>(b78f5)</samp>](https://github.com/vitest-dev/vitest/commit/b78f5389d) - Type regression in vi.mocked() static class methods  -  by [@&#8203;purepear](https://github.com/purepear) and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9857](https://github.com/vitest-dev/vitest/issues/9857) [<samp>(90926)</samp>](https://github.com/vitest-dev/vitest/commit/90926641b) - Properly re-evaluate actual modules of mocked external  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9898](https://github.com/vitest-dev/vitest/issues/9898) [<samp>(ae5ec)</samp>](https://github.com/vitest-dev/vitest/commit/ae5ec03ef) - Preserve coverage report when html reporter overlaps  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9889](https://github.com/vitest-dev/vitest/issues/9889) [<samp>(2d81a)</samp>](https://github.com/vitest-dev/vitest/commit/2d81ad897) - Provide `vi.advanceTimers` to the preview provider  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9891](https://github.com/vitest-dev/vitest/issues/9891) [<samp>(1bc3e)</samp>](https://github.com/vitest-dev/vitest/commit/1bc3e63be) - Don't leak event listener in playwright provider  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9910](https://github.com/vitest-dev/vitest/issues/9910) [<samp>(d9355)</samp>](https://github.com/vitest-dev/vitest/commit/d93550ff7) - Open browser in `--standalone` mode without running tests  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9911](https://github.com/vitest-dev/vitest/issues/9911) [<samp>(e78ad)</samp>](https://github.com/vitest-dev/vitest/commit/e78adcf97) - Guard disposable and optional `body`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9912](https://github.com/vitest-dev/vitest/issues/9912) [<samp>(6fdb2)</samp>](https://github.com/vitest-dev/vitest/commit/6fdb2ba61) - Resolve `retry.condition` RegExp serialization issue  -  by [@&#8203;nstepien](https://github.com/nstepien) and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9942](https://github.com/vitest-dev/vitest/issues/9942) [<samp>(7b605)</samp>](https://github.com/vitest-dev/vitest/commit/7b6054328) - **collect**: - Don't treat extra props on `test` return as tests  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9871](https://github.com/vitest-dev/vitest/issues/9871) [<samp>(141e7)</samp>](https://github.com/vitest-dev/vitest/commit/141e72aa1) - **coverage**: - Simplify provider types  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9931](https://github.com/vitest-dev/vitest/issues/9931) [<samp>(aaf9f)</samp>](https://github.com/vitest-dev/vitest/commit/aaf9f18ae) - Load built-in provider without module runner  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9939](https://github.com/vitest-dev/vitest/issues/9939) [<samp>(bf892)</samp>](https://github.com/vitest-dev/vitest/commit/bf8920817) - **expect**: - Soft assertions continue after .resolves/.rejects promise errors  -  by [@&#8203;mixelburg](https://github.com/mixelburg), **Maks Pikov**, **Claude Opus 4.6 (1M context)** and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9843](https://github.com/vitest-dev/vitest/issues/9843) [<samp>(6d74b)</samp>](https://github.com/vitest-dev/vitest/commit/6d74b4948) - Fix sinon-chai style API  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9943](https://github.com/vitest-dev/vitest/issues/9943) [<samp>(0f08d)</samp>](https://github.com/vitest-dev/vitest/commit/0f08dda2c) - **pretty-format**: - Limit output for large object  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6 (1M context)** in [#&#8203;9949](https://github.com/vitest-dev/vitest/issues/9949) [<samp>(0d5f9)</samp>](https://github.com/vitest-dev/vitest/commit/0d5f9d6ef) #####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.1.0...v4.1.1) ### [`v4.1.0`](https://github.com/vitest-dev/vitest/releases/tag/v4.1.0) [Compare Source](https://github.com/vitest-dev/vitest/compare/v4.0.18...v4.1.0) Vitest 4.1 is out! This release page lists all changes made to the project during the 4.1 beta. To get a review of all the new features, read our [blog post](https://vitest.dev/blog/vitest-4-1). #####    🚀 Features - Return a disposable from doMock()  -  by [@&#8203;kirkwaiblinger](https://github.com/kirkwaiblinger) in [#&#8203;9332](https://github.com/vitest-dev/vitest/issues/9332) [<samp>(e3e65)</samp>](https://github.com/vitest-dev/vitest/commit/e3e659a96) - Added chai style assertions  -  by [@&#8203;ronnakamoto](https://github.com/ronnakamoto) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8842](https://github.com/vitest-dev/vitest/issues/8842) [<samp>(841df)</samp>](https://github.com/vitest-dev/vitest/commit/841df9ac5) - Update to sinon/fake-timers v15 and add `setTickMode` to timer controls  -  by [@&#8203;atscott](https://github.com/atscott) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8726](https://github.com/vitest-dev/vitest/issues/8726) [<samp>(4b480)</samp>](https://github.com/vitest-dev/vitest/commit/4b480aaed) - Expose matcher types  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9448](https://github.com/vitest-dev/vitest/issues/9448) [<samp>(3e4b9)</samp>](https://github.com/vitest-dev/vitest/commit/3e4b913b1) - Add `toTestSpecification` to reported tasks  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9464](https://github.com/vitest-dev/vitest/issues/9464) [<samp>(1a470)</samp>](https://github.com/vitest-dev/vitest/commit/1a4705da9) - Show a warning if `vi.mock` or `vi.hoisted` are declared outside of top level of the module  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9387](https://github.com/vitest-dev/vitest/issues/9387) [<samp>(5db54)</samp>](https://github.com/vitest-dev/vitest/commit/5db54a468) - Track and display expectedly failed tests (.fails) in UI and CLI  -  by [@&#8203;Copilot](https://github.com/Copilot), **sheremet-va** and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9476](https://github.com/vitest-dev/vitest/issues/9476) [<samp>(77d75)</samp>](https://github.com/vitest-dev/vitest/commit/77d75fd34) - Support tags  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9478](https://github.com/vitest-dev/vitest/issues/9478) [<samp>(de7c8)</samp>](https://github.com/vitest-dev/vitest/commit/de7c8a521) - Implement `aroundEach` and `aroundAll` hooks  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9450](https://github.com/vitest-dev/vitest/issues/9450) [<samp>(2a8cb)</samp>](https://github.com/vitest-dev/vitest/commit/2a8cb9dc2) - Stabilize experimental features  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9529](https://github.com/vitest-dev/vitest/issues/9529) [<samp>(b5fd2)</samp>](https://github.com/vitest-dev/vitest/commit/b5fd2a16a) - Accept `new` or `all` in `--update` flag  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9543](https://github.com/vitest-dev/vitest/issues/9543) [<samp>(a5acf)</samp>](https://github.com/vitest-dev/vitest/commit/a5acf28a5) - Support `meta` in test options  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9535](https://github.com/vitest-dev/vitest/issues/9535) [<samp>(7d622)</samp>](https://github.com/vitest-dev/vitest/commit/7d622e3d1) - Support type inference with a new `test.extend` syntax  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9550](https://github.com/vitest-dev/vitest/issues/9550) [<samp>(e5385)</samp>](https://github.com/vitest-dev/vitest/commit/e53854fcc) - Support vite 8 beta, fix type issues in the config with different vite versions  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9587](https://github.com/vitest-dev/vitest/issues/9587) [<samp>(99028)</samp>](https://github.com/vitest-dev/vitest/commit/990281dfd) - Add assertion helper to hide internal stack traces  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9594](https://github.com/vitest-dev/vitest/issues/9594) [<samp>(eeb0a)</samp>](https://github.com/vitest-dev/vitest/commit/eeb0ae2f8) - Store failure screenshots using artifacts API  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9588](https://github.com/vitest-dev/vitest/issues/9588) [<samp>(24603)</samp>](https://github.com/vitest-dev/vitest/commit/24603e3c4) - Allow `vitest list` to statically collect tests instead of running files to collect them  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9630](https://github.com/vitest-dev/vitest/issues/9630) [<samp>(7a8e7)</samp>](https://github.com/vitest-dev/vitest/commit/7a8e7fc20) - Add `--detect-async-leaks`  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9528](https://github.com/vitest-dev/vitest/issues/9528) [<samp>(c594d)</samp>](https://github.com/vitest-dev/vitest/commit/c594d4af3) - Implement `mockThrow` and `mockThrowOnce`  -  by [@&#8203;thor-juhasz](https://github.com/thor-juhasz) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9512](https://github.com/vitest-dev/vitest/issues/9512) [<samp>(61917)</samp>](https://github.com/vitest-dev/vitest/commit/619179fb7) - Support `update: "none"` and add docs about snapshots behavior on CI  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9700](https://github.com/vitest-dev/vitest/issues/9700) [<samp>(05f18)</samp>](https://github.com/vitest-dev/vitest/commit/05f1854e2) - Support playwright `launchOptions` with `connectOptions`  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9702](https://github.com/vitest-dev/vitest/issues/9702) [<samp>(f0ff1)</samp>](https://github.com/vitest-dev/vitest/commit/f0ff1b2a0) - Add `page/locator.mark` API to enhance playwright trace  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9652](https://github.com/vitest-dev/vitest/issues/9652) [<samp>(d0ee5)</samp>](https://github.com/vitest-dev/vitest/commit/d0ee546fe) - **api**: - Support tests starting or ending with `test` in `experimental_parseSpecification`  -  by [@&#8203;jgillick](https://github.com/jgillick) and **Jeremy Gillick** in [#&#8203;9235](https://github.com/vitest-dev/vitest/issues/9235) [<samp>(2f367)</samp>](https://github.com/vitest-dev/vitest/commit/2f367fad3) - Add filters to `createSpecification`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9336](https://github.com/vitest-dev/vitest/issues/9336) [<samp>(c8e6c)</samp>](https://github.com/vitest-dev/vitest/commit/c8e6c7fbf) - Expose `runTestFiles` as alternative to `runTestSpecifications`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9443](https://github.com/vitest-dev/vitest/issues/9443) [<samp>(43d76)</samp>](https://github.com/vitest-dev/vitest/commit/43d761821) - Add `allowWrite` and `allowExec` options to `api`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9350](https://github.com/vitest-dev/vitest/issues/9350) [<samp>(20e00)</samp>](https://github.com/vitest-dev/vitest/commit/20e00ef78) - Allow passing down test cases to `toTestSpecification`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9627](https://github.com/vitest-dev/vitest/issues/9627) [<samp>(6f17d)</samp>](https://github.com/vitest-dev/vitest/commit/6f17d5ddf) - **browser**: - Add `userEvent.wheel` API  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9188](https://github.com/vitest-dev/vitest/issues/9188) [<samp>(66080)</samp>](https://github.com/vitest-dev/vitest/commit/660801979) - Add `filterNode` option to prettyDOM for filtering browser assertion error output  -  by [@&#8203;Copilot](https://github.com/Copilot), **sheremet-va** and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9475](https://github.com/vitest-dev/vitest/issues/9475) [<samp>(d3220)</samp>](https://github.com/vitest-dev/vitest/commit/d3220fcd8) - Support playwright persistent context  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa), **Claude Opus 4.6** and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9229](https://github.com/vitest-dev/vitest/issues/9229) [<samp>(f865d)</samp>](https://github.com/vitest-dev/vitest/commit/f865d2ba4) - Added `detailsPanelPosition` option and button  -  by [@&#8203;shairez](https://github.com/shairez) in [#&#8203;9525](https://github.com/vitest-dev/vitest/issues/9525) [<samp>(c8a31)</samp>](https://github.com/vitest-dev/vitest/commit/c8a31147c) - Use BlazeDiff instead of pixelmatch  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9514](https://github.com/vitest-dev/vitest/issues/9514) [<samp>(30936)</samp>](https://github.com/vitest-dev/vitest/commit/309362089) - Add `findElement` and enable strict mode in webdriverio and preview  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9677](https://github.com/vitest-dev/vitest/issues/9677) [<samp>(c3f37)</samp>](https://github.com/vitest-dev/vitest/commit/c3f37721c) - **cli**: - Add [@&#8203;bomb](https://github.com/bomb).sh/tab completions  -  by [@&#8203;AmirSa12](https://github.com/AmirSa12) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;8639](https://github.com/vitest-dev/vitest/issues/8639) [<samp>(200f3)</samp>](https://github.com/vitest-dev/vitest/commit/200f31704) - **coverage**: - Support `ignore start/stop` ignore hints  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9204](https://github.com/vitest-dev/vitest/issues/9204) [<samp>(e59c9)</samp>](https://github.com/vitest-dev/vitest/commit/e59c94ba6) - Add `coverage.changed` option to report only changed files  -  by [@&#8203;kykim00](https://github.com/kykim00) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9521](https://github.com/vitest-dev/vitest/issues/9521) [<samp>(1d939)</samp>](https://github.com/vitest-dev/vitest/commit/1d9392c67) - **experimental**: - Add `onModuleRunner` hook to `worker.init`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9286](https://github.com/vitest-dev/vitest/issues/9286) [<samp>(e977f)</samp>](https://github.com/vitest-dev/vitest/commit/e977f3deb) - Option to disable the module runner  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9210](https://github.com/vitest-dev/vitest/issues/9210) [<samp>(9be61)</samp>](https://github.com/vitest-dev/vitest/commit/9be6121ee) - Add `importDurations: { limit, print }` options  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa), **Claude Opus 4.6** and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9401](https://github.com/vitest-dev/vitest/issues/9401) [<samp>(7e10f)</samp>](https://github.com/vitest-dev/vitest/commit/7e10fb356) - Add print and fail thresholds for `importDurations`  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9533](https://github.com/vitest-dev/vitest/issues/9533) [<samp>(3f7a5)</samp>](https://github.com/vitest-dev/vitest/commit/3f7a5f8f8) - **fixtures**: - Pass down file context to `beforeAll`/`afterAll`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9572](https://github.com/vitest-dev/vitest/issues/9572) [<samp>(c8339)</samp>](https://github.com/vitest-dev/vitest/commit/c83395f2c) - **reporters**: - Add `agent` reporter to reduce ai agent token usage  -  by [@&#8203;cpojer](https://github.com/cpojer) in [#&#8203;9779](https://github.com/vitest-dev/vitest/issues/9779) [<samp>(3e9e0)</samp>](https://github.com/vitest-dev/vitest/commit/3e9e096a2) - **runner**: - Enhance `retry` options  -  by [@&#8203;MazenSamehR](https://github.com/MazenSamehR), **Matan Shavit**, [@&#8203;AriPerkkio](https://github.com/AriPerkkio) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9370](https://github.com/vitest-dev/vitest/issues/9370) [<samp>(9e4cf)</samp>](https://github.com/vitest-dev/vitest/commit/9e4cfd295) - **ui**: - Allow run individual test/suites  -  by [@&#8203;userquin](https://github.com/userquin) in [#&#8203;9465](https://github.com/vitest-dev/vitest/issues/9465) [<samp>(73b10)</samp>](https://github.com/vitest-dev/vitest/commit/73b10f1b9) - Add project filter/sort support  -  by [@&#8203;userquin](https://github.com/userquin) in [#&#8203;8689](https://github.com/vitest-dev/vitest/issues/8689) [<samp>(0c7ea)</samp>](https://github.com/vitest-dev/vitest/commit/0c7eaac16) - Add duration sorting to explorer  -  by [@&#8203;julianhahn](https://github.com/julianhahn) and [@&#8203;cursoragent](https://github.com/cursoragent) in [#&#8203;9603](https://github.com/vitest-dev/vitest/issues/9603) [<samp>(209b1)</samp>](https://github.com/vitest-dev/vitest/commit/209b1b0e1) - Implement filter for slow tests  -  by [@&#8203;DerYeger](https://github.com/DerYeger) and [@&#8203;userquin](https://github.com/userquin) in [#&#8203;9705](https://github.com/vitest-dev/vitest/issues/9705) [<samp>(8880c)</samp>](https://github.com/vitest-dev/vitest/commit/8880c907a) - **vitest**: - Add run summary in GitHub Actions Reporter  -  by [@&#8203;macarie](https://github.com/macarie) and **jhnance** in [#&#8203;9579](https://github.com/vitest-dev/vitest/issues/9579) [<samp>(96bfc)</samp>](https://github.com/vitest-dev/vitest/commit/96bfc8345) #####    🐞 Bug Fixes - Deprecate several vitest/\* entry points  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9347](https://github.com/vitest-dev/vitest/issues/9347) [<samp>(fd459)</samp>](https://github.com/vitest-dev/vitest/commit/fd45928be) - Use `meta.url` in `createRequire`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9441](https://github.com/vitest-dev/vitest/issues/9441) [<samp>(e3422)</samp>](https://github.com/vitest-dev/vitest/commit/e34225563) - Preact browser mode init example of render function not async  -  by [@&#8203;WuMingDao](https://github.com/WuMingDao) in [#&#8203;9375](https://github.com/vitest-dev/vitest/issues/9375) [<samp>(2bea5)</samp>](https://github.com/vitest-dev/vitest/commit/2bea549c7) - Deprecate unused types in matcher context  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9449](https://github.com/vitest-dev/vitest/issues/9449) [<samp>(20f87)</samp>](https://github.com/vitest-dev/vitest/commit/20f8753a2) - Handle `external/noExternal` during `configEnvironment` hook  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9508](https://github.com/vitest-dev/vitest/issues/9508) [<samp>(59ea2)</samp>](https://github.com/vitest-dev/vitest/commit/59ea27c1c) - Replace default ssr environment runner with Vitest server module runner  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9506](https://github.com/vitest-dev/vitest/issues/9506) [<samp>(cd5db)</samp>](https://github.com/vitest-dev/vitest/commit/cd5db660c) - Propagate experimental CLI options to child projects  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9531](https://github.com/vitest-dev/vitest/issues/9531) [<samp>(b624f)</samp>](https://github.com/vitest-dev/vitest/commit/b624fae53) - Show a warning when `browser.isolate` is used  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9410](https://github.com/vitest-dev/vitest/issues/9410) [<samp>(3d48e)</samp>](https://github.com/vitest-dev/vitest/commit/3d48ebcb9) - Fix `vi.mock({ spy: true })` node v8 coverage  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa), **hi-ogawa** and **Claude Opus 4.6** in [#&#8203;9541](https://github.com/vitest-dev/vitest/issues/9541) [<samp>(687b6)</samp>](https://github.com/vitest-dev/vitest/commit/687b633c1) - Don't show internal ssr handler in errors  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9547](https://github.com/vitest-dev/vitest/issues/9547) [<samp>(76c43)</samp>](https://github.com/vitest-dev/vitest/commit/76c4397b5) - Close vitest if it failed to start  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9573](https://github.com/vitest-dev/vitest/issues/9573) [<samp>(728ba)</samp>](https://github.com/vitest-dev/vitest/commit/728ba617f) - Fix ssr environment runner in project  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9584](https://github.com/vitest-dev/vitest/issues/9584) [<samp>(09006)</samp>](https://github.com/vitest-dev/vitest/commit/090064f97) - Trim trailing white spaces in code block  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9591](https://github.com/vitest-dev/vitest/issues/9591) [<samp>(f78be)</samp>](https://github.com/vitest-dev/vitest/commit/f78bea992) - Support inline snapshot inside test.for/each  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9590](https://github.com/vitest-dev/vitest/issues/9590) [<samp>(615fd)</samp>](https://github.com/vitest-dev/vitest/commit/615fd521e) - Apply source maps for external module stack trace  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9152](https://github.com/vitest-dev/vitest/issues/9152) [<samp>(79e20)</samp>](https://github.com/vitest-dev/vitest/commit/79e20d5a3) - Remove the `.name` from statically collected test  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9596](https://github.com/vitest-dev/vitest/issues/9596) [<samp>(b66ff)</samp>](https://github.com/vitest-dev/vitest/commit/b66ff691a) - Don't suppress warnings on pnp  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9602](https://github.com/vitest-dev/vitest/issues/9602) [<samp>(89cbd)</samp>](https://github.com/vitest-dev/vitest/commit/89cbdaea3) - Support snapshot with `expect.soft`  -  by [@&#8203;iumehara](https://github.com/iumehara), [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9231](https://github.com/vitest-dev/vitest/issues/9231) [<samp>(3eb2c)</samp>](https://github.com/vitest-dev/vitest/commit/3eb2cd541) - Log seed when only `sequence.shuffle.tests` is enabled  -  by [@&#8203;kaigritun](https://github.com/kaigritun), **Kai Gritun** and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9576](https://github.com/vitest-dev/vitest/issues/9576) [<samp>(8182b)</samp>](https://github.com/vitest-dev/vitest/commit/8182b77ad) - Externalize `expect/src/utils` from `vitest`  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9616](https://github.com/vitest-dev/vitest/issues/9616) [<samp>(48739)</samp>](https://github.com/vitest-dev/vitest/commit/487398422) - Ignore test.override during static collection  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9620](https://github.com/vitest-dev/vitest/issues/9620) [<samp>(09174)</samp>](https://github.com/vitest-dev/vitest/commit/0917470ce) - Increase stacktrace limit for `--detect-async-leaks`  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9638](https://github.com/vitest-dev/vitest/issues/9638) [<samp>(9fd4c)</samp>](https://github.com/vitest-dev/vitest/commit/9fd4ce533) - Hanging-reporter link in cli  -  by [@&#8203;flx-sta](https://github.com/flx-sta) in [#&#8203;9649](https://github.com/vitest-dev/vitest/issues/9649) [<samp>(7c103)</samp>](https://github.com/vitest-dev/vitest/commit/7c103055c) - Fix teardown timeout of `aroundEach/All` when inner `aroundEach/All` throws  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9657](https://github.com/vitest-dev/vitest/issues/9657) [<samp>(4ec6c)</samp>](https://github.com/vitest-dev/vitest/commit/4ec6cb305) - Fix ui mode / html reporter and coverage integration  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9626](https://github.com/vitest-dev/vitest/issues/9626) [<samp>(86fad)</samp>](https://github.com/vitest-dev/vitest/commit/86fad4b42) - Don't continue when `aroundEach/All` setup timed out  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9670](https://github.com/vitest-dev/vitest/issues/9670) [<samp>(bb013)</samp>](https://github.com/vitest-dev/vitest/commit/bb013d54b) - Align `VitestRunnerConfig` optional fields with `SerializedConfig`  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9661](https://github.com/vitest-dev/vitest/issues/9661) [<samp>(79520)</samp>](https://github.com/vitest-dev/vitest/commit/79520d82d) - Handle Symbol values in format utility  -  by [@&#8203;nami8824](https://github.com/nami8824) in [#&#8203;9658](https://github.com/vitest-dev/vitest/issues/9658) [<samp>(0583f)</samp>](https://github.com/vitest-dev/vitest/commit/0583f067e) - Deprecate `toBe*` spy assertions in favor of `toHaveBeen*` (and `toThrowError`)  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9665](https://github.com/vitest-dev/vitest/issues/9665) [<samp>(4d390)</samp>](https://github.com/vitest-dev/vitest/commit/4d390dfe9) - Don't propagate nested `aroundEach/All` errors but aggregate them on runner  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9673](https://github.com/vitest-dev/vitest/issues/9673) [<samp>(b6365)</samp>](https://github.com/vitest-dev/vitest/commit/b63653f5a) - Show a better error if there is a pending dynamic import  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9676](https://github.com/vitest-dev/vitest/issues/9676) [<samp>(7ef5c)</samp>](https://github.com/vitest-dev/vitest/commit/7ef5cf4b7) - Preserve stack trace of `resolves/rejects` chained assertion error  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9679](https://github.com/vitest-dev/vitest/issues/9679) [<samp>(c6151)</samp>](https://github.com/vitest-dev/vitest/commit/c61511d4a) - Handle module-sync condition in vmThreads/vmForks require  -  by [@&#8203;lesleh](https://github.com/lesleh) in [#&#8203;9650](https://github.com/vitest-dev/vitest/issues/9650) and [#&#8203;9651](https://github.com/vitest-dev/vitest/issues/9651) [<samp>(bb203)</samp>](https://github.com/vitest-dev/vitest/commit/bb20389f4) - Hooks should respect `maxConcurrency`  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9653](https://github.com/vitest-dev/vitest/issues/9653) [<samp>(16d13)</samp>](https://github.com/vitest-dev/vitest/commit/16d13d981) - Recursively autospy module object  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9687](https://github.com/vitest-dev/vitest/issues/9687) [<samp>(695a8)</samp>](https://github.com/vitest-dev/vitest/commit/695a86b41) - Remove trailing spaces from diff error log  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9680](https://github.com/vitest-dev/vitest/issues/9680) [<samp>(395d1)</samp>](https://github.com/vitest-dev/vitest/commit/395d1a29e) - Respect project `resolve.conditions` for externals  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9717](https://github.com/vitest-dev/vitest/issues/9717) [<samp>(1d498)</samp>](https://github.com/vitest-dev/vitest/commit/1d4987498) - Use object for WeakMap instead of a symbol to support webcontainers  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9731](https://github.com/vitest-dev/vitest/issues/9731) [<samp>(c5225)</samp>](https://github.com/vitest-dev/vitest/commit/c52259330) - Fix re-mocking virtual module  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9748](https://github.com/vitest-dev/vitest/issues/9748) [<samp>(3cbbb)</samp>](https://github.com/vitest-dev/vitest/commit/3cbbb17f1) - Cancelling should stop current test immediately  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9729](https://github.com/vitest-dev/vitest/issues/9729) [<samp>(0cb2f)</samp>](https://github.com/vitest-dev/vitest/commit/0cb2f7239) - Make `mockObject` change backwards compatible  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9744](https://github.com/vitest-dev/vitest/issues/9744) [<samp>(84c69)</samp>](https://github.com/vitest-dev/vitest/commit/84c69497f) - Fix `URL.name` on jsdom  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9767](https://github.com/vitest-dev/vitest/issues/9767) [<samp>(031f3)</samp>](https://github.com/vitest-dev/vitest/commit/031f3a374) - Save and restore module graph in blob reporter  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9740](https://github.com/vitest-dev/vitest/issues/9740) [<samp>(84355)</samp>](https://github.com/vitest-dev/vitest/commit/843554bf0) - Don't silence reporter errors from test runtime events handler in normal run and --merge-reports  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9727](https://github.com/vitest-dev/vitest/issues/9727) [<samp>(4072d)</samp>](https://github.com/vitest-dev/vitest/commit/4072d0132) - Fix `vi.importActual()` for virtual modules  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9772](https://github.com/vitest-dev/vitest/issues/9772) [<samp>(1e89e)</samp>](https://github.com/vitest-dev/vitest/commit/1e89ec020) - Throw `FixtureAccessError` if suite hook accesses undefined fixture  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9786](https://github.com/vitest-dev/vitest/issues/9786) [<samp>(fc2ce)</samp>](https://github.com/vitest-dev/vitest/commit/fc2cea2b7) - Allow hyphens in project config file name pattern  -  by [@&#8203;Koutaro-Hanabusa](https://github.com/Koutaro-Hanabusa) and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9760](https://github.com/vitest-dev/vitest/issues/9760) [<samp>(33e96)</samp>](https://github.com/vitest-dev/vitest/commit/33e96311a) - Manual and redirect mock shouldn't `load` or `transform` original module  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9774](https://github.com/vitest-dev/vitest/issues/9774) [<samp>(a8216)</samp>](https://github.com/vitest-dev/vitest/commit/a8216b001) - `hideSkippedTests` should not hide `test.todo`  -  by [@&#8203;oilater](https://github.com/oilater) in [#&#8203;9562](https://github.com/vitest-dev/vitest/issues/9562) and [#&#8203;9781](https://github.com/vitest-dev/vitest/issues/9781) [<samp>(8181e)</samp>](https://github.com/vitest-dev/vitest/commit/8181e06e7) - Allow catch/finally for async assertion  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9827](https://github.com/vitest-dev/vitest/issues/9827) [<samp>(031f0)</samp>](https://github.com/vitest-dev/vitest/commit/031f02a89) - Resolve fixture overrides from test's suite in `beforeEach` hooks  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9826](https://github.com/vitest-dev/vitest/issues/9826) [<samp>(99e52)</samp>](https://github.com/vitest-dev/vitest/commit/99e52fe58) - Use isAgent check, not just TTY, for watch mode  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9841](https://github.com/vitest-dev/vitest/issues/9841) [<samp>(c3cac)</samp>](https://github.com/vitest-dev/vitest/commit/c3cac1c1b) - Use `performance.now` to measure test timeout duration  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9795](https://github.com/vitest-dev/vitest/issues/9795) [<samp>(f48a6)</samp>](https://github.com/vitest-dev/vitest/commit/f48a60114) - Correctly identify concurrent test during static analysis  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9846](https://github.com/vitest-dev/vitest/issues/9846) [<samp>(1de0a)</samp>](https://github.com/vitest-dev/vitest/commit/1de0aa22d) - **browser**: - Avoid updating screenshots when `toMatchScreenshot` passes  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9289](https://github.com/vitest-dev/vitest/issues/9289) [<samp>(46aab)</samp>](https://github.com/vitest-dev/vitest/commit/46aabaa44) - Hide injected data-testid attributes  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9503](https://github.com/vitest-dev/vitest/issues/9503) [<samp>(c8d2c)</samp>](https://github.com/vitest-dev/vitest/commit/c8d2c411c) - Throw an error if iframe was reloaded  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9516](https://github.com/vitest-dev/vitest/issues/9516) [<samp>(73a81)</samp>](https://github.com/vitest-dev/vitest/commit/73a81f880) - Encode projectName in browser client URL  -  by [@&#8203;dkkim0122](https://github.com/dkkim0122) in [#&#8203;9523](https://github.com/vitest-dev/vitest/issues/9523) [<samp>(5b164)</samp>](https://github.com/vitest-dev/vitest/commit/5b16483c3) - Don't take failure screenshot if tests have artifacts created by `toMatchScreenshot`  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9552](https://github.com/vitest-dev/vitest/issues/9552) [<samp>(83ca0)</samp>](https://github.com/vitest-dev/vitest/commit/83ca02547) - Remove `--remote-debugging-address` from chrome args  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9712](https://github.com/vitest-dev/vitest/issues/9712) [<samp>(f09bb)</samp>](https://github.com/vitest-dev/vitest/commit/f09bb5c32) - Make sure userEvent actions support `ensureAwaited`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9732](https://github.com/vitest-dev/vitest/issues/9732) [<samp>(97685)</samp>](https://github.com/vitest-dev/vitest/commit/9768517b8) - Types of `getCDPSession` and `cdp()`  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9716](https://github.com/vitest-dev/vitest/issues/9716) [<samp>(689a2)</samp>](https://github.com/vitest-dev/vitest/commit/689a22a1b) - Skip esbuild.legalComments when using rolldown-vite  -  by [@&#8203;Copilot](https://github.com/Copilot), **hi-ogawa** and [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9803](https://github.com/vitest-dev/vitest/issues/9803) [<samp>(3505f)</samp>](https://github.com/vitest-dev/vitest/commit/3505fa5a3) - **chai**: - Don't allow `deepEqual` in the config because it's not serializable  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9666](https://github.com/vitest-dev/vitest/issues/9666) [<samp>(9ee99)</samp>](https://github.com/vitest-dev/vitest/commit/9ee999d73) - **coverage**: - Infer transform mode for uncovered files  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9435](https://github.com/vitest-dev/vitest/issues/9435) [<samp>(f3967)</samp>](https://github.com/vitest-dev/vitest/commit/f396792d6) - `thresholds.autoUpdate` to preserve ending whitespace  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9436](https://github.com/vitest-dev/vitest/issues/9436) [<samp>(7e534)</samp>](https://github.com/vitest-dev/vitest/commit/7e534a0b6) - **deps**: - Update all non-major dependencies  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) in [#&#8203;9192](https://github.com/vitest-dev/vitest/issues/9192) [<samp>(90c30)</samp>](https://github.com/vitest-dev/vitest/commit/90c302f3b) - Update all non-major dependencies  -  in [#&#8203;9485](https://github.com/vitest-dev/vitest/issues/9485) [<samp>(c0118)</samp>](https://github.com/vitest-dev/vitest/commit/c01186022) - Update all non-major dependencies  -  in [#&#8203;9567](https://github.com/vitest-dev/vitest/issues/9567) [<samp>(13c9e)</samp>](https://github.com/vitest-dev/vitest/commit/13c9e022b) - **docs**: - Fix old `/config/#option` hash links causing hydration errors  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa), **Claude Opus 4.6** and [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9610](https://github.com/vitest-dev/vitest/issues/9610) [<samp>(a603c)</samp>](https://github.com/vitest-dev/vitest/commit/a603c3a30) - **expect**: - `toMatchObject(Map/Set)` should expect `Map/Set` on left hand side  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9532](https://github.com/vitest-dev/vitest/issues/9532) [<samp>(381da)</samp>](https://github.com/vitest-dev/vitest/commit/381da4a9d) - Fix objectContaining with proxy  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9554](https://github.com/vitest-dev/vitest/issues/9554) [<samp>(7ce34)</samp>](https://github.com/vitest-dev/vitest/commit/7ce3417b1) - Support arbitrary value equality for `toThrow` and make Error detection robust  -  by [@&#8203;hi-ogawa](https://github.com/hi-ogawa) and **Claude Opus 4.6** in [#&#8203;9570](https://github.com/vitest-dev/vitest/issues/9570) [<samp>(de215)</samp>](https://github.com/vitest-dev/vitest/commit/de215c19c) - **mock**: - Inject helpers after hashbang if present  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9545](https://github.com/vitest-dev/vitest/issues/9545) [<samp>(65432)</samp>](https://github.com/vitest-dev/vitest/commit/65432a74b) - **mocker**: - Update vite's peer dependency range  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9808](https://github.com/vitest-dev/vitest/issues/9808) [<samp>(36f9a)</samp>](https://github.com/vitest-dev/vitest/commit/36f9a81a2) - **reporter**: - `dot` reporter leaves pending tests  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9684](https://github.com/vitest-dev/vitest/issues/9684) [<samp>(4d793)</samp>](https://github.com/vitest-dev/vitest/commit/4d7938a56) - **runner**: - Mark repeated tests as finished on last run  -  by [@&#8203;AriPerkkio](https://github.com/AriPerkkio) in [#&#8203;9707](https://github.com/vitest-dev/vitest/issues/9707) [<samp>(cc735)</samp>](https://github.com/vitest-dev/vitest/commit/cc735970a) - **spy**: - Support deep partial in vi.mocked  -  by [@&#8203;j2h30728](https://github.com/j2h30728) in [#&#8203;8152](https://github.com/vitest-dev/vitest/issues/8152) and [#&#8203;9493](https://github.com/vitest-dev/vitest/issues/9493) [<samp>(71cb5)</samp>](https://github.com/vitest-dev/vitest/commit/71cb51ffc) - Fallback to object accessor if descriptor's value is `undefined`  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9511](https://github.com/vitest-dev/vitest/issues/9511) [<samp>(6f181)</samp>](https://github.com/vitest-dev/vitest/commit/6f18103fa) - Throw correct errors when shorthand methods are used on a class  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9513](https://github.com/vitest-dev/vitest/issues/9513) [<samp>(5d0fd)</samp>](https://github.com/vitest-dev/vitest/commit/5d0fd3b62) - **types**: - `bench.reporters` no longer gives type errors when passing file name string paths  -  by [@&#8203;Bertie690](https://github.com/Bertie690) in [#&#8203;9695](https://github.com/vitest-dev/vitest/issues/9695) [<samp>(093c8)</samp>](https://github.com/vitest-dev/vitest/commit/093c8f6b5) - **ui**: - Process artifact attachments when generating HTML reporter  -  by [@&#8203;macarie](https://github.com/macarie) in [#&#8203;9472](https://github.com/vitest-dev/vitest/issues/9472) [<samp>(96eb9)</samp>](https://github.com/vitest-dev/vitest/commit/96eb92826) - Don't fail if --ui and --root are specified together  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9536](https://github.com/vitest-dev/vitest/issues/9536) [<samp>(d9305)</samp>](https://github.com/vitest-dev/vitest/commit/d93055fc7) #####    🏎 Performance - **pretty-format**: Combine DOMElement plugins  -  by [@&#8203;sheremet-va](https://github.com/sheremet-va) in [#&#8203;9581](https://github.com/vitest-dev/vitest/issues/9581) [<samp>(da85a)</samp>](https://github.com/vitest-dev/vitest/commit/da85a3267) #####     [View changes on GitHub](https://github.com/vitest-dev/vitest/compare/v4.0.17...v4.1.0) </details> <details> <summary>yarnpkg/berry (yarn)</summary> ### [`v4.13.0`](https://github.com/yarnpkg/berry/compare/8385300e30af7dd7cbf9e8a9ecb8db730ba69bba...81f3e15d2b6259cb64245411220fa1bf61242526) [Compare Source](https://github.com/yarnpkg/berry/compare/8385300e30af7dd7cbf9e8a9ecb8db730ba69bba...81f3e15d2b6259cb64245411220fa1bf61242526) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4wLjgiLCJ1cGRhdGVkSW5WZXIiOiI0My4xMDAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
renovate-bot changed title from chore(deps): update dependency @types/node to v25.2.0 to chore(deps): update all-minor-updates 2026-02-02 06:14:13 -05:00
renovate-bot added 1 commit 2026-03-30 09:15:42 -04:00
chore(deps): update all-minor-updates
All checks were successful
Build and Push Docker Image / build (pull_request) Successful in 3m22s
ac7c6a25e7
renovate-bot force-pushed renovate/minor from 39ac40e884 to ac7c6a25e7 2026-03-30 09:15:42 -04:00 Compare
All checks were successful
Build and Push Docker Image / build (pull_request) Successful in 3m22s
This pull request can be merged automatically.
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin renovate/minor:renovate/minor
git checkout renovate/minor
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: lucasoskorep/mta-sign#6