Skip to content

Commit 06df319

Browse files
aykevldeadprogram
authored andcommitted
all: release v0.21.0
1 parent 3ba8bc9 commit 06df319

File tree

2 files changed

+95
-1
lines changed

2 files changed

+95
-1
lines changed

CHANGELOG.md

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,97 @@
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+
195
0.20.0
296
---
397

goenv/version.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212

1313
// Version of TinyGo.
1414
// Update this value before release of new version of software.
15-
const Version = "0.21.0-dev"
15+
const Version = "0.21.0"
1616

1717
// GetGorootVersion returns the major and minor version for a given GOROOT path.
1818
// If the goroot cannot be determined, (0, 0) is returned.

0 commit comments

Comments
 (0)