Repository navigation
Releases: vercel/next.js
Release list
v16.5.0-canary.29
Core Changes
- Create cache directory before persisting Chrome DevTools workspace UUID: #100802
- Upgrade React from
ab0d927f-20261020todc9aed36-20261027: #100791 - [testmode] Fix compressed HTTP responses with test proxy: #100805
- chore(deps): bump sharp@0.35.5: #99714
- Turbopack: Auto-detect pnpm GVS and configure an additional root for it: #99758
- Persist storage cache in Docker environments: #100790
- Persist fully static PPR payloads in filesystem cache: #100759
- Stamp FileSystemCache revalidations and entries with the monotonic clock: #100357
Example Changes
- examples: add eve example: #100758
Misc Changes
- turbo-bitset: make block storage pluggable: #100779
- Use fixed encoding for our 'id' types: #100764
- [RFC] Remove worktree guidance from AGENTS.md: #100659
- eval: resolve and classify the audit suite: #100748
- turbo-tasks-backend: resolve task priority when creating child contexts: #100767
- Add server-only leak pass to next-bundle-optimizer: #100330
- Turbopack: Fix webpack loaders if source file exists in an additional root: #100744
- [CI] fix incorrect VERCEL_TEST_PROJECT in non-cache-components deploy…: #100788
- ci: run changed deploy tests with both builders: #100591
- Turbopack: compute client reference manifest parts once per reference, not per page: #100443
- turbo-bitset: remove FixedBitSet and RoaringBitmap comparisons: #100724
- turbopack: use Bitset for persisted chunk group sets: #100630
- turbopack: use Bitset in compute_merged_modules: #100568
- turbopack: use Bitset in collect_graph: #100567
- turbopack: use Bitset in compute_chunk_group_info: #100643
- turbo-bitset: add Bitset, a fast bitset over a bounded bit range: #100566
- turbopack: speed up and share reverse postorder ranks: #100452
- test: remove some more dev/prod gating: #100717
- ci: Only run upload-adapter-test-results on release: #100595
- Optimize persistence CPU: #100737
- eval: split Next.js evals by purpose: #100742
Credits
Huge thanks to @sokra, @chadhietala, @lukesandberg, @kassens, @styfle, @aurorascharff, @wbinnssmith, @bgw, @namtran1812, @skrabe, and @mischnic for helping!
v16.5.0-canary.28
Core Changes
- Fix draft mode rendering with Cache Components: #100728
- Render complete HTML documents after MPA Server Actions: #100740
- Turbopack: add minServerChunkSize and maxMergeServerChunkSize options: #100712
- test: read isNextDev/isNextDeploy/isNextStart from e2e-utils: #100419
- perf(build): avoid O(pages²) original app path scan in static check: #100615
- [PPF] Fix hanging HTML response after a
'use cache'error: #100673 - export: only send each static generation batch its own resume data cache seeds: #100048
Misc Changes
- docs: note that non-function exports of a use cache file are not available to Client Components: #100594
- Mark docs diagrams skill as internal: #100743
- [test] Isolate deploy e2e revalidation scope per suite: #100718
- test: migrate more conditions to gates: #100422
- Support fs.stat in Turbopack webpack loaders: #100272
- test: document deploy exclusions for suites that need a local server: #100483
- Turbopack: ensure tests are dropping turbo tasks correctly: #99601
- turbopack: skip redundant work in merged modules reconciliation: #100238
- turbopack: merge chunk group lists in parallel in compute_merged_modules: #100237
- bench: add warm cached build benchmark to nested-deps-app-router-many-pages: #100570
- turbo-tasks: update reader leaf distance inline when adding output dependency: #99764
Credits
Huge thanks to @icyJoseph, @unstubbable, @aurorascharff, @eps1lon, @mischnic, @jimmyhmiller, @sokra, @jamiboym, @arnaud-coral, and @lukesandberg for helping!
v16.5.0-canary.27
Core Changes
- Build the inline Flight script from React's strings instead of re-encoding them: #100142
- Fix dist dir lockfile on filesystems with no or limited lockfile implementations (e.g. NFS): #100684
Misc Changes
- perf(turbopack): look up chunk group indices through a keyed cell: #99050
- Turbopack: track availability by chunk group: #98685
- refactor(turbopack): chunk chunk groups by key: #99750
- Turbopack: consume graph-derived chunk groups: #98734
- turbo-tasks-backend: stripe SnapshotCoordinator's operation count and poll for the drain: #100280
- turbo-tasks-backend: parallelize decoding of large batch lookups: #100453
- turbo-persistence: don't shrink the shard count before the first bottom merge: #100424
Credits
Huge thanks to @sokra, @lukesandberg, @gaearon, and @bgw for helping!
v16.5.0-canary.26
Core Changes
- Turbopack: bump trace format header to TRACEv1: #99781
- Pass staged fallback params directly to adapter renders: #100456
- Fix navigation from global-not-found to app routes: #100592
- End the cache-signal read when
encryptActionBoundArgshits the RDC: #100622 - Ignore flaky turbo-tasks-fs watcher tests in CI: #100627
Misc Changes
- test: enable build-error suites in deploy mode: #100482
- test: enable deploy-excluded suites verified against deployments: #100484
- Turbopack: fix trace crates after concurrent trace format changes: #100656
- [cd] Document that Turbopack team can also approve releases: #100650
- Turbopack: delta-encode trace timestamps: #99809
- docs: add turbo_tasks development guidance for agents: #100581
- Fix
pnpm new-testunit type generating no test file: #100641 - [test] Reproduce two cache-sharing bugs: #100510
- [test] Cover cache sharing after handler failures: #100519
Credits
Huge thanks to @jamiboym, @sokra, @eps1lon, @mischnic, @unstubbable, @kassens, @huozhi, and @digasic for helping!
v16.5.0-canary.25
Misc Changes
- Revert "More parity for webpack loader build dependencies (#99549)": #100634
- Cache bundle analysis per output file: #100475
Credits
Huge thanks to @mischnic and @wbinnssmith for helping!
v16.4.3
Note
This release is backporting bug fixes. It does not include all pending features/changes on canary.
Core Changes
- [lts-active] Fix extensionless Google font URLs in both bundlers (#100277)
- [lts-active] Don't load the app-page runtime in proxy.ts (#100423)
- [lts-active] Revert "Turbopack: loader change invalidation (#95732)" (#100438)
- [lts-active][cd] Gate release bot credentials behind GitHub environments (#100123)
- [lts-active] test: Pin react-virtualized (#100545)
- [lts-active][cd] Move release un-draft to a follow-up job in bot-autonomous (#100572)
- [lts-active] Keep OpenTelemetry request traces together (#100349, #100294, #100324, #100350, #100552, #100583) (#100542)
- [lts-active] Avoid loading standalone React in server bootstrap (#100610)
Credits
Huge thanks to @mischnic, @lukesandberg, @acdlite, @eps1lon, and @sokra for helping!
v16.5.0-canary.24
Core Changes
- Cap bot user-agent matching at 1KB: #100604
- Pass lazy response lifecycle capabilities into App rendering: #100395
- Upgrade testmode interceptors to 0.45.9: #100585
- Defer React loading until fetch dedupe construction: #100401
- Avoid loading standalone React by separating render validation: #100467
Misc Changes
- fix(turbopack): evaluate pure constructor callees: #100588
- Add webpack utils: #99826
- Stop requiring build-all when bootstrapping a fresh clone or worktree: #100600
- Fix webpack build dependency cell creation order: #100597
- More parity for webpack loader build dependencies: #99549
- Extend lazy server imports to route handlers and Pages: #99541
- test: enable log-file and worker-react-refresh in deploy mode: #100480
- ci: only declare a Vercel deploy target for webpack runs without a custom script: #100479
- Turbopack: Honor PURE annotations for callback arguments: #100577
- test: add non-adapter deploy snapshots to otel-middleware-trace: #100583
- Update Rspack development test manifest: #100557
- Update Rspack production test manifest: #100558
- ci: Fix ast-grep CI step: #100569
Credits
Huge thanks to @mischnic, @jimmyhmiller, @eps1lon, @kassens, @jamiboym, and @sokra for helping!
v16.5.0-canary.23
Core Changes
- Upgrade React from
a6792708-20261019toab0d927f-20261020: #100527 - Preserve deferred middleware instrumentation spans when the adapter throws: #100552
- Fix cache revalidation queued during streaming: #100448
- Remove unnecessary
as anycasts: #100418 - Update font data: #100490
- Turbopack: preserve chunk load promise identity: #100421
- Emit instrumentation lifecycle spans in the request that registered it: #100350
- docs: note that instrumentation-time spans don't join request traces: #100324
- Keep middleware and render in one OpenTelemetry trace as siblings: #100294
- Start the request span before route module preparation: #100349
- Fix prerender manifest update race in dev: #100521
- Report process memory footprint (RSS) in TurboMalloc and trace samples: #99527
- Preserve cached values for the final runtime prerender: #100447
- Calling server actions in GSP fails
__next_require__ is not a function: #99912 - fix: persist cacheControl for Pages Router ISR entries in FileSystemC…: #100495
Misc Changes
- [cd] Move release un-draft to a follow-up job: #100571
- Fix analyzer cell creation order: #100562
- [ci] Run flakiness detection under concurrent load: #100525
- [test] Avoid port collisions in concurrent OpenTelemetry tests: #100538
- [test] Avoid port collisions in concurrent keep-alive tests: #100537
- turbopack: use reverse postorder priority in compute_binding_usage_info: #100440
- turbo-tasks: unemit taken collectibles in a single backend operation: #100437
- Bump turbo to 2.11.10: #100549
- Turbopack: lazily compile lazy import.meta.glob matches: #100523
- turbo-tasks: batch invalidation via Invalidator::invalidate_all: #100485
- turbo-tasks: make scope_unbounded worker churn test deterministic: #100515
- Turbopack: test import.meta.glob code splitting with an execution test: #100532
- Turbopack: fix chunking for lazy import.meta.glob matches: #100522
- [test] Stabilize the cache revalidation navigation test: #100514
- Bump to swc v82.2.0: #100508
- turbo-tasks-backend: skip dirtying removed cell dependents: #100460
- docs: use the exported unstable_doesMiddlewareMatch name in proxy unit testing: #100499
- turbo-tasks-backend: restore invalidated tasks with batched optional reads: #100465
- Durable use cache: don't crash on Node workers: #100505
Credits
Huge thanks to @eps1lon, @zydo, @unstubbable, @sokra, @jamiboym, @sokra, @lubieowoce, @mischnic, @icyJoseph, @koreahghg and @lukesandberg for helping!
v16.5.0-canary.21
v16.5.0-canary.20
Core Changes
- Upgrade React from
ba39b32a-20261019toa6792708-20261019: #100459 - Pass request headers explicitly into App request stores: #100333
- Remove request from App page prerender entry point: #100331
- Use render lifecycle callback for fetch metrics cleanup: #100323
- Upgrade React from
99c106c4-20261014toba39b32a-20261019: #100403 - Pass interception capability into App rendering: #100409
Misc Changes
- [cd] Gate release bot credentials behind GitHub environments: #100121
- test: retry vercel deploy on transient pre-deployment network errors: #100070
- turbo-tasks: batch schedule invalidated tasks and cell dependents: #100446
- turbopack: use reverse postorder priority in compute_merged_modules: #100430
- turbopack: use reverse postorder priority in collect_graph: #100429
- turbopack: use reverse postorder priority in compute_chunk_group_info: #100428
- Turbopack: propagate late partial namespace provenance to passthrough targets: #100444
- turbopack: store unused reference edges in a keyed Vc: #100441
- AGENTS.md: prefer e2e/execution tests over implementation-mapped unit tests: #100451
- docs: document useRouter push/replace void return and useTransition migration: #100420
- docs: type proxy examples with NextRequest and fix cookie check: #100417
- Turbopack: keep env and preview props invalidations key-granular on warm start: #100425
- test: unflake prefetch-fallback-static in deploy: #99366
- Fix Activity testing guide claim about label and placeholder locators: #100445
- [ci] Upload adapter test results via GitHub Actions OIDC: #100400
- turbo-persistence: read compaction inputs with pread instead of mmap: #100336
- test: explain why deploy build-log markers are missing: #100069
- test: bound deploy build-log polling with backoff and per-call timeouts: #100068
- turbo-tasks-backend: remove racy ungated collectibles_outdated_dependency test: #100377
Credits
Huge thanks to @eps1lon, @sokra, @Aryan9891, @deveshasawa28, @lukesandberg, @lubieowoce, @icyJoseph, and @kassens for helping!
