This is an alpha release, the second pre-release on the road to v0.7.0. If you need maximum stability for production deployments, we recommend staying on v0.6.x. That said, we encourage you to try v0.7.0-alpha.1 and report any issues you encounter, your feedback is invaluable in shaping the stable release.
Please read the getting started guide for flashing instructions.
Added
- Added
jsonmodule to estdlib, compatible with Erlang/OTPjsonAPI - Added
Keyword.put_new/3to exavmlib - Added
JSONmodule to exavmlib (Elixir wrapper for estdlibjson) - Added
erlang:node/1BIF - Added
erts_internal:cmp_term/2 - Added
shortoption toerlang:float_to_binary/2anderlang:float_to_list/2 - Added generic unix support for uart using POSIX nifs
- Added RISC-V 64-bit (RV64IMAC) JIT backend
- Added arm32 JIT backend
- Added DWARF debug information support for JIT-compiled code
- Added I2C and SPI APIs to rp2 platform
- Added
code:get_object_code/1 - Added
erlang:display_string/1anderlang:display_string/2 - Added Thumb-2 support to armv6m JIT backend, optimizing code for ARMv7-M and later cores
- Added support for
binary:split/2,3list patterns andtrim/trim_alloptions - Added
timer:send_after/2,timer:send_after/3andtimer:apply_after/4
Changed
- ~10% binary size reduction by rewriting module loading logic
erlang:float_to_binary/2anderlang:float_to_list/2now accept{decimals, 0..253}and{scientific, 0..249}erlang:binary_to_float/1anderlang:list_to_float/1now use locale-independent parsing and strict format validation- ESP32: the
boot.avmpartition for Erlang-only images has been increased from 256KB to 512KB, matching the Elixir partition layout. Themain.avmoffset is now0x250000for all images (previously0x210000for Erlang-only).
Fixed
- Fixed
erlang:cancel_timer/1return type spec and documentation to match OTP - Fixed map type ordering in term comparison to match OTP specification (maps should order between tuples and nil)
- Fixed a bug in
bs_matchget_taillogic that occurred with OTP26-compiled beams - Fixed locale-dependent decimal separator in
erlang:float_to_binaryanderlang:float_to_list - Fixed
erlang:binary_to_float/1anderlang:list_to_float/1returninginffor overflow instead of raisingbadarg - Fixed
erlang:raise/3with a built stacktrace causing an assertion failure when the re-raised exception passes through a non-matching catch clause
Removed
- Removed support for OTP versions < 26
- Removed old
json_encodermodule (now standard Erlang/OTPjsonmodule is available)