Development

Release notes

Recent changes to the Toit language and SDK, from the project’s GitHub releases.

All releases and downloads →

Toit v2.0.0-alpha.199

Fix persistent BLE value buffers. Add verbose compiler statistics. Harden subprocess wait and signaling primitives. Merge UART and USB console input. Add terminal control primitives. LSP utilization improvements. Fix asynchronous RSA generation and enable it on ESP32-P4. Reduce ESP32 TLS memory use with dynamic mbedTLS buffers. Add asynchronous I2C/SPI target support. Migrate I2C/SPI controller operations to async. Fix a GC segmentation fault. Fix LSP rename range for nullable type annotations. Deprecate GPIO pins without an explicit direction. Add EC618 platform support.

Downloads and discussion on GitHub →

Toit v2.0.0-alpha.197

Fix uart: restore signal inversion. Expose DMA-backed channels for RMT. Fix semver in package manager. Fix pkg manager not cleaning up its lock file. Allow to upgrade individual packages (major and minor). Avoid flash-size probe on ESP32-S2.

Downloads and discussion on GitHub →

Toit v2.0.0-alpha.195

Don't print diagnostics when TISON encoding/decoding fails. Fix ESP32 RSA watchdog timeout during key generation. Implement Elliptic Curve (EC) crypto support. Shrink esp32c6 size by removing fat. Use the partition table to determine the ESP32 flash size.

Downloads and discussion on GitHub →

Toit v2.0.0-alpha.192

Give warning for super.foo. Add a toit info command. Implement rename, prepareRename, and hover support. Support 'toitdoc serve' on Windows. Allow toit analyze to accept multiple source files. Fix use-after-free and off-by-one in Windows getline. Support macos Monterey. Fix multi-line 'or'/'and' with colon on continuation line. Add multicast API improvements and fix UDP_REUSE_PORT on Windows. Support shell completions.

Downloads and discussion on GitHub →

Toit v2.0.0-alpha.190

Expose RSA crypto functions. Implement mdns one shot. Update esptool. Fix double->string conversion. Fix Deque.reserve. Fix RMT on esp32c3. Fix kebabify on Windows. Rewrite UART. Build fat binaries for macosx. Initialize the drt/rts UART pins on Windows.

Downloads and discussion on GitHub →

Toit v2.0.0-alpha.189

Many ESP-NOW improvements. Add support for updating mtime and atime of files. Add TRACE log level. All multiple BLE services/characteristics with the same uuid. Back off when BLE notifications run out of memory. Throw "ALREADY_EXIST" if a fs entry already exists on Windows. Use FILE_NOT_FOUND for more Windows errors. Allow to parse timestamps without seconds. Apply patch to the ESP-IDF so compilation of custom envelopes works on Windows. Fix the drom-map-end. Switch to '--if-error' instead of '--on-error'.

Downloads and discussion on GitHub →

Toit v2.0.0-alpha.185

Require i2c closing to be successful. Accept she-bang Toit files that don't have 'toit' extension. Fix GPIO pin, when using input, output, and initial value. Fix 'toit decode' without a snapshot. Fix Windows unicode issues. Fix SPI on Linux.

Downloads and discussion on GitHub →

Toit v2.0.0-alpha.184

Add UTF-8 manifest to all executables. Improve compiler for invalid UTF-8 files. Update Debian changelog to latest version. Use the 'toit' executable as compiler for the LSP and toitdoc. Fix signing of disk images (dmg).

Downloads and discussion on GitHub →

Toit v2.0.0-alpha.181

Add riscv64 cross-compilation support. Warn when an import uses an upper-case character. Warn if import segments don't match the case of the path. Install Toit in standard locations. Pessimize local types in the presence of non-local branches. Apply RMT patch in ESP-IDF. Fix GPIO on raspberry pi. Fix memory leak with pattern encoder.

Downloads and discussion on GitHub →

Toit v2.0.0-alpha.180

Add support for pm (power management) functions. Add 'set-pull' to GPIO. Add finalizers for more resources. Use a weak map in the ServiceResourceProxy. Rewrite DAC to use new API. Implement new API for RMT and add support for encoders. Update ESP-NOW to use the latest API. Fix truthy type propagation. Improve type propagation for identical. Drop ifs with two dead blocks.

Downloads and discussion on GitHub →

Toit v2.0.0-alpha.177

Reimplement i2c driver based on newer ESP-IDF APIs. Give the Registers class a way to have control the byte-size. Add a getter for the level of a logger. Fix i2s code in ESP-IDF to correctly handle retries when low on memory.

Downloads and discussion on GitHub →

Toit v2.0.0-alpha.176

Always bubble up BLE scan responses on macOS. Scan infinitely without a scan-duration on macOS. Use more of the default sdkconfig for LWIP. Fix break-length for io.Data and implement break receiving. Report lost UART data. Support password-less Soft AP. Rewrite pulse-counter driver. Allow to connect to TLS without certificate verification. Add missing IRAM_ATTR in I2S code. Update to esp-idf to cherry-pick for i2c and i2s fixes. Update Ubuntu builders to 22.04.

Downloads and discussion on GitHub →

Toit v2.0.0-alpha.175

Add more documentation to 'ble.scan'. Add Map.map examples. Add return type to to-string-non-throwing. Add more TLS documentation. Add support for stringifying/printing unsigned int64s. Report OOM errors in NimBLE callbacks. Refactor the ADC to use the new API. Use the new I2S API and add tests. Sign Windows executables with new action. Fix documentation for ethernet boards. Fix PWM for ESP variants. Fix comment in byte-order.int64. Fix i2c for empty data and external memory.

Downloads and discussion on GitHub →