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=trapsupport 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_txfunction to simulatormachine: fix simulator I2C supportmachine: add GetRNG support to simulatormachine: addTxFifoFreeLevelfor CANos: addLinkos: addFindProcessfor posixos: addProcess.Releasefor unixos: addSetReadDeadlinestubos,os/signal: add signal stubsos/user: add stubs forLookup{,Group}andGroupreflect: use int inStringHeaderandSliceHeaderon non-AVR platformsreflect: fixNumMethodsfor 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 i2cFrequencyandSetBaudRatefunction for chips that were missing implementationwasm-unknown: add math and memory builtins that LLVM needswasip1: replace existing-target=wasisupport 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