--- # 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.5 - Changelog date: 2014-09-18 --- >If you are upgrading from a previous version of the SDK, you will need to run the `pebble clean` command before using the SDK 2.5 with your project. ##Major Changes * FW 2.5 includes an optimized version of ``snprintf`` (and related functions like ``APP_LOG``, etc) that does not support some length format specifiers previously supported (%hh, %ll, %j, %z, %t). The list of supported specifiers has been updated in the ``snprintf`` documentation. For those of you that use these previously-supported specifiers, please do not hesitate to [contact us](/contact) and we'd be happy to assist you with updating your code. * Added [compass](/guides/events-and-services/compass) support. * Enforced versionLabel formatting in appinfo.json in preparation for app auto updates. * Added support for Pebble app relaunch on iOS when a Pebble watch is in proximity. * Added notification dismissal support on iOS8. * Added emoji support to Pebble notifications and system fonts. ## Detailed List of Changes: ### Changes for Firmware: * Added functions ``heap_bytes_free`` and ``heap_bytes_used`` to view current heap memory usage. * Added support for ``uuid_equal`` and ``uuid_to_string``. * Added function ``accel_raw_data_service_subscribe`` to get accelerometer data with a single timestamp for all samples (significantly reduces memory usage for apps that do not depend on timestamps). * Added [compass](/guides/events-and-services/compass) support. * Added emoji support to Pebble notifications and system fonts `GOTHIC_24_BOLD`, `GOTHIC_18` and `GOTHIC_18_BOLD`. * Fixed a bug that would cause a crash if a screen shot was taken while one was already in progress. * Fixed an issue where Pebble APIs would use non-reentrant versions of standard C functions causing unexpected changes to return values. * Fixed a bug with accel_service that could result in memory being freed twice. * Fixed a bug where Golf API would show stale information on disconnect. * Fixed a bug that prevented calling ``menu_layer_set_selected_index`` before ``menu_layer_set_callbacks``. * Fixed a bug which would sometimes cause the command line logging tool to crash when a watchapp crashed. * Fixed a bug that would cause the sample rate of the accelerometer to be reset when subscribing. * Added support for Pebble app relaunch on iOS when a Pebble watch is in proximity. * Added support for notification dismissal on iOS8. * Fixed numerous bluetooth reliability & connection issues. * Fixed a reset and other various bugs related to Data Logging. * Fixed a bug that allowed backing out of FW update screen. * Fixed a bug that would cause animations between windows to be slow. * Fixed a bug where the Date UI would allow selection of invalid dates. * Fixed a bug which would prevent the down button from scrolling through notification history. * Fixed a bug with AVRCP that could lead to a crash. * Set backlight to stay on during alarm ringing. * Changed the default backlight setting to AUTO. * Fixed a bug which would allow developers to ask for more than 25 accel samples per update. * Added check for NULL parameter in ``gpath_draw_filled``. ### Changes for PebbleKit iOS: PebbleKit iOS has been removed from the SDK download. Please find the latest PebbleKit iOS on [GitHub](https://github.com/pebble/pebble-ios-sdk) or on [CocoaPods](http://cocoapods.org/) under 'PebbleKit'. ### Changes for PebbleKit Android: PebbleKit Android has been removed from the SDK download. Please find the latest PebbleKit Android on [GitHub](https://github.com/pebble/pebble-android-sdk). ### Changes for SDK Tools: * Enforced versionLabel formatting in appinfo.json in preparation for app auto updates. ### Changes for Examples: * Added [compass example]({{site.links.examples_org}}/feature-compass) application. ### Changes for Documentation: * Added ``CompassService`` API document. * Added missing ``calloc`` and ``realloc`` documentation. * Improved ``tick_timer_service_subscribe`` documentation. * Added missing ``RotBitmapLayer`` documentation. * Corrected ``window_single_click_subscribe`` API entry. * Corrected time_t time() function to specify that epoch adjusts for timezone and DST. * Fixed typo in the ``AppMessage`` documentation. * Improved ``gbitmap_create_with_data`` documentation. * Fixed typo in documentation for ``resource_get_handle``.