Deno Land has released Deno 1.46, which the company says is the final 1.x release of the JavaScript/TypeScript runtime. The upgrade simplifies the command-line interface, improves dependency management and Node.js/npm compatibility, and enables multi-threaded web servers with a new --parallel
flag for the deno serve
command.
Deno 1.46 was announced August 22. To upgrade to Deno 1.46 developers can run the deno upgrade
command in their terminal.
The CLI (command line interface) in Deno 1.46 introduces shorter invocations to offer a more ergonomic method for performing common tasks. Developers now can run a program with deno
and do not have to specify the run
subcommand. All necessary flags still can be passed to the deno
subcommand. Another ergonomic change is an ability to run tasks via deno run
.
Dependency management improvements include supporting dist
tags and suggest npm packages. Developers now can use dist
tags when adding npm dependencies. Also, deno add
now will provide a helpful message when trying to add a package from JSR that only is available on npm. With deno remove
, Deno now has a subcommand to remove a dependency from the config and lockfile. And developers can invoke a deno clean
to purge the global cache used to store remote dependencies for efficient use across multiple projects.
Deno 1.46 boosts the performance of the Deno.serve()
API by 8% to 15% while crypto.randomUUID()
is five times faster, according to Deno Land. Further, deno serve
now supports a --parallel
flag that runs the server on multiple threads. Also, Response.clone()
is 80% faster and deno doc
has been optimized to improve memory usage. And the standard library in Deno 1.46 now is stable.
With Deno 1.46 having now arrived, a first release candidate of Deno 2 is expected shortly. Deno 2 will have some “minor” breaking changes, including API changes and deprecations. Other improvements in Deno 1.46 include:
- The
deno serve
subcommand, for writing servers in a declarative way, has been made faster. - Improvements have been made to
deno test
anddeno coverage
, which now show breadcrumbs for easier navigation. - Compatibility with Node.js and npm packages has been improved, with Deno 1.46 focusing on getting several popular packages working. For example, Playwright is now supported on Linux and macOS.
- The
deno fmt
command now can be used to format HTML, CSS, SCSS, Sass, Less, YAML, Astro, Angular, Svelte, and Vue files. - Google’s V8 12.9 JavaScript and WebAssembly engine now ships with Deno.