TinyGo, el compilador que traduce Go a código de pequeño tamaño para microcontroladores y entornos embebidos, ha publicado su versión 0.42, que incorpora por primera vez recuperación de panics en tiempo de ejecución, una de las diferencias históricas más señaladas respecto al Go convencional. A partir de esta versión, errores como desreferencia de puntero nulo, división por cero, accesos fuera de rango en slices y mapas, y panics en canales pueden capturarse con defer y recover. En Windows se añadió un manejador de excepciones vectorizadas y en riscv64 la recuperación ya funciona de forma nativa. Los errores fatales, como falta de memoria, siguen siendo no recuperables.
La nueva versión añade soporte para Go 1.27, incluidos los métodos genéricos, y migra las compilaciones a LLVM 22, manteniendo la compatibilidad con LLVM 19 y 20. Como consecuencia de la recuperación de panics, el paquete testing ya admite Goexit, SkipNow y FailNow, lo que ha permitido desbloquear numerosos conjuntos de pruebas de la biblioteca estándar.
En el plano del hardware, destaca un nuevo destino UEFI mínimo que permite ejecutar programas Go antes de cargar un sistema operativo, con soporte de eventos y del scheduler de tareas. Para los chips ESP32 de Espressif se añaden interrupciones, tabla de vectores, alarmas de temporizador, ADC, UART por interrupciones, XIP en flash y soporte WiFi mediante el paquete espradio, además de Bluetooth en ESP32-C3 y ESP32-S3. La familia STM32 incorpora un driver USB OTG FS para F4 y F7, soporte para STM32H7, STM32U031 y la placa NUCLEO-H753ZI. Se suman también microcontroladores Puya PY32F, las placas Pimoroni Blinky 2350 y Badger 2350, la variante Plus de la Seeed Studio XIAO nRF52840 y depuración con mGBA para Game Boy Advance. El soporte USB mejora con registro dinámico de endpoints y nuevos métodos Attach y Detach.
