vercel/next.js
 Watch   
 Star   
 Fork   
7 hours ago
next.js

v15.2.0-canary.41

Core Changes

  • [Turbopack] await shutdown before ending pool: #75545
  • [Error Overlay] Comprehensive refinement: #75471
  • Upgrade React from a4b2d0d5-20250203 to 0a82580b-20250203: #75660

Misc Changes

  • perf: Make barrel optimizer use Atom instead of String: #75592
  • perf: Make RSC pass use Atom instead of String: #75593
  • perf: Make server action pass use Atom instead of String: #75594
  • [Turbopack] sort spans by start date in tracing: #75642
  • [Turbopack] setup aggregation number before connecting children: #74910
  • perf: Make page exports stripper use Atom instead of String: #75595
  • perf: Make page static info use Atom instead of String: #75596
  • [Turbopack] reduce the number of spans created in task completion: #75437
  • [Turbopack] wait for output instead of waiting for task completion: #75438
  • perf: Remove needless Arc: #75601
  • Turbopack: make IssueSource a TaskInput: #75542
  • Unflake cookies/headers/draftMode in "use cache" test: #75675
  • Turbopack: don't watch output FS: #75680
  • Turbopack: uncell RequireContextValue: #75683
  • Turbopack: cache variables in linker: #75440

Credits

Huge thanks to @kdy1, @sokra, @raunofreiberg, @mischnic, and @unstubbable for helping!

22 hours ago
next.js

v15.2.0-canary.40

Core Changes

  • fix: preserve custom Vary headers: #75536
  • Clean-up: remove unused errorMessage param in stack frames: #75554
  • Upgrade React from 37906d4d-20250127 to c492f975-20250128: #75434
  • Fix console replaying and React.cache usage in "use cache" functions: #75520
  • Upgrade React from c492f975-20250128 to a4b2d0d5-20250203: #75649
  • DX: Reduce devtools clutter by batching stack frame requests: #75557
  • Add nodejs runtime support for middleware: #75624
  • polish hydration errors: #75632
  • feat: added support for prefetch segments when deployed: #75202

Misc Changes

  • chore(github): update stale bot: #75630
  • perf(turbopack): Update rustc-hash from 1.1.0 to 2.1.0: #75531
  • perf(next-custom-transforms): Replace non-Sync Rc<DashMap<_, _>> usage with Rc<RefCell<FxHashMap<_, _>>>: #75534
  • refactor(turbopack): Define and use an FxDashMap alias everywhere: #75538
  • perf(turbopack): Migrate as many data structures to FxHash as possible: #75546
  • Disable rewrite-headers tests that are dependent on Vercel site config: #75647
  • docs: remove unused imports: #75653
  • Run build-nextjs for Turbopack test runs on metal machines instead of GitHub hosted runner: #75654
  • perf: Make next_ssg use Atom instead of String: #75591
  • Remove github runner specific step: #75655
  • [Turbopack] fix dependencies on own task: #75658
  • Turbopack: OutputAsset::path(): #75659
  • [Turbopack] use Timestamp type, allow spans less than 1µs: #75479
  • Turbopack: generate less JS before minification: #75358
  • [Turbopack] correctly apply defines: #75643
  • Turbopack: don't cell CodeGen-s: #75513

Credits

Huge thanks to @Timer, @samcx, @bgw, @gaojude, @unstubbable, @leerob, @timneutkens, @kdy1, @sokra, @mischnic, @ijjk, @huozhi, and @wyattjoh for helping!

1 days ago
next.js

v15.2.0-canary.39

Core Changes

  • [DevOverlay] cleanup hydration error UI: #75499
  • [metadata] Remove deadcode and extract separate test suite: #75528
  • refactor: decouple getOriginalStackFrame from endpoint: #75553
  • fix: dev overlay style to add wrap + adjust bg width: #75485

Misc Changes

  • refactor(turbo-tasks): Codemod/migrate all ResolvedVc casting callsites to use the new synchronous APIs: #75547
  • perf: Make cjs_optimizer use Atom instead of String: #75588
  • perf(turbo-tasks-fs): Call shrink_to_fit when building an immutable Rope: #75505
  • chore(turbopack): Remove unmaintained fxhash crate, use rustc-hash instead: #75530
  • chore(github): add conditional to triage workflow: #75524

Credits

Huge thanks to @ztanner, @bgw, @kdy1, @huozhi, @samcx, and @gaojude for helping!

1 days ago
next.js

v15.2.0-canary.38

Core Changes

  • [DevOverlay] fix total error count: #75500
  • fix: incoming requests should use plural: #75582
  • Don't warn about Turbopack config if disabled: #75618
  • Unfork stack frame utils: #75532
  • [use-cache] Exclude warmup render when dynamicIO is off: #75527
  • add additional x-middleware-set-cookie filtering: #75561
  • [use-cache] use computed size of the ReadableStream for LRU evicting: #75607
  • Include HMR refresh hash in "use cache" cache keys: #75474

