Skip to content

Commit 15ad9cb

Browse files
committed
Release 0.40.0
Signed-off-by: deadprogram <[email protected]>
1 parent 1c27ecb commit 15ad9cb

File tree

2 files changed

+88
-1
lines changed

2 files changed

+88
-1
lines changed

CHANGELOG.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,90 @@
1+
0.40.0
2+
---
3+
* **general**
4+
- all: add full LLVM 20 support
5+
- core: feat: enable //go:linkname pragma for globals
6+
- core: feature: Add flag to ignore go compatibility matrix (#5078)
7+
- chore: update version for 0.40 development cycle
8+
* **compiler**
9+
- emit an error when the actual arch doesn't match GOARCH
10+
- mark string parameters as readonly
11+
- use Tarjan's SCC algorithm to detect loops for defer
12+
- lower "large stack" limit to 16kb
13+
* **core**
14+
- shrink bdwgc library
15+
- Fix linker errors for runtime.vgetrandom and crypto/internal/sysrand.fatal
16+
- fix: add TryLock to sync.RWMutex
17+
- fix: correct linter issues exposed by the fix in #4679
18+
- fix: don't hardcode success return state
19+
- fix: expand RTT debugger compatibility
20+
- internal/task (threads): save stack bounds instead of scanning under a lock
21+
- internal/task: create detatched threads and fix error handling
22+
- interp: better errors when debugging interp
23+
- transform (gc): create stack slots in callers of external functions
24+
* **machine**
25+
- cortexm: optimize code size for the HardFault_Handler
26+
- fe310: add I2C pins for the HiFive1b
27+
- clarify WriteAt semantics of BlockDevice
28+
- fix deprecated AsmFull comment (#5005)
29+
- make sure DMA buffers do not escape unnecessarily
30+
- only enable USB-CDC when needed
31+
- use larger SPI MAXCNT on nrf52833 and nrf52840
32+
- fix: update m.queuedBytes when clamping output to avoid corrupting sentBytes
33+
- fix: use int64 in ReadTemperature to avoid overflow
34+
- fix(rp2): disable DBGPAUSE on startup
35+
- fix(rp2): possible integer overflow while computing factors for SPI baudrate
36+
- fix(rp2): reset spinlocks at startup
37+
- fix(rp2): switch spinlock busy loop to wfe
38+
- fix(rp2): use side-effect-free spinlocks
39+
- nrf: add ADC_VDDH which is an ADC pin for VDDH
40+
- nrf: don't block SPI transfer
41+
- nrf: don't set PSELN, it's ignored in single ended mode anyway
42+
- nrf: fix typo in ADC configuration
43+
- nrf: refactor SoftDevice enabled check
44+
- nrf: rename pwmPin to adcPin
45+
- nrf: support flash operations while the SoftDevice is enabled
46+
- rp2040: allow writing to the UART inside interrupts
47+
- machine,nrf528: stop the bus only once on I2C bus error and ensures the first error is returned
48+
* **net**
49+
- update submodule to latest commits
50+
* **runtime**
51+
- (avr): fix infinite longjmp loop if stack is aligned to 256 bytes
52+
- (gc_blocks.go): clear full size of allocation
53+
- (gc_blocks.go): make sweep branchless
54+
- (gc_blocks.go): simplify scanning logic
55+
- (gc_blocks.go): use a linked stack to scan marked objects
56+
- (gc_blocks.go): use best-fit allocation
57+
- (gc_boehm.go): fix world already stopped check
58+
- (wasm): scan the system stack
59+
- fix sleep duration for long sleeps
60+
- remove copied code for nrf52840
61+
- src/syscall: update src buffer after write
62+
- wasm: fix C realloc and optimize it a bit
63+
* **targets**
64+
- add xiao-esp32s3 board target
65+
- Add ESP32-S3 support (#5091)
66+
- Added Gopher ARCADE board
67+
- Create "pico2-ice" target board (#5062)
68+
* **build/test**
69+
- Add testing.T.Context() and testing.B.Context()
70+
- create separate go.mod file for testing dependencies for wasm tests that use Chromium headless browser to avoid use of older incompatible version.
71+
- go back to normal scheduler instead of tasks scheduler for macos CI
72+
- update CI to use Go 1.25.5
73+
- update macOS GH actions builds to handle sunset of macOS 13
74+
- use task scheduler on macOS builds to avoid test race condition lockups
75+
- update all CI builds to use latest stable Go release. Also update some of the actions to their latest releases.
76+
- update GH actions builds to use Go 1.25.4
77+
- uninstall cmake before install
78+
- fix: point the submodule for musl-lib to a mirror in the TinyGo GitHub org
79+
- fix: remove macOS 15 from CI build matrix (conflicts with macOS 14 build)
80+
- fix: separate host expected bytes from device intended bytes
81+
- fix/typo: makeESPFirmwareImage
82+
- make: GNUmakefile: shrink TinyGo binaries on Linux
83+
- move the directory list into a variable
84+
- several improvements to the macOS GH actions build
85+
- Fix for #4678: top-level 'make lint' wasn't working
86+
- fix: increase the timeout for chromedp to connect to the headless browser used for running the wasm tests.
87+
188
0.39.0
289
---
390
* **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.40.0-dev"
13+
const version = "0.40.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)