Repository navigation
Releases: vercel/next.js
Release list
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
- v16.4.2
- [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!
v16.5.0-canary.19
Core Changes
- Show compiling status alongside DevTools issues: #100178
- Pass staged fallback params into App rendering: #100408
- Capture initial HMR version in dev render context: #100407
Credits
Huge thanks to @aurorascharff and @kassens for helping!
v16.5.0-canary.18
Core Changes
- Revert "Turbopack: loader change invalidation (#95732)": #100414
- Add : #99871
- remove Static render stage: #100388
- Don't load the app-page runtime in proxy.ts: #100384
- Format all READMEs with Prettier: #100310
- Fix Pages Router HMR crash when the ISR manifest arrives before the router: #100095
- Use os.availableParallelism() instead of os.cpus().length: #100258
Misc Changes
- test: fix flakiness in segment-cache-stale-time: #100404
- docs: Clarify when useSearchParams boundaries render on the server with Cache Components: #100276
- Clarify which pathname usePathname reads under rewrites: #100393
- test: avoid useTempDir cleanup hang on Windows (fs-extra fixWinEPERM): #100088
- test: run custom install commands async with a hard timeout: #100057
- Clarify lazy SST opening in turbo-persistence docs: #100311
- Bump to swc v82: #100270
- test: disable the
reads fallback params after a client navigationdeployment test: #100371 - test: Pin react-virtualized: #100383
- turbo-persistence: read SST metadata blocks once with pread: #100288
- turbopack: intern merge bitmaps in compute_merged_modules: #100236
- Turbopack: don't scope hoist modules using direct eval: #100308
Credits
Huge thanks to @mischnic, @acdlite, @lubieowoce, @icyJoseph, @tobiaslins, @sokra, and @lukesandberg for helping!