Download Latest Version v0.6.6 source code.tar.gz (1.1 MB)
Email in envelope

Get an email when there's a new version of AtomVM

Home / v0.6.6
Name Modified Size InfoDownloads / Week
Parent folder
AtomVM-esp32c6-v0.6.6.img 2025-06-23 2.1 MB
AtomVM-esp32c6-v0.6.6.img.sha256 2025-06-23 92 Bytes
AtomVM-linux-riscv64-v0.6.6 2025-06-23 5.5 MB
AtomVM-linux-riscv64-v0.6.6.sha256 2025-06-23 79 Bytes
AtomVM-esp32p4-v0.6.6.img 2025-06-23 2.1 MB
AtomVM-esp32p4-v0.6.6.img.sha256 2025-06-23 92 Bytes
AtomVM-esp32c3-v0.6.6.img 2025-06-23 2.1 MB
AtomVM-esp32c3-v0.6.6.img.sha256 2025-06-23 92 Bytes
AtomVM-esp32-v0.6.6.img 2025-06-23 2.1 MB
AtomVM-esp32-v0.6.6.img.sha256 2025-06-23 90 Bytes
AtomVM-esp32s2-v0.6.6.img 2025-06-23 2.1 MB
AtomVM-esp32s2-v0.6.6.img.sha256 2025-06-23 92 Bytes
AtomVM-esp32s3-elixir-v0.6.6.img 2025-06-23 2.2 MB
AtomVM-esp32s3-elixir-v0.6.6.img.sha256 2025-06-23 99 Bytes
AtomVM-esp32s2-elixir-v0.6.6.img 2025-06-23 2.2 MB
AtomVM-esp32s2-elixir-v0.6.6.img.sha256 2025-06-23 99 Bytes
AtomVM-esp32p4-elixir-v0.6.6.img 2025-06-23 2.2 MB
AtomVM-esp32p4-elixir-v0.6.6.img.sha256 2025-06-23 99 Bytes
AtomVM-esp32h2-v0.6.6.img 2025-06-23 2.1 MB
AtomVM-esp32h2-v0.6.6.img.sha256 2025-06-23 92 Bytes
AtomVM-linux-arm32v5-v0.6.6 2025-06-23 3.1 MB
AtomVM-linux-arm32v5-v0.6.6.sha256 2025-06-23 79 Bytes
AtomVM-esp32c6-elixir-v0.6.6.img 2025-06-23 2.2 MB
AtomVM-esp32c6-elixir-v0.6.6.img.sha256 2025-06-23 99 Bytes
AtomVM-linux-arm64v8-v0.6.6 2025-06-23 4.5 MB
AtomVM-linux-arm64v8-v0.6.6.sha256 2025-06-23 79 Bytes
AtomVM-linux-x86_64-static-mbedtls-v0.6.6 2025-06-23 5.1 MB
AtomVM-linux-x86_64-static-mbedtls-v0.6.6.sha256 2025-06-23 79 Bytes
AtomVM-linux-arm32v7thl-v0.6.6 2025-06-23 2.9 MB
AtomVM-linux-arm32v7thl-v0.6.6.sha256 2025-06-23 79 Bytes
AtomVM-linux-i386-v0.6.6 2025-06-23 3.4 MB
AtomVM-linux-i386-v0.6.6.sha256 2025-06-23 79 Bytes
AtomVM-esp32h2-elixir-v0.6.6.img 2025-06-23 2.2 MB
AtomVM-esp32h2-elixir-v0.6.6.img.sha256 2025-06-23 99 Bytes
AtomVM-esp32-elixir-v0.6.6.img 2025-06-23 2.2 MB
AtomVM-esp32-elixir-v0.6.6.img.sha256 2025-06-23 97 Bytes
AtomVM-esp32s3-v0.6.6.img 2025-06-23 2.1 MB
AtomVM-esp32s3-v0.6.6.img.sha256 2025-06-23 92 Bytes
AtomVM-esp32c2-v0.6.6.img 2025-06-23 2.1 MB
AtomVM-esp32c2-v0.6.6.img.sha256 2025-06-23 92 Bytes
AtomVM-esp32c2-elixir-v0.6.6.img 2025-06-23 2.2 MB
AtomVM-esp32c2-elixir-v0.6.6.img.sha256 2025-06-23 99 Bytes
AtomVM-linux-x86_64-v0.6.6 2025-06-23 4.5 MB
AtomVM-linux-x86_64-v0.6.6.sha256 2025-06-23 79 Bytes
atomvmlib-v0.6.6.uf2 2025-06-23 321.5 kB
atomvmlib-v0.6.6.uf2.sha256 2025-06-23 87 Bytes
AtomVM-pico_w-v0.6.6.uf2 2025-06-23 2.0 MB
AtomVM-pico_w-v0.6.6.uf2.sha256 2025-06-23 95 Bytes
AtomVM-web-v0.6.6.js 2025-06-23 128.9 kB
AtomVM-web-v0.6.6.js.sha256 2025-06-23 87 Bytes
AtomVM-web-v0.6.6.wasm 2025-06-23 672.0 kB
AtomVM-web-v0.6.6.wasm.sha256 2025-06-23 89 Bytes
AtomVM-pico-v0.6.6.uf2 2025-06-23 1.2 MB
AtomVM-pico-v0.6.6.uf2.sha256 2025-06-23 93 Bytes
AtomVM-esp32c3-elixir-v0.6.6.img 2025-06-23 2.2 MB
AtomVM-esp32c3-elixir-v0.6.6.img.sha256 2025-06-23 99 Bytes
AtomVM-node-v0.6.6.js 2025-06-23 137.3 kB
AtomVM-node-v0.6.6.js.sha256 2025-06-23 88 Bytes
AtomVM-node-v0.6.6.wasm 2025-06-23 671.6 kB
AtomVM-node-v0.6.6.wasm.sha256 2025-06-23 90 Bytes
hello_world-v0.6.6.avm 2025-06-23 368 Bytes
atomvmlib-v0.6.6.avm 2025-06-23 285.0 kB
atomvmlib-v0.6.6.avm.sha256 2025-06-23 92 Bytes
hello_world-v0.6.6.avm.sha256 2025-06-23 105 Bytes
README.md 2025-06-23 5.3 kB
v0.6.6 source code.tar.gz 2025-06-23 1.1 MB
v0.6.6 source code.zip 2025-06-23 1.9 MB
Totals: 67 Items   71.6 MB 0

