Skip to content

Commit e44cb7e

Browse files
aykevldeadprogram
authored andcommitted
main: version 0.18.0
1 parent d1e96fd commit e44cb7e

File tree

2 files changed

+123
-1
lines changed

2 files changed

+123
-1
lines changed

CHANGELOG.md

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,125 @@
1+
0.18.0
2+
---
3+
4+
* **command line**
5+
- drop support for Go 1.11 and 1.12
6+
- throw an error when no target is specified on Windows
7+
- improve error messages in `getDefaultPort()`, support for multiple ports
8+
- remove `-cflags` and `-ldflags` flags
9+
- implement `-ldflags="-X ..."`
10+
- add `-print-allocs` flag that lets you print all heap allocations
11+
- openocd commands in tinygo command line
12+
- add `-llvm-features` parameter
13+
- match `go test` output
14+
- discover USB ports only, this will ignore f.ex. bluetooth
15+
- use physicmal path instead of cached GOROOT in function getGoroot
16+
- add goroot for snap installs
17+
* **compiler**
18+
- `builder`: add support for `-opt=0`
19+
- `builder`, `compiler`: compile and cache packages in parallel
20+
- `builder`: run interp per package
21+
- `builder`: cache C and assembly file outputs
22+
- `builder`: add support for `-x` flag to print commands
23+
- `builder`: add optsize attribute while building the package
24+
- `builder`: run function passes per package
25+
- `builder`: hard code Clang compiler
26+
- `compiler`: do not use `llvm.GlobalContext()`
27+
- `compiler`: remove SimpleDCE pass
28+
- `compiler`: do not emit nil checks for `*ssa.Alloc` instructions
29+
- `compiler`: merge `runtime.typecodeID` and runtime.typeInInterface
30+
- `compiler`: do not check for impossible type asserts
31+
- `compiler`: fix use of global context: `llvm.Int32Type()`
32+
- `compiler`: add interface IR test
33+
- `compiler`: fix lack of method name in interface matching
34+
- `compiler`: fix "fragment covers entire variable" bug
35+
- `compiler`: optimize string literals and globals
36+
- `compiler`: decouple func lowering from interface type codes
37+
- `compiler`: add function attributes to some runtime calls
38+
- `compiler`: improve position information in error messages
39+
- `cgo`: add support for CFLAGS in .c files
40+
- `interp`: support GEP on fixed (MMIO) addresses
41+
- `interp`: handle `(reflect.Type).Elem()`
42+
- `interp`: add support for runtime.interfaceMethod
43+
- `interp`: make toLLVMValue return an error instead of panicking
44+
- `interp`: add support for switch statement
45+
- `interp`: fix phi instruction
46+
- `interp`: remove map support
47+
- `interp`: support extractvalue/insertvalue with multiple operands
48+
- `transform`: optimize string comparisons against ""
49+
- `transform`: optimize `reflect.Type` `Implements()` method
50+
- `transform`: fix bug in interface lowering when signatures are renamed
51+
- `transform`: don't rely on struct name of `runtime.typecodeID`
52+
- `transform`: use IPSCCP pass instead of the constant propagation pass
53+
- `transform`: fix func lowering assertion failure
54+
- `transform`: do not lower zero-sized alloc to alloca
55+
- `transform`: split interface and reflect lowering
56+
* **standard library**
57+
- `runtime`: add dummy debug package
58+
- `machine`: fix data shift/mask in newUSBSetup
59+
- `machine`: make `machine.I2C0` and similar objects pointers
60+
- `machine`: unify usbcdc code
61+
- `machine`: refactor PWM support
62+
- `machine`: avoid heap allocations in USB code
63+
- `reflect`: let `reflect.Type` be of interface type
64+
- `reflect`: implement a number of stub functions
65+
- `reflect`: check for access in the `Interface` method call
66+
- `reflect`: fix `AssignableTo` and `Implements` methods
67+
- `reflect`: implement `Value.CanAddr`
68+
- `reflect`: implement `Sizeof` and `Alignof` for func values
69+
- `reflect`: implement `New` function
70+
- `runtime`: implement command line arguments in hosted environments
71+
- `runtime`: implement environment variables for Linux
72+
- `runtime`: improve timers on nrf, and samd chips
73+
* **targets**
74+
- all: use -Qunused-arguments only for assembly files
75+
- `atmega1280`: add PWM support
76+
- `attiny`: remove dummy UART
77+
- `atsamd21`: improve SPI
78+
- `atsamd51`: fix PWM support in atsamd51p20
79+
- `atsamd5x`: improve SPI
80+
- `atsamd51`, `atsame5x`: unify samd51 and same5x
81+
- `atsamd51`, `atsamd21`: fix `ADC.Get()` value at 8bit and 10bit
82+
- `atsame5x`: add support for CAN
83+
- `avr`: remove I2C stubs from attiny support
84+
- `cortexm`: check for `arm-none-eabi-gdb` and `gdb-multiarch` commands
85+
- `cortexm`: add `__isr_vector` symbol
86+
- `cortexm`: disable FPU on Cortex-M4
87+
- `cortexm`: clean up Cortex-M target files
88+
- `fe310`: fix SPI read
89+
- `gameboy-advance`: Fix RGBA color interpretation
90+
- `nrf52833`: add PWM support
91+
- `stm32l0`: use unified UART logic
92+
- `stm32`: move f103 (bluepill) to common i2c code
93+
- `stm32`: separate altfunc selection for UART Tx/Rx
94+
- `stm32`: i2c implementation for F7, L5 and L4 MCUs
95+
- `stm32`: make SPI CLK fast to fix data issue
96+
- `stm32`: support SPI on L4 series
97+
- `unix`: avoid possible heap allocation with `-opt=0`
98+
- `unix`: use conservative GC by default
99+
- `unix`: use the tasks scheduler instead of coroutines
100+
- `wasi`: upgrade WASI version to wasi_snapshot_preview1
101+
- `wasi`: darwin: support basic file io based on libc
102+
- `wasm`: only export explicitly exported functions
103+
- `wasm`: use WASI ABI for exit function
104+
- `wasm`: scan globals conservatively
105+
* **boards**
106+
- `arduino-mega1280`: add support for the Arduino Mega 1280
107+
- `arduino-nano-new`: Add Arduino Nano w/ New Bootloader target
108+
- `atsame54-xpro`: add initial support this board
109+
- `feather-m4-can`: add initial support for this board
110+
- `grandcentral-m4`: add board support for Adafruit Grand Central M4 (SAMD51)
111+
- `lgt92`: update to new UART structure
112+
- `microbit`: remove LED constant
113+
- `microbit-v2`: add support for S113 SoftDevice
114+
- `nucleol432`: add support for this board
115+
- `nucleo-l031k6`: add this board
116+
- `pca10059`: initial support for this board
117+
- `qtpy`: fix msd-volume-name
118+
- `qtpy`: fix i2c setting
119+
- `teensy40`: move txBuffer allocation to UART declaration
120+
- `teensy40`: add UART0 as alias for UART1
121+
122+
1123
0.17.0
2124

3125
---

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.18.0-dev"
15+
const Version = "0.18.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)