[!TIP]
Check out our Next v16.2 Blog Post to learn more about this release.
Core Changes
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<RcStr>>: #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 :robot: 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!