randomFillSync accepts every TypedArray, DataView, Buffer, ArrayBuffer and SharedArrayBuffer and returns its argument at its own type. Offsets and sizes count elements and are checked in bytes with Node 24.22's ERR_OUT_OF_RANGE and ERR_INVALID_ARG_TYPE errors. randomFill fills the same buffers and calls back in a later macrotask, or synchronously when nothing is filled, as Node does. randomInt takes a callback in both forms, and its errors carry Node's received values and the max or "max - min" label. Values come from a 6 KiB cache, as in Node, so a callback runs on the next tick while the cache has data and after an asynchronous refill when it is empty. randomUUID and the new randomUUIDv7 validate options.disableEntropyCache and draw from a 128-UUID batch unless it is set. A non-u8 view passed to randomFillSync no longer needs a Uint8Array type, and the bytes callback adapters pass views of any element kind and dyn values through.
Node compatibility ledger
This workspace package owns scriptc's Node.js parity system.
node-v24.jsonpins the Node release tag, commit, and canonical docs/source inputs.static-support.jsonoverlays dedicated compiler paths and their internal test evidence on the compiler's generated surface manifest.generated/node-v24-internal.jsonis the engineering ledger, including implementation evidence and repository test paths.generated/node-v24-backlog.jsonis the internal tier-specific work queue. It separates verification, implementation, explicit-refusal replacement, and partial-surface audit work, and prioritizes stable Node APIs above experimental, deprecated, and legacy APIs.docs/src/generated/node-v24-compatibility.jsonis the stripped public artifact consumed by the docs website. It contains compiler-relevant runtime APIs, statuses, verification bases, and user-facing details; documentation, metadata, command-line/configuration entries, and rows that are N/A for native execution remain internal.
Statuses are evidence-aware: supported and partial require test evidence; refused requires an explicit compiler diagnostic or native throwing stub; not-implemented is the actionable backlog for an owned API family with no implementation match; by-design records an architectural exclusion; unreviewed still needs classification; and not-applicable is not a runtime API for that execution tier.
Run pnpm node-compat:backlog from the repository root for a summary. The filters --tier, --action, --priority, --chapter, and --status compose; use --format=json or --format=tsv for tooling.
Run pnpm node-compat from the repository root after changing the Node pin or the support manifest. pnpm node-compat:check is the offline drift/evidence gate; pnpm --filter @internal/compatibility check:upstream additionally verifies the pinned upstream inputs over the network.