github.com/aykevl/tinygo@v0.5.0/CHANGELOG.md (about) 1 0.5.0 2 --- 3 - **compiler driver** 4 - use `wasm-ld` instead of `wasm-ld-8` on macOS 5 - drop dependency on `llvm-ar` 6 - fix linker script includes when running outside `TINYGOROOT` 7 - **compiler** 8 - switch to LLVM 8 9 - add support for the Go 1.12 standard library (Go 1.11 is still supported) 10 - work around lack of escape analysis due to nil checks 11 - implement casting named structs and pointers to them 12 - fix int casting to use the source signedness 13 - fix some bugs around `make([]T, …)` with uncommon index types 14 - some other optimizations 15 - support interface asserts in interp for "math/rand" support 16 - resolve all func value targets at compile time (wasm-only at the moment) 17 - **cgo** 18 - improve diagnostics 19 - implement C `struct`, `union`, and arrays 20 - fix CGo-related crash in libclang 21 - implement `C.struct_` types 22 - **targets** 23 - all baremetal: pretend to be linux/arm instead of js/wasm 24 - `avr`: improve `uintptr` support 25 - `cortexm`: implement memmove intrinsic generated by LLVM 26 - `cortexm`: use the lld linker instead of `arm-none-eabi-ld` 27 - `darwin`: use custom syscall package that links to libSystem.dylib 28 - `microbit`: add blink example 29 - `samd21`: support I2C1 30 - `samd21`: machine/atsamd21: correct pad/pin handling when using both UART 31 and USBCDC interfaces at same time 32 - `stm32f4discovery`: add support for this board 33 - `wasm`: support async func values 34 - `wasm`: improve documentation and add extra example 35 36 0.4.1 37 --- 38 - **compiler** 39 - fix `objcopy` replacement to include the .data section in the firmware image 40 - use `llvm-ar-7` on Linux to fix the Docker image 41 42 0.4.0 43 --- 44 - **compiler** 45 - switch to the hardfloat ABI on ARM, which is more widely used 46 - avoid a dependency on `objcopy` (`arm-none-eabi-objcopy` etc.) 47 - fix a bug in `make([]T, n)` where `n` is 64-bits on a 32-bit platform 48 - adapt to a change in the AVR backend in LLVM 8 49 - directly support the .uf2 firmware format as used on Adafruit boards 50 - fix a bug when calling `panic()` at init time outside of the main package 51 - implement nil checks, which results in a ~5% increase in code size 52 - inline slice bounds checking, which results in a ~1% decrease in code size 53 - **targets** 54 - `samd21`: fix a bug in port B pins 55 - `samd21`: implement SPI peripheral 56 - `samd21`: implement ADC peripheral 57 - `stm32`: fix a bug in timekeeping 58 - `wasm`: fix a bug in `wasm_exec.js` that caused corruption in linear memory 59 when running on Node.js. 60 61 0.3.0 62 --- 63 - **compiler** 64 - remove old `-initinterp` flag 65 - add support for macOS 66 - **cgo** 67 - add support for bool/float/complex types 68 - **standard library** 69 - `device/arm`: add support to disable/enable hardware interrupts 70 - `machine`: add CPU frequency for nrf-based boards 71 - `syscall`: add support for darwin/amd64 72 - **targets** 73 - `circuitplay_express`: add support for this board 74 - `microbit`: add regular pin constants 75 - `samd21`: fix time function for goroutine support 76 - `samd21`: add support for USB-CDC (serial over USB) 77 - `samd21`: add support for pins in port B 78 - `samd21`: add support for pullup and pulldown pins 79 - `wasm`: add support for Safari in example 80 81 82 0.2.0 83 --- 84 - **command line** 85 - add version subcommand 86 - **compiler** 87 - fix a bug in floating point comparisons with NaN values 88 - fix a bug when calling `panic` in package initialization code 89 - add support for comparing `complex64` and `complex128` 90 - **cgo** 91 - add support for external globals 92 - add support for pointers and function pointers 93 - **standard library** 94 - `fmt`: initial support, `fmt.Println` works 95 - `math`: support for most/all functions 96 - `os`: initial support (only stdin/stdout/stderr) 97 - `reflect`: initial support 98 - `syscall`: add support for amd64, arm, and arm64