---
name: Deno
slug: deno
domain: deno.com
category: framework
sources: 3
total_releases: 431
releases_last_30d: 1
avg_releases_per_week: 0.4
last_updated: 2026-10-07
tracking_since: 2022-05-24
canonical: https://releases.sh/deno
overview_url: https://releases.sh/deno/overview.md
tags:
  - javascript
  - runtime
  - typescript
aliases:
  - deno.land
accounts:
  github: "denoland"
  x: "deno_land"
  youtube: "/c/deno_land"
---

## Overview

Recently shipped `deno desktop` for building native apps from web code, then added clipboard, menu, and window transparency APIs.

**`deno desktop` filled in native app pieces.** The clipboard API, menu items with checked, icon, and tooltip state, and window opacity and transparency controls landed across 2.9.2–2.9.6. HMR now runs through each framework's own dev server for Vite, Nuxt, and React Router, and `deno check --desktop` type-checks desktop code. The 2.9.0 launch covered Linux `.deb`/`.rpm` and Windows `.msi` installers, `--compress` self-extracting bundles, and deep-link schemes registered at bundle time.

**Node projects port over with fewer steps.** `deno install` reads npm, pnpm, yarn, and Bun lockfiles directly, and supplies a `node` on PATH when Node isn't installed. `deno add` gained `--unscoped`, `--no-save`, and `--save-optional`; `deno task --members` runs tasks in workspace members only. Compile targets `aarch64-pc-windows-msvc`.

**Runtime and crypto expanded.** Blob/Body `textStream()`, an experimental QuickJS backend, raw ChaCha20 in `createCipheriv`, and `byteLength`/`length` parameters on `Buffer.indexOf`/`includes` all shipped. V8 upgraded to 150.2.0.

**CLI tooling rounded out.** `deno link`, `unlink`, `watch`, and `list` joined in 2.9.0, alongside configurable coverage thresholds and `deno bundle --declaration` for rolled-up `.d.ts` files.

<Source name="Deno" slug="deno" type="github" releases="115" latest-version="v2.9.7" latest-date="2026-09-17T09:04:55.000Z" url="https://releases.sh/deno/deno" />
<Source name="Deno Changelog" slug="deno-changelog" type="feed" releases="204" latest-version="2.9" latest-date="2026-06-25T09:00:00.000Z" url="https://releases.sh/deno/deno-changelog" />
<Source name="Fresh" slug="fresh" type="github" releases="112" latest-version="2.3.3" latest-date="2026-04-28T11:38:20.000Z" url="https://releases.sh/deno/fresh" />

## Recent Releases

_Summaries below — fetch the release's `canonical` URL for full content, or `url` for the original source._

<Release source="deno" version="v2.9.7" date="September 17, 2026" published="2026-09-17T09:04:55.000Z" url="https://github.com/denoland/deno/releases/tag/v2.9.7" canonical="https://releases.sh/release/rel_5xjuuTfw1qsWa7JRBw7fy" truncated="true">
Security-adjacent fixes include clearing supplementary groups before changing process identity, refusing symlink SQLite database paths, checking permissions for multicast membership, and validating lockfile tarball origins. Also fixes Node compat issues such as repeated child process signals, AsyncLocalStorage exit context, and node:dns error codes, plus performance work in core and Buffer hex paths.
</Release>

<Release source="deno" version="v2.9.6" date="August 27, 2026" published="2026-08-27T17:29:30.000Z" url="https://github.com/denoland/deno/releases/tag/v2.9.6" canonical="https://releases.sh/release/rel_aepmAxcFknhnacLamxSBh" truncated="true">
Adds a clipboard API and menu item icon, tooltip, and checked state support to the desktop runtime. Enforces permissions for proxy transports in fetch, and fixes a range of issues across HTTP, N-API, npm, and more — including keeping request bodies readable after a response is sent and skipping invalid DNS records in ANY queries.
</Release>

<Release source="deno" version="v2.9.5" date="August 6, 2026" published="2026-08-06T15:05:43.000Z" url="https://github.com/denoland/deno/releases/tag/v2.9.5" canonical="https://releases.sh/release/rel_S3s6P9Z-XF3xg7-ic_SnZ" truncated="true">
Adds Blob/Body textStream() and an experimental QuickJS backend, plus new `--unscoped` and `--members` flags for add and task. The bulk of the release is dozens of Node compatibility and net/websocket fixes, including backpressure in Readable.toWeb() and corrected DNS permission handling for node:dns.getServers().
</Release>

