Skip to content

Releases: vercel/next.js

v16.3.0-canary.5

29 Apr 00:30
16150cc

Choose a tag to compare

v16.3.0-canary.5 Pre-release
Pre-release

Core Changes

  • Apply sourcemaps by default during prerender in next build: #93280
  • Fix route handler SWR blocking on Node runtime: #93189
  • [ci]: fix release script to not strip newlines: #93302
  • Forward invalid dynamic usage errors on client-side navigations: #93184
  • HMR: debounce status indicator transitions to prevent flicker during bursts of changes: #93229
  • ci: Fix caching of test-cargo-unit: #93327
  • Turbopack: pull in updated vercel/nft tests: #93321

Misc Changes

  • Turbopack: compute exports without full analysis: #92823
  • Turbopack: cheaper check in map_next_dynamic: #93283
  • [turbo-tasks-backend] Single-item optimization for lost follower operations: #93200
  • Fix export * as X from './self' in scope-hoisted modules: #93192
  • [ci]: Use macOS arm runner for intel builds: #93330
  • Turbopack: only compute module ids for included modules: #93276
  • Turbopack: iter_reachable_modules: #93315
  • Turbopack: add failing test for cross-module side-effect inference: #93323
  • Turbopack: also add edge count to trace: #93314
  • [turbopack-trace-server] optimize loading: #93264
  • [rust-deps] Update tokio: #93195

Credits

Huge thanks to @eps1lon, @mischnic, @unstubbable, @ztanner, @sokra, @wbinnssmith, and @lukesandberg for helping!

v16.3.0-canary.4

28 Apr 18:05
ae61573

Choose a tag to compare

v16.3.0-canary.4 Pre-release
Pre-release

Core Changes

  • Preserve __NEXT_ERROR_CODE across the /_error page handoff: #93183

Misc Changes

  • Reduce allocations in the next_debug_instant_stack transform: #93222

Credits

Huge thanks to @unstubbable and @lukesandberg for helping!

v16.3.0-canary.3

28 Apr 17:13
458b0db

Choose a tag to compare

v16.3.0-canary.3 Pre-release
Pre-release

Core Changes

  • New ESLint rule: no-location-assign-relative-destination: #92900
  • Upgrade React from fef12a01-20260413 to da9325b5-20260417: #92945
  • Auto-generate AGENTS.md / CLAUDE.md in next dev: #92910
  • Strengthen _rsc cache-busting param: #92755
  • rage-restart followup: #92591
  • fix(use-cache): remove awaiting revalidation: #92636
  • Revert "Adopt pnpm catalogs for devDependencies": #93226
  • instant(): Block out-of-band client fetches: #93099
  • [next/image] Stop using deprecated url.parse: #93208
  • Suspend dynamic route params in dev instant shell: #93108
  • Turbopack: import.meta.glob docs + edge case support: #92729

