---
# 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 3.13 - Changelog
date: 2016-06-07
---

This firmware was released only for the Pebble Time series.

### Changes to Firmware

* Added the Weather app (requires mobile app 3.13).
* Reduced confusion between walking and sleeping in Pebble Health.
* Added U+1F525 FIRE (🔥) to the supported emoji.
* `layer_set_value()` functions now always mark the layer as dirty.
* Removed complaints about sleeping less than usual if you none-the-less slept
  plenty.
* Improved Pebble Health summary notifications
* ``gcolor_equal()`` now considers all transparent functions to be equivalent.
  This change only affects apps built with SDK 3.13 or later.

### Changes to SDK

* [We launched Pebble Packages](/blog/2016/06/07/pebble-packages/), our new,
  npm-based package solution!
  * Check out our [Pebble Package guides](/guides/pebble-packages/)!
  * **appinfo.json** is deprecated; long live **package.json**! Use
    `pebble convert-project` to update your app.
  * We now include Pebble Packages that you have installed in your
    `node_modules` folder for use in the C or PebbleKit JS code of your app.
  * We also include standard node modules for use in PebbleKit JS (but
    compatibility varies).
  * We can now create packages as a new project type. Try
    `pebble new-package`!
  * Packages can also use ``AppMessage`` and resources without identifier
    conflicts.
* `require` in PebbleKit JS now requires explicitly using relative paths when
  loading files in your app (i.e. prefixing filenames with `./`).
* ``AppMessage`` keys are now included in your C code with a `MESSAGE_KEY_`
  prefix. They are also included in your PebbleKit JS code as the return value
  of `require("message_keys")`.
* ``AppMessage`` keys can be auto-assigned, so numbers don't have to be picked
  explicitly for communication between C and PebbleKit JS. This is designed to
  enable libraries to function without conflicts.