Skip to content

Moddable SDK 3.6.0

Compare
Choose a tag to compare
@mkellner mkellner released this 11 Jan 05:46
· 2404 commits to public since this release

This release contains changes to the Moddable SDK made between December 1, 2022 and January 2, 2023

Highlights of this release include:

  • Git repositories may now be included directly in project manifests – no more manually cloning repositories
  • View debug traces in your development terminal instead of xsbug – great for headless development
  • New development boards – M5Atom S3 and Adafruit ESP32-S3 TFT Feather
  • New sensors – APDS9301 (ambient light), VL6180 (proximity and ambient light), HC-SR04 (proximity)
  • ECMA-419 TLS client
  • Server Sent Events support using standard Web EventSource API

If you have questions or suggestions about anything here, drop by our Gitter to chat, start a new Discussion on our GitHub repository, or contact us on Twitter at @moddabletech.

Preview of New Tool to Manage Moddable SDK Set-up

We've been working with the xs-dev project to make it easier to install and update the Moddable SDK. xs-dev automates the install and update of the Moddable SDK and embedded toolchains, so you don't have to follow the instructions yourself. It saves a lot of time and eliminates potential mistakes.

We hope to soon recommend xs-dev as the best way to manage your Moddable SDK set-up. Before we do that, we'd like some more developers to give it a try. We're interested in hearing about what worked, what could be easier to understand, and anything that went wrong. If you have a few minutes, take a look and give it a try. We're particularly interested in set-up on machines that have never had the Moddable SDK installed before. Thank you!


  • ECMA-419
    • New APDS9301 Ambient Light sensor driver and examples for use with interrupt and polling.
    • New VL6180 time-of-flight Proximity and Ambient Light sensor driver and example. (Requested by @mshioji who provided initial testing and debugging help. Thank you.)
    • New HC-SR04 ultrasonic Proximity sensor driver and example
    • TLS client socket implementation
    • HTTPS client socket implementation (combines TLS and HTTP clients)
    • fetch API implementation supports HTTPS
    • Experimental new Pulse Width input I/O class. Implemented on ESP32 for use by HC-SR04 ultrasonic range sensor
    • Implementation of Web EventSource API to receive Server Sent Events using ECMA-419 HTTP & HTTPS
    • FT6206 constructor uses sensor instead of i2c to match all other sensors
  • Tools
    • Project manifests may now include remote Git repositories. The repository is automatically cloned by mcconfig and mcrun when building. Details and examples in the Manifest documentation.
    • Option to redirect debug console output to the terminal rather than to xsbug. See documentation on -l option for set-up instructions. Supported on builds for simulator and ESP32 builds on all platforms.
    • ESP8266 build on Windows build supports -x option (@ralphwetzel)
    • First run of xsbug on Linux doesn't throw on missing preferences file #981 (reported by @tve)
    • Don't filter in xsbug's "find lost file" dialog on Linux #988 (reported by @tve)
    • Output more version information on ESP32 build for diagnostics (#996)
    • Linux build sets the shell to /bin/dash to avoid issues with echo newline interpretation in other shells #979 (reported by @tve)
    • Check for ESP-IDF install by looking for idf.py instead of an environment variable (more reliable). (Reported by @ralphwetzel)
  • Devices
  • Modules
    • AudioOut and Mixer classes provide properties to get samplerate, streams, bitPerSample and numChannels
    • AudioOut on ESP32 clears output on stop to avoid glitch on restart
    • Optimize BLE client GATT dispatch and look-up; reduce GC impact
    • Fix OneWire build on ESP32-C3 (#996)
    • Correct st127x driver name to sx127x #990 (reported by @tve)
    • Allow version 13 in sx127x driver #990 (reported by @tve)
  • XS
    • Fixes for issues found with fuzzing (thank you @Agoric)
    • xst optimizations to improve fuzzing performance
    • Simplify memory management JSON.parse and JSON.stringify for easier clean-up on exception
  • Examples
  • Documentation