Download Latest Version tinygo0.40.1.darwin-amd64.tar.gz (139.8 MB)
Email in envelope

Get an email when there's a new version of TinyGo

Home / v0.37.0
Name Modified Size InfoDownloads / Week
Parent folder
tinygo0.37.0.darwin-arm64.tar.gz 2025-03-19 127.1 MB
tinygo0.37.0.darwin-amd64.tar.gz 2025-03-19 129.9 MB
tinygo0.37.0.windows-amd64.zip 2025-03-19 139.2 MB
tinygo0.37.0.linux-amd64.tar.gz 2025-03-19 153.1 MB
tinygo_0.37.0_amd64.deb 2025-03-19 153.3 MB
tinygo0.37.0.linux-arm.tar.gz 2025-03-19 144.1 MB
tinygo_0.37.0_armhf.deb 2025-03-19 142.3 MB
tinygo0.37.0.linux-arm64.tar.gz 2025-03-19 147.5 MB
tinygo_0.37.0_arm64.deb 2025-03-19 145.5 MB
0.37.0 source code.tar.gz 2025-03-19 1.3 MB
0.37.0 source code.zip 2025-03-19 2.0 MB
README.md 2025-03-19 2.4 kB
Totals: 12 Items   1.3 GB 0

This is probably our fastest time in-between full releases, especially given all of the excellent work that has made it in. A few highlights are updated compatibility with the latest WASI work from the Bytecode Alliance, faster speed and PIO support for the RP2350, and a new garbage collector option for Linux. Plus a bunch of critical fixes to make your life better!

  • general
  • add the Boehm-Demers-Weiser GC on Linux
  • ci
  • add more tests for wasm and baremetal
  • compiler
  • crypto/internal/sysrand is allowed to use unsafe signatures
  • examples
  • add goroutine benchmark to examples
  • fixes
  • ensure use of pointers for SPI interface on atsam21/atsam51 and other machines/boards that were missing implementation (#4798)
  • replace loop counter with hw timer for USB SetAddressReq on rp2040 (#4796)
  • internal
  • update to go.bytecodealliance.org@v0.6.2 in GNUmakefile and internal/wasm-tools
  • exclude certain files when copying package in internal/cm
  • update to go.bytecodealliance.org/cm@v0.2.2 in internal/cm
  • remove old reflect.go in internal/reflectlite
  • loader
  • use build tags for package iter and iter methods on reflect.Value in loader, iter, reflect
  • add shim for go1.22 and earlier in loader, iter
  • machine
  • bump rp2040 to 200MHz (#4768)
  • correct register address for Pin.SetInterrupt for rp2350 (#4782)
  • don't block the rp2xxx UART interrupt handler
  • fix RP2040 Pico board on the playground
  • add flash support for rp2350 (#4803)
  • os
  • add stub Symlink for wasm
  • refactor
  • use *SPI everywhere to make consistent for implementations. Fixes [#4663] "in reverse" by making SPI a pointer everywhere, as discussed in the comments.
  • reflect
  • add Value.SetIter{Key,Value} and MapIter.Reset in reflect, internal/reflectlite
  • embed reflectlite types into reflect types in reflect, internal/reflectlite
  • add Go 1.24 iter.Seq[2] methods
  • copy reflect iter tests from upstream Go
  • panic on Type.CanSeq[2] instead of returning false
  • remove strconv.go
  • remove unused go:linkname functions
  • riscv-qemu
  • add VirtIO RNG device
  • increase stack size
  • runtime
  • only allocate heap memory when needed
  • remove unused file func.go
  • use package reflectlite
  • transform
  • cherry-pick from [#4774]
Source: README.md, updated 2025-03-19