Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
ff58c50
machine: add attiny85 pwm support (#5171)
jespino Jan 12, 2026
8bd2233
machine/rp: use the blockReset() and unresetBlockWait() helper functi…
deadprogram Jan 13, 2026
1fe934e
machine/rp: add Close function to UART to allow for removing all syst…
deadprogram Jan 13, 2026
1876b65
compiler: simplify createObjectLayout
niaow Dec 28, 2025
707d37a
chore: update version to 0.41.0-dev
deadprogram Jan 14, 2026
a0069b6
testdata: more corpus entries (#5182)
dgryski Jan 17, 2026
5d8e071
machine/attiny85: add USI-based SPI support (#5181)
jespino Jan 17, 2026
f0256ca
Fix syntax for building with TinyGo
robogg133 Jan 21, 2026
e79cdc1
targets: Add Shrike Lite board (#5170)
YajTPG Jan 24, 2026
bef0dc5
Add per-byte timeout budget for rp2 I2C (#5189)
sparques Feb 2, 2026
66d7099
build: update CI builds to use latest Go 1.25.7 release
deadprogram Feb 4, 2026
f23e18a
flake.*: bump to nixpkgs 25.11
eliasnaur Feb 6, 2026
f5b2a08
builder: order embedded files deterministically
eliasnaur Feb 6, 2026
3237853
sponsorship: add explicit callout/link in README to help out TinyGo
deadprogram Feb 11, 2026
4b0e858
Esp32s3 implement spi (#5169)
dimajolkin Feb 15, 2026
934d5f4
fix: init heap before random number seed on wasm platforms
deadprogram Feb 15, 2026
b6b723a
targets: correct name/tag use for esp32s3-wroom1 board
deadprogram Feb 16, 2026
24f9654
make: remove machine without board from smoketest
deadprogram Feb 16, 2026
9bbad67
esp32s3-usbserial: added usbserial printing
dimajolkin Feb 15, 2026
c1cddff
esp32s3-usbserial: split usb
dimajolkin Feb 16, 2026
44ca224
esp32s3-usbserial: common usbserial for both esp32c3 & esp32s3
dimajolkin Feb 17, 2026
610dd19
esp32s3-usbserial: move InitSerial to init method
dimajolkin Feb 17, 2026
5c37d1b
runtime: implement fminimum/fmaximum
niaow Feb 9, 2026
fd1d10c
export UART0 and pins
cowellmi Feb 17, 2026
e0425ed
Esp32s3 i2c interface (#5210)
dimajolkin Feb 21, 2026
9a1be25
transform: modify output format from the -print-allocs flag to be the…
deadprogram Feb 24, 2026
4afce2b
esp3s3 & esp32c3 PWM implements (#5215)
dimajolkin Feb 25, 2026
72e7040
update tools/gen-device-svd w.r.t. recent changes to the structure of…
knieriem Feb 25, 2026
8c2fcac
lib/stm32-svd: update submodule
knieriem Feb 25, 2026
6607df5
targets/nucleo-f722ze.json: add build-tag stm32f722, change stm32f7x2…
knieriem Nov 28, 2025
4140cb0
targets/swan: rename group build tag stm32l4x5 => stm32l4y5 to avoid …
knieriem Feb 23, 2026
3bd5d72
machine: sync stm32g0 with updated stm32 device files
knieriem Feb 23, 2026
e4c4b67
machine: stm32l0x1,l0x2: TIM: adapt to 32-bit register access
knieriem Feb 23, 2026
bbca047
targets: add support for Seeedstudio Xiao-RP2350 board.
deadprogram Feb 26, 2026
5343bcf
feature: add esp32flash flash method for esp32s3/esp32c3/esp32/esp8266
deadprogram Feb 27, 2026
1385c97
targets: modify esp32, esp32s3, esp32c3, & esp8266 targets to use bui…
deadprogram Feb 27, 2026
4f9857a
modules: update espflash to 0.2.0 for esp8266 fixes
deadprogram Feb 28, 2026
a17ffae
machine: implement RNG for esp32s3 based on the onboard hardware rand…
deadprogram Feb 27, 2026
0952eb4
esp32s3 + c3 ADC (#5231)
dimajolkin Mar 1, 2026
f195d09
usb/cdc: Better ring buffer implementation (#5209)
soypat Mar 1, 2026
f50eccf
esp32c3/esp32s3: refactor ADC implementation to reduce code duplication.
deadprogram Mar 1, 2026
0abc514
targets: switch rp2040/rp2350 to default to tasks scheduler
deadprogram Mar 2, 2026
1f4e303
esp32c3/esp32s3: refactoring and corrections for SPI implementation
deadprogram Mar 2, 2026
dfb2578
modules: update to latest serial and espflash packages
deadprogram Mar 4, 2026
ba88db0
flashing: introduce flash method 'esp32jtag' for esp32c3/esp32s3 targets
deadprogram Mar 4, 2026
9966dc3
fix: ESP32-C3 needs to clear MCAUSE after handling interrupt
deadprogram Mar 5, 2026
6424b09
chore: update espflash to espflasher
deadprogram Mar 8, 2026
9e2288b
esp32c3: implement USBDevice using interrupts for more proper operation.
deadprogram Mar 5, 2026
adb95d8
WiFi/BLE ROM
dimajolkin Mar 17, 2026
755ce41
machine/stm32: add STM32U585 target definition and runtime
deadprogram Mar 15, 2026
fe07f81
machine/stm32: add STM32U5 GPIO, pin interrupts, and UART support
deadprogram Mar 15, 2026
d983bc1
machine/stm32: add STM32U5 I2C support
deadprogram Mar 15, 2026
ea16617
machine/stm32: add STM32U5 SPI support
deadprogram Mar 15, 2026
02bfdf1
machine/stm32: add Arduino UNO Q to smoketests
deadprogram Mar 16, 2026
b92f29b
fix: set stm32u5x clock rate to default
deadprogram Mar 17, 2026
7565e09
targets: correct pin mapping for Arduino UNO Q STM32 MCU
deadprogram Mar 17, 2026
1e25992
targets: add stm32u585 openocd commands for flashing on Arduino UNO Q
deadprogram Mar 18, 2026
8ff2bea
machine/stm32u585: implement ADC
deadprogram Mar 18, 2026
388ea4d
fix: correctly handle interrupt disable on esp32-c3
deadprogram Mar 21, 2026
10fca3f
runtime/esp32c3: use TIMG0 alarm interrupt for sleepTicks instead of …
deadprogram Mar 22, 2026
25423a6
targets: change default stack size for esp32c3 and esp32s3 to 8196.
deadprogram Mar 21, 2026
97d4eec
machine/stm32: fix PWM problem due to register shifting.
deadprogram Mar 18, 2026
c97ad03
target: add PWM constant values for Arduino UNO Q
deadprogram Mar 18, 2026
e665b32
targets/esp32c3: fix to use PROVIDE() for WiFi/BLE ROM function addre…
deadprogram Mar 24, 2026
d52d163
fix: replace ! with ~ for register mask
Mar 25, 2026
468da80
machine/esp32c3: implement BlockDevice for esp32c3 flash
deadprogram Mar 29, 2026
c22a58b
fix(esp32c3): map missing IRAM sections in linker script
deadprogram Mar 29, 2026
a6c9ac6
main: add extra second of delay when flashing esp32 boards before reset
deadprogram Mar 29, 2026
e98f778
builder: fix panic in findPackagePath when using -size short
deadprogram Mar 29, 2026
675dc7f
build: let scoop run updates to resolve binaryen install failures on …
deadprogram Mar 31, 2026
8315c89
interrupt/esp32c3: add Enable stub for QEMU test target
deadprogram Apr 1, 2026
61cc02f
chore: update all github actions to latest versions
deadprogram Apr 1, 2026
e3e36f2
fix: use external 7zip for scoop installs on Windows
deadprogram Apr 1, 2026
d338bf6
reflect: fix reflect.TyepAssert for structs
dgryski Apr 2, 2026
c498659
esp32s3: add interrupt support (#5244)
deadprogram Apr 3, 2026
7542292
esp32s3: switch USB implementation to use interrupts instead of polling
deadprogram Apr 2, 2026
24f0127
feat: add inheritable-only field to filter processor-level targets (#…
gandarez Apr 4, 2026
3bd565c
targets: add esp32s3-supermini
gandarez Apr 3, 2026
b6d9743
esp32s3: replace inline ISR with full interrupt vector handler
deadprogram Apr 2, 2026
d82f5cb
esp32s3: use TIMG0 alarm interrupt for sleepTicks
deadprogram Apr 2, 2026
8348b08
llvm: update llvm 20 to use latest espressif patches for Xtensa
deadprogram Apr 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions .github/workflows/build-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
run: |
HOMEBREW_NO_AUTO_UPDATE=1 brew install qemu binaryen
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
submodules: true
- name: Extract TinyGo version
Expand All @@ -40,13 +40,13 @@ jobs:
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: '1.25.5'
go-version: '1.25.7'
cache: true
- name: Restore LLVM source cache
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
id: cache-llvm-source
with:
key: llvm-source-20-${{ matrix.os }}-v1
key: llvm-source-20-${{ matrix.os }}-v2
path: |
llvm-project/clang/lib/Headers
llvm-project/clang/include
Expand All @@ -57,7 +57,7 @@ jobs:
if: steps.cache-llvm-source.outputs.cache-hit != 'true'
run: make llvm-source
- name: Save LLVM source cache
uses: actions/cache/save@v4
uses: actions/cache/save@v5
if: steps.cache-llvm-source.outputs.cache-hit != 'true'
with:
key: ${{ steps.cache-llvm-source.outputs.cache-primary-key }}
Expand All @@ -68,10 +68,10 @@ jobs:
llvm-project/lld/include
llvm-project/llvm/include
- name: Restore LLVM build cache
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
id: cache-llvm-build
with:
key: llvm-build-20-${{ matrix.os }}-v2
key: llvm-build-20-${{ matrix.os }}-v3
path: llvm-build
- name: Build LLVM
if: steps.cache-llvm-build.outputs.cache-hit != 'true'
Expand All @@ -85,7 +85,7 @@ jobs:
make llvm-build
find llvm-build -name CMakeFiles -prune -exec rm -r '{}' \;
- name: Save LLVM build cache
uses: actions/cache/save@v4
uses: actions/cache/save@v5
if: steps.cache-llvm-build.outputs.cache-hit != 'true'
with:
key: ${{ steps.cache-llvm-build.outputs.cache-primary-key }}
Expand All @@ -107,7 +107,7 @@ jobs:
# - have a double-zipped artifact when downloaded from the UI
# - have a very slow artifact upload
# We're doing the former here, to keep artifact uploads fast.
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: darwin-${{ matrix.goarch }}-double-zipped-${{ steps.version.outputs.version }}
path: build/tinygo${{ steps.version.outputs.version }}.darwin-${{ matrix.goarch }}.tar.gz
Expand All @@ -131,11 +131,11 @@ jobs:
run: |
brew install llvm@${{ matrix.version }}
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: '1.25.5'
go-version: '1.25.7'
cache: true
- name: Build TinyGo (LLVM ${{ matrix.version }})
run: go install -tags=llvm${{ matrix.version }}
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,14 @@ jobs:
sudo rm -rf /usr/local/share/boost
df -h
- name: Check out the repo
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
submodules: recursive
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@v4
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
uses: docker/metadata-action@v6
with:
images: |
tinygo/tinygo-dev
Expand All @@ -47,18 +47,18 @@ jobs:
type=sha,format=long
type=raw,value=latest
- name: Log in to Docker Hub
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Log in to Github Container Registry
uses: docker/login-action@v3
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v6
uses: docker/build-push-action@v7
with:
context: .
push: true
Expand Down
66 changes: 33 additions & 33 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,32 +23,32 @@ jobs:
version: ${{ steps.version.outputs.version }}
steps:
- name: Install apk dependencies
# tar: needed for actions/cache@v4
# tar: needed for actions/cache@v5
# git+openssh: needed for checkout (I think?)
# ruby: needed to install fpm
run: apk add tar git openssh make g++ ruby-dev mold
- name: Work around CVE-2022-24765
# We're not on a multi-user machine, so this is safe.
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
submodules: true
- name: Extract TinyGo version
id: version
run: ./.github/workflows/tinygo-extract-version.sh | tee -a "$GITHUB_OUTPUT"
- name: Cache Go
uses: actions/cache@v4
uses: actions/cache@v5
with:
key: go-cache-linux-alpine-v1-${{ hashFiles('go.mod') }}
path: |
~/.cache/go-build
~/go/pkg/mod
- name: Restore LLVM source cache
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
id: cache-llvm-source
with:
key: llvm-source-20-linux-alpine-v1
key: llvm-source-20-linux-alpine-v2
path: |
llvm-project/clang/lib/Headers
llvm-project/clang/include
Expand All @@ -59,7 +59,7 @@ jobs:
if: steps.cache-llvm-source.outputs.cache-hit != 'true'
run: make llvm-source
- name: Save LLVM source cache
uses: actions/cache/save@v4
uses: actions/cache/save@v5
if: steps.cache-llvm-source.outputs.cache-hit != 'true'
with:
key: ${{ steps.cache-llvm-source.outputs.cache-primary-key }}
Expand All @@ -70,10 +70,10 @@ jobs:
llvm-project/lld/include
llvm-project/llvm/include
- name: Restore LLVM build cache
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
id: cache-llvm-build
with:
key: llvm-build-20-linux-alpine-v1
key: llvm-build-20-linux-alpine-v2
path: llvm-build
- name: Build LLVM
if: steps.cache-llvm-build.outputs.cache-hit != 'true'
Expand All @@ -88,13 +88,13 @@ jobs:
# Remove unnecessary object files (to reduce cache size).
find llvm-build -name CMakeFiles -prune -exec rm -r '{}' \;
- name: Save LLVM build cache
uses: actions/cache/save@v4
uses: actions/cache/save@v5
if: steps.cache-llvm-build.outputs.cache-hit != 'true'
with:
key: ${{ steps.cache-llvm-build.outputs.cache-primary-key }}
path: llvm-build
- name: Cache Binaryen
uses: actions/cache@v4
uses: actions/cache@v5
id: cache-binaryen
with:
key: binaryen-linux-alpine-v1
Expand All @@ -119,7 +119,7 @@ jobs:
cp -p build/release.tar.gz /tmp/tinygo${{ steps.version.outputs.version }}.linux-amd64.tar.gz
cp -p build/release.deb /tmp/tinygo_${{ steps.version.outputs.version }}_amd64.deb
- name: Publish release artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: linux-amd64-double-zipped-${{ steps.version.outputs.version }}
path: |
Expand All @@ -131,13 +131,13 @@ jobs:
needs: build-linux
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
submodules: true
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: '1.25.5'
go-version: '1.25.7'
cache: true
- name: Install wasmtime
uses: bytecodealliance/actions/wasmtime/setup@v1
Expand All @@ -164,7 +164,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
with:
submodules: true
- name: Install apt dependencies
Expand All @@ -181,10 +181,10 @@ jobs:
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: '1.25.5'
go-version: '1.25.7'
cache: true
- name: Install Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: '18'
- name: Install wasmtime
Expand All @@ -194,10 +194,10 @@ jobs:
- name: Setup `wasm-tools`
uses: bytecodealliance/actions/wasm-tools/setup@v1
- name: Restore LLVM source cache
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
id: cache-llvm-source
with:
key: llvm-source-20-linux-asserts-v1
key: llvm-source-20-linux-asserts-v2
path: |
llvm-project/clang/lib/Headers
llvm-project/clang/include
Expand All @@ -208,7 +208,7 @@ jobs:
if: steps.cache-llvm-source.outputs.cache-hit != 'true'
run: make llvm-source
- name: Save LLVM source cache
uses: actions/cache/save@v4
uses: actions/cache/save@v5
if: steps.cache-llvm-source.outputs.cache-hit != 'true'
with:
key: ${{ steps.cache-llvm-source.outputs.cache-primary-key }}
Expand All @@ -219,10 +219,10 @@ jobs:
llvm-project/lld/include
llvm-project/llvm/include
- name: Restore LLVM build cache
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
id: cache-llvm-build
with:
key: llvm-build-20-linux-asserts-v1
key: llvm-build-20-linux-asserts-v2
path: llvm-build
- name: Build LLVM
if: steps.cache-llvm-build.outputs.cache-hit != 'true'
Expand All @@ -235,13 +235,13 @@ jobs:
# Remove unnecessary object files (to reduce cache size).
find llvm-build -name CMakeFiles -prune -exec rm -r '{}' \;
- name: Save LLVM build cache
uses: actions/cache/save@v4
uses: actions/cache/save@v5
if: steps.cache-llvm-build.outputs.cache-hit != 'true'
with:
key: ${{ steps.cache-llvm-build.outputs.cache-primary-key }}
path: llvm-build
- name: Cache Binaryen
uses: actions/cache@v4
uses: actions/cache@v5
id: cache-binaryen
with:
key: binaryen-linux-asserts-v1
Expand Down Expand Up @@ -284,7 +284,7 @@ jobs:
needs: build-linux
steps:
- name: Checkout
uses: actions/checkout@v5
uses: actions/checkout@v6
- name: Get TinyGo version
id: version
run: ./.github/workflows/tinygo-extract-version.sh | tee -a "$GITHUB_OUTPUT"
Expand All @@ -298,13 +298,13 @@ jobs:
- name: Install Go
uses: actions/setup-go@v6
with:
go-version: '1.25.5'
go-version: '1.25.7'
cache: true
- name: Restore LLVM source cache
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
id: cache-llvm-source
with:
key: llvm-source-20-linux-v1
key: llvm-source-20-linux-v2
path: |
llvm-project/clang/lib/Headers
llvm-project/clang/include
Expand All @@ -315,7 +315,7 @@ jobs:
if: steps.cache-llvm-source.outputs.cache-hit != 'true'
run: make llvm-source
- name: Save LLVM source cache
uses: actions/cache/save@v4
uses: actions/cache/save@v5
if: steps.cache-llvm-source.outputs.cache-hit != 'true'
with:
key: ${{ steps.cache-llvm-source.outputs.cache-primary-key }}
Expand All @@ -326,10 +326,10 @@ jobs:
llvm-project/lld/include
llvm-project/llvm/include
- name: Restore LLVM build cache
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
id: cache-llvm-build
with:
key: llvm-build-20-linux-${{ matrix.goarch }}-v1
key: llvm-build-20-linux-${{ matrix.goarch }}-v2
path: llvm-build
- name: Build LLVM
if: steps.cache-llvm-build.outputs.cache-hit != 'true'
Expand All @@ -344,13 +344,13 @@ jobs:
# Remove unnecessary object files (to reduce cache size).
find llvm-build -name CMakeFiles -prune -exec rm -r '{}' \;
- name: Save LLVM build cache
uses: actions/cache/save@v4
uses: actions/cache/save@v5
if: steps.cache-llvm-build.outputs.cache-hit != 'true'
with:
key: ${{ steps.cache-llvm-build.outputs.cache-primary-key }}
path: llvm-build
- name: Cache Binaryen
uses: actions/cache@v4
uses: actions/cache@v5
id: cache-binaryen
with:
key: binaryen-linux-${{ matrix.goarch }}-v4
Expand Down Expand Up @@ -387,7 +387,7 @@ jobs:
cp -p build/release.tar.gz /tmp/tinygo${{ steps.version.outputs.version }}.linux-${{ matrix.goarch }}.tar.gz
cp -p build/release.deb /tmp/tinygo_${{ steps.version.outputs.version }}_${{ matrix.libc }}.deb
- name: Publish release artifact
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v7
with:
name: linux-${{ matrix.goarch }}-double-zipped-${{ steps.version.outputs.version }}
path: |
Expand Down
Loading
Loading