Release 0.8.0
This release improves reflect support, extends and improves the scheduler, and has a whole list of improvements to microcontroller boards. In particular, it adds supports for the ItsyBitsy M4, the NUCLEO-F103RB, and even adds some preliminary support for the GameBoy Advance.
- command line
- fix parsing of beta Go versions
- check the major/minor installed version of Go before compiling
- validate
-target
flag better to not panic on an invalid target
- compiler
- implement full slice expression:
s[:2:4]
- fix a crash when storing a linked list in an interface
- fix comparing struct types by making type IDs more unique
- fix some bugs in IR generation
- add support for linked lists in reflect data
- implement
[]rune
to string conversion - implement support for
go
on func values
- implement full slice expression:
- standard library
reflect
: add support for named typesreflect
: add support fort.Bits()
reflect
: add basic support fort.AssignableTo()
reflect
: implementt.Align()
reflect
: add support for struct typesreflect
: fix bug inv.IsNil
andv.Pointer
for addressable valuesreflect
: implement support for array typesreflect
: implementt.Comparable()
runtime
: implement stack-based schedulerruntime
: fix bug in the sleep queue of the schedulerruntime
: implementmemcpy
for Cortex-Mtesting
: implement stubtesting.B
structtesting
: add common test logging methods such as Errorf/Fatalf/Printf
- targets
386
: add support for linux/386 syscallsatsamd21
: make SPI pins configurable so that multiple SPI ports can be
usedatsamd21
: correct issue with invalid first reading coming from ADCatsamd21
: add support for reset-to-bootloader using 1200baud over USB-CDCatsamd21
: make pin selection more flexible for peripheralsatsamd21
: fix minimum delay intime.Sleep
atsamd51
: fix minimum delay intime.Sleep
nrf
: improve SPI write-only speed, by making use of double bufferingstm32f103
: fix SPI frequency selectionstm32f103
: add machine.Pin.Get method for reading GPIO valuesstm32f103
: allow board specific UART usagenucleo-f103rb
: add support for NUCLEO-F103RB boarditsybitsy-m4
: add support for this board with a SAMD51 family chipcortex-m
: add support forarm.SystemReset()
gameboy-advance
: add initial support for the GameBoy Advancewasm
: add//go:wasm-module
magic comment to set the wasm module namewasm
: addsyscall/js.valueSetIndex
supportwasm
: addsyscall/js.valueInvoke
support