Skip to content

Moddable SDK 10.0.2

Latest

Choose a tag to compare

@mkellner mkellner released this 16 Oct 22:28

Moddable SDK 10.0.2 contains improvements made between October 13, 2026 and October 16, 2026. Of particular note, this release contains fixes for mcpack and TLS on ESP8266, both broken by Moddable SDK 10.0.0.

Repository Reorganization Underway

This release migrates many core modules from examples to modules, including all network protocol handlers for ECMA-419 and the Web platform. This work is still underway, so expect additional changes.

Existing projects should still build because there are stub manifests in place that forward to the new location.

ESP8266 Gets OTA

This release includes new modules to support OTA on ESP8266 boards with 4 MB of flash. This allows for two 1 MB firmware partitions along with space for persistent Key-Value pair storage, mods, and a file system. This is provided through ECMA-419 Update and Flash modules.

Details

  • Modules
    • Commodetto
      • Bitmap size validation overflow fixed (contributed by @nvxbug) #1747
      • parseRLE and parseBMP don't read outside buffer (contributed by @nvxbug) #1739
    • CRC
      • Add support for 32-bit CRCs
      • Hardening
  • ECMA-419
    • HTTP Server no longer includes all routes by default. Each route has its own manifest. This eliminates inclusion of unused routes.
    • Flash module for ESP8266
    • Update (OTA) module for ESP8266. See Flash Layout and OTA Update for details
  • Devices
    • Pebble
      • Fix header parsing in PKJS proxy (contributed by @MMJZ) #1691
      • Route fatal errors through app's abort exit, rather than restarting watch (contributed by @gmarull) #1745
    • ESP8266
      • c_memmove now safe for addresses in flash. This fixes a TLS crash.
      • 4 MB flash map reserves OTA partition
    • Pico
      • miniz builds again (tool update broke it) so inflate is again available
      • Wi-Fi LED access fixed on Pico W
  • XS JavaScript Engine
    • A class method named static is a SyntaxError, and get followed by a line break and a name without parameters is accepted (reported by @d01c2) #1729
    • instanceof with a bound function ignores the target's Symbol.hasInstance (reported by @d01c2) #1730
    • Object.defineProperties defines earlier properties before a later descriptor is rejected (reported by @d01c2) #1731
    • Iterator helpers call return when next throws (reported by @d01c2) #1732
    • Calling a Proxy whose target is not callable runs the apply trap (reported by @d01c2) #1733
    • Properties of the Proxy.revocable result are read-only, non-enumerable, and non-configurable (reported by @d01c2) #1734
    • Object.seal calls [[GetOwnProperty]] for each key (reported by @d01c2) #1735
    • A non-callable getter in a property descriptor is rejected only after "set" is read (reported by @d01c2) #1736
    • AsyncFunction and AsyncGeneratorFunction reject duplicate parameter names (reported by @d01c2) #1737
  • Tools
    • mcpack
      • Handles manifest includes that omit manifest.json
      • Automatically incudes manifest_net.json for projects that require it
      • Exits with non-zero code on error
    • mcsim adds Waveshare ESP32-S3-Touch-AMOLED-1.75 support - sim/waveshare_amoled_175

Contact Us

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