|
| 1 | +0.27.0 |
| 2 | +--- |
| 3 | + |
| 4 | +* **general** |
| 5 | + - all: update musl |
| 6 | + - all: remove "acm:"` prefix for USB vid/pid pair |
| 7 | + - all: add support for LLVM 15 |
| 8 | + - all: use DWARF version 4 |
| 9 | + - all: add initial (incomplete) support for Go 1.20 |
| 10 | + - all: add `-gc=custom` option |
| 11 | + - `main`: print ldflags including ThinLTO flags with -x |
| 12 | + - `main`: fix error message when a serial port can't be accessed |
| 13 | + - `main`: add `-timeout` flag to allow setting how long TinyGo will try looking for a MSD volume for flashing |
| 14 | + - `test`: print PASS on pass when running standalone test binaries |
| 15 | + - `test`: fix printing of benchmark output |
| 16 | + - `test`: print package name when compilation failed (not just when the test failed) |
| 17 | +* **compiler** |
| 18 | + - refactor to support LLVM 15 |
| 19 | + - `builder`: print compiler commands while building a library |
| 20 | + - `compiler`: fix stack overflow when creating recursive pointer types (fix for LLVM 15+ only) |
| 21 | + - `compiler`: allow map keys and values of ≥256 bytes |
| 22 | + - `cgo`: add support for `C.float` and `C.double` |
| 23 | + - `cgo`: support anonymous enums included in multiple Go files |
| 24 | + - `cgo`: add support for bitwise operators |
| 25 | + - `interp`: add support for constant icmp instructions |
| 26 | + - `transform`: fix memory corruption issues |
| 27 | +* **standard library** |
| 28 | + - `machine/usb`: remove allocs in USB ISR |
| 29 | + - `machine/usb`: add `Port()` and deprecate `New()` to have the API better match the singleton that is actually being returned |
| 30 | + - `machine/usb`: change HID usage-maximum to 0xFF |
| 31 | + - `machine/usb`: add USB HID joystick support |
| 32 | + - `machine/usb`: change to not send before endpoint initialization |
| 33 | + - `net`: implement `Pipe` |
| 34 | + - `os`: add stub for `os.Chtimes` |
| 35 | + - `reflect`: stub out `Type.FieldByIndex` |
| 36 | + - `reflect`: add `Value.IsZero` method |
| 37 | + - `reflect`: fix bug in `.Field` method when the field fits in a pointer but the parent doesn't |
| 38 | + - `runtime`: switch some `panic()` calls in the gc to `runtimePanic()` for consistency |
| 39 | + - `runtime`: add xorshift-based fastrand64 |
| 40 | + - `runtime`: fix alignment for arm64, arm, xtensa, riscv |
| 41 | + - `runtime`: implement precise GC |
| 42 | + - `runtime/debug`: stub `PrintStack` |
| 43 | + - `sync`: implement simple pooling in `sync.Pool` |
| 44 | + - `syscall`: stubbed `Setuid`, Exec and friends |
| 45 | + - `syscall`: add more stubs as needed for Go 1.20 support |
| 46 | + - `testing`: implement `t.Setenv` |
| 47 | + - `unsafe`: add support for Go 1.20 slice/string functions |
| 48 | +* **targets** |
| 49 | + - `all`: do not set stack size per board |
| 50 | + - `all`: update picolibc to v1.7.9 |
| 51 | + - `atsame5x`: fix CAN extendedID handling |
| 52 | + - `atsame5x`: reduce heap allocation |
| 53 | + - `avr`: drop GNU toolchain dependency |
| 54 | + - `avr`: fix .data initialization for binaries over 64kB |
| 55 | + - `avr`: support ThinLTO |
| 56 | + - `baremetal`: implements calloc |
| 57 | + - `darwin`: fix `syscall.Open` on darwin/arm64 |
| 58 | + - `darwin`: fix error with `tinygo lldb` |
| 59 | + - `esp`: use LLVM Xtensa linker instead of Espressif toolchain |
| 60 | + - `esp`: use ThinLTO for Xtensa |
| 61 | + - `esp32c3`: add SPI support |
| 62 | + - `linux`: include musl `getpagesize` function in release |
| 63 | + - `nrf51`: add ADC implementation |
| 64 | + - `nrf52840`: add PDM support |
| 65 | + - `riscv`: add "target-abi" metadata flag |
| 66 | + - `rp2040`: remove mem allocation in GPIO ISR |
| 67 | + - `rp2040`: avoid allocating clock on heap |
| 68 | + - `rp2040`: add basic GPIO support for PIO |
| 69 | + - `rp2040`: fix USB interrupt issue |
| 70 | + - `rp2040`: fix RP2040-E5 USB errata |
| 71 | + - `stm32`: always set ADC pins to pullups floating |
| 72 | + - `stm32f1`, `stm32f4`: fix ADC by clearing the correct bit for rank after each read |
| 73 | + - `stm32wl`: Fix incomplete RNG initialisation |
| 74 | + - `stm32wlx`: change order for init so clock speeds are set before peripheral start |
| 75 | + - `wasi`: makes wasmtime "run" explicit |
| 76 | + - `wasm`: fix GC scanning of allocas |
| 77 | + - `wasm`: allow custom malloc implementation |
| 78 | + - `wasm`: remove `-wasm-abi=` flag (use `-target` instead) |
| 79 | + - `wasm`: fix scanning of the stack |
| 80 | + - `wasm`: fix panic when allocating 0 bytes using malloc |
| 81 | + - `wasm`: always run wasm-opt even with `-scheduler=none` |
| 82 | + - `wasm`: avoid miscompile with ThinLTO |
| 83 | + - `wasm`: allow the emulator to expand `{tmpDir}` |
| 84 | + - `wasm`: support ThinLTO |
| 85 | + - `windows`: update mingw-w64 version to avoid linker warning |
| 86 | + - `windows`: add ARM64 support |
| 87 | +* **boards** |
| 88 | + - Add Waveshare RP2040 Zero |
| 89 | + - Add Arduino Leonardo support |
| 90 | + - Add Adafruit KB2040 |
| 91 | + - Add Adafruit Feather M0 Express |
| 92 | + - Add Makerfabs ESP32C3SPI35 TFT Touchscreen board |
| 93 | + - Add Espressif ESP32-C3-DevKit-RUST-1 board |
| 94 | + - `lgt92`: fix OpenOCD configuration |
| 95 | + - `xiao-rp2040`: fix D9 and D10 constants |
| 96 | + - `xiao-rp2040`: add pin definitions |
| 97 | + |
1 | 98 | 0.26.0 |
2 | 99 | --- |
3 | 100 |
|
|
0 commit comments