Skip to content

Releases

v16.5.0-canary.51

v16.5.0-canary.51 Pre-release
Pre-release

Choose a tag to compare

@next-js-bot next-js-bot released this 14 Nov 23:43
b530e71

Misc Changes

  • turbo-tasks-backend: release the owner task before the reader side of keyed refinement: #101732

Credits

Huge thanks to @sokra for helping!

v16.5.0-canary.50

v16.5.0-canary.50 Pre-release
Pre-release

Choose a tag to compare

@next-js-bot next-js-bot released this 14 Nov 08:36
d7a2320

Core Changes

  • Enable turbopackMinifyBeforeChunking by default on canary releases: #101113
  • Turbopack: write smaller/faster client reference manifests: #101312
  • Generate managed agent instructions on next dev and respect opt-outs: #101746
  • fix(next/image): check the LCP element loading state: #101737
  • Run render error reporting outside the work-unit scope: #101597
  • Fix RSC navigation and runtime prefetches in next start: #101357
  • Expose full-route RSC prerender classification to adapters: #101309
  • Distinguish dynamic rendering from required prerendering: #101511
  • turbopack: size chunk items by their minified code when minifying before chunking: #101010
  • Prevent repeated prerenders during fallback shell revalidation: #101756
  • Enable Turbopack GC by default: #101591
  • Exit next dev when the server process is killed by a signal: #101752
  • Store "use cache" durability once per entry in server reference manifest: #101674
  • Remove durability property from createServerModuleMap results: #101730
  • Resolve webpack dev HMR test callback when a build has nothing to apply: #101682
  • turbo-tasks: capture effects on multiple workers: #101514
  • Turbopack: report routes nested inside catch-all segments instead of panicking in dev: #101697

Example Changes

  • docs: standalone env file precedence and with-docker-multi-env secrets: #101728
  • examples: bump Alpine Docker base images to Node 24: #101215

Misc Changes

  • docs: place shell param-order rule with build-time shells: #101680
  • turbo-persistence: don't modify the directory on read-only open: #101779
  • Optimize inline_atom: #101778
  • docs: clarify standalone .env copying and the next-server tracing exclude key: #101699
  • docs: Add more clarification about SVG security policies: #101311
  • Add a 48-hour Cargo dependency cooldown: #101765
  • Update Rust nightly to 2026-11-13: #101764
  • Upgrade React from df6aa4ec-20261112 to df6aa4ec-20261112: #101760
  • turbo-tasks-backend: store task edges in flat EdgeSets: #101489
  • turbo-tasks-backend: add a profile driver to the keyed dependencies benchmark: #101731
  • docs: correct deploymentId environment variable precedence: #101740
  • Turbopack: list compact re-export namespace keys in code unit order: #101494
  • turbo-tasks-backend: fix transient root test race: #101700
  • Scaffold separate entrypoint for Turbopack NFT functionality: #94356
  • Turbopack: read UnusedReferences by key in ESM export code generation: #101626
  • Require real deployment coverage for application behavior: #101510
  • Turbopack: read UnusedReferences by key in pattern mapping: #101725
  • test: replace files atomically in patchFile: #101683
  • turbo-persistence: faster key block sorting: #100335
  • turbopack: return small free ranges to the OS after project shutdown: #101623
  • Turbopack: return freed memory eagerly while shutting down the project: #101589
  • turbo-persistence: validate sst_inspect block reads with BlockOffsets: #100313

Credits

Huge thanks to @lukesandberg, @icyJoseph, @aurorascharff, @bgw, @wbinnssmith, @unstubbable, @sokra, and @mischnic for helping!

v16.5.0-canary.49

v16.5.0-canary.49 Pre-release
Pre-release

Choose a tag to compare

@next-js-bot next-js-bot released this 12 Nov 23:46
807c3b5

Core Changes

  • Optimize NFT base path mapping: #101151
  • Fix ImageResponse prerendering with --debug-prerender: #101678
  • Upgrade React from 1620f7b9-20261111 to df6aa4ec-20261112: #101673
  • Fix ESLint link rule for constant and mapped hrefs: #101641
  • Complete metadata references and fix descriptor resolution: #101547
  • docs: clarify dynamicParams with Cache Components: #100249
  • Test Proxy Link headers across cache revalidation: #101620
  • Remove obsolete prerender abort workarounds: #101621
  • Use forward slashes in route bundle stats chunk paths: #101617
  • Preserve build diagnostics during worker shutdown: #101598

