main
src: keep global list of addon-provided cleanup hooks
crypto: add mgf1Hash for RSA-OAEP
quic: coalesce received data into fewer buffers
tls,quic: commonize TLS cert handling between tls, dtls & quic
ffi: shrink trampoline placement probe window
src: add perfetto trace agent
src: add Intel CET properties to large_pages.S
src: update repeated use strings to env
build: remove dtrace & etw support
src,test: disable trace events tests when perfetto is enabled
src: remove `AnalyzeTemporaryDtors` option from .clang-tidy
src: add more checks and clarify docs for external references
deps: update acorn to 8.18.0
src: track BaseObjects with an efficient list
src: cleanup aliased_buffer.h
quic: add aliased struct arenas
deps: update amaro to 1.1.11
src: fix usage of deprecated V8 API
lib: rewrite AsyncLocalStorage without async_hooks
src: convert context_frame field in AsyncWrap to internal field
src: use DCHECK in AsyncWrap::MakeCallback instead emiting a warning
src,lib: implement experimental DTLS API
src: tag v8 aligned pointer slots with embedder data type tags
src: do not track weak `BaseObject`s as childrens of `Realm`s
src: make AsyncWrap subclass internal field counts explicit
src: add C++ support for diagnostics channels
src: remove unnecessary `c_str()` conversions in diagnostic messages
src: modernize use-equals-default
src: add missing <cstdlib> for abort() declaration
src: build v8 tick processor as built-in source text modules
src: fix `size` underflow in CallbackQueue
src: fix callback_queue.h missing header
dns: reserve vector capacity in ParseTxtReply
dns: support max timeout
Revert "src: modernize cleanup queue to use c++20"
src: use ranges library (C++20) more systematically
module: remove --experimental-transform-types
src: cleanup unused headers
src: make ReqWrap weak
src: fix calls to v8::Object::wrap
src: add contextify interceptor debug logs
src: rethrow stack overflow exceptions in async_hooks
src: change env.h includes for forward declarations
build: encode non-ASCII Latin1 characters as one byte in JS2C
src: avoid copying source string in TextEncoder.encode
lib: implement all 1-byte encodings in js
src: cache context lookup in vectored io loops
crypto: support loading private keys through STORE loaders
src: fast path empty native immediate drain
src: improve StringBytes error handling
src: use `args.This()` instead of `Holder`
bootstrap: initialize per-isolate properties of bindings separately
perf_hooks: multiple fixes for Histogram
perf_hooks: sample delay per event loop iteration
src: rename legacy trace event headers
worker: fix worker name with \0
inspector: add Target.getTargets and extract TargetManager
src: wrap HostPort in ExclusiveAccess
repl: use inspector over vm
inspector: expose precise coverage start to JS runtime
src: use C++20 `contains()` method
inspector: fix crash when writing to closed inspector socket
src: remove util-inl.h from header files
doc,src,test: fix dead inspector help URL
inspector: reduce InspectorIo API surface
src: use v8::LocalVector consistently with other minor cleanups
node-api: add napi_create_external_sharedarraybuffer
node-api: support SharedArrayBuffer in napi_create_typedarray
doc,src,test: replace use of deprecated `GetIsolate`
node-api: use Node-API in comments
src: fix flags argument offset in JSUdpWrap
src: replace static const string_view by static constexpr
src: use string_view for report and related code
sqlite: add tagged template
src: allow tracking children in `MemoryTracker` with weak edges
esm: print required top-level await locations without evaluating
module: enable existing machinery for deferred import of static modules
sea: reject malformed --node-options values
src: use C++14 deprecated attribute for `NODE_DEPRECATED`
node-api: execute tsfn finalizer after queue drains when aborted
src: move `napi_addon_register_func` to `node_api_types.h`
src: remove unconditional NAPI_EXPERIMENTAL in node.h
deps,src: prepare for cpplint update
lib,permission: fix addon permission drop
quic: complete the internal implementation of QUIC
src, lib: fixup lint and format issues for DataQueue/Blob
buffer: support aligned allocations
src: use non-deprecated v8::Uint8Array::kMaxLength
src: fix comment typos
src: omit unconvertible names in cjs_lexer::Parse
crypto: fix inclusion of OPENSSL_IS_BORINGSSL define
src: support multiple versions in node.config.json
src: reuse cached env strings in remaining files
esm: improve `getFormatOfExtensionlessFile` speed
src: reorganize ContextifyFunction methods
src: zero-initialize cap_data in node_credentials.cc
crypto: use EVP_MAC for HMAC on OpenSSL >=3
src: clean up generic counter implementation
diagnostics_channel: grow native channel storage
src: fix trace macro compatibility
src: improve handling of internal field counting
src: swap dotenv and config file parsing order
src: improve error handling in buffer and dotenv
src: use bool literals in TraceEnvVarOptions
errors: handle V8 warnings in DisallowJavascriptExecutionScope
module: print location of unsettled top-level await in entry points
bootstrap: move embedded snapshot to SnapshotBuilder
child_process: serialize advanced IPC messages natively
ffi: reuse the callable created per symbol
fs: expose frsize field in statfs
fs: add windowsHandle option to file streams
src: consolidate C++ ReadFileSync/WriteFileSync utilities
quic: implement rapidhash for hashing improvements
http2: increase default window sizes
http2: add lenient flag for RFC-9113
src: migrate WriteOneByte to WriteOneByteV2
http2: add raw header array support to h2Session.request()
http: reject requests exceeding max header count
src: remove unnecessary `Environment::GetCurrent()` calls
src: remove icu based `ToASCII` and `ToUnicode`
src: make additional cleanups in node locks impl
build: drop experimental support for Windows <10
src: add initial support for ESM in embedder API
src: allow snapshotting from the embedder API
src: fix pointer alignment
quic: remove quic
stream: reject duplicate nested transferables
src: remove unused `checkMessagePort` internal binding
lib,src,test,doc: add node:ffi module
src: replace uses of deprecated v8::External APIs
src: cache missing package.json files in the C++ package config cache
worker: use rwlock for sibling group
src: officially deprecate `node::ObjectWrap`
src: support namespace options in configuration file
src: remove `std::array` overload of `FIXED_ONE_BYTE_STRING`
perf_hooks: add NODE_PERFORMANCE_GC_MINOR_MARK_SWEEP constant
src: fix libuv assertion on windows
doc,src,test: fix typos
src: use SPrintF in ProcessEmitWarning
process: fix hrtime fast call signatures
src: use Maybe<void> in ProcessEmitWarningSync
process: validate resource stats array offsets
src: iterate metadata version entries with std::array
src: remove license headers for new node_profiling files
permission: check final report output path
report: fix network queries in getReport libuv with exclude-network
src: use string_view in `WriteReport()`
src: remove erroneous CVE-2024-27980 revert option
tools: sync mk-ca-bundle.pl with curl
sea: avoid dangling CLI option pointers
src: fix `--build-sea` default executable path
src: make even more improvements to error handling
src: mark realm leaf classes final
src: support configurable snapshot
src: zero-initialize data that are copied into the snapshot
quic: cache timestamp for address lru cache
net: improve performance of net.BlockList
sqlite: isolate applyChangeset filter errors
sqlite: refactor error helpers and user function pointers
src: avoid prototype access in binding templates
src: rename internal module declaration as internal bindings
src: match cmd.exe case-insensitively in task runner
src: rename private fields to follow naming convention
src: remove usage of `std::shared_ptr<T>::unique()`
src: make BuiltinLoader threadsafe and non-global
src: fix perfetto build on GetTraceFilePath
lib: use js-only implementation of `isDataView()`
src: register external references for source code
url: bounds-check short Windows file URL paths
url: improve canParse() performance for non-onebyte strings
url: create URLPattern result properties in WebIDL order
src: cache urlpattern properties
permission: support v8.setHeapSnapshotNearHeapLimit
v8: add cpu profile
src: abstract tracing agent for both legacy and perfetto
src: bump NODE_MAJOR_VERSION to 27
src: fix external reference registration for new CFunction lifetime
wasi: fix WasiFunction fast call signature
wasm: register missing SetURL function
wasm: add missing init reported by coverity
src: add name for more threads
src: simplify watchdog instantiations via `std::optional`
src: fix crash when reading length on Storage.prototype
inspector: auto collect webstorage data
src: split profiling helpers from util
v8: add heap profile API
zlib: validate pledgedSrcSize for sync zstd
src: use starts_with instead of rfind/find
src: add an option to make compile cache portable
permission: guard pipe open and chmod with net scope
src: register external references of PipeWrap for snapshot
child_process: pass spawn options to the binding positionally
src: simplify is_callable by making it a concept
src, quic: refine more of the quic implementation
src: coerce `spawnSync` args to string once
src: use RAII for uv_process_options_t
src: tag more v8 aligned pointer slots
stream: fix flaky stream destroy, reachable from HTTP/2 teardown
src: convey potential exceptions during StreamPipe construction
src: fix crash when writing odd-length hex string via Writev
src: skip duplicate UTF-8 validation in TextDecoder fatal path
src: remove `SetEncoding` from StringEncoder
net: support TCP handle transfer on Windows
src: trace threadpool event
src: prevent extra copies of `TimerWrap::TimerCb`
timers: fix binding fast call signatures
src: register external references of TTYWrap for snapshot
src: register udp_wrap external references
deps: update undici to 8.9.0
src: dispatch ToV8Value(string_view) via StringBytes::Encode
src: replace Environment::GetCurrent with args.GetIsolate
deps: update zlib to 1.3.2.1-motley-42c2f19