Skip to content

Turbopack: Update rust toolchain to nightly-2026-02-18#89974

Merged
bgw merged 5 commits intocanaryfrom
bgw/update-rust-toolchain
Feb 18, 2026
Merged

Turbopack: Update rust toolchain to nightly-2026-02-18#89974
bgw merged 5 commits intocanaryfrom
bgw/update-rust-toolchain

Conversation

@bgw
Copy link
Member

@bgw bgw commented Feb 13, 2026

Rust finally merged a fix to the "trying to encode a dep node twice" ICE we seem to most frequently run into, triggered by the rustc parallel frontend feature: rust-lang/rust#151509

CI Job for build-and-release that covers all platforms: https://github.com/vercel/next.js/actions/runs/22156881743

In the process of this upgrade, I found and reported rust-lang/rust#152735 upstream (fixed nightly-2026-02-18).

Copy link
Member Author

bgw commented Feb 13, 2026

Copy link
Contributor

@vercel vercel bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Additional Suggestion:

Devcontainer feature file references old Rust nightly version (nightly-2026-02-05) while rust-toolchain.toml was updated to nightly-2026-02-13.

Fix on Vercel

@nextjs-bot
Copy link
Collaborator

nextjs-bot commented Feb 13, 2026

Stats from current PR

✅ No significant changes detected

📊 All Metrics
📖 Metrics Glossary

Dev Server Metrics:

  • Listen = TCP port starts accepting connections
  • First Request = HTTP server returns successful response
  • Cold = Fresh build (no cache)
  • Warm = With cached build artifacts

Build Metrics:

  • Fresh = Clean build (no .next directory)
  • Cached = With existing .next directory

Change Thresholds:

  • Time: Changes < 50ms AND < 10%, OR < 2% are insignificant
  • Size: Changes < 1KB AND < 1% are insignificant
  • All other changes are flagged to catch regressions

⚡ Dev Server

Metric Canary PR Change Trend
Cold (Listen) 456ms 455ms ▁▁▁▁▁
Cold (Ready in log) 441ms 439ms ▁▁▁▁▁
Cold (First Request) 1.274s 1.247s ▃▁▃▃▃
Warm (Listen) 457ms 457ms ▁▁▁▁▁
Warm (Ready in log) 449ms 443ms ▁▁▁▁▁
Warm (First Request) 355ms 345ms ▁▂▂▂▁
📦 Dev Server (Webpack) (Legacy)

📦 Dev Server (Webpack)

Metric Canary PR Change Trend
Cold (Listen) 456ms 455ms ▁▁▄▁█
Cold (Ready in log) 436ms 435ms ▃▁▄▁█
Cold (First Request) 1.925s 1.933s ▂▁▂▁█
Warm (Listen) 456ms 455ms ▁▁▄▁█
Warm (Ready in log) 436ms 435ms ▃▁▃▁█
Warm (First Request) 1.929s 1.952s ▂▁▂▁█

⚡ Production Builds

Metric Canary PR Change Trend
Fresh Build 3.901s 3.894s ▁▁▁▁▁
Cached Build 3.949s 3.887s ▁▁▁▁▁
📦 Production Builds (Webpack) (Legacy)

📦 Production Builds (Webpack)

Metric Canary PR Change Trend
Fresh Build 13.864s 13.909s ▁▁▂▁█
Cached Build 13.978s 13.986s ▁▁▂▁█
node_modules Size 472 MB 472 MB ▁▁▁▁▁
📦 Bundle Sizes

Bundle Sizes

⚡ Turbopack

Client

Main Bundles: **398 kB** → **398 kB** ⚠️ +13 B

80 files with content-based hashes (individual files not comparable between builds)

Server

Middleware
Canary PR Change
middleware-b..fest.js gzip 761 B 768 B
Total 761 B 768 B ⚠️ +7 B
Build Details
Build Manifests
Canary PR Change
_buildManifest.js gzip 452 B 451 B
Total 452 B 451 B ✅ -1 B

