home..

Announcing AtomVM v0.6.3

2024/07/22 Announcing AtomVM v0.6.3

We are pleased to announce the release of v0.6.3 of the AtomVM virtual machine!

This release expands OTP coverage to include the Erlang sets and queue modules and several Elixir Keyword functions: Keyword.merge, Keyword.take, Keyword.pop(!), Keyword.keyword?, and Keyword.has_key?. Support for ~kp with io_lib:format/2 and maps:iterator/2 that were introduced with OTP26 have added, along with maps:from_keys/2. The lists modules gains support for lists:keytake/3, lists:keystore/4, and lists:filtermap/2. Support for erlang:size/1 and erlang:apply/2 has also been added.

A simple http client, that can be used for different use cases, such as downloading OTA updates has been added to eavmlib.

The channel used in access point mode can now be changed in the network driver.

This release adds support for ESP32-H2 devices. Support has also been added for USB serial output on ESP32 devices with native USB support (ESP32-S2 for example).

Notable changes include:

Several bugs have been fixed, including the creation of multiple links for the same process and links not being removed at trapped exits. A bug affecting binary pattern matching (for builds with OTP-21) has been fixed, and several memory related bugs have been corrected, as well as a bug that could yield crashes when functions are sent in messages. The error that is raised when a function is undefined has also been fixed.

For the full set of bug fixes, changes and additions consult the Changelog.

Download images and binaries are available for most platforms, except STM32, are available from AtomVM Releases on GitHub. STM32 users as well as anyone needing to build a generic_unix port for a device without release binaries should consult the Build Instructions. MacOS users also have the option of installing with macports, and an updated HomeBrew tap should be available in the near future. The “tap” is currently out of date, but a fix has already been submitted.

The git repository and tarballs of the AtomVM source release for all platforms can be found on our GitHub AtomVM page.

Documentation for the v0.6.3 release of the AtomVM virtual machine, including a Getting Started Guide, can be found in the AtomVM Documentation.

As always, tools, drivers, and modules are available on the GitHub AtomVM Project page.

Many thanks go to Davide Bettio, for creating and maintaining such a fine work of software. Special thanks also to takasehideki and Mikael Karlsson for their first contributions to the project, along with the rest of the contributors and testers who have helped make this release possible.

The AtomVM team

© 2024 atomvm.net   •  Theme  Moonwalk