TinyGo

The TinyGo Authors · tinygo-org.tinygo

Go compiler for small places. Microcontrollers, WebAssembly (WASM/WASI), and command-line tools. Based on LLVM.

TinyGo is a Go compiler intended for use in small places such as microcontrollers, WebAssembly (wasm/wasi), and command-line tools. It reuses libraries used by the Go language tools alongside LLVM to provide an alternative way to compile programs written in the Go programming language.

winget install --id tinygo-org.tinygo --exact --source winget

Latest 0.39.0

Release Notes

This release has what you need the most right now, which is Go 1.25 support! Of course it has other new features, such as adding multicore support for the RP2350 family of processors as well as for macOS. We've also got fixes, and as always further improvements for reflect support and stdlib packages. Plus a couple of new boards too!

  • general
    • all: add Go 1.25 support
    • net: update to latest tinygo net package
    • docs: clarify build verification step for macOS users
    • Add flag to skip Renesas SVD builds
  • build
    • Makefile: install missing dlmalloc files
    • flash: add -o flag support to save built binary (Fixes #4937) (#4942)
    • fix: update version of clang to 17 to accommodate latest Go 1.25 docker base image
  • ci
    • chore: update all CI builds to test Go 1.25 release
    • fix: disable test-newest since CircleCI seems unable to download due to rate-limits on Dockerhub
    • ci: rename some jobs to avoid churn on every Go/LLVM version bump
    • ci: make the goroutines test less racy
    • tests: de-flake goroutines test
  • compiler
    • compiler: implement internal/abi.Escape
  • main
    • main: show the compiler error (if any) for tinygo test -c
    • chore: correct GOOS=js name in error messages for WASM
  • machine
    • machine: add international keys
    • machine: remove some unnecessary "// peripherals:" comments
    • machine: add I2C pin comments
    • machine: standardize I2C errors with "i2c:" prefix
    • machine: make I2C usable in the simulator
    • fix: add SPI and I2C to teensy 4.1 (#4943)
    • rp2: use the correct channel mask for rp2350 ADC; hold lock during read (#4938)
    • rp2: disable digital input for analog inputs
  • runtime
    • runtime: ensure time.Sleep(d) sleeps at least d
    • runtime: stub out weak pointer support
    • runtime: implement dummy AddCleanup
    • runtime: enable multi-core scheduler for rp2350
    • internal/task: use -stack-size flag when starting a new thread
    • internal/task: add SA_RESTART flag to GC interrupts
    • internal/task: a few small correctness fixes
    • internal/gclayout: make gclayout values constants
    • darwin: add threading support and use it by default
  • standard library
    • sync: implement sync.Swap
    • reflect: implement Method.IsExported
  • testing
    • testing: stub out testing.B.Loop
  • targets
    • stm32: add support for the STM32L031G6U6
    • add metro-rp2350 board definition (#4989)
    • rp2040/rp2350: set the default stack size to 8k for rp2040/rp2350 based boards where this was not already the case

Installer type: zip

Architecture Scope Download SHA256
x64 Download 3C19A8885F31FA98CEA6B0D9CBEDF7374C8F82FE94A7FE2F15C52EC40405B264

Details

Homepage
https://tinygo.org/getting-started/install/windows
License
Apache-2.0
Publisher
The TinyGo Authors
Support
https://github.com/tinygo-org/tinygo/issues
Copyright
Copyright (c) The TinyGo Authors
Moniker
tinygo

Tags

developmentopen-sourcetinygo

Older versions (5)

0.38.0
Architecture Scope Download SHA256
x64 Download 8BA7284FF7EFC6DF9ED455A08F1EA69DD7EE3C8F0123CFB5F805C825210A629D
0.37.0
Architecture Scope Download SHA256
x64 Download 9D2F2978B8036973886A9EB115EC8F7F81E8D8B7DF8A276719CF648982821602
0.31.2
Architecture Scope Download SHA256
x64 Download 491DCFD192B05E117E09357EA6948B53A97A2B554A0FD4778648A91114F61CC0
0.30.0
Architecture Scope Download SHA256
x64 Download 554624419A1D1206B941E5CE020E72FB15F708D3F5C0D2C90AC81C4094AE7A07
0.27.0
Architecture Scope Download SHA256
x64 Download D40BC2E69253676A8ABFC0BE89C0BA4CC3D879FE67015070E60A6F8DEC6EE393