Impact Score: 5/10
Deno v2.3.4 โ Release Notes & Engineering Impact
Source available โ automated, not human-reviewed
Component: deno ยท Channel: stable. Automated analysis, not a compatibility certification. How this works.
Analysis updated: 2026-11-01.
โก Executive Summary (TL;DR)
Deno v2.3.4. Source highlight: feat(UNSTABLE/byow): add `resize` method to `UnsafeWindowSurface` (#29254)
Who Does This Impact? (Role-Based Analysis)
๐ป Software Engineers & Devs
Check the source notes against the package and APIs you use before upgrading.
๐ Product & Engineering Leads
Use the documented changes to assess relevance to your product; release frequency alone is not a quality measure.
โ๏ธ DevOps & Security
Verify the target version, runtime requirements and rollback procedure in the official documentation.
โจ New Features & Capabilities (6)
- feat(UNSTABLE/byow): add `resize` method to `UnsafeWindowSurface` (#29254)
- feat(ext/webgpu): implement GPUQueue.onSubmittedWorkDone (#29255)
- feat(lsp): display JsErrors at their original line (#29221)
- feat(runtime): add SIGUSR2 handler for low memory notifications (#29295)
- feat(unstable): --allow-net subdomain wildcards (#29327)
- feat: use a single 'performance' global (#29323)
๐ง Bug Fixes & Patches (6)
- fix(cli): Correct a small typo in help output (#29395)
- fix(compile): init dummy stdin after debug env is initialized (#29144)
- fix(coverage): HTML validation errors in coverage explorer (#29497)
- fix(coverage): pass DENO_COVERAGE_DIR env var correctly (#29363)
- fix(ext/console): console.group indents two spaces (#29486)
- fix(ext/node): Fix `Database#exec` should return undefined (#29368)
๐ View Raw Release Notes (Original Developer Log)
### 2.3.4 / 2025.05.29
- feat(UNSTABLE/byow): add `resize` method to `UnsafeWindowSurface` (#29254)
- feat(ext/webgpu): implement GPUQueue.onSubmittedWorkDone (#29255)
- feat(lsp): display JsErrors at their original line (#29221)
- feat(runtime): add SIGUSR2 handler for low memory notifications (#29295)
- feat(unstable): --allow-net subdomain wildcards (#29327)
- feat: use a single 'performance' global (#29323)
- fix(cli): Correct a small typo in help output (#29395)
- fix(compile): init dummy stdin after debug env is initialized (#29144)
- fix(coverage): HTML validation errors in coverage explorer (#29497)
- fix(coverage): pass DENO_COVERAGE_DIR env var correctly (#29363)
- fix(ext/console): console.group indents two spaces (#29486)
- fix(ext/node): Fix `Database#exec` should return undefined (#29368)
- fix(ext/node): add "internal/http2/util" module (#29474)
- fix(ext/node): add `fchown` and `fchownSync` to `node:fs` (#29408)
- fix(ext/node): createInterface doesn't require env permission (#29472)
- fix(ext/node): emit 'worker' event when a new worker thread is created
(#29345)
- fix(ext/node): fix `getEventListeners` in `node:events` (#29480)
- fix(ext/node): handle `null` ssl options in `node:https` (#29365)
- fix(ext/node): ignore some Node.js specific flags (#29461)
- fix(ext/node): implement `before` and `after` hooks in `node:test` (#29367)
- fix(ext/node): include `assert.ok` in `node:test` (#29383)
- fix(ext/node): node:buffer validates INSPECT_MAX_BYTES (#29469)
- fix(ext/node): prevent stdin double read (#29353)
- fix(ext/node): return values in node:domain (#29440)
- fix(ext/node): use primordials in `ext/node/polyfills/_fs/_fs_truncate.ts`
(#29422)
- fix(ext/node): use primordials in `ext/node/polyfills/internal/errors.ts`
(#29382)
- fix(ext/node): use primordials in `ext/node/polyfills/internal/util.mjs`
(#29430)
- fix(fmt): allow expressions used as key-value pair in css template literals
(#29369)
- fix(lsp): do not warn about unscoped package name (#29463)
- fix(lsp): don't cache jsxImportSource on lockfile-only changes (#29415)
- fix(lsp): handle 'deno.config' setting outside of workspace (#29420)
- fix(lsp): lookup bare workspace specifiers for auto-import (#29304)
- fix(lsp): lookup mapped npm specifier resolutions for auto-import (#29388)
- fix(lsp): lookup patched jsr packages for auto-import (#29437)
- fix(node): do not look up node_module paths when using global resolver
(#29398)
- fix(node): do not require permission checks for require's node_modules stats
(#29397)
- fix(node): use `JsErrorClass` for `code` property on node resolver errors
(#29294)
- fix(task): wildcard match starts at the beginning (#29343)
- fix: Support virtio vsock only on systems on which it is available (#29268)
(#29354)
- fix: `--frozen` flag missing from several subcommands (#29508)
- fix: `process.stdin.pause()` (#29330)
- fix: don't unwrap in global interceptor (#29484)
- fix: load changed non-remote dynamic imports at runtime (#29413)
- fix: support numerical properties for deno_errors (#29489)