pebble
  • Tutorials
  • Get the SDK
  • Guides
  • Documentation
  • Examples
  • Community
  • Blog
  • More
Privacy
Cookies
Publish

SDK

  • Installation
  • CloudPebble
  • Changelog
    • 4.17
    • 4.9.169
    • 4.9.148
    • 4.9.127
    • 4.3
    • 4.2.2
    • 4.2.1
    • 4.2
    • 4.2-beta5
    • 4.2-beta4
    • 4.1.4
    • 4.1.2
    • 4.1.1
    • 4.1
    • 4.0.1
    • 4.0
    • 4.0-rc20
    • 4.0-beta17
    • 4.0-dp3
    • 3.14
    • 4.0-dp2
    • 4.0-dp1
    • 3.13.1
    • 3.13
    • 3.12
    • 3.11.1
    • 3.11
    • 3.10.1
    • 3.10
    • 3.10-beta6
    • 3.10-beta2
    • 3.10-beta1
    • 3.9.2
    • 3.9.1
    • 3.9
    • 3.9-beta8
    • 3.9-beta7
    • 3.9-beta5
    • 3.8.2
    • 3.8.1
    • 3.8
    • 3.8-beta12
    • 3.8-beta10
    • 3.8-beta8
    • 3.7
    • 3.6.2
    • 3.6
    • 3.6-dp8
    • 3.6-dp7
    • 3.6-dp6
    • 3.6-dp5
    • 3.6-dp2
    • 3.4
    • 3.3
    • 3.2.1
    • 3.2
    • 3.1
    • 3.0
    • 3.0-beta12
    • 3.0-beta11
    • 3.0-beta10
    • 3.0-dp9
    • 3.0-dp8
    • 3.0-dp7
    • 3.0-dp6
    • 3.0-dp5
    • 3.0-dp4
    • 3.0-dp3
    • 3.0-dp2
    • 3.0-dp1
    • 2.9
    • 2.8.1
    • 2.8
    • 2.7
    • 2.6.1
    • 2.6
    • 2.5
    • 2.4.1
    • 2.4
    • 2.3
    • 2.2
    • 2.1.1
    • 2.1
    • 2.0.2
    • 2.0.1
    • 2.0.0
    • 2.0-BETA7
    • 2.0-BETA6
    • 2.0-BETA5
    • 2.0-BETA4
    • 2.0-BETA3
    • 2.0-BETA2
    • 2.0-BETA1
    • 2.0-BETA0
    • 2.0-DP3
    • 2.0-DP2

Pebble SDK 4.17 - Changelog

Release Date: June 23 2026

Welcome to another SDK release! We've taken quite some time on this one we hope you'll enjoy it!

Changes to SDK

  • Added persist_get_max_size() to query the per-app persistent storage limit at runtime.
  • Added speaker_is_muted() to check the system-wide speaker mute state.
  • Added a backlight service for apps: backlight_service_subscribe() / backlight_service_unsubscribe() with a BacklightHandler callback that fires when the backlight turns on or off.
  • Added app_launch_button() and app_launch_get_quick_launch_action() (with the new AppQuickLaunchAction type) so apps can tell how they were quick launched.
  • Exposed the speaker playback limits SPEAKER_MAX_NOTES (256), SPEAKER_MAX_TRACKS (4), and SPEAKER_MAX_SAMPLE_BYTES_TOTAL (16 KiB) so apps can validate input before calling the Speaker API.
  • Added the kModdableCreationFlagDebug flag for Alloy (Moddable) apps to enable xsbug debugging.
  • Updated Moddable (Alloy) to SDK 8.2.3.
  • Added FFI (Foreign Function Interface) support to Alloy, letting JavaScript apps call native C functions directly.
  • Expanded the Alloy JavaScript API with new modules and globals:
    • pebble/dictation - capture speech as text.
    • pebble/wakeup - schedule the app to launch at a future time, with a "wakeup" event and watch.wake launch info.
    • pebble/vibes - short/long/double pulses and custom vibration patterns.
    • watch.light() - control the backlight.
    • watch / screen / device info (watch.model, watch.firmwareVersion, watch.hour12, watch.launch, screen.width / height / round / color, device.sensor).
    • App lifecycle and display events on watch: "willFocus", "didFocus", and "resize".
  • Added a pebble build --debug mode that compiles your app without optimizations (-O0) and defines PBL_DEBUG for easier debugging. For Alloy (Moddable) apps it also enables the xsbug JavaScript debugger. Debug builds are written to a _debug.pbw bundle.
  • pebble install now auto-launches xsbug and bridges the JavaScript debugger over the connection when installing a --debug Alloy build, so the debugger is attached before the app boots. (pebble logs likewise prefers the _debug bundle when present.)
  • Requires pebble-tool ≥5.0.38.

Overview

  • Changes to SDK