v0.6.6 release

Unfortunately, this release does not yet include support for OTP-28. We recommend using a supported version such as OTP-27 for the best experience with AtomVM v0.6.6.

That said, if you're eager to experiment, our main development branch inc ludes support for OTP-28. We strive to keep up with the latest OTP changes, so adventurous users are welcome to try it out—with the usual caution that comes with using a development branch.

If you're on macOS, be aware that both Homebrew and MacPorts now default to OTP-28. To install an earlier version, you can use:

:::sh
brew install erlang@27

Alternatively, consider using asdf or mise to manage multiple Erlang/OTP versions with ease.

Please, read the getting started guide for flashing instructions.

Added

  • Added the ability to run beams from the CLI for Generic Unix platform (it was already possible with nodejs and emscripten)
  • Added preliminary support for ESP32P4 (no networking support yet).
  • Added memory info in out_of_memory crash logs to help developers fix memory issues.
  • Added documentation and function specs for uart driver
  • Added uart:read/2 with a timeout parameter.
  • Missing erlang:is_function/2 BIF
  • Added erlang:is_record/2
  • Added ability to set per-interface dhcp_hostname on Pico W if present in config.

Fixed

  • Fixed specifications of nifs from esp_adc module
  • ESP32: fix gpio:init/1 on GPIO >= 32
  • Adding missing check, passing a non numeric argument to a function expecting a floating point might lead to a crash in certain situations.
  • Fixed several bugs in http_server (#1366)
  • Fixed generic_unix socket_driver to return {gen_tcp, closed} when socket is closed on Linux instead of {gen_tcp, {recv, 104}}
  • Fixed a memory leak where modules were not properly destroyed when the global context is destroyd
  • alisp: fix support to variables that are not binaries or integers.
  • Fixed destruction of ssl-related resources
  • Fixed corruption when dealing with specific situations that involve more than 16 x registers when certain VM instructions are used.
  • Fixed ESP32 GPIO interrupt trigger none
  • Fixed an issue where a timeout would occur immediately in a race condition
  • Fixed SPI close command
  • Added missing lock on socket structure
  • Fixed a race condition affecting multi-core MCUs where a timeout would not be properly cleared
  • Fixed a double free when esp32 uart driver was closed, yielding an assert abort
  • Fixed compilation with latest debian gcc-arm-none-eabi
  • Fixed network:stop/0 on ESP32 so the network can be started again
  • Fixed a memory corruption caused by binary:split/2,3
  • Fixed deadlock in socket code
  • Fixed bug in opcode implementation (select_val): when selecting a value among many others a shallow comparison was performed, so it was working just for plain values such as atoms and small integers
  • Fixed support for setting esp32 boot_path in NVS.
  • Fixed race conditions in network:start/stop.
  • Fixed crash calling network:sta_rssi(), when network not up.
  • Fixed error handling when calling min and max with code compiled before OTP-26: there was a bug when handling errors from BIFs used as NIFs (when called with CALL_EXT and similar opcodes)
  • Fixed matching of binaries on unaligned boundaries for code compiled with older versions of OTP
  • Added missing out of memory handling in binary_to_atom
  • Fixed call to funs such as fun erlang:'not'/1, that make use of BIFs
  • Fixed potential crashes or memory leaks caused by a mistake in calculation of reference counts and a race condition in otp_socket code
  • Fixed an out of memory issue by forcing GC to copy data from message fragments
  • Fixed a bug where calling repeatedly process_info on a stopped process could cause an out of memory error
  • Fixed possible concurrency problems in ESP32 UART driver
  • Fixed concurrency and memory leak related to links and monitors
  • Fixed issues with parsing of line references for stack traces
  • Fixed memory corruption issue with erlang:make_tuple/2
  • Fix potential use after free with code generated from OTP <= 24
  • Fix is_function/2 guard
  • Fixed segfault when calling lists:reverse/1 (#1600)
  • Fixed nif_atomvm_posix_read GC bug
  • Fixed erlang:is_number/1 function, now returns true also for floats
  • Fixed unlink protocol and add support for link/1 on ports
  • Do not abort when an out of memory happens while loading a literal value
  • Fixed potential memory corruption when handling integer immediates that are stored as boxed integer (this never happens with integers < 28 bits)
  • Correctly set Pico-W unique dhcp hostname when using the default, previously all rp2040 devices used the same "PicoW" dhcp hostname, causing collisions when multiple rp2040 are on the same network. (See issue [#1094])

Changed

  • ESP32 UART driver no longer aborts because of badargs in configuration, instead raising an error
  • ESP32: v0.6.6 uses esp-idf v5.4.1 for pre-built images and v5.4.x is the suggested release also for custom builds
Source: README.md, updated 2025-06-23