Skip to content

Releases: vercel/next.js

v16.2.1-canary.26

07 Apr 23:34

Choose a tag to compare

v16.2.1-canary.26 Pre-release
Pre-release

Core Changes

  • next-routing: middleware matching and app request URL normalization: #91859
  • docs: clarify serverless runtime behavior for use cache: #92232

Misc Changes

  • Adding more system info to the 'initialize project' trace: #92427
  • CI: Update and cleanup next-stats-action, force using pnpm 10.33.0: #92475
  • turbo-persistence: Use AtomicBool for is_empty() to avoid lock contention: #92481

Credits

Huge thanks to @ijjk, @andrewimm, @bgw, @wwenrr, and @lukesandberg for helping!

v16.2.1-canary.25

07 Apr 18:52

Choose a tag to compare

v16.2.1-canary.25 Pre-release
Pre-release

Core Changes

  • Include more context in macOS Rosetta 2 warning message: #92436
  • change the process name of builds: #92411
  • Fix styled-jsx race condition: styles lost due to concurrent rendering: #92459
  • turbo-tasks: fix hashed cell mode crash on task error (re-land #91576): #92108
  • Optimize how we track data for persistence: #89370
  • Route Handlers: Fix devRequestTimingInternalsEnd and Turbopack server HMR: #92271

Misc Changes

  • turbo-persistence: skip BlockCache for uncompressed (mmap-backed) blocks: #92390
  • docs: clarify that proxy/middleware matches static assets by default: #92441
  • turbo-persistence: pin referenced BlockCache entries to prevent eviction: #92361
  • [test] Skip flaky client-cache.parallel-routes in production and deploy: #92195
  • Fix sst inspect tool to respect CURRENT and stale sst files: #92414
  • [turbopack] add family name to many spans: #92415
  • scripts/pr-status: add reply-and-resolve-thread command: #92450
  • [test] Regenerate checked-in tsconfig.json files: #92455

Credits

Huge thanks to @sokra, @bgw, @lukesandberg, @icyJoseph, @eps1lon, and @wbinnssmith for helping!

v16.2.1-canary.24

07 Apr 04:18

Choose a tag to compare

v16.2.1-canary.24 Pre-release
Pre-release

Core Changes

  • chore: Upgrade to pnpm 10.x: #92283
  • fix(server-hmr): metadata routes overwrite page runtime HMR handler: #92273
  • Turbopack: Add a check for node version before allowing workerThreads: #91614

Misc Changes

  • turbo-persistence: optimize file syncing: #90542
  • Bump turborepo from 2.8.11 to 2.9.4: #92425
  • Turbopack: Remove turbo_tasks::apply_effects, use Effects::apply instead: #91858

Credits

Huge thanks to @bgw, @wbinnssmith, and @lukesandberg for helping!

v16.2.1-canary.23

06 Apr 23:33

Choose a tag to compare

v16.2.1-canary.23 Pre-release
Pre-release

Core Changes

  • Allow for parsing app route strings with and without slot names.: #92327

Misc Changes

  • use sorted inserts to improve builder performance: #91553
  • [tests]: remove unnecessary skipDeployment flags: #92423

Credits

Huge thanks to @lukesandberg, @ztanner, and @gnoff for helping!

v16.2.1-canary.22

06 Apr 18:00

Choose a tag to compare

v16.2.1-canary.22 Pre-release
Pre-release

Core Changes

  • Handle edge runtime in places that import node:stream: #92354
  • fix: add AGENTS.md at package root for agent discovery: #92376
  • Fix fallback route params case in app-page handler: #91737

Credits

Huge thanks to @timneutkens, @aurorascharff, and @ijjk for helping!

v16.2.1-canary.21

05 Apr 23:33

Choose a tag to compare

v16.2.1-canary.21 Pre-release
Pre-release

Misc Changes

  • next-core: deduplicate output assets and detect content conflicts on emit: #92292
  • docs: add deploy tests documentation to contributing guide: #92388

Credits

Huge thanks to @sokra and @ztanner for helping!

v16.2.1-canary.20

04 Apr 23:33

Choose a tag to compare

v16.2.1-canary.20 Pre-release
Pre-release

Core Changes

  • Improve existing dev server error message to suggest using it: #92317
  • Restart the next dev server if .next is deleted: #92135
  • feat: add experimental.swcEnvOptions for SWC preset-env configuration: #92272

Misc Changes

  • Update Rust toolchain to nightly-2026-04-02: #92288
  • docs: Ask AI agents to self-identify themselves in PR descriptions: #92235
  • Turbopack: Remove FileSystemPath::value_to_string in favor of ValueToStringRef::to_string_ref: #92284
  • [turbopack] use zero copy qfilter deserialization: #90574
  • Turbopack: Dedupe our two filesystempath extension/extension_ref functions: #92048
  • turbo-tasks: replace async resolve fns with custom Future types (ResolveRawVcFuture, ResolveVcFuture, ToResolvedVcFuture): #91554

Credits

Huge thanks to @feedthejim, @bgw, @wbinnssmith, @lukesandberg, @banchichen, and @sokra for helping!

v16.2.1-canary.19

03 Apr 23:33

Choose a tag to compare

v16.2.1-canary.19 Pre-release
Pre-release

Core Changes

  • Add MCP get_compilation_issues tool and NAPI method: #92062
  • Ensure app-page reports stale ISR revalidation errors via onRequestError: #92282
  • Move streamToUint8Array back to node-web-streams-helper.ts: #92263
  • fix: add @deprecated annotation to experimental.useCache: #92316

Misc Changes

  • turbo-tasks-backend: stability fixes for task cancellation and error handling: #92254
  • Add view transitions eval (agent-043): #92260
  • [turbopack] optimize RcStr parsing: #91773
  • ci: fix stats action: #92325
  • Revert "simplify session dependent tasks and add TTL support (#91729)": #92320
  • ci: remove deploy examples workflow from build-and-deploy: #92324

Credits

Huge thanks to @sokra, @aurorascharff, @lukesandberg, @ztanner, and @timneutkens for helping!

v16.2.1-canary.18

03 Apr 00:00

Choose a tag to compare

v16.2.1-canary.18 Pre-release
Pre-release

Core Changes

  • Add telemetry for adapterPath config usage: #92228
  • Node.js streams: First pass: #90500
  • fix: preserve HTTP access fallbacks during prerender recovery: #92231
  • Remove unnecessary ALS re-exports from entry-base.ts: #91527
  • Allow multi-level .localhost subdomains in dev origin check: #92262

Misc Changes

  • remove the loop from StaticSortedFile::lookup: #91688
  • Fix pr-status.js: retry on API errors and report timed-out jobs: #92205
  • docs: vt demo guide: #92249

Credits

Huge thanks to @lukesandberg, @ijjk, @timneutkens, @sokra, @ztanner, @icyJoseph, @unstubbable, and @ctate for helping!

v16.2.1-canary.17

01 Apr 23:34

Choose a tag to compare

v16.2.1-canary.17 Pre-release
Pre-release

Core Changes

  • Improve revalidateTag JSDoc to include guidance about required second parameter: #92176
  • partial fallbacks: adapter support for intermediate shells: #91902
  • docs: clarify id, filePath, and pathname in STATIC_FILE adapter output: #92227
  • feat: add NEXT_HASH_SALT env var for content-hash filename salting: #91871
  • Generate a CLI warning if using Rosetta 2 on Apple Silicon: #92220

Misc Changes

  • simplify session dependent tasks and add TTL support: #91729
  • disable bmi2 in qfilter: #92177
  • fix: pin 19 actions to commit SHA, extract 7 expressions to env vars: #92016
  • [test] Skip flaky cached-navigations tests: #92199
  • [test] Skip flaky prefetch-layout-sharing suite: #92198
  • Add internal header security guideline to AGENTS.md: #92128
  • docs: local images referenced by remote source: #92178
  • Update Rspack production test manifest: #92143
  • [test] Deflake allowed-dev-origins: #92211
  • Reapply "ci: add node-stream test coverage workflow (#89861)": #91664
  • Turbopack: trace fs.readdir calls: #92148
  • Fix DashMap read-write self-deadlock in task_cache causing hangs: #92210
  • [turbopack] use a single query parameter for cache busting: #92214
  • Docs/adapters review: #92223

Credits

Huge thanks to @lukesandberg, @aurorascharff, @dagecko, @eps1lon, @gaojude, @icyJoseph, @ztanner, @vercel-release-bot, @ijjk, @feedthejim, @mischnic, @sokra, and @bgw for helping!