Changelog

nodejs/node · · 9 commits

Node 26.12.0 lands with perf and async fixes

A new 26.12.0 release plus sqlite, URLSearchParams, AsyncLocalStorage, and WebCrypto updates highlight the day.

SQLite rows now reuse shared shapes for faster reads (araujogui68df1db)

all(), get(), and iterate() now build result rows from a cached dictionary template when possible instead of creating dictionary-mode objects each time. That should cut property-read overhead on hot paths; the fallback still preserves the old behavior for column sets the template can't represent.

AsyncResource callbacks now keep the AsyncLocalStorage store (nigrosimonea0ce8f1)

AsyncResource::MakeCallback() now passes the saved async context frame through to InternalMakeCallback(), aligning it with the Node-API path. This fixes cases where AsyncLocalStorage lost its store inside callbacks and removes extra frame-scoping work on every call.

URLSearchParams.sort() drops one scratch buffer (rozzilladd7235c)

The merge-sort implementation now buffers only the left run and reads the right run directly from the output array, eliminating one temporary array allocation and some copying. The change preserves stability and should reduce memory churn for larger sorts.

WebCrypto WPTs were reorganized for modern algorithms (nodejs-github-bot782a3ac)

The WebCrypto test fixtures were reshuffled to separate modern-algorithm coverage into the new modern-algos/ area, with README guidance updated to match. This is mostly test-structure maintenance, but it helps keep the growing WPT suite organized as the API surface expands.

QUIC stream docs were corrected (kisnner264381c47)

The direction and id docs now describe the actual value types and pending/destroyed states more accurately. This is a documentation fix, but it removes misleading API text.

Release 26.12.0 metadata updated (nodejs-github-bot496b48b)

The changelog and several docs were bumped to reflect the 26.12.0 release and related API notes. This is release bookkeeping rather than runtime behavior.

CI workflow can now fetch on private forks (aduh95e39f2e8)

The nix-changes workflow now keeps Git credentials during checkout so later steps can fetch as needed. This fixes failures in private-fork runs.

Other misc changes

  • Build tweak: remove a nonexistent abseil header from V8 gyp files (gengjiawen87db28b)
  • Release metadata/docs updates for 24.22.0 and related API notes (nodejs-github-botb22fea5)
  • WPT fixture syncs for WebCryptoAPI (nodejs-github-bot782a3ac)