Release 0.14.0
This is a big release with lots of small improvements. Some of the highlights include Go module support and the support for channel operations in interrupts for a few chips. This release also includes support for a number of new boards: the Adafruit Feather nRF52840 Express, the Adafruit PyGamer, the Sipeed MAix BiT with a 64-bit RISC-V MCU, the Teensy 3.6, the Seed WioTerminal, and the Seeed Xiao. Perhaps more interesting, it includes initial support for the Nintendo Switch.
- command-line
- fix
getDefaultPort()
on non-English Windows locales - compileopts: improve error reporting of unsupported flags
- fix test subcommand
- use auto-retry to locate MSD for UF2 and HEX flashing
- fix touchSerialPortAt1200bps on Windows
- support package names with backslashes on Windows
- fix
- compiler
- fix a few crashes due to named types
- add support for atomic operations
- move the channel blocked list onto the stack
- fix
-gc=none
- fix named string to
[]byte
slice conversion - implement func value and builtin defers
- add proper parameter names to runtime.initAll, to fix a panic
- builder: fix picolibc include path
- builder: use newer version of gohex
- builder: try to determine stack size information at compile time
- builder: remove -opt=0
- interp: fix sync/atomic.Value load/store methods
- loader: add Go module support
- transform: fix debug information in func lowering pass
- transform: do not special-case zero or one implementations of a method call
- transform: introduce check for method calls on nil interfaces
- transform: gc: track 0-index GEPs to fix miscompilation
- cgo
- Add LDFlags support
- standard library
- extend stdlib to allow import of more packages
- replace master/slave terminology with appropriate alternatives (
MOSI
->SDO
etc) internal/bytealg
: reimplement bytealg in pure Gointernal/task
: fix nil panic in (*internal/task.Stack).Popos
: add Args and stub it with mock dataos
: implement virtual filesystem supportreflect
: add Cap and Len support for map and chanruntime
: fix return address in scheduler on RISC-Vruntime
: avoid recursion in printuint64 functionruntime
: replace ReadRegister with AsmFull inline assemblyruntime
: fix compilation errors when using gc.extallocruntime
: add cap and len support for chansruntime
: refactor time handling (improving accuracy)runtime
: make channels work in interruptsruntime/interrupt
: add cross-chip disable/restore interrupt supportsync
: implementsync.Cond
sync
: add WaitGroup
- targets
arm
: allow nesting in DisableInterrupts and EnableInterruptsarm
: make FPU configuraton consistentarm
: do not mask fault handlers in critical sectionsatmega2560
: fix pin mapping for pins D2, D5 and the L portatsamd
: return an error when an incorrect PWM pin is usedatsamd
: add support for pin change interruptsatsamd
: add DAC supportatsamd21
: add more ADC pinsatsamd51
: fix ROM / RAM size on atsamd51j20atsamd51
: add more pinsatsamd51
: add more ADC pinsatsamd51
: add pin change interrupt settingsatsamd51
: extend pinPadMappingarduino-nano33
: use (U)SB flag to ensure that device can be found when not on default portarduino-nano33
: remove (d)ebug flag to reduce console noise when flashingavr
: use standard pin numberingavr
: unify GPIO pin/port codeavr
: add support for PinInputPullupavr
: work around codegen bug in LLVM 10avr
: fix target triplefe310
: remove extra println left in by mistakefeather-nrf52840
: add support for the Feather nRF52840maixbit
: add board definition and dummy runtimenintendoswitch
: Add experimental Nintendo Switch support without CRTnrf
: expose the RAM base addressnrf
: add support for pin change interruptsnrf
: add microbit-s110v8 targetnrf
: fix bug in SPI.Txnrf
: support debugging the PCA10056pygamer
: add Adafruit PyGamer suportriscv
: fix interrupt configuration bugriscv
: disable linker relaxations during gp initstm32f4disco
: add new target with ST-Link v2.1 debuggerteensy36
: add Teensy 3.6 supportwasm
: fix event handlingwasm
: add --no-demangle linker optionwioterminal
: add support for the Seeed Wio Terminalxiao
: add support for the Seeed XIAO