Impact Score: 5/10
Deno v2.2.0 โ 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.2.0. Source highlight: feat(bench): add `--permit-no-files` (#27048)
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(bench): add `--permit-no-files` (#27048)
- feat(bench): add `warmup` and `n` for controlling number of iterations
- feat(check/lsp): support "compilerOptions.rootDirs" (#27844)
- feat(compile): show remote modules and metadata size when compiling (#27415)
- feat(compile): support sloppy imports (#27944)
- feat(ext/cache): support lscache (#27628)
โก Performance & Enhancements (3)
- perf(check): use v8 code cache for extension sources in `deno check` (#28089)
- perf(lsp): don't clone asset text (#28165)
- perf(lsp): make auto-imports a little faster (#28106)
๐ง Bug Fixes & Patches (6)
- feat(unstable): support multiple fixes from lint plugins (#28040)
- fix(check): npm resolution errors to tsc diagnostics (#28174)
- fix(check): support sloppy imports with "compilerOptions.rootDirs" (#27973)
- fix(cli): remove extraneous comma in task --eval help (#26985)
- fix(completions): remove problematic character for powershell (#28102)
- fix(ext/node): `DatabaseSync#exec` should execute batch statements (#28053)
๐ View Raw Release Notes (Original Developer Log)
### 2.2.0 / 2025.02.18
- feat(bench): add `--permit-no-files` (#27048)
- feat(bench): add `warmup` and `n` for controlling number of iterations
(#28123)
- feat(check/lsp): support "compilerOptions.rootDirs" (#27844)
- feat(compile): show remote modules and metadata size when compiling (#27415)
- feat(compile): support sloppy imports (#27944)
- feat(ext/cache): support lscache (#27628)
- feat(ext/canvas): enhance `createImageBitmap` specification compliance
(#25517)
- feat(ext/node): implement `node:sqlite` (#27308)
- feat(http): add otel metrics (#28034)
- feat(jupyter): make GPUTexture and GPUBuffer displayable (#28117)
- feat(lint): add JavaScript plugin support (#27203)
- feat(lint): add rules for react/preact (#27162)
- feat(lint): change behavior of `--rules` flag (#27245)
- feat(node:http): add http information support (#27381)
- feat(outdated): interactive update (#27812)
- feat(task): add support for task wildcards (#27007)
- feat(unstable): WebTransport (#27431)
- feat(unstable): add `lint.plugins` to config schema (#27982)
- feat(unstable): add basic support for otel trace links (#27727)
- feat(unstable): add js lint plugin source code helpers (#28065)
- feat(unstable): add lint plugin ast types (#27977)
- feat(unstable): add test for lint plugin destroy hook (#27981)
- feat(unstable): align lint ast with TSEStree (#27996)
- feat(unstable): support multiple fixes from lint plugins (#28040)
- feat(unstable): type lint plugin visitor (#28005)
- feat: Deno.cwd() no longer requires --allow-read permission (#27192)
- feat: TypeScript 5.7 (#27857)
- feat: Upgrade V8 to 13.4 (#28080)
- feat: implement `process.cpuUsage` (`Deno.cpuUsage`) (#27217)
- feat: support XDG_CACHE_HOME for deno dir on macos (#28173)
- fix(check): npm resolution errors to tsc diagnostics (#28174)
- fix(check): support sloppy imports with "compilerOptions.rootDirs" (#27973)
- fix(cli): remove extraneous comma in task --eval help (#26985)
- fix(completions): remove problematic character for powershell (#28102)
- fix(ext/node): `DatabaseSync#exec` should execute batch statements (#28053)
- fix(ext/node): enforce -RW perms on `node:sqlite` (#27928)
- fix(ext/node): expose sqlite changeset constants (#27992)
- fix(ext/node): implement SQLite Session API (#27909)
- fix(ext/node): implement StatementSync#iterate (#28168)
- fix(ext/node): implement `DatabaseSync#applyChangeset()` (#27967)
- fix(ext/node): represent sqlite blob as Uint8Array (#27889)
- fix(ext/node): sqlite bind support bigint values (#27890)
- fix(ext/node): support read-only database in `node:sqlite` (#27930)
- fix(ext/node): throw RangeError when sqlite INTEGER is too large (#27907)
- fix(ext/node): throw Session methods when database is closed (#27968)
- fix(ext/node): use primordials in `ext/node/polyfills/path/common.ts` (#28164)
- fix(ext/sqlite): add `sourceSQL` and `expandedSQL` getters (#27921)
- fix(init): force --reload if npm or jsr package (#28150)
- fix(install/global): do not error if path is an npm pkg and relative file
(#26975)
- fix(lint): `Deno.lint.runPlugin` throws in `deno run` (#28063)
- fix(lint): clear plugin diagnostics on each lint file run (#28011)
- fix(lint): disable incremental caching if JS plugins are used (#28026)
- fix(lint): don't mark plugin diagnostic as fixable, if it's not (#28147)
- fix(lint): don't show docs URLs for plugins (#28033)
- fix(lint): out of order diagnostics for plugins (#28029)
- fix(lint): react-rules-of-hooks works with destructuring (#28113)
- fix(lint): update jsx/react related rules and names (#27836)
- fix(lsp): include description for auto-import completions (#28088)
- fix(node/sqlite): sqlite named parameters (#28154)
- fix(publish): error on missing name field (#27131)
- fix(task): support --frozen flag (#28094)
- fix(task): update --filter flag description (#26974)
- fix(unstable): add missing rule context types (#28014)
- fix(unstable): align js lint context API with eslint (#28066)
- fix(unstable/temporal): implement
`Temporal.ZonedDateTime.getTimeZoneTransition` (#27770)
- fix(workspace): diagnostic for imports in member with importMap at root
(#28116)
- fix: add hint to run with `--no-check` when type checking fails (#28091)
- fix: cache bust http cache on lockfile integrity mismatch (#28087)
- fix: handle all values for buffers in turbocall codegen (#28170)
- perf(check): use v8 code cache for extension sources in `deno check` (#28089)
- perf(lsp): add built-in tracing support for the LSP (#27843)
- perf(lsp): don't clone asset text (#28165)
- perf(lsp): make auto-imports a little faster (#28106)