{
  "id": 5130602,
  "title": "TinyGo 0.42 - Recover Is Real",
  "url": "https://urgent.news/2026/09/02/tinygo-0-42-recover-is-real",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-02T14:38:08.000Z",
  "source": {
    "name": "Lobsters",
    "slug": "lobsters",
    "url": "https://tinygo.org/blog/2026/tinygo-0.42-recover-is-real/"
  },
  "original_language": "en",
  "account": "TinyGo 0.42, the latest update to the TinyGo compiler, has been released and it brings significant improvements to error handling and expands TinyGo's reach to new hardware platforms. In this release, runtime panics can now be recovered from, providing developers with greater control over their programs. Previously, a nil pointer dereference or a divide by zero in a TinyGo program would cause it to simply stop running, but now these errors can be handled through defer and recover, similar to how they are handled in traditional Go programs.\n\nAdditionally, TinyGo has added support for Go version 1.27, allowing the compiler to take advantage of new features such as generic methods. The binaries released with the compiler are now built and tested with this newer Go version. The compiler has also been moved to LLVM 22, although previous versions of LLVM (19, 20, and 22) are still supported for those who build from a distribution package.\n\nFurthermore, TinyGo 0.42 has expanded its reach to a wide variety of hardware platforms. On Windows, a vectored exception handler has been added to allow for the same kind of panic recovery as on other platforms. The runtime now knows which panics can be handled and which cannot, ensuring that unrecoverable errors such as out of memory conditions are still properly managed.\n\nTinyGo has also added a minimal UEFI target, allowing developers to write Go programs that can run as UEFI applications on compatible hardware before an operating system starts. This is particularly exciting for the ESP32 chips, which have powerful wireless capabilities. With interrupt support, timer alarms, and flash XIP support, these chips can now do much more than they could before. Additionally, Bluetooth support has been added for the ESP32-C3 and ESP32-S3 chips, further expanding TinyGo's reach in the world of wireless devices.\n\nThe release also includes improvements to the USB support, with endpoints now being registered dynamically to support bidirectional communication with RP2, SAMD21, SAMD51, and nRF52840 chips. The USBDevice.Attach and USBDevice.Detach methods have also been added, providing even more flexibility for developers. Overall, TinyGo 0.42 is a significant step forward for the TinyGo compiler, expanding its usefulness and capabilities across a wide range of hardware platforms.",
  "summary": null,
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}