Misc Changes

  • turbo-tasks-backend: keep the active count inline: #101486
  • turbopack: use static for shared rcstr! values and hardcode magic identifiers: #101686
  • docs: clarify synchronous IO after request data: #101685
  • turbo-persistence: remove ParallelScheduler::block_in_place: #101544
  • Turbopack: release freed memory right after project shutdown: #101529
  • turbo-tasks-backend: read collectibles and update the reader dependency atomically: #101548
  • [internal-skills] fetch CI status on demand instead of blocking on --wait: #101661
  • Fix pnpm-lock.yaml for bench/large-app-router after React upgrade: #101642
  • bench: add generated large App Router benchmark for Turbopack scaling: #101502
  • test: fix flaky vary-params-base-dynamic prefetch collection: #101531
  • test: fit cold-cache npm install in create-next-app template test timeout: #101625
  • docs: add native DOM examples to Activity guide: #101581
  • turbo-persistence: report batch_get misses from batch_lookup_entry: #101615
  • create-next-app: exit with code 1 when installation fails: #101624
  • Strengthen documentation review criteria: #101622
  • Turbopack: skip unmatched siblings when building app loader trees: #101535
  • docs: explain runtime config removal on the middleware-to-proxy error page: #101616
  • Turbopack: start whole-app client style groups earlier in production builds: #101612
  • turbo-tasks: don't make parentless transient tasks aggregation roots: #101614
  • turbo-tasks: avoid redundant aggregation roots and root-upper optimization cascades: #101604
  • turbo-persistence: make batch_get callback-oriented: #100678

Credits

Huge thanks to @lukesandberg, @mischnic, @aurorascharff, @sokra, @unstubbable, @eps1lon, and @icyJoseph for helping!

v16.5.0-canary.48

v16.5.0-canary.48 Pre-release
Pre-release

Choose a tag to compare

@next-js-bot next-js-bot released this 11 Nov 23:45
3642b24

Core Changes

  • Prerender route handlers that await immediates: #101593
  • Fix orphaned detached telemetry flush processes: #101588
  • Upgrade React from e84e1492-20261031 to 1620f7b9-20261111: #101587
  • docs: clarify tag invalidation client effects: #101504
  • Keep dev overlay errors across no-op webpack hot updates: #101532

Misc Changes

  • Turbopack: don't grow effect vectors inside the analyzer arena: #101480
  • Fix metadata route selection with --debug-build-paths: #101585
  • eval: generate the docs pointer from the tested Next.js package: #101558
  • Turbopack: scale default disk write concurrency: #101519
  • eval: correct graders for Proxy, instant navigation, and category prefetching: #101523
  • docs: clarify Server Actions configuration: #101549
  • Turbopack: add build cache portability e2e test and fix location-dependent tasks: #100780
  • Turbopack: replace SwcComments with a lightweight MutableComments store: #101543
  • turbo-tasks-backend: merge aggregated data updates for new followers: #100435
  • test: fix keep-alive socket reuse in CSS HMR race helper: #101530
  • turbo-tasks: count task executions in task statistics: #101025
  • test: fix repeated-slashes router push navigation race: #101528
  • next-core: deserialize next.config env and output file tracing globs into typed maps: #100971
  • turbo-tasks: add OrderedJsonValue/OrderedJsonMap with key-order-sensitive equality: #100964
  • turbo-tasks: use OrderedAutoMap/OrderedAutoSet for order-observing values: #100940
  • auto-hash-map: add positional access and IndexMap/IndexSet conversions for ordered maps: #101497
  • test: close lingering prerender-export server connections: #101527
  • test: fix flaky app-root-params-getters/simple: #101525
  • test: fix flaky dev-validation-worker-source-maps: #101524
  • turbo-tasks-malloc: use official mimalloc Rust bindings (v3.6.1): #101518
  • docs: explain complementary Web Vitals and custom metrics APIs: #98968

Credits

Huge thanks to @unstubbable, @timneutkens, @jimmyhmiller, @aurorascharff, @sokra, @lukesandberg, and @adityareddy-dev for helping!

v16.5.0-canary.47

v16.5.0-canary.47 Pre-release
Pre-release

Choose a tag to compare

@next-js-bot next-js-bot released this 10 Nov 23:42
fe17348

Core Changes

  • fix(next/image): detect distortion using intrinsic proportions: #101349
  • Write CPU profiles for next build static workers: #100614

Misc Changes

  • turbo-tasks-backend: process aggregation edge removals after additions and balancing: #100892
  • turbo-tasks-backend: track early aggregation edge removals as follower debt instead of retrying: #100873
  • Skip unused URL effects in web worker constructors: #101297
  • Turbopack: discover snapshot fixtures with custom entries: #101495
  • turbo-tasks: Add AutoSet and OrderedAutoSet benchmarks: #100952
  • turbo-tasks: Support IndexMap backed AutoMap and AutoSet: #100948
  • Turbopack: fix scope-hoisted imports of missing exports: #101482
  • Turbopack: don't suggest already-imported names for missing exports: #101479

Credits

Huge thanks to @sokra, @jimmyhmiller, and @aurorascharff for helping!

v16.5.0-canary.46

v16.5.0-canary.46 Pre-release
Pre-release

Choose a tag to compare

@next-js-bot next-js-bot released this 09 Nov 23:50
0d6361d

Core Changes

  • Resolve parallel route params from the URL when predicting routes: #101477
  • Prevent prerenders from changing foreground response status: #101295
  • Release fetch cache locks when origin fetch throws synchronously: #101461
  • Don't block the dev overlay on the npm registry version check: #100628
  • Fix deployed RSC responses after static-to-partial revalidation: #101454
  • docs: enable the testing API at build and server startup: #101443