<Release source="deno" version="v2.9.4" date="July 23, 2026" published="2026-07-23T16:59:31.000Z" url="https://github.com/denoland/deno/releases/tag/v2.9.4" canonical="https://releases.sh/release/rel_1DhhPVM6O1Cpx3nQNSGJn" truncated="true">
Fixed npm tarballs downloading from registry.npmjs.org instead of the configured registry. Also fixed worker_threads.locks being implemented via Web Locks, stale lockfile downgrades, and dozens of other fixes across the runtime.
</Release>

<Release source="deno" version="v2.9.3" date="July 15, 2026" published="2026-07-15T15:35:06.000Z" url="https://github.com/denoland/deno/releases/tag/v2.9.3" canonical="https://releases.sh/release/rel_vz1OHhtLM0pLRfkv99YXC" truncated="true">
deno add now supports --no-save and --save-optional flags, and compile targets aarch64-pc-windows-msvc. Fixes include sqlite deserialization guard, napi threadsafe function lifecycle, node_http2 header validation, and a data-loss fix for active stream reads on node.
</Release>

<Release source="deno" version="v2.9.2" date="July 8, 2026" published="2026-07-08T14:36:21.000Z" url="https://github.com/denoland/deno/releases/tag/v2.9.2" canonical="https://releases.sh/release/rel_jYsFOf0a_iuTo6uhpR0RF" truncated="true">
Desktop apps can now use window opacity and transparency APIs, and React Router framework is automatically detected. HMR support is enabled for Vite and Nuxt, and stream performance is improved across Web Streams and pipeTo operations. Plus dozens of correctness fixes across Node.js compat, telemetry, coverage reporting, and package installation.
</Release>

<Release source="deno" version="v2.9.1" date="July 1, 2026" published="2026-07-01T16:31:16.000Z" url="https://github.com/denoland/deno/releases/tag/v2.9.1" canonical="https://releases.sh/release/rel_kBig2L4oeEUy1EheT5cnq" truncated="true">
Added a `--desktop` flag for type-checking Deno Desktop code and deep-link URL scheme registration at bundle time. Fixed over 40 bugs across caching, bundling, Node.js compatibility, desktop/windowing issues, and a timer expiry race that could lose timers.
</Release>

<Release source="deno" version="v2.9.0" date="June 25, 2026" published="2026-06-25T15:00:40.000Z" url="https://github.com/denoland/deno/releases/tag/v2.9.0" canonical="https://releases.sh/release/rel_VKdUhQ4C-fy8vte9Xq1IY" truncated="true">
Deno.serve automatic compression is now disabled by default (opt-in via --compress/compress config). This release also ships the `deno desktop` subcommand for building cross-platform desktop apps, plus `deno watch`, `deno link`/`unlink`, `deno list`, CSS module imports, Web Locks API, Happy Eyeballs for TCP/TLS connections, and built-in snapshot testing.
</Release>

<Release source="deno-changelog" version="2.9" date="June 25, 2026" published="2026-06-25T09:00:00.000Z" url="https://deno.com/blog/v2.9" canonical="https://releases.sh/release/rel_6kNiPfaX3_xVG-lQ5o6yf" truncated="true">
### Deno 2.9

Deno 2.9 introduces `deno desktop`, a new command that builds native desktop applications from web framework projects with no extra toolchain, producing a single distributable binary with built-in Deno.* desktop APIs. Performance gains include 2x faster cold startup (17ms), up to 3x less RSS memory, and 27% higher realworld Deno.serve throughput. Also adds direct npm, pnpm, yarn, and Bun lockfile reading in `deno install`, CSS module imports, and a stronger test runner.
</Release>

<Release source="deno" version="v2.8.3" date="June 11, 2026" published="2026-06-11T15:57:47.000Z" url="https://github.com/denoland/deno/releases/tag/v2.8.3" canonical="https://releases.sh/release/rel_7LB7kq-cIVG6z6BwQlsTM" truncated="true">
Deno v2.8.3 introduces watch mode for `deno compile` and supports glob patterns in `deno.json` links. New features also include diagnostic reporting for import map files and ML-DSA JWK import/export in `ext/crypto`. The release also addresses numerous issues across the CLI, bundling, fetching, and Node.js compatibility.
</Release>

## Fetching more

Append `.md` (markdown), `.json` (raw data), or `.atom` (feed) to any URL on this page.

- Per-source history: `https://releases.sh/deno/{source-slug}`
- Atom feed: `https://releases.sh/deno.atom`
- Individual release: `https://releases.sh/release/{release-id}`
