Release 0.7.0
Version 0.7.0 has many smaller improvements that you can see below. Some of the highlights include initial support for tinygo test
, support for garbage collection in most targets including WebAssembly, and the addition of the HiFive1 rev B board, which is based on the new RISC-V architecture.
0.7.0
- command line
- try more locations to find Clang built-in headers
- add support for
tinygo test
- build current directory if no package is specified
- support custom .json target spec with
-target
flag - use zversion.go to detect version of GOROOT version
- make initial heap size configurable for some targets (currently WebAssembly
only)
- cgo
- add support for bitfields using generated getters and setters
- add support for anonymous structs
- compiler
- show an error instead of panicking on duplicate function definitions
- allow packages like github.com/tinygo-org/tinygo/src/* by aliasing it
- remove
//go:volatile
support
It has been replaced with the runtime/volatile package. - allow poiners in map keys
- support non-constant syscall numbers
- implement non-blocking selects
- add support for the
-tags
flag - add support for
string
to[]rune
conversion - implement a portable conservative garbage collector (with support for wasm)
- add the
//go:noinline
pragma
- standard library
os
: addos.Exit
andsyscall.Exit
os
: add several stubsruntime
: fix heap corruption in conservative GCruntime
: add support for math intrinsics where supported, massively
speeding up some benchmarkstesting
: add basic support for testing
- targets
- add support for a generic target that calls
__tinygo_*
functions for
peripheral access arduino-nano33
: add support for this boardhifive1
: add support for this RISC-V boardreelboard
: add e-paper pinsreelboard
: addPowerSupplyActive
to enable voltage for on-board deviceswasm
: put the stack at the start of linear memory, to detect stack
overflows
- add support for a generic target that calls