📦 Webpack

Client

Main Bundles
Canary PR Change
5528-HASH.js gzip 5.47 kB N/A -
6280-HASH.js gzip 57 kB N/A -
6335.HASH.js gzip 169 B N/A -
912-HASH.js gzip 4.53 kB N/A -
e8aec2e4-HASH.js gzip 62.6 kB N/A -
framework-HASH.js gzip 59.7 kB 59.7 kB
main-app-HASH.js gzip 256 B 254 B
main-HASH.js gzip 39.1 kB 39.1 kB
webpack-HASH.js gzip 1.68 kB 1.68 kB
262-HASH.js gzip N/A 4.53 kB -
2889.HASH.js gzip N/A 169 B -
5602-HASH.js gzip N/A 5.48 kB -
6948ada0-HASH.js gzip N/A 62.6 kB -
9544-HASH.js gzip N/A 57.8 kB -
Total 231 kB 231 kB ⚠️ +726 B
Polyfills
Canary PR Change
polyfills-HASH.js gzip 39.4 kB 39.4 kB
Total 39.4 kB 39.4 kB
Pages
Canary PR Change
_app-HASH.js gzip 194 B 194 B
_error-HASH.js gzip 183 B 180 B 🟢 3 B (-2%)
css-HASH.js gzip 331 B 330 B
dynamic-HASH.js gzip 1.81 kB 1.81 kB
edge-ssr-HASH.js gzip 256 B 256 B
head-HASH.js gzip 351 B 352 B
hooks-HASH.js gzip 384 B 383 B
image-HASH.js gzip 580 B 581 B
index-HASH.js gzip 260 B 260 B
link-HASH.js gzip 2.5 kB 2.5 kB
routerDirect..HASH.js gzip 320 B 319 B
script-HASH.js gzip 386 B 386 B
withRouter-HASH.js gzip 315 B 315 B
1afbb74e6ecf..834.css gzip 106 B 106 B
Total 7.97 kB 7.97 kB ✅ -2 B

Server

Edge SSR
Canary PR Change
edge-ssr.js gzip 126 kB 125 kB
page.js gzip 250 kB 251 kB
Total 376 kB 376 kB ⚠️ +336 B
Middleware
Canary PR Change
middleware-b..fest.js gzip 615 B 613 B
middleware-r..fest.js gzip 156 B 155 B
middleware.js gzip 43.6 kB 43.5 kB
edge-runtime..pack.js gzip 842 B 842 B
Total 45.3 kB 45.1 kB ✅ -159 B
Build Details
Build Manifests
Canary PR Change
_buildManifest.js gzip 715 B 718 B
Total 715 B 718 B ⚠️ +3 B
Build Cache
Canary PR Change
0.pack gzip 3.91 MB 3.91 MB 🔴 +6.81 kB (+0%)
index.pack gzip 104 kB 104 kB
index.pack.old gzip 104 kB 103 kB
Total 4.11 MB 4.12 MB ⚠️ +5.94 kB

🔄 Shared (bundler-independent)

