|
| 1 | +0.21.0 |
| 2 | +--- |
| 3 | + |
| 4 | +* **command line** |
| 5 | + - drop support for LLVM 10 |
| 6 | + - `build`: drop support for LLVM targets in the -target flag |
| 7 | + - `build`: fix paths in error messages on Windows |
| 8 | + - `build`: add -p flag to set parallelism |
| 9 | + - `lldb`: implement `tinygo lldb` subcommand |
| 10 | + - `test`: use emulator exit code instead of parsing test output |
| 11 | + - `test`: pass testing arguments to wasmtime |
| 12 | +* **compiler** |
| 13 | + - use -opt flag for optimization level in CFlags (-Os, etc) |
| 14 | + - `builder`: improve accuracy of the -size=full flag |
| 15 | + - `builder`: hardcode some more frame sizes for __aeabi_* functions |
| 16 | + - `builder`: add support for -size= flag for WebAssembly |
| 17 | + - `cgo`: fix line/column reporting in syntax error messages |
| 18 | + - `cgo`: support function definitions in CGo headers |
| 19 | + - `cgo`: implement rudimentary C array decaying |
| 20 | + - `cgo`: add support for stdio in picolibc and wasi-libc |
| 21 | + - `cgo`: run CGo parser per file, not per CGo fragment |
| 22 | + - `compiler`: fix unintentionally exported math functions |
| 23 | + - `compiler`: properly implement div and rem operations |
| 24 | + - `compiler`: add support for recursive function types |
| 25 | + - `compiler`: add support for the `go` keyword on interface methods |
| 26 | + - `compiler`: add minsize attribute for -Oz |
| 27 | + - `compiler`: add "target-cpu" and "target-features" attributes |
| 28 | + - `compiler`: fix indices into strings and arrays |
| 29 | + - `compiler`: fix string compare functions |
| 30 | + - `interp`: simplify some code to avoid some errors |
| 31 | + - `interp`: support recursive globals (like linked lists) in globals |
| 32 | + - `interp`: support constant globals |
| 33 | + - `interp`: fix reverting of extractvalue/insertvalue with multiple indices |
| 34 | + - `transform`: work around renamed return type after merging LLVM modules |
| 35 | +* **standard library** |
| 36 | + - `internal/bytealg`: fix indexing error in Compare() |
| 37 | + - `machine`: support Pin.Get() function when the pin is configured as output |
| 38 | + - `net`, `syscall`: Reduce code duplication by switching to internal/itoa. |
| 39 | + - `os`: don't try to read executable path on baremetal |
| 40 | + - `os`: implement Getwd |
| 41 | + - `os`: add File.WriteString and File.WriteAt |
| 42 | + - `reflect`: fix type.Size() to account for struct padding |
| 43 | + - `reflect`: don't construct an interface-in-interface value |
| 44 | + - `reflect`: implement Value.Elem() for interface values |
| 45 | + - `reflect`: fix Value.Index() in a specific case |
| 46 | + - `reflect`: add support for DeepEqual |
| 47 | + - `runtime`: add another set of invalid unicode runes to encodeUTF8() |
| 48 | + - `runtime`: only initialize os.runtime_args when needed |
| 49 | + - `runtime`: only use CRLF on baremetal systems for println |
| 50 | + - `runtime/debug`: stub `debug.SetMaxStack` |
| 51 | + - `runtime/debug`: stub `debug.Stack` |
| 52 | + - `testing`: add a stub for t.Parallel() |
| 53 | + - `testing`: add support for -test.short flag |
| 54 | + - `testing`: stub B.ReportAllocs() |
| 55 | + - `testing`: add `testing.Verbose` |
| 56 | + - `testing`: stub `testing.AllocsPerRun` |
| 57 | +* **targets** |
| 58 | + - fix gen-device-svd to handle 64-bit values |
| 59 | + - add CPU and Features property to all targets |
| 60 | + - match LLVM triple to the one Clang uses |
| 61 | + - `atsam`: simplify definition of SERCOM UART, I2C and SPI peripherals |
| 62 | + - `atsam`: move I2S0 to machine file |
| 63 | + - `esp32`: fix SPI configuration |
| 64 | + - `esp32c3`: add support for GDB debugging |
| 65 | + - `esp32c3`: add support for CPU interrupts |
| 66 | + - `esp32c3`: use tasks scheduler by default |
| 67 | + - `fe310`: increase CPU frequency from 16MHz to 320MHz |
| 68 | + - `fe310`: add support for bit banging drivers |
| 69 | + - `linux`: build static binaries using musl |
| 70 | + - `linux`: reduce binary size by calling `write` instead of `putchar` |
| 71 | + - `linux`: add support for GOARM |
| 72 | + - `riscv`: implement 32-bit atomic operations |
| 73 | + - `riscv`: align the heap to 16 bytes |
| 74 | + - `riscv`: switch to tasks-based scheduler |
| 75 | + - `rp2040`: add CPUFrequency() |
| 76 | + - `rp2040`: improve I2C baud rate configuration |
| 77 | + - `rp2040`: add pin interrupt API |
| 78 | + - `rp2040`: refactor PWM code and fix Period calculation |
| 79 | + - `stm32f103`: fix SPI |
| 80 | + - `stm32f103`: make SPI frequency selection more flexible |
| 81 | + - `qemu`: signal correct exit code to QEMU |
| 82 | + - `wasi`: run C/C++ constructors at startup |
| 83 | + - `wasm`: ensure heapptr is aligned |
| 84 | + - `wasm`: update wasi-libc dependency |
| 85 | + - `wasm`: wasi: use asyncify |
| 86 | + - `wasm`: support `-scheduler=none` |
| 87 | + - `windows`: add support for Windows (amd64 only for now) |
| 88 | +* **boards** |
| 89 | + - `feather-stm32f405`, `feather-rp2040`: add I2C pin names |
| 90 | + - `m5stack-core2`: add M5Stack Core2 |
| 91 | + - `nano-33-ble`: SoftDevice s140v7 support |
| 92 | + - `nano-33-ble`: add constants for more on-board pins |
| 93 | + |
| 94 | + |
1 | 95 | 0.20.0
|
2 | 96 | ---
|
3 | 97 |
|
|
0 commit comments