Download Latest Version tinygo0.39.0.windows-amd64.zip (148.4 MB)
Email in envelope

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

Home / v0.39.0
Name Modified Size InfoDownloads / Week
Parent folder
tinygo0.39.0.linux-amd64.tar.gz 2025-08-19 161.1 MB
tinygo_0.39.0_amd64.deb 2025-08-19 161.4 MB
tinygo0.39.0.linux-arm64.tar.gz 2025-08-19 155.5 MB
tinygo_0.39.0_arm64.deb 2025-08-19 153.5 MB
tinygo0.39.0.linux-arm.tar.gz 2025-08-19 152.3 MB
tinygo_0.39.0_armhf.deb 2025-08-19 150.4 MB
tinygo0.39.0.windows-amd64.zip 2025-08-19 148.4 MB
tinygo0.39.0.darwin-arm64.tar.gz 2025-08-19 135.3 MB
tinygo0.39.0.darwin-amd64.tar.gz 2025-08-19 138.1 MB
0.39.0 source code.tar.gz 2025-08-19 1.4 MB
0.39.0 source code.zip 2025-08-19 2.1 MB
README.md 2025-08-19 2.6 kB
Totals: 12 Items   1.4 GB 7

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
Source: README.md, updated 2025-08-19