Deno 2.9.0
Deno 2.9.0 has been released on June 25, 2026 — the latest quarterly feature release of the JavaScript/TypeScript runtime. The marquee addition is deno desktop, a new subcommand that compiles web applications into native, self-contained desktop apps. Alongside this, the release improves deno compile with declaration file generation and watch mode.
Deno 2.9 follows the 2.8 release from May and maintains the project's cadence of monthly feature drops. Here is what shipped.
deno desktop — Native Desktop Apps From Web Code
Deno 2.9 introduces deno desktop, a subcommand that takes a script or a web framework project and produces a native desktop application. The generated binary includes a webview or, optionally, a full Chromium Embedded Framework (CEF) runtime, giving developers three rendering backends to choose from based on their bundle size and capability needs.
The webview backend produces binaries around 15 MB and is suitable for most internal tools and simple UIs. The CEF backend provides full Chrome DevTools and extension support at the cost of a larger binary (~120 MB). A third option uses the operating system's native webview (WebKit on macOS, WebView2 on Windows), yielding the smallest footprint at roughly 10 MB.
Deno desktop auto-detects popular frameworks: if the entry point is a Next.js, Astro, Fresh, or any standard Vite project, it configures the build pipeline automatically. Manual configuration is available via a deno.json "desktop" section for custom setups.
This positions Deno as a direct alternative to Tauri and Electron for developers who want to stay in the JavaScript/TypeScript ecosystem without the complexity of Rust or the overhead of a full Chromium bundle.
compile —declaration Flag
The deno compile command now supports a --declaration flag that generates rolled-up .d.ts files alongside the compiled binary. This is aimed at library authors who distribute compiled packages and need TypeScript consumers to get accurate type information without publishing separate type definition packages.
The generated declarations are self-contained — no external dependency on the source project's node_modules or import map — making distribution of single-file typed binaries feasible for the first time.
compile Watch Mode
An oft-requested quality-of-life improvement: deno compile now supports a --watch flag that recompiles the binary when source files change. This cuts the edit-compile-test loop from multiple commands to a single persistent process, which is especially useful for desktop app development with deno desktop.
Other Improvements
- npm compatibility: Improved handling of npm packages that use dynamic
require()calls. - Memory profiling: The
--inspectflag now exposes memory heap snapshots via the Chrome DevTools protocol. - Windows ARM64 support: Deno 2.9 ships official binaries for Windows on ARM64.
- Bug fixes: Resolved an issue where
fetch()would hang on certain HTTP/2 connections and a race condition in the file watcher on Linux.
Deno 2.9.0 is available now. Upgrade with deno upgrade or download the latest binary from deno.com.