Skip to content

Moddable SDK 4.9.5

Compare
Choose a tag to compare
@mkellner mkellner released this 11 Aug 15:03
· 240 commits to public since this release

Moddable SDK 4.9.5 contains improvements made between July 19, 2024 and August 9, 2024.

Documentation

This release features many updates to documentation. Most of the updates are a result of work to translate the Moddable SDK documentation to Japanese. Thank you to the members of this effort for their careful work. To learn more about the translation effort and how to contribute, check out the translation read me.

Latest ESP-IDF

This release of the Moddable SDK migrates to ESP-IDF v5.3 for the ESP32 family of microcontrollers. Our goal is to keep the Moddable SDK up to date with the latest production release from Espressif so that embedded JavaScript developers can benefit from the latest fixes, security improvements, performance enhancements, features, and silicon support.

We always try to make these transitions to the underlying ESP-IDF software platform transparent to your JavaScript code. This hides how much work is involved in updating the Moddable SDK to the latest ESP-IDF. Here's some of what needs to be done each time:

  • Migrate from newly deprecated APIs
  • Update include file paths
  • Update to latest configuration option constants
  • Build all example apps
  • Build for all support ESP-IDF family silicon
  • Run unit tests
  • Update recommended IDF version in make files for macOS, Windows, and Linux
  • Update ESP-IDF installation and update instructions

The Moddable SDK contains instructions for updating to the latest ESP-IDF on macOS, Linux, and Windows.

TypeScript type definitions available from NPM

The type definition files (e.g. typings) in the Moddable SDK are now also published as the NPM package @moddable/typings for convenience of developers using Visual Studio Code and other development environments. The typings are updated for each Moddable SDK release. The version number of the typings package corresponds to the Moddable SDK release.

Release Details

  • Documentation
    • Typos fixed in Poco documentation for fillPattern() and PocoBitmapDrawMasked - contributed by @tenugui-taro
    • Code examples in documentation now consistently use syntax highlighting (contributed by @stc1988)
    • Remove invalid trailing commas from JSON in documentation (contributed by @stc1988)
    • Document that mcrun supports -t build #1380
    • Fix documentation examples of ESP32 custom file system root #1386
    • Remove obsolete note about lack of https support from audio streamers documentation #1384
    • Document Flash class #1349
  • Modules
    • fetch() supports chunked transfer-encoding
  • XS JavaScript engine
    • Compartment constructor now aliases loadHook to importHook, and loadNowHook to importNowHook for compatibility with latest standards work
    • XS metering uses 64-bits internally in more places to avoid overflow
  • Testing
    • testmc can now be built in different configurations. Added OTA configuration.
    • Implemented OTA unit tests
    • HTTP unit test updated to pass with changes on example.com
  • Tools
    • Performance profiling can be enabled in xsbug when stopped at a breakpoint
    • Preload of modules supports "../../" in module specifiers #1373
    • mcpack uses canonical names internally to avoid duplicate entries in module map #1382
    • Allow projects to override device's custom partition map on ESP32 targets #1385
  • Examples
    • Add Moddable Six to compatibility list for piu/sound and Wi-Fi Config examples

Contact Us

If you have questions or suggestions about anything here, please reach out: