Announcing AtomVM v0.6.4
August 2024 (160 Words, 1 Minutes)
2024/08/18 Announcing AtomVM v0.6.4
We are pleased to announce the release of v0.6.4 of the AtomVM virtual machine!
This release greatly enhances support for Elixir language programming. Many Elixir modules and functions have been added:
- Implement missing opcode 161 (raw_raise), that looks more likely to be generated with Elixir code
- Support for Elixir Kernel:
- Kernel.struct and Kernel.struct!
- Kernel.min and Kernel.max
- MapSet module
- Range module
- Enum functions: split_with, join, map_join, into, reverse, slice and to_list
- Map.replace/3 and Map.replace!/3
- IO.iodata_to_binary/1
- Support for Elixir Enumerable and Collectable protocol
- Support for Elixir exceptions: Exception module and the other error related modules such as ArgumentError, UndefinedFunctionError, etc…
- Support (as stub) for erlang:error/3 (that is required from Elixir code)
The ESP32 platform now implements gpio:init/1
, which was previously only used (and required) on the rp2040 platform. This function is used to initialize pins for GPIO usage, which some pins require depending on default function and bootloader code.
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 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.4 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, as well as the contributors and bug reporters who have helped make this release possible.
The AtomVM team