0.32.0
This release has lots of features and fixes that you need. From support for the new LLVM 18, to a patched version of the go/ssa
package with a fix for the race condition that annoys anyone who maintains a CI build using TinyGo. Of course, no TinyGo release would be complete without new hardware supported, such as the Pimoroni Badger2040-W. And more WASM features too!
-
general
- fix wasi-libc include headers on Nix
- apply OpenOCD commands after target configuration
- fix a minor race condition when determining the build tags
- support UF2 drives with a space in their name on Linux
- add LLVM 18 support
- drop support for Go 1.18 to be able to stay up to date
-
compiler
- move
-panic=trap
support to the compiler/runtime - fix symbol table index for WebAssembly archives
- fix ed25519 build errors by adjusting the alias names
- add aliases to generic AES functions
- fix race condition by temporarily applying a proposed patch
builder
: keep un-wasm-opt'd .wasm if -work was passedbuilder
: make sure wasm-opt command line is printed if askedcgo
: implement shift operations in preprocessor macrosinterp
: checking for methodset existance
- move
-
standard library
machine
: add__tinygo_spi_tx
function to simulatormachine
: fix simulator I2C supportmachine
: add GetRNG support to simulatormachine
: addTxFifoFreeLevel
for CANos
: addLink
os
: addFindProcess
for posixos
: addProcess.Release
for unixos
: addSetReadDeadline
stubos
,os/signal
: add signal stubsos/user
: add stubs forLookup{,Group}
andGroup
reflect
: use int inStringHeader
andSliceHeader
on non-AVR platformsreflect
: fixNumMethods
for Interface typeruntime
: skip negative sleep durations in sleepTicks
-
targets
esp32
: add I2C supportrp2040
: move UART0 and UART1 to common filerp2040
: make all RP2040 boards available for simulationrp2040
: fix timeUnit typestm32
: add i2cFrequency
andSetBaudRate
function for chips that were missing implementationwasm-unknown
: add math and memory builtins that LLVM needswasip1
: replace existing-target=wasi
support with wasip1 as supported in Go 1.21+
-
boards
adafruit-esp32-feather-v2
: add the Adafruit ESP32 Feather V2badger2040-w
: add support for the Badger2040 Wfeather-nrf52840-sense
: fix lack of LXFOm5paper
: add support for the M5 Papermksnanov3
: limit programming speed to 1800 kHznucleol476rg
: add stm32 nucleol476rg supportpico-w
: add the Pico W (which is near-idential to the pico target)thingplus-rp2040
,waveshare-rp2040-zero
: add WS2812 definitionpca10059-s140v7
: add this variant to the PCA10059 board