--- # 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 2.0 BETA3 - Changelog date: 2013-12-12 --- * Pebble SDK 2.0 is currently in BETA and intended for developers only. * SDK 2.0 will be released later this year as an over-the-air update to all Pebble users. * Applications written for Pebble 1.x are not compatible with SDK 2.0 * If a 2.0 version of an application exists, the Pebble mobile applications will automatically install it when when a user upgrades her/his Pebble. ## What has changed since BETA2 Overview: - The Android app fixes a large number of JS-related bugs. - The Android app fixes a bug where all messages sent to android would be automatically acknowledged. Your application should acknowledge app messages. - Some new user features in the firmware: Notification settings (with Do Not Disturb), better Alarms - Lots of small UI and stability fixes in Pebble. Known problems and bugs: ### Firmware - added a Notification menu in the Settings to disable Notifications and configure a DoNotDisturb time frame - much better Alarm app with a nicer UI, snooze support, disabled alarms support - fix bugs where incoming calls could cause the vibration to stay on continuously - fix a rare condition where the accelerometer would crash if an interrupt comes too late or the accelerometer sent 0 samples - fix accelerometer behaviour when only 1 sample is requested: only send one sample (instead of 2) - fix a bug where an iOS device could disconnect just 1-2 seconds after connecting - automatically reconnect when user leaves Airplane Mode - show (in settings) that vibrations are disabled when Pebble is plugged - improved the set date/time UI to use the new DateTime UI (as in Alarms) - adjust the framebuffer offset for modal window transitions - reduced BLE connection interval - log more information when an application crashes - do not crash if an app_message section is re-opened - display warning instead - fix a bug which caused firmware updates to fail under some conditions (mostly android) - appsync will only update a dictionary if it has enough memory to do so (instead of finding out half-way that it does not have enough memory) - always return to the launcher after an app crash (to avoid a crash loop on a watchface) - *_destroy() will accept NULL pointers without errors - always go back to the top of the menu when launching the menu from a watchface (to make "blind" navigation easier) - fix a bug where an actionbar button would still be "pressed" - show Bluetooth Name on getting started screen - automatically delete old apps that are not compatible with this firmware version - accelerate scrolling on the menu - use modal window icon in the status bar as long as the modal window is displayed - Export dict_size so external developers don't have to do pointer math :) - fix a bug where scrolling in a long list of notifications could cause the display to "bounce" - fix a bug where lots of app logging messages could overflow the system task queue and kill app message - API documentation completely reviewed and updated - missed call modal views will timeout after 180s - force quit app when the back button is held for 2 seconds - menu_cell_basic_draw() now automatically center the text in the cell. If you do not want a subtitle, pass NULL (otherwise, space will be reserved for the subtitle). - fixed some bluetooth settings to avoid duplicated messages (could cause screenshot to go over 100%, duplicated log entries, firmware upgrade to fail, etc) - `peek()`ing the accelerometer is not allowed anymore when you have also subscribed to receive updates - fix a bug where the accelerometer would get stuck after a few hours ### iOS App - fix a bug where datalogging could dump messages to another phone on your local network - fix a bug where datalogging would get into a deadlock - fix a bug where the developer connection would appear active but would be closed ### Android App - fix a number of cases where a JS app would not be launched - fix bug where clicking the configure icon would not open the configuration view of an app - fix a bug which caused every AppMessage sent to Android to be acknowledged by the system - Select the Google Play Music App as the default music player - fix support email to use the Pebble bluetooth name instead of the last four digits of the serial - if there is an error when uploading an app, do not dismiss the update screen right away - do not dump large logs if stats json is not found - check for firmware update when foregrounded - fix bug where a canceled app install would be reported as completed - fix bug where an install would fail silently because the resources could not be loaded - display specific error message when a user tries to install a 2.0 app on a 1.x Pebble - fix a bug where the android app would display error message "Could not update" while looking for updates in the background ### PebbleKit iOS - allow one iOS application to exchange messages with several Pebble apps (with different UUIDs) - fix a crash trying to parse invalid firmware version - add CocoaPods support (see pebblekit-ios readme for more info) - enabled "all warnings" and fixed errors ### PebbleKit Android No changes. ### SDK Tools - added support to upload any bundle (including firmware) - added test to detect missing tools - better implementation of the --debug flag - fix bug where tools would fail when installed in a folder with a space in it - fix bug where tools would fail on project with a space in the name - some 1.x to 2.x conversion bugs fixed - automatically re-enable applog when the watch reconnects ### Examples - fix crashing bugs in 91Dub