Misc Changes

  • Update test-junit-report path: #75612
  • [Turbopack] add more options for production chunking: #75544
  • Turbopack: Skip Traced chunking type in module graph: #75608
  • fix(turbo-tasks): Fix building with --features=turbo-tasks/hanging_detection: #75584
  • Turbopack: Disable react_refresh code in production: #75535
  • chore: remove global-error in hello-world example: #75509
  • [Turbopack] limit the number of concurrent fs operations: #75480
  • Fix rustflags in *-musl builds: #75614
  • Ensure junit-report is uploaded: #75615
  • refactor(turbo-tasks): Port task statistics to the new backend: #75303
  • Bring back rust bindings path: #75620
  • Turbopack: short module ids in cli: #75357
  • perf(turbo-rcstr): Fix the fast codepath for RcStr::into_owned(): #75504
  • Fix corepack keys in deploy e2e tests: #75622
  • chore(turbo-tasks): Add test for argument filtering: #75585
  • perf: Make next-page-static-info use Atom instead of String: #75587

Credits

Huge thanks to @timneutkens, @sokra, @mischnic, @bgw, @huozhi, @eps1lon, @ztanner, @gaojude, @gnoff, @apostolos, @unstubbable, and @kdy1 for helping!

2 days ago
next.js

v15.2.0-canary.37

Core Changes

  • [Turbopack] allow to manually mark tasks as root: #75436
  • [Turbopack] disable dependency tracking when running build without persistent caching: #75243
  • [DevOverlay] fix total error count: #75500

Misc Changes

  • fix rustflags for musl targets: #75599
  • Fix rewrite-headers test: #75602
  • Turbopack CI: Update test results artifact: #75429
  • Add package.json script for building turbopack-cli: #75031
  • [Turbopack] update event_listener to fix hanging bug: #75481
  • Turbopack: add dedicated TracedAsset: #75510
  • Turbopack: generate shorter variable idents: #75611
  • [Turbopack] connect children in a batch when task is about to finish: #74773
  • Update test-junit-report path: #75612
  • [Turbopack] add more options for production chunking: #75544
  • Turbopack: Skip Traced chunking type in module graph: #75608
  • fix(turbo-tasks): Fix building with --features=turbo-tasks/hanging_detection: #75584
  • Turbopack: Disable react_refresh code in production: #75535
  • chore: remove global-error in hello-world example: #75509
  • [Turbopack] limit the number of concurrent fs operations: #75480
  • Fix rustflags in *-musl builds: #75614

Credits

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

6 days ago
next.js

v15.2.0-canary.33

Misc Changes

  • chore(github): update more labels: #75444
  • [Turbopack] only the first task read need to be strongly consistent: #75435
  • perf(turbo-tasks): Filter out and do not cache unused arguments: #75261
  • build: Update swc_core to v12.0.0: #75327
  • chore(github): update github labels: #75452

Credits

Huge thanks to @samcx, @sokra, @bgw, and @kdy1 for helping!

7 days ago
next.js

v15.2.0-canary.32

Core Changes

  • Revert changing bundler for runtime bundle but keep externals fix: #75412
  • Revert "fix: handle optional catchalls correctly": #75442

Misc Changes

  • Turbopack: Use from_utf8_unchecked for minify output: #75422
  • docs: add optimizations for navigating between App/Pages router: #75427
  • Add temporary CI workflows for testing: #75432
  • [Turbopack] fix is_empty implementation: #75426
  • docs: specify encryption for custom actions key: #75425

Credits

Huge thanks to @timneutkens, @leerob, @ijjk, @sokra, and @ztanner for helping!

7 days ago
next.js

v15.2.0-canary.31

Core Changes

  • Fixed null is not an object (evaluating 't.parallelRoutes.get'): #75360
  • Turbopack: Move build to separate file: #75390
  • Upgrade React from 9eabb373-20250124 to 37906d4d-20250127: #75398
  • Turbopack: Implement build worker: #75391

Credits

Huge thanks to @msereniti and @timneutkens for helping!

7 days ago
next.js

v15.2.0-canary.30

Core Changes

  • [dev-overlay] do not close overlay when click indicator elements: #75406
  • fix: add parser metadata for eslint 9 cache: #74791

Misc Changes

  • Turbopack: use type alias: #75300
  • [cna] upgrade templates tailwind to v4: #75407
  • chore(github): update more labels: #75409
  • create-next-app: default to ESLint disabled: #73864

Credits

Huge thanks to @devjiwonchoi, @sokra, @samcx, @leerob, and @CvX for helping!

8 days ago
next.js

v15.2.0-canary.29

Core Changes

  • tweak static generation retry wait time: #75381
  • [Dev Badge] Accessibility improvements to dropdown menu: #75268
  • Gate captureOwnerStack access on experimental.reactOwnerStack: #75241
  • [DevOverlay] Remove unused props from errors.tsx and its story: #75392
  • feat: slow module detection for webpack: #75368
  • UI polish: dev overlay feedback button: #75400
  • [DevOverlay] fix: shadow host element affects parent's display: #70676
  • [DevOverlay] Display Correct Number of Errors on Indicator: #75395
  • [dev-overlay] fix: do not open error overlay when click indicator: #75404
  • fix: handle optional catchalls correctly: #75377

Misc Changes

  • chore(github): update more labels: #75382
  • docs: let searchParams be Promise in <Form> example.: #75386
  • [Turbopack] cleanup tracing spans and names: #75385
  • Convert remaining sync (search)params access: #75389

Credits

Huge thanks to @ztanner, @samcx, @k35o, @raunofreiberg, @eps1lon, @devjiwonchoi, @sokra, @gaojude, @martinsione, and @wyattjoh for helping!