---
title: "Pebble SDK 4.0-dp3 - Changelog"
canonical_url: https://developer.repebble.com/sdk/changelogs/4.0-dp3/
last_updated: 2025-02-25
sdk_version: 4.33.1
---
# Pebble SDK 4.0-dp3 - Changelog

Source: https://developer.repebble.com/sdk/changelogs/4.0-dp3/

_Release Date: July 6 2016_

This is a developer preview release of SDK 4.0. No firmware is provided.

### Changes to Firmware

- Fixed diorite vibrating on boot until cancelled.
- App icons can now be provided in PDC format.
- Changed the watchfaces icon!

### Changes to SDK

- Renamed AppGlanceSlice.layout's `template_string` to `subtitle_template_string` and `icon_resource_id` to `icon`. You will need to update your apps appropriately for them to compile.
- The compass service will now return [`CompassStatusUnavailable`](https://developer.repebble.com/docs/c/Foundation/Event_Service/CompassService.md#CompassStatusUnavailable "CompassStatusUnavailable") on diorite watches, which do not have a compass. Apps built with SDK 2 or SDK 3 will still see [`CompassStatusDataInvalid`](https://developer.repebble.com/docs/c/Foundation/Event_Service/CompassService.md#CompassStatusDataInvalid "CompassStatusDataInvalid").
- Added a `PBL_API_EXISTS` macro, for checking if an API is available in a the current SDK at compile time. This macro was also added to SDK 3.14.
- Fixed a bug that caused messageKeys containing an underscore to be mangled.

### Known Issues

- The `UnobstructedAreaHandler` object must be created before being passed into the `unobstructed_area_service_subscribe` method.
