The Deno development team has announced a major update with the release of Deno 1.41, focusing on reducing binary sizes and enhancing support for Linux ARM64. This update marks a significant improvement for the TypeScript/JavaScript runtime, addressing long-standing community requests and optimizing performance for developers.
Unveiled on February 22, Deno 1.41 brings a notable reduction in the size of binaries produced by the deno compile
command. According to Deno Land, these binaries are now up to 50% smaller compared to previous versions. For example, a “Hello World” program that previously resulted in a 116MB binary on Mac ARM has been compressed to just 58MB. This reduction in size is expected to streamline the development process and improve deployment efficiency. Future updates will continue to focus on reducing binary sizes and offering developers the ability to compile custom builds with only the features they need.
In addition to the size reduction, Deno 1.41 introduces official support for Linux ARM64, addressing one of the most requested features from the Deno community. This addition allows developers to build and run Deno applications on ARM64 architecture with official binaries. The release also includes ARM64 canary builds, providing a way for developers to test new features and bug fixes before they are included in stable releases.
The update also addresses several compatibility issues with Node.js. Key improvements include support for the aes256
algorithm in the crypto module, enhanced functionality in http2.connect
with ALPN protocols, and updates to the fs/promises
module to include cp()
. Additionally, the cp.execFile
function now correctly validates the timeout parameter, resolving previous inconsistencies.
Deno 1.41 also brings changes to Deno APIs, further aligning them with industry standards. The Deno.ConnectTlsOptions
now supports cert
and key
properties, improving consistency with other “connect” APIs in Deno. New methods such as DenoFsFile.isTerminal
and Deno.FsFile.SetRaw()
enhance terminal I/O support, while Deno.FsFilelock()
and Deno.FsFile.unlock()
introduce file locking capabilities.
Overall, Deno 1.41 represents a significant step forward in improving the Deno runtime environment, offering both performance enhancements and expanded support for different architectures. Developers are encouraged to upgrade to the latest version to take advantage of these new features and optimizations.