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
-
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.json
to drive build, allowing easy use ofnpm
and other JavaScript ecosystem toolsmanifest.json
optimized for the projectmcpack
News
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_ili9341
esp32/qtpyc2_ili9341
esp32/qtpys3_ili9341
esp32/xiao_esp32c3_ili9341
esp32/xiao_esp32s3_ili9341
esp32/esp32h2_ili9341
esp32/esp32c6_gc9a01
$(UF2_VOLUME_NAME)
now handled correctly on on Windows (reported by @NextWorldLab) Unable to write to nRF52(Windows, xiao) #1207pwm
in Windows buildpico/ili9341_i2s
(includes speaker output)pico/qtpy_ili9341
this.dx > 3
)onReadable
)mcpack
is a front-end to existing Moddable build tools likemcconfig
andmcrun
mcpack
starts frompackage.json
and analyzes your project's dependencies to automatically generate a Moddable SDKmanifest.json
mcpack
detects the use of Moddable SDK built-in modules and automatically adds them to the generated manifest.mcpack
detects 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.mcpack
detects the use of top-level await (TLA) and automatically generates the needed manifest settings to enable TLAmcpack
introduces the "moddable:" namespace for built-in modules. The prefix is optional, so built-in modules may be accessed as "timer" or "moddable:timer".mcpack
uses the runtime key "moddable" (registered with WinterCG) to allow package.json to include runs that apply only to Moddable SDK builds.mcpack
allows 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
.mcpack
is experimental. We expect it to evolve based on community feedback. Please give it a try!mcpack
is not yet fully documented. If you have questions or suggestions, please ask them in our Discussions forum on GitHub.mcconfig
andmcrun
.-d
for default debugger (launch xsbug),-dn
to not launch debugger,-dl
to launch xsbug-log, and-dx
to launch xsbug.-l
is still supported for xsbug-log, but will eventually be removed. New flags are available on macOS and Linux; Windows is coming soon.mcrun
improvements to help installing to ESP32 USB-native devicesmcsim
)breakOnStartFlag
only available in debug builds)DISPLAY
andROTATION
build variables toCOMMODETTOBITMAPFORMAT
andPOCOROTATION
to eliminate conflicts on some Linux distributionsxsbug-log
now supported for Raspberry Pi Pico Linux buildsmcconfig
now 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.error
case for unsupported platforms to generate earlier failure with clearer messageclose()
uncovered by ESP-IDF v5commodetto/PocoCore
module is now the foundation and thecommodetto/Poco
module 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
, andTextDecoder
globals (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->pathValue
introduced with recent debugging improvements. (contributed by @raphdev)XS_STRING_X
type in corner cases whenmxSnapshot
enabledmanifest_mod.json
so they can be deployed to all devices. (contributed by @stc1988) examples/piu/outline/figures works on ESP32 devices #1215digitalBank/readwrite
test incorrectly assumed-1
would not write to any pins. Add assert to make sure output test pin is not GPIO 1 (test will fail)spi/read
andspi/transfer
tests 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