## denoland/deno — v2.9.4…v2.9.5

_82 commits._

### Features
- **feat: add experimental QuickJS backend (#36194)** (dc3c30e)
- **feat(task): add --members flag to run tasks in workspace members only (#35748)** (a4a3617)
- **feat: add Blob/Body textStream() (#35616)** (3d5c2a0)
- **feat(add): `--unscoped` flag to alias packages by their unscoped name (#36319)** (3c1c007)

### Fixes
- **fix(bundle): avoid esbuild protocol deadlock (#36427)** (7679272)
- **fix(cli): escape control characters in external metadata (#36198)** (139b108)
- **fix(npm): ignore invalid package bin targets (#36354)** (cec65f9)
- **perf(ext/web): implement base64url encode/decode as simdutf ops (#36398)** (a6cecbd)
- **fix(inspector): validate request host headers (#36348)** (95857ff)
- **fix(net): handle malformed DNS record text (#36374)** (1e7f5b6)
- **fix(bundle): respect runtime file permissions (#36107)** (9265be2)
- **fix(ext/node_crypto): use named group exponent sizes (#36347)** (cc3c778)
- **fix(publish): report when the registry rejects a provenance attestation (#36404)** (3ea6b2d)
- **fix: upgrade deno_task_shell to 0.33.3 (#36406)** (a1a1d6f)
- **fix(ext/net): require --allow-sys for node:dns.getServers() (#35941)** (4810abc)
- **fix(desktop): retain update signature verification op (#36152)** (5c4d43a)
- **fix(ext/node): sort fs.readdir entries to match Node.js (#36341)** (5cb8bde)
- **perf(ext/node): bypass dns lookup on literal IPs in udp send (#35909)** (25afc59)
- **fix(fmt): update lax-markup to 0.3.2, lax-css and lax-sql to 0.3.0 (#36397)** (4de6477)
- **fix(webstorage): preserve Storage constructor name (#35944)** (43b96de)
- **fix(fmt): accept xml and svg extensions for stdin (#36149)** (1de257a)
- **fix(ext/node): store blocklist ranges compactly (#36212)** (f84278f)
- **fix(ext/node): don't fire http2 settings callback after session destroy (#36230)** (2f0f6ba)
- **fix(outdated): don't report JSR pre-release versions as latest (#36325)** (46ffd57)
- **fix(http): preserve stripped headers across redirects (#36360)** (370c5c6)
- **fix(ext/node): handle pre-quoted shell arguments (#36371)** (aa666fb)
- **fix(npmrc): match auth configs by authority and path (#36359)** (d3a1eb9)
- **fix(net): cancel pending writes on stream close (#36369)** (c22c2b1)
- **fix(cjs): use loader sources for recursive analysis (#36111)** (b256e82)
- **fix(fetch): scope redirect-sensitive headers by origin (#36361)** (0ec94c7)
- **fix(ext/node): gate constrained memory cgroup reads (#36218)** (e763f44)
- **fix: wire `no-legacy-abort` unstable flag from deno.json config (#36312)** (a46ca6e)
- **fix(npm): tolerate malformed `scripts` field in packuments (#36324)** (e50ca43)
- **fix(ext/node): apply backpressure in Readable.toWeb() (#36321)** (a1d2cb7)
- **fix(ext/node): defer TLS write completion callback to avoid reentrancy panic (#35867)** (bd98a84)
- **perf: remove Linux unwind tables from release artifacts (#36265)** (b4a8696)
- **fix(net): clean up concurrently dropped load-balanced listeners (#36246)** (b4ba35e)
- **fix(ext/net): release completed QUIC stream resources (#36247)** (627f0ef)
- **fix(node): clean up Web Stream finished listeners (#36227)** (5740e7a)
- **perf: reduce eager module evaluation at startup (#36331)** (764a523)
- **fix(webgpu): own mapped range backing stores (#36257)** (7fe3b88)
- **fix(crypto): add `"raw-secret"` to `KeyFormat` type (#35708)** (643f3db)
- **fix(runtime): map notify's Windows missing-path error to NotFound (#35864)** (3bb664d)
- **perf(core): run the common-path tick drain in Rust (#36157)** (602b4a5)
- **perf(fs): open files on the blocking pool in async readFile/writeFile (#36160)** (af29133)
- **fix: capitalize IP in help text (#36170)** (b01f1f3)
- **fix(ext/websocket): disable HTTP/2 server push on wss upgrade path (#36327)** (6ee1546)
- **fix(ext/node): use signatureAlgorithm digest for X509 ECDSA verify (#36326)** (655b13e)
- **fix(ext/node): implement v8.promiseHooks API (#36281)** (1fca657)
- **fix(ext/node): stop http2 file reads after stream close (#36300)** (4198222)
- **fix(ext/napi): polyfill `uv_handle_size` and `uv_strerror` (#36308)** (a190e0d)
- **fix(core): don't resolve internal module imports with the user's import map (#36303)** (b1463b2)
- **fix(resolver): don't treat `deno eval` modules as npm package files (#36304)** (b78270a)
- **fix(ext/node): support the fs `flush` option for writes (#36290)** (13a741e)
- **fix(desktop): handle colored HMR URLs and page loads (#36316)** (91dbc24)
- **fix(ext/node): implement node:test tags (#36292)** (3967df5)
- **fix(ext/node): Node compat for web streams (#36285)** (c85eb8a)
- **perf: order startup functions in release builds (#36219)** (fceaa1a)
- **fix(sync-types): add reason to too_many_arguments allows (lint)** (f8f5d0d)
- **fix(ext/web): attach Node error codes to WHATWG API validation errors (#36288)** (d11d850)
- **fix(ext/node): implement util.diff (#36289)** (8c3c1cd)
- **fix(ext/crypto): allow deriveBits with length 0 (#36283)** (b2daafb)
- **fix(telemetry): handle reentrant attribute conversion (#36256)** (bff7d53)
- **fix(node): retain consumed HTTP stream wrapper (#36254)** (edd8f5e)
- **fix(ffi): reject resizable buffers in nonblocking calls (#36259)** (99109fa)

### Backend
- **2.9.5 (#36448)** (5dfadce)

### Tests
- **test: isolate package imports specs (#36416)** (736c911)
- **test: deflake serve_watch_parallel_stops_old_workers arming race (#36199)** (9c4ab82)
- **test: tolerate delta-upgrade line in upgrade::stable output (#36284)** (0920416)

### Docs
- **docs(desktop): document showContextMenu coordinate space (#36381)** (7d57f28)
- **docs: fix napi paths node compat links (#36367)** (b996e8f)
- **docs: update contributor guide paths (#36340)** (e22a9e1)

### Chore
- **chore(release): publish dependency crates with --no-verify** (17fadf3)
- **chore(release): handle renamed deno_v8 dep in version bump** (9906e8e)
- **ci: repair QuickJS Windows builds and CLI parser lint (#36414)** (2903cf1)
- **chore: bump node_compat test suite to Node.js 26.5.1 (#36391)** (8073ee0)
- **chore(ext/node): remove `_util/async.ts` (#36188)** (d704df1)
- **chore: update node test viewer URLs, remove crux.land bench viewer (#36372)** (a1651a5)
- **chore: link deno.com/agents.md from `deno --help` (#36339)** (b50153b)
- **chore: bump v8 crate to 150.4.0 (#36274)** (e56c272)
- **build: bump quinn-proto from 0.11.14 to 0.11.16 (#36301)** (28a3e22)
- **chore(desktop): bump laufey to 0.6.1 (#36315)** (faa2172)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/denoland/deno?utm_source=github-action)._