Releases · vercel/next.js · GitHub
Skip to content

Releases: vercel/next.js

v16.5.0-canary.29

v16.5.0-canary.29 Pre-release
Pre-release

Choose a tag to compare

@next-js-bot next-js-bot released this 27 Oct 23:46
8f7dd00

Core Changes

  • Create cache directory before persisting Chrome DevTools workspace UUID: #100802
  • Upgrade React from ab0d927f-20261020 to dc9aed36-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

v16.5.0-canary.28 Pre-release
Pre-release

Choose a tag to compare

@next-js-bot next-js-bot released this 26 Oct 23:51
267dc43

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

v16.5.0-canary.27 Pre-release
Pre-release

Choose a tag to compare

@next-js-bot next-js-bot released this 24 Oct 23:47
cbf49db

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

v16.5.0-canary.26 Pre-release
Pre-release

Choose a tag to compare

@next-js-bot next-js-bot released this 23 Oct 23:46
682508f

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 encryptActionBoundArgs hits 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-test unit 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

v16.5.0-canary.25 Pre-release
Pre-release

Choose a tag to compare

@next-js-bot next-js-bot released this 23 Oct 08:47
faa474c

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

Choose a tag to compare

@eps1lon eps1lon released this 23 Oct 13:32
29bbeab

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

v16.5.0-canary.24 Pre-release
Pre-release

Choose a tag to compare

@next-js-bot next-js-bot released this 22 Oct 23:53
62e889a

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

v16.5.0-canary.23 Pre-release
Pre-release

Choose a tag to compare

@next-js-bot next-js-bot released this 22 Oct 11:48
70e1e25

Core Changes

  • Upgrade React from a6792708-20261019 to ab0d927f-20261020: #100527
  • Preserve deferred middleware instrumentation spans when the adapter throws: #100552
  • Fix cache revalidation queued during streaming: #100448
  • Remove unnecessary as any casts: #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.21 Pre-release
Pre-release

Choose a tag to compare

@next-js-bot next-js-bot released this 20 Oct 23:51
7289521

Core Changes

  • Defer app router HMR refresh until the router is initialized: #100113

Misc Changes

  • test: extend webpack timeout for dynamic-params-retained-cache: #100382

Credits

Huge thanks to @sokra for helping!

v16.5.0-canary.20

v16.5.0-canary.20 Pre-release
Pre-release

Choose a tag to compare

@next-js-bot next-js-bot released this 20 Oct 18:05
361cb82

Core Changes

  • Upgrade React from ba39b32a-20261019 to a6792708-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-20261014 to ba39b32a-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!