v2.8.0
v2.8.0
Release Notes
2.8.0 / 2026.05.22
Read more: http://deno.com/blog/v2.8
- feat: accept
deno audit fixas alias fordeno audit --fix(#34273) - feat: add --watch flag to deno check (#34224)
- feat: add
deno bump-versionsubcommand (#30562) - feat: add
deno whysubcommand (#32908) - feat: support workspaces in
deno bump-version(#33689) - feat(add/install): default to npm registry for unprefixed packages (#33246)
- feat(compile): add progress bar for deno compile (#33874)
- feat(compile): support module.registerHooks() in compiled binaries (#33853)
- feat(core): add
Deno.core.loadExtScript()for lazy-loaded scripts (#33739) - feat(core): add async module resolution support via ModuleResolveResponse (#32432)
- feat(core): support lazy_loaded_esm modules via import statements (#33873)
- feat(core): synthetic_esm extension DSL + node:worker_threads canary (#34038)
- feat(ext/fetch): emit Network.* inspector events for fetch() (#34220)
- feat(ext/node): ESM import() support for module.registerHooks() (#33763)
- feat(ext/node): add createHistogram to node:perf_hooks (#34003)
- feat(ext/node): buffer Network.* bodies for inspector body-fetch commands (#34201)
- feat(ext/node): convert node:url/util/zlib to synthetic_esm (#34041)
- feat(ext/node): emit Network.* inspector events for node:http (#34231)
- feat(ext/node): expose inspector.isEnabled() via process.binding('inspector') (#34203)
- feat(ext/node): implement Network CDP domain for inspector (#32707)
- feat(ext/node): implement NodeRuntime.notifyWhenWaitingForDisconnect (#34204)
- feat(ext/node): implement module.registerHooks() API for CommonJS (#33733)
- feat(ext/node): implement node:module SourceMap API (#32890)
- feat(ext/node): implement node:wasi (#34089)
- feat(ext/node): implement postMessageToThread cross-thread messaging (#34015)
- feat(ext/node): implement vm.SourceTextModule with microtaskMode afterEvaluate support (#33603)
- feat(ext/node): make Network.* CDP events fire under plain --inspect (#34270)
- feat(ext/node): restore module.registerHooks (#34081)
- feat(ext/node): support KeyObject structured clone over MessagePort (#34229)
- feat(ext/node): support NODE_EXTRA_CA_CERTS (#33148)
- feat(ext/node): support sending dgram.Socket handles over IPC (#33863)
- feat(ext/telemetry): add gRPC protocol support for OTLP exporter (#30365)
- feat(ext/web): support structured clone for Blob and File (#33827)
- feat(ext/websocket): emit Network.* inspector events for WebSocket (#34222)
- feat(install): add --os and --arch flags for cross-platform npm installs (#32785)
- feat(install): added --prod to skip dev deps and @types (#33248)
- feat(install): default to npm for
deno install -gunprefixed packages (#34290) - feat(npm): add
catalog:protocol for centralized dependency versions in workspaces (#32947) - feat(npm): add hoisted node_modules linker mode (#32788)
- feat(npmrc): support min-release-age (#33983)
- feat(task): prefix output lines with task name when running in parallel (#33805)
- feat(test): add timeout option to Deno.test() (#33815)
- feat(types): add Math.sumPrecise and Intl.Locale.prototype.variants (#34287)
- feat(unstable): Geometry Interfaces Module Level 1 (#27527)
- feat(unstable): support TC39 import defer proposal (#32360)
- feat(x): add --package/-p flag for specifying package separately from binary (#32855)
- feat: OffscreenCanvas (#29357)
- feat: add --package-json flag to deno add/install/remove/uninstall (#33199)
- feat: add
deno cisubcommand (#34235) - feat: add
deno packcommand to create npm tarballs (#32139) - feat: add
deno transpilesubcommand (#32691) - feat: disable "no-process-global", "no-node-globals" lint rules by default (#33247)
- feat: disable ops and resources sanitizers by default in deno test (#33250)
- feat: framework detection for deno compile (#33164)
- feat: implement
deno audit --fix(#32909) - feat: include node lib by default and use NodeJS.Timeout for timers (#33823)
- feat: stabilize text imports (#34238)
- feat: support Deno.upgradeWebSocket with node:http upgrade events (#33342)
- feat: update TypeScript to 6.0.3 (#32944)
- feat: use Node.js timers by default and remove global proxy (#33249)
- feat: v8 14.9 (#34226)
- fix(ci): disable test-child-process-send-returns-boolean.js on windows (#33883)
- fix(cli): make deno why work with jsr deps (#34227)
- fix(console): don't trigger proxy get trap for nodejs.util.inspect.custom (#33730)
- fix(core): disable include_icu_data feature (#34279)
- fix(core): evaluate pre-instantiated module in lazy_load_esm_module (#33973)
- fix(core): prevent TLA hang when has_tick_scheduled is set during async module evaluation (#33278)
- fix(core): short-circuit async-resolve when it returns an already-registered module (#34058)
- fix(doc): resolve npm entrypoints without types (#34147)
- fix(ext/crypto): add SHA3 support to crypto.subtle.digest (#32342)
- fix(ext/crypto): normalize P-521 SPKI exports (#34087)
- fix(ext/crypto): validate raw key length on X25519/X448/Ed25519 importKey (#33944)
- fix(ext/fetch): close response_rid when abort races op_fetch_send completion (#33928)
- fix(ext/fs): run open_async on the blocking pool so FIFO opens don't stall the runtime (#33667)
- fix(ext/image): handle bitmaps in
createImageBitmapcorrectly (#34285) - fix(ext/napi): run weak-callback finalizers synchronously in second-pass (#34023)
- fix(ext/node): DSA keygen with arbitrary modulusLength (#34206)
- fix(ext/node): MessagePort.on('message') should deduplicate listeners (#33991)
- fix(ext/node): Node-compatible TAP reporter for node:test (#34255)
- fix(ext/node): TLSSocket.setServername throws typed errors (#33744)
- fix(ext/node): Worker rejects --heap-prof and --cpu-prof execArgv flags with wrong error (#34011)
- fix(ext/node): accept ArrayBufferView in tls.setDefaultCACertificates (#33700)
- fix(ext/node): accept CryptoKey input in createPublicKey/createPrivat… (#33750)
- fix(ext/node): add ERR_REQUIRE_ASYNC_MODULE and ERR_REQUIRE_CYCLE_MODULE error codes (#33921)
- fix(ext/node): add
limitsproperty onnode:sqliteDatabaseSync (#33106) - fix(ext/node): add active process resources APIs (#34101)
- fix(ext/node): add emitExperimentalWarning/pendingDeprecate to internal/util, support modifyPrototype option in util.deprecate (#33660)
- fix(ext/node): add http2.performServerHandshake to polyfill (#33668)
- fix(ext/node): add linkRequests/moduleRequests/instantiate to node:vm (#34131)
- fix(ext/node): add post-resolution deny check in TCPWrap connect (#33880)
- fix(ext/node): add process._debugEnd() / process._debugProcess() (#34194)
- fix(ext/node): add test.expectFailure to node:test (#34130)
- fix(ext/node): add tls.getCaCertificates() (#32032)
- fix(ext/node): add util.setTraceSigInt stub (#34013)
- fix(ext/node): add v8.GCProfiler (#34158)
- fix(ext/node): add v8.queryObjects() and util.queryObjects() (#34159)
- fix(ext/node): add v8.startupSnapshot API polyfill (#34189)
- fix(ext/node): align crypto KeyObject PKCS#8 encryption, JWK input and PSS salt with Node (#33757)
- fix(ext/node): align inspector WebSocket URL with Node.js format (ws://host:port/UUID) (#33592)
- fix(ext/node): align nextTick ordering in ESM (#34085)
- fix(ext/node): align node stream
destroynamed export (#33573) - fix(ext/node): align scrypt behavior and performance with Node (#33773)
- fix(ext/node): allow explicit paramEncoding for EC key generation (#33807)
- fix(ext/node): allow tls.Server SecureContext without cert/key for SNICallback (#33715)
- fix(ext/node): apply Deno's resolver inside loader-hook defaultResolve (#33964)
- fix(ext/node): apply encoding to Dirent name/parentPath in fs.readdir (#33972)
- fix(ext/node): apply http1Options to HTTP/2 secure server fallback (#33678)
- fix(ext/node): attach addAbortListener to EventEmitter, fix errorMonitor (#34262)
- fix(ext/node): avoid panic in vm.createContext loop at isolate teardown (#34195)
- fix(ext/node): bind setImmediate callback this to the Immediate instance (#33716)
- fix(ext/node): bind to IPv6 wildcard for default Server.listen() to enable dual-stack (#33617)
- fix(ext/node): cancel pending TLS writes when the socket closes (#33690)
- fix(ext/node): close named-pipe handles after child_process.spawn on Windows (#33941)
- fix(ext/node): complete TLS peer cert chains (#34098)
- fix(ext/node): decrypt encrypted private keys in publicEncrypt/privateDecrypt and ignore passphrase (#33770)
- fix(ext/node): decrypt legacy Proc-Type/DEK-Info encrypted PEM private keys (#33769)
- fix(ext/node): defer http2 stream window replenishment while paused (#33640)
- fix(ext/node): detect non-mtime stat changes in StatWatcher (#33950)
- fix(ext/node): dns resolveAny with real ANY query, retry/maxTimeout support (#33577)
- fix(ext/node): don't emit ServerResponse 'finish' after client abort (#34026)
- fix(ext/node): drive TLSWrap cycle on JSStream writes to fix deadlock (#33914)
- fix(ext/node): emit DEP0111/DEP0119 from process.binding under --pending-deprecation (#33594)
- fix(ext/node): emit DEP0192 deprecation warning when _tls_common is required (#33819)
- fix(ext/node): emit ERR_HTTP2_MAX_PENDING_SETTINGS_ACK via session error instead of throwing (#33679)
- fix(ext/node): emit ERR_HTTP2_TOO_MANY_INVALID_FRAMES for empty DATA frames without END_STREAM (#33644)
- fix(ext/node): emit Protocol error when http2 client connects to non-h2 server (#33740)
- fix(ext/node): emit deprecation warnings for legacy stream/_tls_wrap requires and module.parent (#34086)
- fix(ext/node): emit destroy for cleared immediates (#34084)
- fix(ext/node): emit diagnostics_channel events for HTTP server (#33908)
- fix(ext/node): emit drained server close on next tick for Node parity (#33672)
- fix(ext/node): emit http PerformanceObserver entries for HttpClient and HttpRequest (#33826)
- fix(ext/node): emit perf_hooks PerformanceEntry for http2 sessions and streams (#33618)
- fix(ext/node): enable quic node compat tests by correcting .mjs file extensions in config (#33824)
- fix(ext/node): enable test-crypto-keygen-async-explicit-elliptic-curve (#33812)
- fix(ext/node): enable test-crypto-rsa-dsa node compat test with DSA encrypted keys (#33811)
- fix(ext/node): enable test-crypto-sign-verify node compat test (#33810)
- fix(ext/node): enable test-crypto.js node compat test (#33822)
- fix(ext/node): enable test-http2-server-shutdown-redundant (#33793)
- fix(ext/node): enforce OpenSSL SECLEVEL key-strength check in createSecureContext (#33686)
- fix(ext/node): expand diagnostics_channel coverage (#34243)
- fix(ext/node): export UV_EOF and fix Socket._final without connect (#34211)
- fix(ext/node): expose Http2Session and nghttp2ErrorString on http2 internalBinding (#33732)
- fix(ext/node): expose Http2Session and nghttp2ErrorString on http2 internalBinding (#33742)
- fix(ext/node): expose Http2Stream and nghttp2ErrorString on http2 internalBinding (#33729)
- fix(ext/node): expose TLS server name (SNI) on server-side TLSSocket via getServername op (#33725)
- fix(ext/node): expose
EandSystemErrorfrominternal/errors(#34080) - fix(ext/node): expose http2 internalBinding and add missing HTTP2_HEADER_* constants (#33726)
- fix(ext/node): expose http2 session setNextStreamID with capital-ID method name (#33666)
- fix(ext/node): expose http2 test bindings and route pushStream through pushPromise (#33741)
- fix(ext/node): expose internal webstreams modules (#34107)
- fix(ext/node): expose internal/async_hooks as requireable module (#34116)
- fix(ext/node): expose internal/fs/promises with FileHandle (#34118)
- fix(ext/node): expose internal/js_stream_socket and add default read path (#34088)
- fix(ext/node): expose internal/net as requireable module (#34152)
- fix(ext/node): expose internal/options as requireable module (#34117)
- fix(ext/node): expose internal/tty as requireable module (#34105)
- fix(ext/node): expose internal/url so require('internal/url') works (#34012)
- fix(ext/node): expose internal/util/debuglog and add formatTime helper (#33665)
- fix(ext/node): fire uncaughtExceptionMonitor with correct origin for sync top-level throws (#34048)
- fix(ext/node): fix TLS crash with Happy Eyeballs address fallback (#33641)
- fix(ext/node): fix TLS peer certificate multi-value fields, issuer chain, and EC curve names (#33782)
- fix(ext/node): fix child_process.send() backpressure return value (#33869)
- fix(ext/node): fix module resolution for nested package.json files (#33767)
- fix(ext/node): flesh out node:trace_events polyfill (#34216)
- fix(ext/node): forward http2 protocol errors from invalid frame callback to session error event (#33630)
- fix(ext/node): handle HTTP/2 flow control (#33795)
- fix(ext/node): handle connectionsCheckingInterval option and send 408 for request timeout (#33836)
- fix(ext/node): handle unhandled rejections in node:test without crashing runner (#33749)
- fix(ext/node): implement AES Key Wrap and Key Wrap with Padding ciphers (#33813)
- fix(ext/node): implement ALPNCallback and SNICallback for TLS server (#33360)
- fix(ext/node): implement ECDH validation and DH verifyError (#33751)
- fix(ext/node): implement Module._stat (#34157)
- fix(ext/node): implement SocketAddress class (#34020)
- fix(ext/node): implement TCP/TLS socket useUserBuffer (#34164)
- fix(ext/node): implement displayErrors for vm scripts (#33942)
- fix(ext/node): implement h2 END_STREAM packing and Http2Session PerformanceObserver entries (#33796)
- fix(ext/node): implement missing node:test APIs (#33764)
- fix(ext/node): implement mock.getter, mock.setter, mockImplementation in node:test (#33755)
- fix(ext/node): implement noDelay property on net.Server and apply TCP_NODELAY to accepted (#33828)
- fix(ext/node): implement node:cluster on unix (#33752)
- fix(ext/node): implement node:wasi preview1 compat (#34245)
- fix(ext/node): implement vm.SyntheticModule constructor (#34014)
- fix(ext/node): import/export PKCS#8 and legacy encrypted PEM private keys (#33762)
- fix(ext/node): improve http server parser compat (#34094)
- fix(ext/node): improve https agent compat (#34091)
- fix(ext/node): improve module hooks support (#33877)
- fix(ext/node): improve node:tls test compatibility (#34067)
- fix(ext/node): improve worker_threads MessagePort compatibility (#34250)
- fix(ext/node): isolate TLS client reject session resumption (#34097)
- fix(ext/node): make hideStackFrames actually hide frames, expose internal/validators (#33673)
- fix(ext/node): map rustls record-decode errors to OpenSSL-style "wrong version number" (#33711)
- fix(ext/node): module hook fixes for ESM nextLoad, createRequire URL, and builtin redirects (#34219)
- fix(ext/node): node:repl improvements (#33930)
- fix(ext/node): node:test improvements (#33929)
- fix(ext/node): node:test with watch-mode events (#34254)
- fix(ext/node): normalize underscored V8 flags (#34129)
- fix(ext/node): omit glibc version fields on musl/non-Linux (#33987)
- fix(ext/node): pad DH shared secret and fix prime sign byte for stateless diffieHellman (#33761)
- fix(ext/node): pass URL to kOnHeadersComplete when request has no headers (#33831)
- fix(ext/node): per-request executionAsyncResource() for async_hooks (#34188)
- fix(ext/node): polyfill module.enableCompileCache and companions (#34190)
- fix(ext/node): port internal/priority_queue and expose it via require (#33696)
- fix(ext/node): preserve AsyncLocalStorage context across HTTP/2 client streams (#33677)
- fix(ext/node): preserve raw socket connect when wrapping TLS (#34093)
- fix(ext/node): prevent panic when importing node builtins after module.register() (#33920)
- fix(ext/node): prevent top-level
await test(...)deadlock in node:test (#33947) - fix(ext/node): propagate highWaterMark option from http.createServer to req and res (#33825)
- fix(ext/node): readFile of large file via fd returns scrambled content (#34258)
- fix(ext/node): refresh async id for reused agent sockets (#34138)
- fix(ext/node): register sigwinch listeners for stdout/stderr (#33890)
- fix(ext/node): reject structuredClone for file-backed Blobs (#34075)
- fix(ext/node): report directory imports with node error code (#34076)
- fix(ext/node): restore llhttp parser.data after execute to handle re-entrant calls (#33832)
- fix(ext/node): retry named-pipe connect on ERROR_PIPE_BUSY (Windows) (#33974)
- fix(ext/node): route ServerHttp2Stream.respond through binding proto (#33736)
- fix(ext/node): run load hook chain on every require() of a builtin (#34223)
- fix(ext/node): run register() hooks in worker thread, add --experimental-loader flag (#33906)
- fix(ext/node): satisfy agent-base node:https stack-trace check (#34264)
- fix(ext/node): send http2 GOAWAY before stream RSTs so peer sees session destroy code (#33637)
- fix(ext/node): set OSSL error codes and key-type checks in stateless diffieHellman (#33772)
- fix(ext/node): share TLS session cache and ticketer for tls.TLSSocket session resumption (#33693)
- fix(ext/node): skip ESM load hook bridge for CJS modules (#33861)
- fix(ext/node): support CA certificate introspection and off-thread loading tests (#33708)
- fix(ext/node): support PKCS#8 encrypted private key PEM export via PBES2 (#33758)
- fix(ext/node): support TLS client resume compat tests (#34095)
- fix(ext/node): support
encodingoption infs.watch(#33634) - fix(ext/node): support
signaloption infs.watch/fs.promises.watch(#33650) - fix(ext/node): support abstract Unix sockets in node:net pipe bind (#33872)
- fix(ext/node): support encrypted PKCS#8 DER private key export and import (#33756)
- fix(ext/node): support node:fs APIs on VFS files in deno compile (#33803)
- fix(ext/node): support sending net.Socket and net.Server handles to child processes on unix (#33605)
- fix(ext/node): support shouldUpgradeCallback in http server (#34092)
- fix(ext/node): support undici dispatcher for allowHTTP1 websocket upgrades (#33731)
- fix(ext/node): surface ERR_REQUIRE_ASYNC_MODULE/CYCLE_MODULE codes and fix TLA retry (#34060)
- fix(ext/node): tagged template literal support for SQL (#34018)
- fix(ext/node): throw ERR_CRYPTO_HASH_FINALIZED on subsequent Hash.digest() calls (#33774)
- fix(ext/node): throw ERR_INVALID_ARG_VALUE for falsy dns.lookup hostname (#34234)
- fix(ext/node): throw ERR_INVALID_ARG_VALUE for odd-length headers array in http.ServerResp (#33820)
- fix(ext/node): throw OpenSSL-shaped error from tls.createSecureContext when clientCertEngine is set (#33691)
- fix(ext/node): throw correct error for encrypted PEM key in privateDecrypt (#33808)
- fix(ext/node): tls server error message, rejection capture, two compat tests (#34183)
- fix(ext/node): unblock fs.open on FIFOs and read pipes correctly in http2 respondWithFile (#33792)
- fix(ext/node): use ASCII byte-truncation in http2 writeAsciiString polyfill (#33645)
- fix(ext/node): use core.loadExtScript for deno_web/deno_io polyfill deps (#33798)
- fix(ext/node): use primordials in internal_binding/symbols.ts (#33865)
- fix(ext/node): use proper error codes for tls.TLSSocket.setServername() (#33745)
- fix(ext/node): use queueMicrotask in fs.close to avoid sanitizer false-positive (#33714)
- fix(ext/node): validate data type in Cipheriv/Decipheriv update() (#33649)
- fix(ext/node): validate fs.watch options.ignore (#33574)
- fix(ext/node): wire HTTP/2 PING ack callbacks and emit payload buffer (#33794)
- fix(ext/node): wire http2 maxSettings option to nghttp2_option_set_max_settings (#33790)
- fix(ext/node): wire up http2 per-session maxOutstandingPings flag (#33791)
- fix(ext/node): wrap process.chdir errors with path/dest/syscall (#33584)
- fix(ext/process): respect AbortSignal in Deno.Command.output() (#34069)
- fix(ext/process): tolerate unlinked cwd in spawn (#33587)
- fix(ext/tls): upgrade rustls to fix SSL cert validation regression (#33912)
- fix(ext/url): URLSearchParams Node-compat error messages on invalid this and missing args (#34017)
- fix(ext/url): align URLSearchParams with Node for node:url compat (#34119)
- fix(ext/web): convert MessageEvent ports via WebIDL sequence iteration (#33652)
- fix(ext/web): respect cancelable and passive flags in Event.returnValue setter (#33651)
- fix(ext/websocket): don't panic on H2 stream reset in poll_write (#33982)
- fix(fmt): panic on tagged HTML template with multi-level indent (#34263)
- fix(init): replace add(2,3) template with Deno.serve HTTP server (#33042)
- fix(install): don't treat JS scripts with non-Node shebang as native binaries (#33971)
- fix(install): regenerate lockfile with --force on global install (#33970)
- fix(lsp): don't panic on unresolved dts import hover (#34112)
- fix(node): fix registerHooks for custom file type loaders (#33899)
- fix(node): weakly track util.aborted resources (#34142)
- fix(node/fs): readSync with position argument returns EINVAL (#34021)
- fix(node/sqlite): implement DatabaseSync.serialize() and deserialize() (#34010)
- fix(node/tls): handle detached ArrayBuffer in TLSWrap write methods (#33737)
- fix(node:http2): preserve timeout inspect links on proxied session sockets (#33721)
- fix(npm): resolve catalog: overrides from workspaces object form (#33816)
- fix(npm): support
catalog:protocol in overrides (#33799) - fix(publish): don't panic on provenance generation in non-GitHub CI (#33802)
- fix(repl): drain microtasks after inspector polling to avoid 'Promise was collected' (#33735)
- fix(resolver): handle tag version req in byonm resolver (#33962)
- fix(task): escape backticks in forwarded args (#34151)
- fix(task): support recursive task completions in workspaces (#32422)
- fix(test): include --watch=
in watched paths (fixes #21704) (#32621) - fix(update):
deno update --lockfile-onlyshould not update config (#33746) - fix(watch): apply
--watch-excludefilter to file change events (#33854) - fix(workspace): clamp CLI include paths to member folder (#33949)
- fix: bump deno_graph to 0.108.2 for wasm multi-value return types (#34070)
- fix: disable V8 external memory check to prevent panic on large TypedArrays (#33896)
- fix: fix CJS re-export analysis for npm packages (#33263)
- fix: handle native binary bin entries in global npm install (#33935)
- fix: include node lib by default and use NodeJS.Timeout for timers (#33823)
- fix: report eval scripts as
[eval]URL for inspector (#34192) - perf(core): SIMD ASCII fast path for op_decode (#33720)
- perf(core): cap V8 platform thread pool to 4 threads (#33697)
- perf(ext): convert ext/cache, ext/canvas, ext/crypto JS sources to lazy-loaded scripts (#33778)
- perf(ext): convert ext/fetch JS sources to lazy-loaded scripts (#33784)
- perf(ext): convert ext/ffi JS source to lazy-loaded script (#33780)
- perf(ext): convert ext/io, ext/os, ext/net JS sources to lazy-loaded scripts (#33779)
- perf(ext): convert ext/kv and ext/webgpu JS sources to lazy-loaded scripts (#33818)
- perf(ext): convert ext/process and ext/http JS sources to lazy-loaded scripts (#33817)
- perf(ext): convert ext/telemetry and ext/cron JS sources to lazy-loaded scripts (#33801)
- perf(ext/fetch): fast-path string in BodyInit_DOMString converter (#33676)
- perf(ext/fetch): skip dict-converter walk on default init in Request/fetch/Response.json (#33999)
- perf(ext/fs): convert ext/fs JS source to lazy-loaded script (#33800)
- perf(ext/geometry): avoid heap allocation for the argument that requires a fixed length of sequence (#33688)
- perf(ext/net): reduce Quinn TLS provider size (#34294)
- perf(ext/node): convert 62 more polyfill files to lazy-loaded scripts (#33835)
- perf(ext/node): convert stream* polyfills to lazy-loaded JS (#33988)
- perf(ext/node): convert child_process, cluster, console to lazy-loaded JS (#33925)
- perf(ext/node): convert child_process, fs, http, http2, https, inspector to lazy-loaded JS (#33967)
- perf(ext/node): convert cluster, console, constants, crypto, dgram, dns to lazy-loaded JS (#33951)
- perf(ext/node): convert errors.ts, util.mjs, and foundation layer to lazy-loaded scripts (#33830)
- perf(ext/node): convert fs helpers, streams, dgram, dns/utils to lazy-loaded ESM (#33936)
- perf(ext/node): convert fs internals, timers, tty, url, webstreams to lazy-loaded ESM (#33939)
- perf(ext/node): convert http2, readline, stream_base_commons to lazy-loaded JS (#33932)
- perf(ext/node): convert internal/crypto to lazy-loaded JS (#33919)
- perf(ext/node): convert more polyfills to lazy-loaded JS (#33871)
- perf(ext/node): convert more polyfills to lazy-loaded JS (#33882)
- perf(ext/node): convert more polyfills to lazy-loaded JS (#33897)
- perf(ext/node): convert more polyfills to lazy-loaded JS (#33900)
- perf(ext/node): convert more polyfills to lazy-loaded JS (#33902)
- perf(ext/node): convert more polyfills to lazy-loaded JS (#33909)
- perf(ext/node): convert more polyfills to lazy-loaded JS (#33913)
- perf(ext/node): convert net, _tls_common, _tls_wrap to lazy-loaded JS (#33997)
- perf(ext/node): convert node:events and stream internals to lazy-loaded JS (#33881)
- perf(ext/node): convert node:path to lazy-loaded JS (#33917)
- perf(ext/node): convert node:util, node:assert to lazy-loaded (#33876)
- perf(ext/node): convert timers, tls, tty, url, v8, worker_threads, zlib to lazy-loaded JS (#33960)
- perf(ext/node): convert validators.mjs and dependencies to lazy-loaded scripts (#33821)
- perf(ext/node): optimize direct ServerResponse string end (#34253)
- perf(ext/node): replace node: imports with core.loadExtScript for buffer and nextTick (#33862)
- perf(ext/node): true writev on tcp sockets for node:http (#33659)
- perf(ext/web): add hyper-fast path for TextDecoder.decode (#33674)
- perf(ext/web): convert all ext/web JS sources to lazy-loaded scripts (#33760)
- perf(ext/web): fast path for TextEncoder.encodeInto (#33675)
- perf(ext/web): lazy-init EventTarget listeners table (#33734)
- perf(ext/web): linear-time set/delete on FormData, URLSearchParams, Headers (#33961)
- perf(ext/web): optimize TextEncoder encodeInto result (#34055)
- perf(ext/web): structuredClone primitive fast path (#33728)
- perf(ext/webidl): fast path for createDictionaryConverter undefined input (#33692)
- perf(ext/webidl): hoist EMPTY_OPTS for converter opts default (#34007)
- perf(ext/websocket): lazy-load WebSocket and WebSocketStream JS (#33701)
- perf(http): avoid ReadableStream when full body already buffered (#33844)
- perf(http): directly dispatch into js request handler (#33845)
- perf(http): don't add Vary header if response is not compressed (#33892)
- perf(http): split clear-text HTTP autodetect connection task (#33887)
- perf(libs/core): drop libuv-style partial-read break to fix node:http p99 (#33860)
- perf(runtime): convert 8 runtime JS files to lazy-loaded scripts (#33864)
- perf(snapshot): dedupe JS sources between binary and v8 snapshot (#33992)
- perf: consolidate HTTP Brotli compressor setup (#34282)
- perf: lazy-load more modules in the snapshot (#34061)
- perf: monch 0.6 (#33643)
- perf: use panic=abort in release builds (#34280)