Deno v2.3.4stable Released May 30, 2025
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.

Compatibility not verified โ€” check source notes
๐Ÿ“„ .MD
โšก 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)