--- # 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 BETA2 - Changelog date: 2013-11-14 --- * 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 ## What has changed since BETA1 Overview: - We have included ANCS in 2.0 - iOS users will get all notifications - We have added a screenshot tool - We have increased the AppMessage buffer size for PebbleKit JS Apps - We have changed a few firmware APIs to always pass parameter in this order: (buffer, size) - We have fixed many bugs Known problems and bugs: - We are still working actively on improving datalogging on iOS and Android. If you wish to use this framework, please get in touch with us and tell us about your experience. - JavaScript apps on Android will only run if the phone is turned on and the Pebble app running (the easiest way to check this is to bring it to the foreground). This will be fixed soon. - If you downloaded the SDK before 5pm PST on 2013-11-14, your API documentation is probably broken. We have fixed this and pushed a new release without updating the version number because there are absolutely no changes (except the doc is now there ;). ### Firmware - Added support for ANCS - Fix UI bug when getting phone calls - Improved address book lookups when getting phone calls - Changed the behaviour when an app is closed from PebbleKit: return to the last running app or watchface (instead of the launcher) - Show malloc and free in the generated documentation - Fix doc for AccelAxisType - Do not animation a window disappearing if the window was pushed without animation - Add `GCornersRight` in the documentation of `GCornerMask` - Document `GTextOverflowMode` - Document the return value of the `persist_*` functions - Document `AppTimerCallback` - When exiting an app, all unload handlers will be called for loaded windows - Changed the order of parameters for `persist_read_data()`, `persist_read_string()`, `persist_write_data()`, `dict_calc_buffer_size()`, `dict_serialize_tuplets_to_buffer_with_iter()`: always ask for the pointer first and then the count or size - Fix bug where the status bar would not be displayed properly - Enabled Accelerometer high resolution output - Automatically reset the accelerometer when app exits - Removed the 1Hz accelerometer settings because it breaks the shake to backlight - Use peek() instead if you only need one sample per second. - Updated the guaranteed minimum buffer sizes for appmessage. They are in fact 124 / 636. - Fix bug where appLaunch commands would not be ACK'd - Increased AppMessage buffer sizes for JavaScript apps: they get 2k in and out. ### iOS App - Fixed several dataLogging bugs - Fixed most common crashes reported by TestFlight ### Android App - Fixed several dataLogging bugs - Fixed most common crashes reported by TestFlight ### PebbleKit iOS - DataLogging apps do not need to include an `appInfo.json` file anymore - Use `setAppUUID` to give the UUID of the app you want to talk to ### PebbleKit Android - Add `getWatchFWVersion()` to get a `FirmwareVersionInfo` object - Add `isDataLoggingSupported` ### SDK Tools - Added a `screenshot` command to the `pebble` tool - Revert the change in the tool where we would enforce a specific range of uuids - Improved error messages when the tools cannot be found - Do not truncate log messages coming from the JavaScript console - Only log app_log (and not system log) by default. Use `--verbose` to get all the logs. ### Examples - Fix a bug in the dataspooling demo where sealions and pelicans got mixed up - Fix PebbleKit Examples for the new `setAppUUID` style - Fix examples to use the new parameter orders for `persist` functions