Misc Changes

  • turbo-tasks: pack CellKey into one word: #101393
  • Turbopack: use bincode fixint encoding for ids and persisted hashes: #101419
  • [evals] Move fixtures to AI SDK 7: #101470
  • Turbopack: migrate CSS snapshot tests to execution tests: #101232
  • Turbopack: migrate basic snapshot tests to execution tests: #101231
  • Turbopack: migrate tree-shaking and scope-hoisting snapshot tests to execution tests: #101230
  • Turbopack: migrate ESM export optimization snapshot tests to execution tests: #101229
  • Turbopack: migrate CommonJS tree-shaking snapshot tests to execution tests: #101228
  • Turbopack: migrate comptime snapshot tests to execution tests: #101227
  • Turbopack: migrate import and resolution snapshot tests to execution tests: #101211
  • Require real router interactions in navigation tests: #101462
  • [create-next-app] Output next steps commands when creating app from template: #99769

Credits

Huge thanks to @lukesandberg, @acdlite, @unstubbable, @swarnava, @sokra, @ShakilUrRehman21, and @aurorascharff for helping!

v16.4.6

Choose a tag to compare

@eps1lon eps1lon released this 09 Nov 20:27
54b876b

Note

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

Core Changes

  • [lts-active] Pin Tailwind to 4.3.3 in create-next-app and tests (#101061, #101176) (#101307)
  • [lts-active] Automatically compress route handler responses if not already compressed (#101280)
  • [lts-active] Turbopack GC fixes for dev (#100279, #100370) (#101308)

Credits

Huge thanks to @lukesandberg and @eps1lon for helping!

v16.5.0-canary.45

v16.5.0-canary.45 Pre-release
Pre-release

Choose a tag to compare

@next-js-bot next-js-bot released this 08 Nov 23:47
798f6f3

Core Changes

  • docs: clarify agent feedback workspace context: #101358

Misc Changes

  • Turbopack: support turbopackIgnore on new URL(): #99965
  • turbo-tasks-backend: release unused capacity in task storage: #101344
  • turbopack-ecmascript: store AstPathTrie nodes as parent and kind indices: #101370

Credits

Huge thanks to @lukesandberg and @aurorascharff for helping!

v16.5.0-canary.44

v16.5.0-canary.44 Pre-release
Pre-release

Choose a tag to compare

@next-js-bot next-js-bot released this 07 Nov 23:41
a8856bf

Core Changes

  • docs: clarify refresh client cache behavior: #101160
  • Link Cache Components config errors to the migration guide: #101348
  • Bump is-animated@3.0.19: #101173

Example Changes

  • docs: use visible route locators with Cache Components: #101346

Misc Changes

  • docs: fix missing Roboto_Mono import in Pages Router font example: #88849
  • docs: fix crossOrigin wording: #97462
  • fix: update MDN link in route.mdx: #100753
  • docs: fix link reference for child Layout in documentation: #94327
  • docs: fix two links broken by the middleware to proxy rename: #99375
  • docs: clarify Image priority migration and loading choices: #101345
  • docs: clarify metadata image precedence: #101249
  • Upgrade Rust toolchain to nightly-2026-11-06: #101279

Credits

Huge thanks to @codeandcore, @Rezakarimzadeh98, @robsimmons, @fediev, @adityareddy-dev, @aurorascharff, @styfle, and @mischnic for helping!

v16.5.0-canary.43

v16.5.0-canary.43 Pre-release
Pre-release

Choose a tag to compare

@next-js-bot next-js-bot released this 06 Nov 23:41
2604659

Core Changes

  • fix(app-render): stop prerendered Link headers from accumulating on revalidation: #100960
  • Align eslint-config-next TypeScript peer with typescript-eslint: #101247
  • Reduce header allocations in NodeNextResponse: #101225
  • [image-optimizer] Move next/image-optimizer-transform under the next/experimental namespace: #101252
  • [image-optimizer] Don't use NextConfigComplete for the imageOptimizerTransform public API: #101184
  • Improve Request Insights context menus and trace interactions: #97796
  • Build and analyze in one pass: #99962

Misc Changes

  • docs: clarify SVG handling in the Image Optimization API: #101301
  • Turbopack: use hash collections for turbo-tasks values whose order is unobserved: #100939
  • Turbopack: don't split page entries into a facade: #101152
  • Turbopack: replace Next.js entry kinds with an opaque entry tag: #101291
  • docs: map BFF proxy example routes to fixed backend endpoints: #101286
  • docs: explain ESLint setup with TypeScript 7: #101246
  • Durable use cache conditional reads: #101283
  • docs: read the URL in history API event handlers instead of calling hooks: #101224
  • review: escalate Next.js concepts in Turbopack code: #101278
  • test: enable HMR dependency acceptance coverage for webpack: #101196
  • test: Replace itTurbopack with test gates: #101195

Credits

Huge thanks to @styfle, @lukesandberg, @linyiru, @icyJoseph, @kassens, @mischnic, @eps1lon, @bgw, @DavidIlie, and @wbinnssmith for helping!