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