Skip to content

December 16, 2020

Choose a tag to compare

@phoddie phoddie released this 16 Dec 23:28
· 6969 commits to public since this release
  • XS JavaScript engine

    • XS hosts for computers, ESP8266, and ESP32 now ignore .js and .mjs extensions when resolving modules. This capability is provided to ease use of JavaScript source code originally written for, or shared with, the web platform. It is not recommended for code intended only for use with the Moddable SDK. (requested by @dckc, @wmhilton, and a cast of thousands)
    • Fixes to optional chain call. While the implementation successfully passed test262, in some cases it left the stack in an incorrect state. Now you can safely write this.close?.()
    • Much larger stack in XS linker when preloading
    • Note: To use these XS changes, your need to update, rebuild Moddable SDK tools, and perform a clean build of your project. Details on how to do that are in the Update sections of the Getting Started guide for macOS, Windows, and Linux.
  • TypeScript support

    • Improvements to built-in type declarations, including the handful of XS extensions to the built-ins
    • Fix bug when building TypeScript source files stored in sub-directories (reported by @ariznaf)
  • BLE

    • Add SM.deleteBonding() API and associated onBondingDeleted() callback to delete a single bonded peer
    • Pass address and address type to client/server onDisconnected() callbacks
    • Pass bonded status to server onAuthenticated() callback
    • BLE keyboard example enhancements and fixes: generate callbacks for key down / up, fix caps lock handling, freeze instances for preload, and report arrow keys by name.
  • Documentation

  • ECMAScript Modules for Embedded Systems

  • Simulators

    • Simulated Wi-Fi connection for simulator (thanks to @wilberforce for some help)
    • ZIP module now builds on Windows simulator
    • Fix build of simulator on Linux for Raspberry Pi (reported by @natevw)
  • Enhancements

    • Add message constants to Socket
    • Add get battery voltage and current to AXP192 driver (by @stc1988)
    • Add Deflate implementation using miniz. Works in simulator but requires too much memory for most MCUs. Renamed Inflate directory to zlib.
    • Commodetto and Piu now use the Unicode horizontal ellipsis character when truncating text if available in the font. If not, they fall back to three consecutive periods. Good typography matters.
    • Moddable office window display animation app added to contributed directory. Details in blog post by Lizzie Prader.
    • bles2gatt tool now reports details of JSON parse errors in service descriptions and absence of some required elements
    • Updated tools documentation to expand on using command line arguments to mcconfig to add to the config #509 (suggested by @dckc)
  • Fixes

    • Fix remote socket disconnect failure on lwip socket implementation #503 (reported by @mlnuaa)
    • Don't double count HTTP client received bytes when using a callback to receive fragments #516 (reported by @wilberforce)
    • serial2xsbug now sets the correct timezone when running on Windows #502 (thanks to @wilberforce for help in tracking this down)
    • Instrumentation works again for Web Workers
    • Fix timers to be safe with Web Workers on QCA4020
    • Fix bug in Preference compaction on ESP8266
    • Fix ResourceIterator compilation on ESP8266
    • mcconfig and mcrun manifests now allow multiple path levels in directory targets on Windows too (reported by @ariznaf)