v0.6.0-beta.1
Pre-release
Pre-release
·
1893 commits
to main
since this release
v0.6.0-beta.1 release.
Please, read the getting started guide for flashing instructions.
CHANGELOG
Added
- Support for utf8 encoding to
*_to_atomandatom_to_*functions binary_to_atom/1andatom_to_binary/1that default to utf8 (they were introduced with OTP23)- Added Pico cmake option
AVM_WAIT_BOOTSEL_ON_EXIT(defaultON) to allow tools to use automatedBOOTSELmode after main application exits - Use UTF-8 encoding for atoms when using
erlang:term_to_binary/1, in conformance with OTP-26 - Pico: Wait for USB serial connection
cmakeconfiguration optionAVM_USB_WAIT_SECONDSadded with 20 second default. - Support for code that makes use of more than 16 live registers, such as functions with > 16
parameters and complex pattern matchings.
Fixed
- ESP32: fix i2c_driver_acquire and i2c_driver_release functions, that were working only once.
- Sending messages to registered processes using the
!operator now works. - Fixed bug in
OP_SENDthat would accept sending a message to any integer or term without raising an error. binary_to_termchecks atom encoding validity, and fix latin1 support (when non-ASCII chars are
used)- ESP32: fixed bug in
gpio:set_pin_mode/2andgpio:set_direction/3that would accept any atom for the mode parameter without an error. - ESP32: GPIO driver fix bug that would accept invalid
pulldirection, and silently setpulldirection tofloatingwithout issuing an error. - ESP32: fixed bug in gpio driver that would accept invalid pin numbers (either negative, or too large)
- RP2040: fixed bug in
gpio:set_pin_pull/2that would accept any parameter as a validpullmode. - Support to function with 10 or more parameters
- Very unlikely but possible corruption caused by generated code that uses 16 live registers
Changed
binary_to_atom/2validates utf8 strings*_to_atomandatom_to_*properly convert latin1 (not just ASCII) to utf8 and viceversa- ESP32: use esp-idf v5.1.3 for building release binaries