Misc Changes

  • chore: Prune list of users in labeler json: #92984
  • [test] Deflake shallow-routing: #93006
  • Use existing commitId for tarball URL in stats action: #92899
  • docs: link Activity guide from Cache Components migration guide: #92571
  • docs: add guide for displaying dates without hydration flash: #92786
  • chore: remote apps/docs: #93041
  • [ci]: remove unused workflow: #93064
  • [ci]: remove publish token in favor of OIDC: #93065
  • Update Rspack development test manifest: #92959
  • [ci] Temporary disable of sccache: #93074
  • Use OIDC for CodSpeed: #93059
  • Restore dev-mode cache-fill timeout for 'use cache': #93055
  • [ci]: add environment to publishRelease flow: #93093
  • Adopt pnpm catalogs for devDependencies: #93071
  • Make 'use cache' fill timeout configurable: #93070
  • turbo-tasks: drop once_cell, const-init TRAIT_METHOD, ctor WORKER_TASKS: #93090
  • Patch setHeader for direct route handlers: #93101
  • [turbopack] Persistent last_successful_parse: #92852
  • [turbopack] Unify Cell Storage: #92974
  • Collapse pnpm test scripts into a single helper invocation: #93097
  • [tests]: fix cache-components.test.ts type error: #93113
  • [ci]: cleanup labeler: #93135
  • Docs: add signed commit guidance: #93155
  • [ci]: switch to GitHub runners: #93164
  • [ci]: pin rust-musl-cross: #93176
  • [turbopack] Fix max_level_hint to return most verbose per-target level: #93128
  • feat(turbopack): add NEXT_TURBOPACK_TRACING_PATH to control trace output location: #93084
  • Turbopack: move import_usage computation into ImportMap: #92891
  • [rust-deps] Update serde: #93196
  • [rust-deps] Update tracing: #93194
  • Turbopack: unify ModuleGraph constructors: #93203
  • [ci] replace next-labeler-webhook with in-repo GitHub Action: #93080
  • example: remove with-supertokens: #93212
  • Turbopack: move get_inner_asset into ecmascript module: #93191
  • [ci] Fix auto-label workflow: #93215
  • [test] Remove dead symlink: #93217
  • [ci] Populate GITHUB_TOKEN for auto-labeler: #93219
  • [ci]: move stats & CI status comment to workflow: #93220
  • [ci] Upload preview builds directly to Vercel Blob: #93207
  • [ci]: fix permissions on comment workflow: #93225
  • [turbopack] drop TransientState: #92853
  • [ci] Handle namespaced packages in preview builds: #93241
  • [ci] Create test summary comment if job immediately passes: #93236
  • [ci] Automatically start React sync when new react@experimental is available: #93235
  • [rust-deps] Update bytes, crc32fast, memchr, pin-project-lite, quote, rand, regex, ringmap, roaring: #93197
  • Recognize super(...) messages in Error subclass constructors: #93182
  • docs: remove broken error-handling overlay screenshot: #93279
  • [ci]: app-based release workflow: #93245
  • [turbopack-trace-server] Performance improvements for span event handling: #93179
  • [ci]: trigger signed release commit via API: #93285

Credits

Huge thanks to @bgw, @eps1lon, @SukkaW, @nextjs-bot, @devjiwonchoi, @aurorascharff, @feedthejim, @icyJoseph, @ztanner, @vercel-release-bot, @mmastrac, @mischnic, @gaojude, @unstubbable, @lukesandberg, @ijjk, @wbinnssmith, @awo00, @sokra, @acdlite, and @christopherkindl for helping!

v16.3.0-canary.2

18 Apr 23:44

Choose a tag to compare

v16.3.0-canary.2 Pre-release
Pre-release

Misc Changes

  • Improve "make root node" trace attributes: #92941
  • CI: Track SWC native binary size in PR stats comment: #92938

Credits

Huge thanks to @sokra for helping!

v16.3.0-canary.1

17 Apr 23:45

Choose a tag to compare

v16.3.0-canary.1 Pre-release
Pre-release

Core Changes

  • Support more prefetch configuration options: #92859
  • Improve deduping of concurrent 'use cache' invocations: #91830
  • [partial fallbacks]: include prefetch requests in shell upgrade handling: #92894
  • Redesign blocking route dev overlay and build errors: #92638
  • Switch to cargo-binstall and pre-built sccache binaries: #92911
  • Remove prefetch from instant config: #92761

Misc Changes

  • Fix flake in rewrites-manual-href-as test: #92948
  • docs: amends to preserving-ui-state guide: #92270

Credits

Huge thanks to @gnoff, @unstubbable, @ztanner, @aurorascharff, @mmastrac, and @icyJoseph for helping!

v16.3.0-canary.0

17 Apr 16:09

Choose a tag to compare

v16.3.0-canary.0 Pre-release
Pre-release

Core Changes

  • fix(next/image): ensure images.maximumResponseBody applies to local images too: #92920
  • Refactor trace server sort to SortMode enum (execution order / value / name): #92873
  • Perf: Simplify static metadata handling: #92630
  • remove flag guarding unstable_io: #92923

Misc Changes

  • [ci] Cache passing test results so CI retries skip them: #92832
  • fix accidental test duplication: #92922
  • rename MagicAny: #92918
  • turbopack: reduce EffectStateStorage memory by storing u128 content hashes: #92902
  • turbo-trace-server: reduce allocation overhead when loading large trace files: #92896
  • Turbopack: optimize SelfTimeTree performance, memory usage, and fix range query boundaries: #92931
  • [ci]: fix backport sync script: #92942

