pebble/devsite/source/_changelogs/4.2-beta4.md
2025-02-24 18:58:29 -08:00

2.8 KiB

title date
Pebble SDK 4.2-beta4 - Changelog 2016-10-12

This is a developer preview for SDK 4.2. No firmware is provided.

Changes to Firmware

  • Emery can now run apps compiled for Basalt (SDK 4.1 or earlier) or Aplite (SDK 3.7 or earlier) in "bezel mode".
  • Fixed health_service_metric_accessible for heartrate-related metrics.
  • Rocky.js: The reliability of the postMessage API has been improved.
  • Rocky.js: postmessageconnected, postmessagedisconnected and postmessageerror events have been added.
  • Rocky.js: Using regular expressions no longer results in substantial app log spam.
  • Rocky.js: The default app template has been improved.
  • Rocky.js: The coordinate system was adjusted by 0.5 pixels; (0, 0) now refers to top left of the first pixel, rather than the center of the pixel.
  • Rocky.js: The memorypressure event has been added. When fired with {level: 'high'}, the app must free up sufficient memory or it will be terminated.
  • Rocky.js: Content size is exposed via UserPreferences.
  • Rocky.js: watchInfo.platform now works as expected in the emulator.
  • Rocky.js: Removed the global print() function; use console.log().
  • Rocky.js: Fixed a crash when passing invalid values to clearTimeout or clearInterval.
  • Rocky.js: Provided constructors for CanvasRenderingContext2D, RockyCanvasElement and Event.
  • Rocky.js: Removed unimplemented methods that previously threw an exception when called, allowing for polyfills of those methods.
  • Rocky.js: Added the ability to unsubscribe from events using removeEventListener or off.
  • Bug fixes and improvements.

Changes to SDK

  • Added support for the Emery platform.
  • Rocky.js is now considered stable, and can be used to submit apps to the appstore.
  • Added preferred_content_size() to retrieve the user's preferred font size.
  • All JS bundling is now performed using webpack
    • Only JavaScript files that are actually used are now bundled.

Known Issues

  • Clay does not work after building with SDK 4.2-beta4.
  • Apps that use an external bundler and therefore expect require to exist at runtime in order to require('message_keys') will not work.