Skip to content

Commit

Permalink
Merge pull request #42 from UncleGrumpy/announce_v0.6.4
Browse files Browse the repository at this point in the history
Announce release v0.6.4
  • Loading branch information
UncleGrumpy committed Aug 19, 2024
2 parents 5be0b45 + 73a4b84 commit 1a951e3
Showing 1 changed file with 51 additions and 0 deletions.
51 changes: 51 additions & 0 deletions _posts/2024-08-18-Release_v0.6.4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
layout: post
title: Announcing AtomVM v0.6.4
excerpt_separator: <!--more-->
---

## 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`](https://www.atomvm.net/doc/v0.6.4/apidocs/erlang/eavmlib/gpio.html#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](https://www.atomvm.net/doc/v0.6.4/CHANGELOG.html).

Download images and binaries are available for most platforms, except STM32, are available from
[AtomVM Releases on GitHub](https://github.com/atomvm/AtomVM/releases/tag/v0.6.4). STM32 users as
well as anyone needing to build a generic_unix port for a device without release binaries should
consult the [Build Instructions](https://www.atomvm.net/doc/v0.6.4/build-instructions.html). MacOS
users also have the option of
[installing with `macports`](https://www.atomvm.net/doc/v0.6.4/getting-started-guide.html#installation-on-macos),
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](https://github.com/atomvm/AtomVM).

Documentation for the v0.6.4 release of the AtomVM virtual machine, including a
[Getting Started Guide](https://www.atomvm.net/doc/v0.6.4/getting-started-guide.html), can be found in the
[AtomVM Documentation](https://www.atomvm.net/doc/v0.6.4/).

As always, tools, drivers, and modules are available on the
[GitHub AtomVM Project page](https://github.com/atomvm).

Many thanks go to [Davide Bettio](https://github.com/bettio), for creating and maintaining such a
fine work of software, as well as the [contributors](https://github.com/atomvm/AtomVM/graphs/contributors) and [bug reporters](https://github.com/atomvm/AtomVM/issues) who have helped make this release possible.

_The AtomVM team_

0 comments on commit 1a951e3

Please sign in to comment.