mirror of https://github.com/tinygo-org/tinygo.git
wasmstm32webassemblymicrocontrollerarmavrspiwasiadafruitarduinocircuitplayground-expressgpioi2cllvmmicrobitnrf51nrf52nrf52840samd21tinygo
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.7 KiB
3.7 KiB
0.5.0
- compiler driver
- use
wasm-ld
instead ofwasm-ld-8
on macOS - drop dependency on
llvm-ar
- fix linker script includes when running outside
TINYGOROOT
- use
- compiler
- switch to LLVM 8
- add support for the Go 1.12 standard library (Go 1.11 is still supported)
- work around lack of escape analysis due to nil checks
- implement casting named structs and pointers to them
- fix int casting to use the source signedness
- fix some bugs around
make([]T, …)
with uncommon index types - some other optimizations
- support interface asserts in interp for "math/rand" support
- resolve all func value targets at compile time (wasm-only at the moment)
- cgo
- improve diagnostics
- implement C
struct
,union
, and arrays - fix CGo-related crash in libclang
- implement
C.struct_
types
- targets
- all baremetal: pretend to be linux/arm instead of js/wasm
avr
: improveuintptr
supportcortexm
: implement memmove intrinsic generated by LLVMcortexm
: use the lld linker instead ofarm-none-eabi-ld
darwin
: use custom syscall package that links to libSystem.dylibmicrobit
: add blink examplesamd21
: support I2C1samd21
: machine/atsamd21: correct pad/pin handling when using both UART and USBCDC interfaces at same timestm32f4discovery
: add support for this boardwasm
: support async func valueswasm
: improve documentation and add extra example
0.4.1
- compiler
- fix
objcopy
replacement to include the .data section in the firmware image - use
llvm-ar-7
on Linux to fix the Docker image
- fix
0.4.0
- compiler
- switch to the hardfloat ABI on ARM, which is more widely used
- avoid a dependency on
objcopy
(arm-none-eabi-objcopy
etc.) - fix a bug in
make([]T, n)
wheren
is 64-bits on a 32-bit platform - adapt to a change in the AVR backend in LLVM 8
- directly support the .uf2 firmware format as used on Adafruit boards
- fix a bug when calling
panic()
at init time outside of the main package - implement nil checks, which results in a ~5% increase in code size
- inline slice bounds checking, which results in a ~1% decrease in code size
- targets
samd21
: fix a bug in port B pinssamd21
: implement SPI peripheralsamd21
: implement ADC peripheralstm32
: fix a bug in timekeepingwasm
: fix a bug inwasm_exec.js
that caused corruption in linear memory when running on Node.js.
0.3.0
- compiler
- remove old
-initinterp
flag - add support for macOS
- remove old
- cgo
- add support for bool/float/complex types
- standard library
device/arm
: add support to disable/enable hardware interruptsmachine
: add CPU frequency for nrf-based boardssyscall
: add support for darwin/amd64
- targets
circuitplay_express
: add support for this boardmicrobit
: add regular pin constantssamd21
: fix time function for goroutine supportsamd21
: add support for USB-CDC (serial over USB)samd21
: add support for pins in port Bsamd21
: add support for pullup and pulldown pinswasm
: add support for Safari in example
0.2.0
- command line
- add version subcommand
- compiler
- fix a bug in floating point comparisons with NaN values
- fix a bug when calling
panic
in package initialization code - add support for comparing
complex64
andcomplex128
- cgo
- add support for external globals
- add support for pointers and function pointers
- standard library
fmt
: initial support,fmt.Println
worksmath
: support for most/all functionsos
: initial support (only stdin/stdout/stderr)reflect
: initial supportsyscall
: add support for amd64, arm, and arm64