-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #25 from UncleGrumpy/announce_0.6.9b1
Publish release announcement for v0.6.0-beta.1
- Loading branch information
Showing
1 changed file
with
38 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
--- | ||
layout: post | ||
title: Announcing AtomVM v0.6.0-beta.1 (Pre-release) | ||
excerpt_separator: <!--more--> | ||
--- | ||
|
||
## 2024/02/29 Announcing AtomVM v0.6.0-beta.1 (Pre-release) | ||
|
||
We are pleased to announce that our pre-release of v0.6.0 is now in beta! | ||
|
||
>Wait! What happened to the v0.6.0-beta.0 release? | ||
>Our all volunteer QA team (thank you @petermm) discovered a problem with the ESP32S3 builds that prevented the default `esp32init.beam` from working properly. This is the default network application that will create a wireless AP, and allow you to upload an application to an ESP32 that has been flashed with the AtomVM image, but does not have a user application flashed yet. We have determined the cause of the problem, but it has not been fixed in this release. ESP32S3 users will need to flash an application over UART, and a crash-boot-loop is expected if the device is started without an application on the application partition. | ||
In this release [SPI](https://www.atomvm.net/doc/v0.6.0-beta.1/apidocs/erlang/eavmlib/spi.html), [I2C](https://www.atomvm.net/doc/v0.6.0-beta.1/apidocs/erlang/eavmlib/i2c.html), and [UART](https://www.atomvm.net/doc/v0.6.0-beta.1/apidocs/erlang/eavmlib/uart.html) peripheral configurations have been changed, for details consult the documentation for these modules in the [`eavmlib` documentation](https://www.atomvm.net/doc/v0.6.0-beta.1/apidocs/erlang/eavmlib/README.html). There is now an ESP32 API for allowing coexistence of native and Erlang I2C drivers, for example, allowing the use of the native [`atomvm_ssd1306` Display driver](https://github.com/atomvm/atomvm_ssd1306), with a pure erlang driver for the [SHT3x temperature sensor](https://github.com/atomvm/atomvm_examples/tree/master/erlang/i2c_example). GPIO interrupt (currently only supported on ESP32 and STM32 platforms) messages can now be sent to a designated receiver using `gpio:set_int/4`. Support for `lists:split/2` has also been added. ESP32 platform now supports retrieving the device's e-fuse MAC address with `esp:get_default_mac/0`. | ||
|
||
AtomVM now uses UTF-8 encoding for atoms when using `erlang:term_to_binary/1`, in conformance with OTP-26, and `binary_to_atom/1` and `atom_to_binary/1` now default to utf8. Support has been added for utf8 encoding to `*_to_atom` and `atom_to_*` functions. | ||
|
||
We have made improvements to the rp2040 platform that should make development workflows much smoother. The device will now accept re-flashing a new application using the `atomvm_rebar3_plugin` `pico_flash` task after the application has exited. Previously the device would be unresponsive after exiting. There is also a default 20 second timeout, which the device will wait for a USB console connection to be established, before running the application. Previously our default build would start the application immediately, giving the user no time to connect to be able to see the output of `hello_world` before the application exited, and the device became unresponsive. | ||
|
||
The port call tuple format has been changed to the same format as gen_server, so cast support can be added. This change means older versions of `atomvmlib` will not work, libraries from latest version must be used. Check the [Update Instructions](https://github.com/atomvm/AtomVM/blob/v0.6.0-beta.1/UPDATING.md) for other breaking changes for both BEAM application developers, as well as for contributors, and driver developers using nifs or ports. | ||
|
||
Under the hood enhancements feature a new atom table, which uses less memory, and has improved performance. | ||
|
||
Several memory related bugs have been fixed. A random number generation bug has been fixed on ESP32 and RPi2040, as well as a bug shared by both platforms that would cause invalid GPIO pull directions to be silently set to `floating` without an error. | ||
|
||
For the full set of bug fixes, changes and additions since the v0.6.0-alpha.2 release consult the [Changelog](https://www.atomvm.net/doc/v0.6.0-beta.1/CHANGELOG.html), and check the [Updating Instructions](https://github.com/atomvm/AtomVM/blob/v0.6.0-beta.1/UPDATING.md). | ||
|
||
Download images and binaries are available for most platforms, except STM32 (and some generic_unix hosts for this release due to specific Mbed-TLS requirements) are available from [AtomVM Releases on GitHub](https://github.com/atomvm/AtomVM/releases/tag/v0.6.0-beta.1). 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.0-beta.1/build-instructions.html). | ||
|
||
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.0-beta.1 pre-release of the AtomVM virtual machine, including a Getting Started Guide, can be found at the [AtomVM Documentation page](https://www.atomvm.net/doc/v0.6.0-beta.1/). | ||
|
||
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 such a fine work of software, as well as the [contributors](https://github.com/atomvm/AtomVM/graphs/contributors) and [testers who have helped make this release possible](https://github.com/atomvm/AtomVM/issues). | ||
|
||
The AtomVM team |