Credits

Huge thanks to @styfle, @mmastrac, @ztanner, @lukesandberg, @sokra, @timneutkens, and @gnoff for helping!

v16.2.1-canary.46

16 Apr 23:46

Choose a tag to compare

v16.2.1-canary.46 Pre-release
Pre-release

Core Changes

  • Support type cast expressions in page static info extractor: #92837
  • Fix dev mode hydration failure when page is served from HTTP cache: #92892
  • [devtools] Preserve full code frames in browser overlay: #92621
  • Enable prefetchInlining by default: #92863
  • Replace deprecated moduleResolution: "node": #92654

Misc Changes

  • turbo-tasks: add info_span for blocking waits during task restore: #92878
  • Turbopack: Use an async lock in the filesystem watcher: #92906
  • [ci] Skip Playwright system deps install on subsequent self-hosted runs: #92893
  • turbo-tasks: Reduce allocations on cache hits: #92756
  • CI: Remove dead yarn support from next-stats-action: #92587

Credits

Huge thanks to @mischnic, @sokra, @unstubbable, @aurorascharff, @acdlite, @bgw, @mmastrac, @eps1lon, and @lukesandberg for helping!

v16.2.1-canary.45

16 Apr 12:06

Choose a tag to compare

v16.2.1-canary.45 Pre-release
Pre-release

Core Changes

  • Allow overriding outputHashSalt in modifyConfig: #92856

Misc Changes

  • Turbopack: Use lld again on ARM64 glibc Linux: #92860
  • [ci]: add workflow to bump canary after backport: #92801
  • turbopack: cache TransformPlugin in narrow-scoped turbo-tasks functions: #92842

Credits

Huge thanks to @bgw, @ztanner, @sokra, and @mischnic for helping!

v16.2.4

15 Apr 22:35

Choose a tag to compare

Note

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

Core Changes

  • chore: Bump reqwest to 0.13.2 (Fixes Google Fonts with Turbopack for Windows on ARM64) (#92713)
  • Turbopack: fix filesystem watcher config not applying follow_symlinks(false) (#92631)
  • Scope Safari ?ts= cache-buster to CSS/font assets only (Pages Router) (#92580)
  • Compiler: Support boolean and number primtives in next.config defines (#92731)
  • turbo-tasks: Fix recomputation loop by allowing cell cleanup on error during recomputation (#92725)
  • Turbopack: shorter error for ChunkGroupInfo::get_index_of (#92814)
  • Turbopack: shorter error message for ModuleBatchesGraph::get_entry_index (#92828)
  • Adding more system info to the 'initialize project' trace (#92427)

Credits

Huge thanks to @Badbird5907, @lukesandberg, @andrewimm, @sokra, and @mischnic for helping!

v16.2.1-canary.44

15 Apr 23:47

Choose a tag to compare

v16.2.1-canary.44 Pre-release
Pre-release

Core Changes

  • fix(trace-server): default MCP port to --port + 1 to avoid conflicts: #92831
  • Revert "Node.js streams: Add forkpoint for prerenderToStream": #92845
  • Warn for non-deterministic "use cache" args during final prerender: #92820

Misc Changes

  • Share native binaries via GitHub artifacts: #92758
  • Turbopack: shorter error message for ModuleBatchesGraph::get_entry_index: #92828
  • Turbopack: refactor export analysis: #92781
  • [ci] Skip sccache on Windows runners: #92847
  • Turbopack: remove StarImportAnalyzer: #92830
  • Turbopack: analyzer improvement followups: #92834
  • Update Rspack production test manifest: #92674
  • Update Rspack development test manifest: #92673
  • Turbopack: move assignment_scopes computation into ImportMap: #92835
  • docs: restructure instant nav guide for clarity: #92684
  • docs: add documentation for no-typos ESLint rule: #92809

Credits

Huge thanks to @mmastrac, @sokra, @mischnic, @timneutkens, @vercel-release-bot, @unstubbable, @icyJoseph, and @MukundaKatta for helping!