---
title: "Pebble SDK 4.2-beta4 - Changelog"
canonical_url: https://developer.repebble.com/sdk/changelogs/4.2-beta4/
last_updated: 2025-02-25
sdk_version: 4.33.1
---
# Pebble SDK 4.2-beta4 - Changelog

Source: https://developer.repebble.com/sdk/changelogs/4.2-beta4/

_Release Date: October 12 2016_

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`](https://developer.repebble.com/docs/c/Foundation/Event_Service/HealthService.md#health_service_metric_accessible "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`](https://developer.repebble.com/docs/pebblekit-js/Pebble.md#removeEventListener "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()`](https://developer.repebble.com/docs/c/User_Interface/Preferences.md#preferred_content_size "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.

### 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.
