--- # 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 4.0-dp1 - Changelog date: 2016-06-15 --- This is the first Developer Preview release of the brand new Pebble SDK 4.0. This changelog collects only changes visible to developers using the emulator. A complete changelog will be provided when 4.0 ships on physical watches. ### Changes to Firmware * Added support for [Pebble 2](https://www.kickstarter.com/projects/597507018/pebble-2-time-2-and-core-an-entirely-new-3g-ultra). * Added [AppGlances](/guides/user-interfaces/appglance-c/) and Timeline ~~Peek~~ Quick View. ### Changes to SDK * Added the new "Diorite" platform for the Pebble 2. * Added `PBL_COMPASS`, `PBL_SMARTSTRAP_POWER`, and `PBL_PLATFORM_DIORITE` defines. * Added ``preferred_result_display_duration`` to get the recommended number of milliseconds a result window should be visible before it should closed. * Added ``AppExitReason`` and ``exit_reason_set`` for an application to be able to notify the system of [the reason it is exiting](/guides/user-interfaces/app-exit-reason/). * Added ``AppGlanceSlice``, ``AppGlanceResult``, ``AppGlanceReloadSession``, ``app_glance_add_slice``, ``AppGlanceReloadCallback`` and ``app_glance_reload``. to support [AppGlances](/guides/user-interfaces/appglance-c/). * Added [Unobstructed Area APIs](/guides/user-interfaces/unobstructed-area/): ``UnobstructedAreaWillChangeHandler``, ``UnobstructedAreaChangeHandler``, ``UnobstructedAreaDidChangeHandler``, ``UnobstructedAreaHandlers``, ``layer_get_unobstructed_bounds``, ``unobstructed_area_service_subscribe`` and ``unobstructed_area_service_unsubscribe`` to enable a watchface to adapt to overlays partially obstructing it, such as during a Timeline ~~Peek~~ Quick View. * Added ``HealthMetricAlert``, ``HealthAggregation``, ``health_service_peek_current_value``, ``health_service_peek_current_value``, ``health_service_aggregate_averaged``, ``health_service_aggregate_averaged``, ``health_service_metric_aggregate_averaged_accessible``, ``health_service_register_metric_alert``, ``health_service_register_metric_alert`` and ``health_service_cancel_metric_alert`` in preparation for heart rate support. Note that these are not yet implemented. * Report memory usage for Pebble Packages at build time. ### Changes to Documentation * Added [AppGlances Guide](/guides/user-interfaces/appglance-c/) * Added [Unobstructed Area Guide](/guides/user-interfaces/unobstructed-area/) * Added [AppExitReason Guide](/guides/user-interfaces/app-exit-reason) * Added [One Click Action Guide](/guides/design-and-interaction/one-click-actions/) * Added API documentation for new ``HealthService``, ``App Glance``, ``UnobstructedArea`` and ``AppExitReason`` APIs. ### Known Issues * Creating an ``AppGlanceSlice`` with a .expiration_time of `APP_GLANCE_SLICE_NO_EXPIRATION_TIME` results in an AppGlanceSlice that is never displayed. * The ``UnobstructedAreaHandlers`` object must be created before being passed into the ``unobstructed_area_service_subscribe`` method. * The Diorite emulator is still a little shy and will occassionally shake upon starting. If your emulator doesn't stop shaking, try installing an app - that usually brings it out of its shell.