Skip to content

Commit 733a17d

Browse files
committed
all: prepare for release 0.38.0
Signed-off-by: deadprogram <[email protected]>
1 parent 330f8c7 commit 733a17d

File tree

2 files changed

+99
-1
lines changed

2 files changed

+99
-1
lines changed

CHANGELOG.md

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,101 @@
1+
0.38.0
2+
---
3+
* **general**
4+
- `go.*`: upgrade `golang.org/x/tools` to v0.30.0
5+
- `all`: add support for LLVM 20
6+
* **build**
7+
- go back to using MinoruSekine/setup-scoop for Windows CI builds
8+
- `flake.*`: upgrade to nixpkgs 25.05, LLVM 20
9+
- `Makefile`: only detect ccache command when needed
10+
- `Makefile`: create random filename inside rule
11+
- `Makefile`: don't set GOROOT
12+
- `Makefile`: call uname at most once
13+
- `Makefile`: only read NodeJS version when it is needed
14+
* **compiler**
15+
- add support for `GODEBUG=gotypesalias=1`
16+
- `interp`: fix `copy()` from/to external buffers
17+
- add `-nobounds` (similar to `-gcflags=-B`)
18+
- `compileopts`: add library version to cached library path
19+
- `builder`: build wasi-libc inside TinyGo
20+
- `builder`: simplify bdwgc libc dependency
21+
- `builder`: don't use precompiled libraries
22+
- `compileopts`: enable support for `GOARCH=wasm` in `tinygo test`
23+
* **fixes**
24+
- `rp2350`: Fix DMA to SPI transmits on RP2350 (#4903)
25+
- `microbit v2`: use OpenOCD flash method on microbit v2 when using Nordic Semi SoftDevice
26+
- `main`: display all of the current GC options for the `-gc` flag
27+
- Remove duplicated error handling
28+
- `sync`: fix `TestMutexConcurrent` test
29+
- fix race condition in `testdata/goroutines.go`
30+
- fix build warnings on Windows ARM
31+
* **machine**
32+
- `usb`: add USB mass storage class support
33+
- implement usb receive message throttling
34+
- declare usb endpoints per-platform
35+
- `samd21`: implement watchdog
36+
- `samd51`: write to flash memory in 512 byte long chunks
37+
- `samd21`: write to flash memory in 64 byte long chunks
38+
- don't inline RTT `WriteByte` everywhere
39+
- `rp2`: unexport machine-specific errors
40+
- `rp2`: discount scheduling delays in I2C timeouts (#4876)
41+
- use pointer receiver in simulated PWM peripherals
42+
- add simulated PWM/timer peripherals
43+
- `rp2`: expose usb endpoint stall handling
44+
- `arm`: clear pending interrupts before enabling them
45+
- `rp2`: merge common usb code (#4856)
46+
* **main**
47+
- add "cores" and "threads" schedulers to help text
48+
- add `StartPos` and `EndPos` to `-json` build output
49+
- change `-json` flag to match upstream Go
50+
* **runtime**
51+
- don't lock the print output inside interrupts
52+
- don't try to interrupt other cores before they are started
53+
- implement `NumCPU` for the multicore scheduler
54+
- add support for multicore scheduler
55+
- refactor obtaining the system stack
56+
- `interrupt`: add `Checkpoint` type
57+
- add `exportedFuncPtr`
58+
- avoid an allocation in `(*time.Timer).Reset`
59+
- stub runtime signal functions for `os/signal` on wasip1
60+
- move `timeUnit` to a single place
61+
- implement `NumCPU` for `-scheduler=threads`
62+
- move `mainExited` boolean
63+
- `internal/task`: rename `tinygo_pause` to `tinygo_task_exit`
64+
- map every goroutine to a new OS thread
65+
- refactor `timerQueue`
66+
- make conservative and precise GC MT-safe
67+
- `internal/task`: implement atomic primitives for preemptive scheduling
68+
- Use diskutil on macOS to extract volume name and path for FAT mounts #4928
69+
* **standard library**
70+
- `net`: update submodule to latest commits
71+
- `runtime/debug`: add GC related stubs
72+
- `metrics`: flesh out some of the metric types
73+
- `reflect`: Chan related stubs
74+
- `os`: handle relative and abs paths in `Executable()`
75+
- `os`: add `os.Executable()` for Darwin
76+
- `sync`: implement `RWMutex` using futexes
77+
- `reflect`: Add `SliceOf`, `ArrayOf`, `StructOf`, `MapOf`, `FuncOf`
78+
* **targets**
79+
- `rp2040`: add multicore support
80+
- `riscv32`: use `gdb` binary as a fallback
81+
- add target for Microbit v2 with SoftDevice S140 support for both peripheral and central
82+
- `windows`: use MSVCRT.DLL instead of UCRT on i386
83+
- `windows`: add windows/386 support
84+
- `arm64`: remove unnecessary `.section` directive
85+
- `riscv-qemu`: actually sleep in `time.Sleep()`
86+
- `riscv`: define CSR constants and use them where possible
87+
- `darwin`: support Boehm GC (and use by default)
88+
- `windows`: add support for the Boehm-Demers-Weiser GC
89+
- `windows`: fix wrong register for first parameter
90+
* **wasm**
91+
- add Boehm GC support
92+
- refactor/modify stub signal handling
93+
- don't block `//go:wasmexport` because of running goroutines
94+
- use `int64` instead of `float64` for the `timeUnit`
95+
* **boards**
96+
- Add board support for BigTreeTech SKR Pico (#4842)
97+
98+
199
0.37.0
2100
---
3101
* **general**

goenv/version.go

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

1111
// Version of TinyGo.
1212
// Update this value before release of new version of software.
13-
const version = "0.38.0-dev"
13+
const version = "0.38.0"
1414

1515
// Return TinyGo version, either in the form 0.30.0 or as a development version
1616
// (like 0.30.0-dev-abcd012).

0 commit comments

Comments
 (0)