note: no summary for this older release
We summarize recent releases. The original release notes for this version are below.
release-notesgithub.com/denoland/deno · 482 lines
- ### 2.8.0 / 2026.05.22
- Read more: http://deno.com/blog/v2.8
- - feat: accept `deno audit fix` as alias for `deno audit --fix` (#34273)
- - feat: add --watch flag to deno check (#34224)
- - feat: add `deno bump-version` subcommand (#30562)
- - feat: add `deno why` subcommand (#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 -g` unprefixed 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 ci` subcommand (#34235)
- - feat: add `deno pack` command to create npm tarballs (#32139)
- - feat: add `deno transpile` subcommand (#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 `createImageBitmap` correctly (#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 `limits` property on `node:sqlite` DatabaseSync (#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 `destroy` named 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 `E` and `SystemError` from `internal/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 `encoding` option in `fs.watch` (#33634)
- - fix(ext/node): support `signal` option in `fs.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=<paths> in watched paths (fixes #21704) (#32621)
- - fix(update): `deno update --lockfile-only` should not update config (#33746)
- - fix(watch): apply `--watch-exclude` filter 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)