--- # Copyright 2025 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. title: Pebble SDK 4.2 - Changelog date: 2016-10-18 --- ### 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. * Note that, as heartrate data is only retained for two hours, HRM accessibility checks going back further than two hours will always return `false`. * 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 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. * Rocky.js: The default app template has been improved. * Added ``preferred_content_size()`` to retrieve the user's preferred font size. * All JS bundling is now performed using [webpack](https://webpack.github.io) * Only JavaScript files that are actually used are now bundled.