· javascript

deno 2.9.8 released


The latest release, deno 2.9.8, brings several targeted fixes for developers working with the runtime. Notably, the compilation process now includes a check for read permission when dynamically importing local files (#36925).

For those using zsh, completions have been enhanced to properly complete script paths when running bare deno commands (#36976). Core functionality sees improvements, such as keeping op contexts active until the isolate is disposed (#37026).

In the realm of tooling and extensions, fixes address various integration points. The fetch extension now bumps hyper-util to 0.1.21 and hyper to 1.11.1 to cancel the idle interval when the pool empties (#36968). Furthermore, the npm package manager now validates package link names (#37047).

Security and networking components received updates, including distrusting compromised eMudhra certificate authorities (#37046) in the TLS layer. There are also fixes in the NAPI extension, such as checking napi_create_dataview bounds for overflow (#36962).

Moving to the preceding release, deno 2.9.7, introduced fixes across the board. The CLI now generates valid bash completions (#36736), and the desktop environment saw fixes for deferred window closing and NAPI symbol export on Linux (#36718).

Extensive Node compatibility improvements were present in 2.9.7. For instance, the extension now allows repeated child process signals (#36644), and it checks the resolved IP against the net deny list during tcp_wrap bind (#36482).

The development experience benefits from features in deno 2.9.6. This version added support for the 'text/x-component' content type via the compressible feature (#36450) and introduced the clipboard API for the desktop environment (#35750).

Several core stability fixes were implemented in 2.9.6, including capping adaptive buffer initial allocations (#36432) and making Unix pipe fd ownership explicit (#36353). The desktop runtime also received updates to handle colored HMR URLs and page loads (#36316).

In deno 2.9.5, new features expanded capabilities. Developers gained the `--unscoped` flag to alias packages by their unscoped name (#36319) and the ability to run tasks only in workspace members via the `--members` flag (#35748).

This version also addressed several deep integration issues, such as avoiding esbuild protocol deadlock (#36427) and ensuring the runtime respects file permissions during bundling (#36107).

Related coverage

Also worth reading

  1. next.js 16.5.0-canary.35 released
  2. next.js 16.5.0-canary.33 released
  3. angular 22.2.4 released
  4. LibreOffice's 'no AI' stance meets LLM-assisted code
  5. “Urgency is an inherently subjective call”: Anthropic tells TNS how it grades Claude Duet