Runtimes
Canary PR Change
app-page-exp...dev.js gzip 316 kB 316 kB
app-page-exp..prod.js gzip 168 kB 168 kB
app-page-tur...dev.js gzip 316 kB 316 kB
app-page-tur..prod.js gzip 168 kB 168 kB
app-page-tur...dev.js gzip 312 kB 312 kB
app-page-tur..prod.js gzip 166 kB 166 kB
app-page.run...dev.js gzip 313 kB 313 kB
app-page.run..prod.js gzip 166 kB 166 kB
app-route-ex...dev.js gzip 70.5 kB 70.5 kB
app-route-ex..prod.js gzip 49.1 kB 49.1 kB
app-route-tu...dev.js gzip 70.6 kB 70.6 kB
app-route-tu..prod.js gzip 49.1 kB 49.1 kB
app-route-tu...dev.js gzip 70.1 kB 70.1 kB
app-route-tu..prod.js gzip 48.9 kB 48.9 kB
app-route.ru...dev.js gzip 70.1 kB 70.1 kB
app-route.ru..prod.js gzip 48.8 kB 48.8 kB
dist_client_...dev.js gzip 324 B 324 B
dist_client_...dev.js gzip 326 B 326 B
dist_client_...dev.js gzip 318 B 318 B
dist_client_...dev.js gzip 317 B 317 B
pages-api-tu...dev.js gzip 43.2 kB 43.2 kB
pages-api-tu..prod.js gzip 32.9 kB 32.9 kB
pages-api.ru...dev.js gzip 43.2 kB 43.2 kB
pages-api.ru..prod.js gzip 32.8 kB 32.8 kB
pages-turbo....dev.js gzip 52.5 kB 52.5 kB
pages-turbo...prod.js gzip 38.4 kB 38.4 kB
pages.runtim...dev.js gzip 52.5 kB 52.5 kB
pages.runtim..prod.js gzip 38.4 kB 38.4 kB
server.runti..prod.js gzip 63.6 kB 63.6 kB
Total 2.8 MB 2.8 MB ✅ -1 B

@bgw bgw changed the title Turbopack: Update toolchain to nightly-2026-02-13 Turbopack: Update rust toolchain to nightly-2026-02-13 Feb 13, 2026
@bgw bgw changed the base branch from canary to graphite-base/89974 February 13, 2026 21:49
@bgw bgw force-pushed the bgw/update-rust-toolchain branch from ee8b46e to abe1949 Compare February 13, 2026 21:50
@nextjs-bot nextjs-bot added created-by: Turbopack team PRs by the Turbopack team. Turbopack Related to Turbopack with Next.js. labels Feb 13, 2026
@bgw bgw changed the base branch from graphite-base/89974 to bgw/fix-task-statistics-flake February 13, 2026 21:50
Base automatically changed from bgw/fix-task-statistics-flake to canary February 13, 2026 21:57
@bgw bgw force-pushed the bgw/update-rust-toolchain branch from abe1949 to f551c98 Compare February 13, 2026 22:04
@codspeed-hq
Copy link

codspeed-hq bot commented Feb 13, 2026

Merging this PR will not alter performance

✅ 17 untouched benchmarks
⏩ 3 skipped benchmarks1


Comparing bgw/update-rust-toolchain (bf7a478) with canary (da445e8)

Open in CodSpeed

Footnotes

  1. 3 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@nextjs-bot
Copy link
Collaborator

nextjs-bot commented Feb 13, 2026

Tests Passed

@bgw bgw force-pushed the bgw/update-rust-toolchain branch from f551c98 to c5c2de3 Compare February 18, 2026 20:42
@bgw bgw changed the title Turbopack: Update rust toolchain to nightly-2026-02-13 Turbopack: Update rust toolchain to nightly-2026-02-18 Feb 18, 2026
@mischnic
Copy link
Member

error: this block may be rewritten with the `?` operator
Error:   --> turbopack/crates/turbopack-ecmascript/src/source_map.rs:59:12
   |
59 |       } else if let Some(data) = url.strip_prefix(DATA_PREAMBLE_CHARSET) {
   |  ____________^
60 | |         data
61 | |     } else {
62 | |         return None;
63 | |     };
   | |_____^ help: replace it with: `{ url.strip_prefix(DATA_PREAMBLE_CHARSET)? }`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark
   = note: `-D clippy::question-mark` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(clippy::question_mark)]`

@bgw bgw marked this pull request as ready for review February 18, 2026 22:36
@bgw bgw merged commit 5563b4d into canary Feb 18, 2026
284 of 286 checks passed
Copy link
Member Author

bgw commented Feb 18, 2026

Merge activity

  • Feb 18, 11:41 PM UTC: @bgw merged this pull request with Graphite.

@bgw bgw deleted the bgw/update-rust-toolchain branch February 18, 2026 23:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

created-by: Turbopack team PRs by the Turbopack team. Turbopack Related to Turbopack with Next.js.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

Comments