--- # 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 BETA4 - Changelog date: 2013-12-23 --- * Pebble SDK 2.0 is currently in BETA and intended for developers only. * SDK 2.0 will be released early next 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. **You can start uploading your application to the Pebble appstore TODAY - [Please do so](http://dev-portal.getpebble.com/)!** ## What has changed since BETA3 Overview: - Fixed a problem where the iOS app would get killed after a few minutes in the background - Lots of Data Logging fixes on the firmware and on Android - Added timestamps on accelerometer samples - Improved error handling for PebbleKit JS apps on iOS and Android ### Firmware - Developers of apps can now register single and multi click handlers on the back button - Holding down the back button for 1.5s will force quit an existing app - Fixed bugs and optimize the filesystem: faster persist times, less problems with persistent storage, fix a bunch of rather complex problems where the recovery firmware could be damaged - Fixed scroll offset bug when displaying notifications - Dismiss missed call notfication after 180s - Fixed a bug where unicode characters were not supported in appinfo.json - Changed graphics_text_layout_get_max_used_size() to _not_ require a graphic context - Fixed a few more bluetooth bugs - Fixed a bug where Pebble could crash when you delete the last alarm - Fixed memory read exception that can occur when using a malloc-ed appsync buffer - Save notifications to storage during do not disturb - Document AccelAxisType in API Documentation - Fixed Music UI problems - Automatically center on screen a selected cell in a SimpleMenuLayer - Fixed bug where snprintf could crash the watch - Display an error message if a 2.0 pebble is connected to a 1.x mobile app - Fixed a bug where calling atoi() would crash an app - Many DataLogging improvements and fixes based on new unit tests - Display an alert on Pebble when we reset due to a system crash - Ignore NULL pointer passed to text_layer_destroy() - Limit the number of datalogging sessions to 20 - Fixed a race condition that occurs when you set the sampling rate immediately after subscribing to the accel service - Keep persistent storage intact when upgrading an application - Added timestamps on accelerometer samples and a flag indicating if the watch was vibrating at the time of the sample - Fixed a bug where psleep could crash pebble - Fixed a bug where text_layer could add ellipsis to the wrong line ### iOS App - Fixed a bug where the iOS app would get killed in the background after just a few minutes - Show a local notification if a developer is connected but the app is about to get killed - PebbleKit JS: Fixed a bug where apps could not access localStorage with the array syntax - PebbleKit JS: Fixed a bug where a space in an URL opened with XmlHTTPRequest could crash the iOS app - PebbleKit JS: Fixed a bug where sending a byte array with 0xff in it would send 0x00 instead ### Android App - PebbleKit JS: Fixed a bug where a byte array would not be sent properly for named keys - Use new Android KitKat (4.4) APIs to do pairing on 4.4 - PebbleKit JS: Do not send ack for ack/nack messages - Fixed Android crashing with OutOfMemory error when using Data Logging - Fixed Android Data Logging of byte array that was not working ### PebbleKit iOS - Do not ack ACKs... ### PebbleKit Android - No changes ### SDK Tools - Added support to libpebble to trigger reboot to recovery firmware - Added support for computers where python2 and python3 co-exist - Fixed an exception when receiving APP_LOG with extended characters - Fixed a bug where unicode characters were not supported in characterRegex field of `appinfo.json` - Fixed 30 second delay that can occur when building pebble apps on Ubuntu when there is no internet access - Added Pillow python dependency: needed for the screenshot functionality - Detect PIL/Pillow conflict and suggest a fix to the user ### Examples - Added a License to the examples