Moddable SDK 4.2 #1224
mkellner
started this conversation in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
This release contains improvements to the Moddable SDK made between September 9, 2023 and October 2, 2023.
Moddable SDK 4.2 is a substantial update. Highlights of this release include:
package.jsonto drive build, allowing easy use ofnpmand other JavaScript ecosystem toolsmanifest.jsonoptimized for the projectmcpackNews
October Community Update
The monthly Moddable Community Call is now a monthly Moddable Community Update! We'll share more about this soon. Sign up to receive an email notification when new community updates are published.
Release Details
esp32/qtpyc3_ili9341esp32/qtpyc2_ili9341esp32/qtpys3_ili9341esp32/xiao_esp32c3_ili9341esp32/xiao_esp32s3_ili9341esp32/esp32h2_ili9341esp32/esp32c6_gc9a01$(UF2_VOLUME_NAME)now handled correctly on on Windows (reported by @NextWorldLab) Unable to write to nRF52(Windows, xiao) #1207pwmin Windows buildpico/ili9341_i2s(includes speaker output)pico/qtpy_ili9341this.dx > 3)onReadable)mcpackis a front-end to existing Moddable build tools likemcconfigandmcrunmcpackstarts frompackage.jsonand analyzes your project's dependencies to automatically generate a Moddable SDKmanifest.jsonmcpackdetects the use of Moddable SDK built-in modules and automatically adds them to the generated manifest.mcpackdetects the use of well-known globals --setTimeout,fetch,URL,Worker, etc -- and automatically includes the necessary modules in the generated manifest and initializes the global variables.mcpackdetects the use of top-level await (TLA) and automatically generates the needed manifest settings to enable TLAmcpackintroduces the "moddable:" namespace for built-in modules. The prefix is optional, so built-in modules may be accessed as "timer" or "moddable:timer".mcpackuses the runtime key "moddable" (registered with WinterCG) to allow package.json to include runs that apply only to Moddable SDK builds.mcpackallows Moddable SDK manifest fragments to be embedded in package.json or to be referenced externally, allowing full access to all capabilities of manifest.json.mcpack. Check out the readme to learn how to get started withmcpack.mcpackis experimental. We expect it to evolve based on community feedback. Please give it a try!mcpackis not yet fully documented. If you have questions or suggestions, please ask them in our Discussions forum on GitHub.mcconfigandmcrun.-dfor default debugger (launch xsbug),-dnto not launch debugger,-dlto launch xsbug-log, and-dxto launch xsbug.-lis still supported for xsbug-log, but will eventually be removed. New flags are available on macOS and Linux; Windows is coming soon.mcrunimprovements to help installing to ESP32 USB-native devicesmcsim)breakOnStartFlagonly available in debug builds)DISPLAYandROTATIONbuild variables toCOMMODETTOBITMAPFORMATandPOCOROTATIONto eliminate conflicts on some Linux distributionsxsbug-lognow supported for Raspberry Pi Pico Linux buildsmcconfignow able to build PIO source files included in a manifest. This simplifies integration of PIO support and minimizes binary size. (inspired by @linfan in discussion RPI Pico (RS2040) PIO supprt? #1220)pico-extras)mcpack, many existing module manifests were updated and a number of new module manifests were added. The goal is to ensure that every module can be built by simply including its manifest (rather than directly including the modules in a project manifest). This is now true, with just a few exceptions.errorcase for unsupported platforms to generate earlier failure with clearer messageclose()uncovered by ESP-IDF v5commodetto/PocoCoremodule is now the foundation and thecommodetto/Pocomodule contains the drawing primitives. This revises a change in Moddable SDK 4.0 made to reduce the firmware image size for projects using exclusively Piu APIs for rendering.Base64,TextEncoder, andTextDecoderglobals (primarily used inxst) are now non-enumerable, as are the methods on their prototype. This matches JavaScript conventions. (reported by @kriskowal)close()and destructor fixed on Pico to eliminate crashtcp_new()on ESP32 when the network is uninitialized would crash in lwip. The Moddable SDK socket constructor now detects that the network is uninitialized and throws instead.eval(JavaScript parser, etc) to be included in engine@and default symbols in linker. (reported by @linfan - very good find!) "0" and "@" hash value conflicted? #1209the->pathValueintroduced with recent debugging improvements. (contributed by @raphdev)XS_STRING_Xtype in corner cases whenmxSnapshotenabledmanifest_mod.jsonso they can be deployed to all devices. (contributed by @stc1988) examples/piu/outline/figures works on ESP32 devices #1215digitalBank/readwritetest incorrectly assumed-1would not write to any pins. Add assert to make sure output test pin is not GPIO 1 (test will fail)spi/readandspi/transfertests updated to avoid loopback that caused tests to failContact Us
If you have questions or suggestions about anything here, please reach out:
This discussion was created from the release Moddable SDK 4.2.
Beta Was this translation helpful? Give feedback.
All reactions