# Particle Device OS Updates Thread

**URL:** <https://community.particle.io/t/particle-device-os-updates-thread/14378>\
**Category:** Particle Updates\
**Created:** [August 14, 2015, 12:07am UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378 "2015-08-14T00:07:33Z")\
**Posts on this page:** 20\
**Page:** 4

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [July 30, 2018, 11:57pm UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/63 "2018-07-30T23:57:59Z")

</div>

## Firmware 0.8.0-rc.9 Pre-release for Core/Photon/P1/Electron

_released on July 30th, 2018_

**✏ Please read all notes in the Notes Festival 🎉 below**

> **Note:**  **This is a release candidate for 0.8.0 default so please do test on your systems.**
> 
> **Note:** This is a **pre-release** and is not intended for production yet. We've tested this pre-release to the best of our ability and we want to know what you think now! Please understand that some _care and attention_ is necessary when testing this pre-release, and be sure to upgrade to the final release when it's available. It will not be available by default. To use you must select the version dropdown from the **devices** drawer. _Downgrading back to the current release info is at the bottom of this post._
> 
> **Note:** OTA or YModem transfer on Electron (sequence required)
> 
> 1. First Update to 0.5.5 (if the current version is less than that)
> 2. Then update to 0.6.4 (if the current version is less than that)
> 3. Then update to 0.7.0 (if the current version is less than that)
> 4. Then update to 0.8.0-rc.9
> 
> **Note:** DFU over USB on Electron/Photon/P1 (sequence not required)
> 
> - You may update to 0.8.0-rc.9 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using `particle flash --usb <system-part.bin>`. See the next note about the bootloader if you are offline!
> 
> **Note:** P1/Photon Bootloader  
> The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device using `particle flash --serial <bootloader.bin>`. This should be done _after_ upgrading system firmware. The Electron bootloader is applied automatically from it's own system parts.
> 
> **Note:** Downgrading [Electron/Photon/P1] OTA or YModem transfer:  
> If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.

## 0.8.0-rc.9

### BUGFIXES

- [Electron/LTE] Fast OTA Fixes [#1558](https://github.com/particle-iot/firmware/pull/1558)

## System Binaries (all devices)

[Release v0.8.0-rc.9 (Core/Photon/P1/Electron) · particle-iot/device-os · GitHub](https://github.com/particle-iot/firmware/releases/tag/v0.8.0-rc.9)

* * *

## Programming and Debugging

You can view specific [programming and debugging notes for this version of firmware here](https://docs.particle.io/reference/firmware/photon/?fw_ver=0.8.0-rc.9&cli_ver=1.32.4&electron_parts=3#programming-and-debugging-notes).

---

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [August 18, 2018, 2:37am UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/64 "2018-08-18T02:37:23Z")

</div>

## Firmware 0.8.0-rc.10 Pre-release for Core/Photon/P1/Electron

_released on August 17th, 2018_

**✏ Please read all notes in the Notes Festival 🎉 below**

> **Note:**  **This is a release candidate for 0.8.0 default so please do test on your systems.**
> 
> **Note:** This is a **pre-release** and is not intended for production yet. We've tested this pre-release to the best of our ability and we want to know what you think now! Please understand that some _care and attention_ is necessary when testing this pre-release, and be sure to upgrade to the final release when it's available. It will not be available by default. To use you must select the version dropdown from the **devices** drawer. _Downgrading back to the current release info is at the bottom of this post._
> 
> **Note:** OTA or YModem transfer on Electron (sequence required)
> 
> 1. First Update to 0.5.5 (if the current version is less than that)
> 2. Then update to 0.6.4 (if the current version is less than that)
> 3. Then update to 0.7.0 (if the current version is less than that)
> 4. Then update to 0.8.0-rc.10
> 
> **Note:** DFU over USB on Electron/Photon/P1 (sequence not required)
> 
> - You may update to 0.8.0-rc.10 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using `particle flash --usb <system-part.bin>`. See the next note about the bootloader if you are offline!
> 
> **Note:** P1/Photon Bootloader  
> The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device using `particle flash --serial <bootloader.bin>`. This should be done _after_ upgrading system firmware. The Electron bootloader is applied automatically from it's own system parts.
> 
> **Note:** Downgrading [Electron/Photon/P1] OTA or YModem transfer:  
> If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.

## 0.8.0-rc.10

### BUGFIXES

- [Electron/LTE] eDRX & Power Saving mode disabled by default [#1567](https://github.com/particle-iot/firmware/pull/1567)

## System Binaries (all devices)

[Release v0.8.0-rc.10 (Core/Photon/P1/Electron) · particle-iot/device-os · GitHub](https://github.com/particle-iot/firmware/releases/tag/v0.8.0-rc.10)

* * *

## Programming and Debugging

You can view specific [programming and debugging notes for this version of firmware here](https://docs.particle.io/reference/firmware/photon/?fw_ver=0.8.0-rc.10&cli_ver=1.33.0&electron_parts=3#programming-and-debugging-notes).

---

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [September 29, 2018, 7:17pm UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/65 "2018-09-29T19:17:39Z")

</div>

## Firmware 0.8.0-rc.11 Pre-release for Core/Photon/P1/Electron

_released on September 29th, 2018_

**✏ Please read all notes in the Notes Festival 🎉 below**

> **Note:**  **This is a release candidate for 0.8.0 default so please do test on your systems.**
> 
> **Note:** This is a **pre-release** and is not intended for production yet. We've tested this pre-release to the best of our ability and we want to know what you think now! Please understand that some _care and attention_ is necessary when testing this pre-release, and be sure to upgrade to the final release when it's available. It will not be available by default. To use you must select the version dropdown from the **devices** drawer. _Downgrading back to the current release info is at the bottom of this post._
> 
> **Note:** OTA or YModem transfer on Electron (sequence required)
> 
> 1. First Update to 0.5.5 (if the current version is less than that)
> 2. Then update to 0.6.4 (if the current version is less than that)
> 3. Then update to 0.7.0 (if the current version is less than that)
> 4. Then update to 0.8.0-rc.10
> 
> **Note:** DFU over USB on Electron/Photon/P1 (sequence not required)
> 
> - You may update to 0.8.0-rc.11 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using `particle flash --usb <system-part.bin>`. See the next note about the bootloader if you are offline!
> 
> **Note:** P1/Photon Bootloader  
> The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device using `particle flash --serial <bootloader.bin>`. This should be done _after_ upgrading system firmware. The Electron bootloader is applied automatically from it's own system parts.
> 
> **Note:** Downgrading [Electron/Photon/P1] OTA or YModem transfer:  
> If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.

## 0.8.0-rc.11

### ENHANCEMENTS

- [Electron/Photon/P1] Do not check and lock bootloader sector write protection on every boot [ch17416] [#1578](https://github.com/particle-iot/firmware/pull/1578)

### BUGFIXES

- [Electron/LTE] adds 1 retry for UDP/TCP socket send in case of error [ch18789] [#1576](https://github.com/particle-iot/firmware/pull/1576)
- [Electron/Photon/P1] Fixes recursive semaphore lock timeout [ch21928] [#1577](https://github.com/particle-iot/firmware/pull/1577)

## System Binaries (all devices)

[Release v0.8.0-rc.11 (Core/Photon/P1/Electron) · particle-iot/device-os · GitHub](https://github.com/particle-iot/firmware/releases/tag/v0.8.0-rc.11)

* * *

## Programming and Debugging

You can view specific [programming and debugging notes for this version of firmware here](https://docs.particle.io/reference/firmware/photon/?fw_ver=0.8.0-rc.11&cli_ver=1.35.0&electron_parts=3#programming-and-debugging-notes).

---

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [December 20, 2018, 10:05pm UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/66 "2018-12-20T22:05:20Z")

</div>

## Firmware 0.8.0-rc.12 Pre-release for Core/Photon/P1/Electron

_released on December 20th, 2018_ 🎅 🤶

**✏ Please read all notes in the Notes Festival 🎉 below**

> **Note:**  **This is a release candidate for 0.8.0 default so please do test on your systems.**
> 
> **Note:** This is a **pre-release** and is not intended for production yet. We've tested this pre-release to the best of our ability and we want to know what you think now! Please understand that some _care and attention_ is necessary when testing this pre-release, and be sure to upgrade to the final release when it's available. It will not be available by default. To use you must select the version dropdown from the **devices** drawer. _Downgrading back to the current release info is at the bottom of this post._
> 
> **Note:** OTA or YModem transfer on Electron (sequence required)
> 
> 1. First Update to 0.5.5 (if the current version is less than that)
> 2. Then update to 0.6.4 (if the current version is less than that)
> 3. Then update to 0.7.0 (if the current version is less than that)
> 4. Then update to 0.8.0-rc.12
> 
> **Note:** DFU over USB on Electron/Photon/P1 (sequence not required)
> 
> - You may update to 0.8.0-rc.12 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using `particle flash --usb <system-part.bin>`. See the next note about the bootloader if you are offline!
> 
> **Note:** P1/Photon Bootloader  
> The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device using `particle flash --serial <bootloader.bin>`. This should be done _after_ upgrading system firmware. The Electron bootloader is applied automatically from it's own system parts.
> 
> **Note:** Downgrading [Electron/Photon/P1] OTA or YModem transfer:  
> If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.

## 0.8.0-rc.12

### ENHANCEMENTS

- [Electron/Photon/P1] Cache persistent feature flags ([#1640](https://github.com/particle-iot/firmware/pull/1640))
- [Photon/P1] Memory usage optimizations ([#1635](https://github.com/particle-iot/firmware/pull/1635))

### BUGFIXES

- [Electron/Photon/P1] Fixes SOS in 0.8.0-rc.11 and also ensures button and OOM events are handled synchronously. Previously in multi-threaded applications the button handling may have been delayed to run within the application thread. Now it is always handled immediately and should be noted that it is called from an ISR, so it is not advised to dynamically allocate memory in button event handlers. ([#1600](https://github.com/particle-iot/firmware/pull/1600)) ([#1650](https://github.com/particle-iot/firmware/pull/1650))
- [Electron/Photon/P1] Do not disable interrupts on every system loop iteration ([#1622](https://github.com/particle-iot/firmware/pull/1622))
- [Electron/Photon/P1] Wait for Wiring Thread to start ([#1528](https://github.com/particle-iot/firmware/pull/1528))
- [Electron/LTE] Power Manager Watchdog Timer Fix ([#1581](https://github.com/particle-iot/firmware/pull/1581))
- [Electron/LTE] AT+CNUM command causing registration failure on LTE devices ([#1627](https://github.com/particle-iot/firmware/pull/1627))
- [Electron] `PMIC::getInputCurrentLimit()` cannot report values higher than 900mA ([#1581](https://github.com/particle-iot/firmware/pull/1581))
- [Electron] Do not set the sticky skip hello after handshake ([#1624](https://github.com/particle-iot/firmware/pull/1624))
- [Photon/P1] Invalidate sockets when turning WiFi off ([#1639](https://github.com/particle-iot/firmware/pull/1639))

## System Binaries (all devices)

[Release v0.8.0-rc.12 (Core/Photon/P1/Electron) · particle-iot/device-os · GitHub](https://github.com/particle-iot/firmware/releases/tag/v0.8.0-rc.12)

* * *

## Programming and Debugging

You can view specific [programming and debugging notes for this version of firmware here](https://prerelease-docs.particle.io/reference/device-os/firmware/photon/?fw_ver=0.8.0-rc.12&cli_ver=1.36.3&electron_parts=3#programming-and-debugging-notes).

---

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [January 5, 2019, 1:29am UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/67 "2019-01-05T01:29:42Z")

</div>

## Firmware 0.8.0-rc.14 Pre-release for Core/Photon/P1/Electron

_released on January 4th, 2019_

**✏ Please read all notes in the Notes Festival 🎉 below**

> **Note:**  **This is a release candidate for 0.8.0 default so please do test on your systems.**
> 
> **Note:** This is a **pre-release** and is not intended for production yet. We've tested this pre-release to the best of our ability and we want to know what you think now! Please understand that some _care and attention_ is necessary when testing this pre-release, and be sure to upgrade to the final release when it's available. It will not be available by default. To use you must select the version dropdown from the **devices** drawer. _Downgrading back to the current release info is at the bottom of this post._
> 
> **Note:** OTA or YModem transfer on Electron (sequence required)
> 
> 1. First Update to 0.5.5 (if the current version is less than that)
> 2. Then update to 0.6.4 (if the current version is less than that)
> 3. Then update to 0.7.0 (if the current version is less than that)
> 4. Then update to 0.8.0-rc.14
> 
> **Note:** DFU over USB on Electron/Photon/P1 (sequence not required)
> 
> - You may update to 0.8.0-rc.14 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using `particle flash --usb <system-part.bin>`. See the next note about the bootloader if you are offline!
> 
> **Note:** P1/Photon Bootloader  
> The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device using `particle flash --serial <bootloader.bin>`. This should be done _after_ upgrading system firmware. The Electron bootloader is applied automatically from it's own system parts.
> 
> **Note:** Downgrading [Electron/Photon/P1] OTA or YModem transfer:  
> If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.

## 0.8.0-rc.14

### BUGFIXES

- [Electron/LTE] Fixes unique stale socket issue with LTE devices ([#1666](https://github.com/particle-iot/firmware/pull/1666))

## System Binaries (all devices)

[Release v0.8.0-rc.14 (Core/Photon/P1/Electron) · particle-iot/device-os · GitHub](https://github.com/particle-iot/firmware/releases/tag/v0.8.0-rc.14)

* * *

## Programming and Debugging

You can view specific [programming and debugging notes for this version of firmware here](https://prerelease-docs.particle.io/reference/device-os/firmware/photon/?fw_ver=0.8.0-rc.14&cli_ver=1.36.3&electron_parts=3#programming-and-debugging-notes).

---

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [January 10, 2019, 8:44pm UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/68 "2019-01-10T20:44:22Z")

</div>

## Device OS 1.0.0 is out on the [Web IDE](https://build.particle.io) for Core/Photon/P1/Electron

_released on production servers January 10th, 2019_

✏ **Please read all notes below** :bowtie:

> **Note:** This is a **Release** and **may be used for production**. Any known issues are likely slated for 1.0.1-rc.1 (check [Github issues](https://github.com/particle-iot/firmware/issues)). It is available by default for all devices. To use, select the 1.0.0 version dropdown from the **devices** drawer.  
> _Downgrading back to a previous release info is at the bottom of this post._
> 
> **Note:** If you have previously last used one of the prerelease versions of 0.8.0-rc.x on a Core/Photon/P1 device, please re-flash it with 1.0.0.
> 
> **Note:** OTA or YModem transfer on Electron (sequence required)
> 
> 1. First Update to 0.5.5 (if the current version is less than that)
> 2. Then update to 0.6.4 (if the current version is less than that)
> 3. Then update to 0.7.0 (if the current version is less than that)
> 4. Then update to 1.0.0
> 
> **Note:** DFU over USB on Electron/Photon/P1 (sequence not required)
> 
> - You may update to 1.0.0 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using `particle flash --usb <system-part.bin>`. See the next note about the bootloader if you are offline!
> 
> **Note:** P1/Photon Bootloader  
> The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device using `particle flash --serial <bootloader.bin>`. This should be done _after_ upgrading system firmware. The Electron bootloader is applied automatically from it's own system parts.
> 
> **Note:** Downgrading [Electron/Photon/P1] OTA or YModem transfer:  
> If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.

## 1.0.0

### BREAKING CHANGES

- Beginning with 1.0.0 release, Particle.publish() and Particle.subscribe() methods will require event scope to be specified explicitly. This means using `PRIVATE` or `PUBLIC` for `Particle.publish()` and `MY_DEVICES` or `ALL_DEVICES` for `Particle.subscribe()`. Please update your apps to include the event scope to avoid compilation errors in firmware `>0.7.0`. Deprecation warnings for this change began with `0.7.0-rc.3`. [#1365](https://github.com/spark/firmware/pull/1365)
- [Core/Photon/P1] `WiFi.RSSI()` must be cast to `int8_t` when used inline with Serial.print() to produce correct results. E.g. `Serial.printlnf("%d", (int8_t) WiFi.RSSI() );` Electron is not affected. [#1423](https://github.com/particle-iot/firmware/pull/1423)

### FEATURES

- Diagnostics service [#1390](https://github.com/spark/firmware/pull/1390)
- Network and Cloud diagnostics [#1424](https://github.com/spark/firmware/pull/1424)
- Diagnostics for unacked messages and rate limited events [#1391](https://github.com/spark/firmware/pull/1391)
- System uptime diagnoatics [#1393](https://github.com/spark/firmware/pull/1393)
- Network Signal Quality/Strength rework and diagnostics [#1423](https://github.com/spark/firmware/pull/1423)
- RAM usage diagnostic sources data [#1411](https://github.com/spark/firmware/pull/1411)
- Battery charge diagnostics [#1395](https://github.com/spark/firmware/pull/1395)
- Battery State diagnostics [#1398](https://github.com/spark/firmware/pull/1398)
- [Electron] Reworked power management [#1412](https://github.com/spark/firmware/pull/1412)
- Low-latency interrupt handlers [#1394](https://github.com/spark/firmware/pull/1394)
- [Electron] adds UPSV handling to cellular\_hal [#1480](https://github.com/particle-iot/firmware/pull/1480)
- [Photon/P1] TCPClient: non-blocking, blocking, blocking with timeout writes support [#1485](https://github.com/particle-iot/firmware/pull/1485)
- Network and cloud diagnostics [#1424](https://github.com/particle-iot/firmware/pull/1424)
- Out of heap system event and heap fragmentation detection [#1452](https://github.com/particle-iot/firmware/pull/1452)
- USB request handlers [#1444](https://github.com/particle-iot/firmware/pull/1444)

### ENHANCEMENTS

- [Photon/P1] Moves Wi-Fi tester into application module [#1378](https://github.com/spark/firmware/pull/1378)
- [Photon/P1] Wi-FI firmware compression [#1421](https://github.com/spark/firmware/pull/1421)
- Only remake $(TARGET\_BASE).elf el al. if necessary [#1223](https://github.com/particle-iot/firmware/pull/1223)
- Use 'using std::\*\*' instead of define \* std::\* [#1258](https://github.com/particle-iot/firmware/pull/1258)
- Added docs on local build setup [#1374](https://github.com/particle-iot/firmware/pull/1374)
- Firmware update and access to internal flash via USB requests [#1456](https://github.com/particle-iot/firmware/pull/1456)
- Generalize FuelGauge to also use alternative I2C interfaces. [#1443](https://github.com/particle-iot/firmware/pull/1443)
- [Photon/P1] WiFi.dnsServerIP()/WiFi.dhcpServerIP() support [#1386](https://github.com/particle-iot/firmware/pull/1386)
- [Photon/P1] Increase maximum supported number of simultaneously active TCP connections [#1350](https://github.com/particle-iot/firmware/pull/1350)
- Disable WKP pin waking device up from `SLEEP_MODE_DEEP` [#1409](https://github.com/particle-iot/firmware/pull/1409)
- System.sleep(): support for multiple wake up pins [#1405](https://github.com/particle-iot/firmware/pull/1405)
- System.sleep() wake up reason [#1410](https://github.com/particle-iot/firmware/pull/1410)
- Serialize access to the CRC peripheral (STM32F2xx) [#1465](https://github.com/particle-iot/firmware/pull/1465)
- [Photon/P1] Enables support for SHA384/SHA512 certificates for WPA Enterprise [#1501](https://github.com/particle-iot/firmware/pull/1501)
- [Photon/P1] A number of networking-related fixes v2 [#1500](https://github.com/particle-iot/firmware/pull/1500)
- [Electron/Photon/P1] Increase Device OS API argument lengths. More data in Functions, Variables, Publish, Subscribe... oh my! [#1537](https://github.com/particle-iot/firmware/pull/1537)
- [Electron] Adds support for SARA-R410 to the Cellular HAL [#1532](https://github.com/particle-iot/firmware/pull/1532)
- [Electron/Photon/P1] Do not check and lock bootloader sector write protection on every boot [ch17416] [#1578](https://github.com/particle-iot/firmware/pull/1578)
- [Photon/P1] Memory usage optimizations ([#1635](https://github.com/particle-iot/firmware/pull/1635))
- [Electron/Photon/P1] Cache persistent feature flags ([#1640](https://github.com/particle-iot/firmware/pull/1640))

### BUGFIXES

- [Electron] Error handling in the data usage API [#1435](https://github.com/spark/firmware/pull/1435)
- Cloud random seed not working [#1312](https://github.com/spark/firmware/issues/1312)
- Fixed shadowing of write(const unint\_8\_t`*`, sizte\_t) in USBKeyboard [#1372](https://github.com/particle-iot/firmware/pull/1372)
- Fix usage of an incorrect prerequisite name in program-\* targets [#1463](https://github.com/particle-iot/firmware/pull/1463)
- [Virtual] Fixes virtual device running with UDP protocol [#1462](https://github.com/particle-iot/firmware/pull/1462)
- [Core] Fixes I2C slave mode [#1309](https://github.com/particle-iot/firmware/pull/1309)
- [Electron] moves some newlib functions into part1 [#1471](https://github.com/particle-iot/firmware/pull/1471)
- [Electron] DCD fixes [#1454](https://github.com/particle-iot/firmware/pull/1454)
- [Electron] connect\_cancel() fix [#1464](https://github.com/particle-iot/firmware/pull/1464)
- [Electron] Fix caching of the description CRCs in the backup RAM [#1413](https://github.com/particle-iot/firmware/pull/1413)
- [Electron] Guard cellular\_command() with a global lock [#1415](https://github.com/particle-iot/firmware/pull/1415)
- [Electron] Fix heap bounds build for system part1 [#1478](https://github.com/particle-iot/firmware/pull/1478)
- [Photon/P1/Electron] Recursive logging freezes the application thread while the LogHandler is trying to acquire a lock on the resource [#1517](https://github.com/particle-iot/firmware/pull/1517)
- [Photon/Electron] WKP pin needs to be disabled as a wakeup source on boot to allow its normal operation [#1496](https://github.com/particle-iot/firmware/pull/1496)
- [Photon/P1] A number of networking-related fixes v2 [#1500](https://github.com/particle-iot/firmware/pull/1500)
- [Photon/P1] A number of networking-related fixes [#1492](https://github.com/particle-iot/firmware/pull/1492)
- [Electron] Fixes missing URCs for received data during TX or RX socket operations. This caused the modem not to be able to receive further data properly until it re-connected to the Cloud which it would do automatically but usually after a short or longer period of time. [#1530](https://github.com/particle-iot/firmware/pull/1530)
- [Electron] `Particle.keepAlive()` API was broken since v0.6.2-rc.2 firmware on Electron where the System would override an early set User ping interval. This required a workaround of updating the keepAlive after the System made a connection to the Cloud. See issue #1482 for workaround. [#1536](https://github.com/particle-iot/firmware/pull/1536)
- [Electron] Bug fixes for SARA-R410 LTE E Series [#1547](https://github.com/particle-iot/firmware/pull/1547)
- [Electron] Disables 30 second ping for Kore SIMs on SARA\_R410 (default 23 minute ping re-applied)
- [Electron/LTE] Fast OTA Fixes [#1558](https://github.com/particle-iot/firmware/pull/1558)
- [Electron/LTE] eDRX & Power Saving mode disabled by default [#1567](https://github.com/particle-iot/firmware/pull/1567)
- [Electron/Photon/P1] Fixes recursive semaphore lock timeout [ch21928] [#1577](https://github.com/particle-iot/firmware/pull/1577)
- [Electron/LTE] adds 1 retry for UDP/TCP socket send in case of error [ch18789] [#1576](https://github.com/particle-iot/firmware/pull/1576)
- [Photon/P1] Invalidate sockets when turning WiFi off ([#1639](https://github.com/particle-iot/firmware/pull/1639))
- [Electron] Do not set the sticky skip hello after handshake ([#1624](https://github.com/particle-iot/firmware/pull/1624))
- [Electron] `PMIC::getInputCurrentLimit()` cannot report values higher than 900mA ([#1581](https://github.com/particle-iot/firmware/pull/1581))
- [Electron/LTE] AT+CNUM command causing registration failure on LTE devices ([#1627](https://github.com/particle-iot/firmware/pull/1627))
- [Electron/LTE] Power Manager Watchdog Timer Fix ([#1581](https://github.com/particle-iot/firmware/pull/1581))
- [Electron/Photon/P1] Wait for Wiring Thread to start ([#1528](https://github.com/particle-iot/firmware/pull/1528))
- [Electron/Photon/P1] Do not disable interrupts on every system loop iteration ([#1622](https://github.com/particle-iot/firmware/pull/1622))
- [Electron/Photon/P1] Fixes SOS in 0.8.0-rc.11 and also ensures button and OOM events are handled synchronously. Previously in multi-threaded applications the button handling may have been delayed to run within the application thread. Now it is always handled immediately and should be noted that it is called from an ISR, so it is not advised to dynamically allocate memory in button event handlers. ([#1600](https://github.com/particle-iot/firmware/pull/1600)) ([#1650](https://github.com/particle-iot/firmware/pull/1650))
- [Electron/LTE] Fixes unique stale socket issue with LTE devices ([#1666](https://github.com/particle-iot/firmware/pull/1666))

### INTERNAL

- Minor refactoring of the USB protocol implementation [#1473](https://github.com/particle-iot/firmware/pull/1473)
- [Electron] Flash size optimizations [#1469](https://github.com/particle-iot/firmware/pull/1469)
- Documents low level USB request completion notifications [#1475](https://github.com/particle-iot/firmware/pull/1475)
- IS\_CLAIMED request fixes [#1472](https://github.com/particle-iot/firmware/pull/1472)
- fixes the unit test build [#1474](https://github.com/particle-iot/firmware/pull/1474)
- Fixes some 0.8.0-rc.2 tests [#1476](https://github.com/particle-iot/firmware/pull/1476)
- [Electron] fixes sticker-rig issue with POWER\_ON command [#1544](https://github.com/particle-iot/firmware/pull/1544)
- [Electron] Fixes monolithic build [#1543](https://github.com/particle-iot/firmware/pull/1543)

* * *

## System Binaries (all devices) & Device Upgrader (Photon & Electron)

[Release v1.0.0 (Core/Photon/P1/Electron) · particle-iot/device-os · GitHub](https://github.com/particle-iot/firmware/releases/tag/v1.0.0)

* * *

## Programming and Debugging

You can view specific [programming and debugging notes for this version of firmware here](https://docs.particle.io/reference/firmware/photon/?fw_ver=1.0.0&cli_ver=1.37.0&electron_parts=3#programming-and-debugging-notes).

---

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [January 10, 2019, 9:17pm UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/69 "2019-01-10T21:17:00Z")

</div>

### Hi friends!

We just updated `release/stable` and `master` branches of the `device-os` repo to be current with `release/v1.0.0`.

Because we had to force push these changes, you’ll likely have merge conflicts if you `git pull` the latest changes for those branches. Because of this you will need to hard reset your local copy of each branch to match the remote.

⚠ Before doing this, make sure you save any changes you have been making in your local copy of `release/stable` or `master` (hopefully you are not doing that though and using a `feature/branch` based on these 😉 )

### Hard Reset `release/stable`

```
git checkout release/stable && git fetch origin && git reset --hard origin/release/stable

```

### Hard Reset `master`

```
git checkout master && git fetch origin && git reset --hard origin/master

```

You should now be sync’d up again with the most recent `release/stable` and `master`

### Rename the repo to `device-os`

We also renamed the repo from `firmware` to `device-os` and you may update your local clone as follows:

```
git remote set-url origin git@github.com:particle-iot/device-os.git

```

### Read more about 1.0.0 on our blog

[Announcing Device OS 1.0 and Release Guidelines for Product Creators](https://blog.particle.io/2019/01/10/announcing-device-os-1-0-and-release-guidelines-for-product-creators/)

---

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [February 5, 2019, 2:40am UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/70 "2019-02-05T02:40:03Z")

</div>

## Device OS 1.0.1-rc.1 Release Candidate is out on the [Web IDE](https://build.particle.io) for (Core/Photon/P1/Electron)

_released on February 4th, 2019_

* * *

✅ This 1.0.1-rc.1 **Release Candidate** will be defaulted to 1.0.1 on Feb. 18th, 2019 unless there are regressions found that require further patches. ✏ Testing on your applications is encouraged and appreciated, thank you! 🙇

* * *

> **Note:** This is a **Release Candidate (RC)** and is not intended for production yet. We've tested this RC to the best of our ability and we want to know what you think now! Please understand that some _care and attention_ is necessary when testing this RC, and be sure to upgrade to the final release when it's available. This RC will not be available by default. To use you must select the version dropdown from the **devices** drawer. _Downgrading back to the current release info is at the bottom of this post._
> 
> **Note:** OTA or YModem transfer on Electron (sequence required)
> 
> 1. First Update to 0.5.5 (if the current version is less than that)
> 2. Then update to 0.6.4 (if the current version is less than that)
> 3. Then update to 0.7.0 (if the current version is less than that)
> 4. Then update to 1.0.1-rc.1
> 
> **Note:** DFU over USB on Electron/Photon/P1 (sequence not required)
> 
> - You may update to 1.0.1-rc.1 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using `particle flash --usb <system-part.bin>`. See the next note about the bootloader if you are offline!
> 
> **Note:** P1/Photon Bootloader  
> The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device using `particle flash --serial <bootloader.bin>`. This should be done _after_ upgrading system firmware. The Electron bootloader is applied automatically from it's own system parts.
> 
> **Note:** Downgrading [Electron/Photon/P1] OTA or YModem transfer:  
> If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.

## 1.0.1-rc.1

### BUGFIXES

- [LTE/Electron] Fixes software Timer()'s halting after millis() overflows (every 49.7 days) [#1688](https://github.com/particle-iot/device-os/pull/1688)
- [LTE/Electron] bug fixes and enhancements (see PR -\>) [#1689](https://github.com/particle-iot/device-os/pull/1689)

### INTERNAL

- Fix Travis badge [#1670](https://github.com/particle-iot/device-os/pull/1670)
- Mojave doesn't ship with `wget` [#1674](https://github.com/particle-iot/device-os/pull/1674)
- Bypass git dependency in build [#1664](https://github.com/particle-iot/device-os/pull/1664)
- Refactor release scripts [#1687](https://github.com/particle-iot/device-os/pull/1687)

## System Binaries (all devices)

[Release v1.0.1-rc.1 (Core/Photon/P1/Electron) · particle-iot/device-os · GitHub](https://github.com/particle-iot/device-os/releases/tag/v1.0.1-rc.1)

* * *

## Programming and Debugging

You can view specific [programming and debugging notes for this version of firmware here](https://prerelease-docs.particle.io/reference/device-os/firmware/photon/?fw_ver=1.0.1-rc.1&cli_ver=1.38.0&electron_parts=3#programming-and-debugging-notes).

---

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [February 19, 2019, 11:11pm UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/71 "2019-02-19T23:11:29Z")

</div>

## Device OS 1.0.1 Default Release is out on the [Web IDE](https://build.particle.io) for Core/Photon/P1/Electron

_released on production servers February 19th, 2019_

✏ **Please read all notes below** :bowtie:

> **Note:** This is a **Release** and **may be used for production**. Any known issues are likely slated for 1.0.2-rc.1 (check [Github issues](https://github.com/particle-iot/firmware/issues)). It is available by default for all devices. To use, select the 1.0.1 version dropdown from the **devices** drawer.  
> _Downgrading back to a previous release info is at the bottom of this post._
> 
> **Note:** If you have previously last used one of the prerelease versions of 1.0.1-rc.x on a Core/Photon/P1 device, please re-flash it with 1.0.1.
> 
> **Note:** OTA or YModem transfer on Electron (sequence required)
> 
> 1. First Update to 0.5.5 (if the current version is less than that)
> 2. Then update to 0.6.4 (if the current version is less than that)
> 3. Then update to 0.7.0 (if the current version is less than that)
> 4. Then update to 1.0.1
> 
> **Note:** DFU over USB on Electron/Photon/P1 (sequence not required)
> 
> - You may update to 1.0.1 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using `particle flash --usb <system-part.bin>`. See the next note about the bootloader if you are offline!
> 
> **Note:** P1/Photon Bootloader  
> The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device using `particle flash --serial <bootloader.bin>`. This should be done _after_ upgrading system firmware. The Electron bootloader is applied automatically from it's own system parts.
> 
> **Note:** Downgrading [Electron/Photon/P1] OTA or YModem transfer:  
> If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.

## 1.0.1

### BUGFIXES

- [LTE/Electron] Fixes software Timer()'s halting after millis() overflows (every 49.7 days) [#1688](https://github.com/particle-iot/device-os/pull/1688)
- [LTE/Electron] bug fixes and enhancements (see PR -\>) [#1689](https://github.com/particle-iot/device-os/pull/1689)

### INTERNAL

- Fix Travis badge [#1670](https://github.com/particle-iot/device-os/pull/1670)
- Mojave doesn't ship with `wget` [#1674](https://github.com/particle-iot/device-os/pull/1674)
- Bypass git dependency in build [#1664](https://github.com/particle-iot/device-os/pull/1664)
- Refactor release scripts [#1687](https://github.com/particle-iot/device-os/pull/1687)

* * *

## System Binaries (all devices) & Device Upgrader (Photon & Electron)

[Release v1.0.1 (Core/Photon/P1/Electron) · particle-iot/device-os · GitHub](https://github.com/particle-iot/device-os/releases/tag/v1.0.1)

* * *

## Programming and Debugging

You can view specific [programming and debugging notes for this version of firmware here](https://docs.particle.io/reference/firmware/photon/?fw_ver=1.0.1&cli_ver=1.39.0&electron_parts=3#programming-and-debugging-notes).

---

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [February 19, 2019, 11:14pm UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/72 "2019-02-19T23:14:27Z")

</div>

Hello Friends!

Just a quick update that firmware repo branches `release/stable` and `master` have been updated to point to `release/v1.0.1`

You can update your local versions with either of these commands:

```auto
git checkout release/stable && git pull
git checkout master && git pull

```

If you have any trouble with this, please reference this previous post [Particle Device OS Updates Thread](http://community.particle.io/t/particle-firmware-updates-thread/14378/37?u=bdub)

---

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [April 12, 2019, 4:13am UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/73 "2019-04-12T04:13:49Z")

</div>

## Device OS 1.1.0-rc.1 Release Candidate is out on the [Web IDE](https://build.particle.io) for (Core/Photon/P1/Electron/Argon/Boron/Xenon/Argon-SoM/Boron-SoM/Xenon-SoM)

_released on April 11th, 2019_ 🌷

* * *

✅ This 1.1.0-rc.1 **Release Candidate** will be defaulted to 1.1.0 on April 25th, 2019 unless there are regressions found that require further patches. ✏ Testing on your applications is encouraged and appreciated, thank you! 🙇

✏ Update: 1.1.0-rc.1 has an issue that affects Gen 3 which will be updated in 1.1.0-rc.2. [Please track here.](https://github.com/particle-iot/device-os/milestone/49)

* * *

> **Note:** This is a **Release Candidate (RC)** and is not intended for production yet. We've tested this RC to the best of our ability and we want to know what you think now! Please understand that some _care and attention_ is necessary when testing this RC, and be sure to upgrade to the final release when it's available. This RC will not be available by default. To use you must select the version dropdown from the **devices** drawer. _Downgrading back to the current release info is at the bottom of this post._
> 
> **Note:** OTA or YModem transfer on Electron (sequence required)
> 
> 1. First Update to 0.5.5 (if the current version is less than that)
> 2. Then update to 0.6.4 (if the current version is less than that)
> 3. Then update to 0.7.0 (if the current version is less than that)
> 4. Then update to 1.1.0-rc.1
> 
> **Note:** DFU over USB on Electron/Photon/P1 (sequence not required)
> 
> - You may update to 1.1.0-rc.1 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using `particle flash --usb <system-part.bin>`. See the next note about the bootloader if you are offline!
> 
> **Note:** P1/Photon Bootloader  
> The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device using `particle flash --serial <bootloader.bin>`. This should be done _after_ upgrading system firmware. The Electron bootloader is applied automatically from it's own system parts.
> 
> **Note:** Downgrading [Electron/Photon/P1] OTA or YModem transfer:  
> If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.

## 1.1.0-rc.1

### FEATURES

- [gen 3] Argon, Boron, Xenon platform Device OS `mesh_develop` merged into `develop` [#1700](https://github.com/particle-iot/device-os/pull/1700)
- [gen 3] Adds Argon SoM, Boron SoM and Xenon SoM platforms to Device OS [#1662](https://github.com/particle-iot/device-os/pull/1662)
- [som] Runtime power management IC detection [#1733](https://github.com/particle-iot/device-os/pull/1733)

### ENHANCEMENTS

- [photon/p1/electron] mbedTLS updated from v2.4.2 to v2.9.0 [#1700](https://github.com/particle-iot/device-os/pull/1700)
- [electron/LTE] FreeRTOS updated from v8.2.2 to v10.0.1 [#1700](https://github.com/particle-iot/device-os/pull/1700)
- [gen 2] Binary size optimizations [#1720](https://github.com/particle-iot/device-os/pull/1720)
- Updates Tinker for all platforms [#1717](https://github.com/particle-iot/device-os/pull/1717)
- [gen 3] Adds button and RGB LED mirroring support [#1590](https://github.com/particle-iot/device-os/pull/1590)
- [boron-som] Disables system power management [#1722](https://github.com/particle-iot/device-os/pull/1722)
- [boron/LTE] Enable Cat M1-only mode and disable eDRX completely [#1723](https://github.com/particle-iot/device-os/pull/1723)
- [gen 3] QSPI flash is put into sleep mode and is deinitialized when entering STANDBY or STOP sleep mode [1725](https://github.com/particle-iot/device-os/pull/1725)
- [gen 3] Parameter check for SPI slave mode with HAL\_SPI\_INTERFACE1 [#1731](https://github.com/particle-iot/device-os/pull/1731)

### BUGFIXES

- [gen 3] [hal] Fixes USBSerial SOS issue when removing USB cable from battery powered device [#1707](https://github.com/particle-iot/device-os/pull/1707)
- [gen 3] Fixes A5 staying high when using Ethernet feather wing [#1696](https://github.com/particle-iot/device-os/pull/1696)
- [core] Disable system logs for Core to reduce flash space needed to build tests [#1713](https://github.com/particle-iot/device-os/pull/1713)
- [wiring] Fixed a potential (but unlikely due to bounds checking) buffer overflow in time formatting function [#1712](https://github.com/particle-iot/device-os/pull/1712)
- [electron] [G350] fixes Cellular.RSSI() issues due to unknown RAT [#1721](https://github.com/particle-iot/device-os/pull/1721)
- [gen 3] Fixes a deadlock in `system_power_manager` and `i2c_hal` when exiting the sleep mode [1725](https://github.com/particle-iot/device-os/pull/1725)
- [gen 3] Fixes issues in USB and WCID descriptors preventing Control Interface from working correctly on Windows platforms [#1736](https://github.com/particle-iot/device-os/pull/1736)
- [bootloader] SysTick needs to be disabled in Reset\_System() on Gen 2 platforms [#1741](https://github.com/particle-iot/device-os/pull/1741)
- [boron] Workaround for SARA R4 ppp session getting broken and system power manager fix [#1726](https://github.com/particle-iot/device-os/pull/1726)
- Fixes system power manager re-enabling charging every 1s with a battery connected (now every 60s) [#1726](https://github.com/particle-iot/device-os/pull/1726)

### INTERNAL

- Update release.sh parameter handling [#1690](https://github.com/particle-iot/device-os/pull/1690)
- Adds missing Device OS release tests [#1698](https://github.com/particle-iot/device-os/pull/1698)
- [gen 3] Fixes TEST=wiring/no\_fixture [#1694](https://github.com/particle-iot/device-os/pull/1694)
- [gen 3] Add Gen 3 platforms to Device OS build scripts [#1714](https://github.com/particle-iot/device-os/pull/1714)
- [docs] Fix `brew install gcc-arm-none-eabi-53` formula [#1708](https://github.com/particle-iot/device-os/pull/1708)
- [docs] Fixes recent merge issues with `system-versions.md` [#1715](https://github.com/particle-iot/device-os/pull/1715)
- [ci] Build time optimizations [#1712](https://github.com/particle-iot/device-os/pull/1712)
- [ci] disables shallow submodule checkouts [#1735](https://github.com/particle-iot/device-os/pull/1735)
- [docs] for the check and scope guard macros [#1734](https://github.com/particle-iot/device-os/pull/1734)
- [hal] Correct ADC channel number for SoM [#1739](https://github.com/particle-iot/device-os/pull/1739)
- [photon/p1] crypto: re-enables MD5 for TLS (WPA Enterprise) [#1743](https://github.com/particle-iot/device-os/pull/1743)
- [gen 3] Fix/wiring tests [#1719](https://github.com/particle-iot/device-os/pull/1719)

## System Binaries (all devices)

[Release v1.1.0-rc.1 (Core/Photon/P1/Electron/Argon/Boron/Xenon/Argon-SoM/Boron-SoM/Xenon-SoM) · particle-iot/device-os · GitHub](https://github.com/particle-iot/device-os/releases/tag/v1.1.0-rc.1)

* * *

## Programming and Debugging

You can view specific [programming and debugging notes for this version of firmware here](https://prerelease-docs.particle.io/reference/device-os/firmware/photon/?fw_ver=1.1.0-rc.1&cli_ver=1.40.0&electron_parts=3#programming-and-debugging-notes).

## QA Report Summary for Particle Device OS

You can view [results of tests run this release here](https://docs.google.com/spreadsheets/d/e/2PACX-1vSYwlKFO9HNGiwxGD4KtBrBOHDGzJZoLehiEiZ7G8BA0bfsR2EoUOUrGn3jQ97coTWe3kHfXP0Z_Dhi/pub).

---

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [April 26, 2019, 8:47pm UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/74 "2019-04-26T20:47:22Z")

</div>

✏ **Update:** 1.1.0-rc.1 has an issue that affects Gen 3 which will be updated in 1.1.0-rc.2. [Please track here.](https://github.com/particle-iot/device-os/milestone/49)

---

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [April 30, 2019, 5:09pm UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/75 "2019-04-30T17:09:55Z")

</div>

## Device OS 1.2.0-beta.1 [Beta Pre-Release] is out on the [Web IDE](https://build.particle.io) for (Core/Photon/P1/Electron/Argon/Boron/Xenon)

_released on April 18th, 2019_

* * *

✅ This 1.2.0-beta.1 **Beta Pre-Release** is for testing purposes only. API's may change before a Release Candidate is created. ✏ Testing on your applications is encouraged and appreciated, thank you! 🙇

* * *

> **Note:** This is a **Beta Pre-Release** and is not intended for production yet. We've tested this Beta to the best of our ability and we want to know what you think now! Please understand that some _care and attention_ is necessary when testing this Beta, and be sure to upgrade to the final release when it's available. This Beta will not be available by default. To use you must select the version dropdown from the **devices** drawer. _Downgrading back to the current release info is at the bottom of this post._
> 
> **Note:** OTA or YModem transfer on Electron (sequence required)
> 
> 1. First Update to 0.5.5 (if the current version is less than that)
> 2. Then update to 0.6.4 (if the current version is less than that)
> 3. Then update to 0.7.0 (if the current version is less than that)
> 4. Then update to 1.2.0-beta.1
> 
> **Note:** DFU over USB on Electron/Photon/P1 (sequence not required)
> 
> - You may update to 1.2.0-beta.1 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using `particle flash --usb <system-part.bin>`. See the next note about the bootloader if you are offline!
> 
> **Note:** P1/Photon Bootloader  
> The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device using `particle flash --serial <bootloader.bin>`. This should be done _after_ upgrading system firmware. The Electron bootloader is applied automatically from it's own system parts.
> 
> **Note:** Downgrading [Electron/Photon/P1] OTA or YModem transfer:  
> If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.

## 1.2.0-beta.1

### FEATURES

- [Enterprise] Support for Intelligent Product Firmware Updates [#1732](https://github.com/particle-iot/device-os/pull/1732)  
[**Read more about this Intelligent Product Firmware Updates here!**](https://blog.particle.io/2019/04/30/new-ota-firmware-capabilities-and-intelligent-releases-for-optimized-control/)
- Visibility into OTA availability and support for "Force" enabling OTA from the cloud.
- New API for publishing Device Vitals regularly from application firmware [#1724](https://github.com/particle-iot/device-os/pull/1724)

### INTERNAL

- [test] fixes unit-tests for testing version string with pre-release [#1749](https://github.com/particle-iot/device-os/pull/1749)
- [test] update upgrade-downgrade.sh to 1.2.0-beta.1 [#1749](https://github.com/particle-iot/device-os/pull/1749)

## System Binaries (all devices)

[Release v1.2.0-beta.1 (Core/Photon/P1/Electron/Argon/Boron/Xenon) · particle-iot/device-os · GitHub](https://github.com/particle-iot/device-os/releases/tag/v1.2.0-beta.1)

* * *

## Programming and Debugging

You can view specific [programming and debugging notes for this version of firmware here](https://prerelease-docs.particle.io/reference/device-os/firmware/photon/?fw_ver=1.2.0-beta.1&cli_ver=1.40.0&electron_parts=3#programming-and-debugging-notes).

## QA Report Summary for Particle Device OS

You can view [results of tests run this release here](https://docs.google.com/spreadsheets/d/e/2PACX-1vSYwlKFO9HNGiwxGD4KtBrBOHDGzJZoLehiEiZ7G8BA0bfsR2EoUOUrGn3jQ97coTWe3kHfXP0Z_Dhi/pub).

---

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [April 30, 2019, 10:00pm UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/76 "2019-04-30T22:00:39Z")

</div>

## Device OS 1.1.0-rc.2 Release Candidate is out on the [Web IDE](https://build.particle.io) for (Core/Photon/P1/Electron/Argon/Boron/Xenon/Argon-SoM/Boron-SoM/Xenon-SoM)

_released on April 30th, 2019_

* * *

✅ This 1.1.0-rc.2 **Release Candidate** will be defaulted to 1.1.0 on May 14th, 2019 unless there are regressions found that require further patches. ✏ Testing on your applications is encouraged and appreciated, thank you! 🙇

* * *

> **Note:** This is a **Release Candidate (RC)** and is not intended for production yet. We've tested this RC to the best of our ability and we want to know what you think now! Please understand that some _care and attention_ is necessary when testing this RC, and be sure to upgrade to the final release when it's available. This RC will not be available by default. To use you must select the version dropdown from the **devices** drawer. _Downgrading back to the current release info is at the bottom of this post._
> 
> **Note:** OTA or YModem transfer on Electron (sequence required)
> 
> 1. First Update to 0.5.5 (if the current version is less than that)
> 2. Then update to 0.6.4 (if the current version is less than that)
> 3. Then update to 0.7.0 (if the current version is less than that)
> 4. Then update to 1.1.0-rc.2
> 
> **Note:** DFU over USB on Electron/Photon/P1 (sequence not required)
> 
> - You may update to 1.1.0-rc.2 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using `particle flash --usb <system-part.bin>`. See the next note about the bootloader if you are offline!
> 
> **Note:** P1/Photon Bootloader  
> The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device using `particle flash --serial <bootloader.bin>`. This should be done _after_ upgrading system firmware. The Electron bootloader is applied automatically from it's own system parts.
> 
> **Note:** Argon-SoM/Boron-SoM/Xenon-SoM Bootloader  
> The bootloader must be manually updated using `particle flash --serial <bootloader.bin>`. This should be done _after_ upgrading system firmware. Argon/Boron/Xenon bootloader is applied automatically from it's own system part.
> 
> **Note:** Downgrading [Electron/Photon/P1] OTA or YModem transfer:  
> If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.

## 1.1.0-rc.2

### BUGFIXES

- [photon/p1] Fixes 802.11n-only mode regression in 0.7.0 ~ 1.1.0-rc.1 [#1755](https://github.com/particle-iot/device-os/pull/1755)
- [gen 3] Updates embedded bootloader, fixes hardfault after hard reset when sleeping [#1756](https://github.com/particle-iot/device-os/pull/1756)

### INTERNAL

- Remove the message "External flash is not supported" from Gen 3 builds [#1751](https://github.com/particle-iot/device-os/pull/1751)
- Do not fail the build if PARTICLE\_DEVELOP is not defined [#1750](https://github.com/particle-iot/device-os/pull/1750)
- [gen 3] Fixes a build system issue that caused object files to be created outside build directory [#1754](https://github.com/particle-iot/device-os/pull/1754)

## System Binaries (all devices)

[Release v1.1.0-rc.2 (Core/Photon/P1/Electron/Argon/Boron/Xenon/Argon-SoM/Boron-SoM/Xenon-SoM) · particle-iot/device-os · GitHub](https://github.com/particle-iot/device-os/releases/tag/v1.1.0-rc.2)

* * *

## Programming and Debugging

You can view specific [programming and debugging notes for this version of firmware here](https://prerelease-docs.particle.io/reference/device-os/firmware/photon/?fw_ver=1.1.0-rc.2&cli_ver=1.40.0&electron_parts=3#programming-and-debugging-notes).

## QA Report Summary for Particle Device OS

You can view [results of tests run this release here](https://docs.google.com/spreadsheets/d/e/2PACX-1vSYwlKFO9HNGiwxGD4KtBrBOHDGzJZoLehiEiZ7G8BA0bfsR2EoUOUrGn3jQ97coTWe3kHfXP0Z_Dhi/pub).

---

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [May 14, 2019, 9:39pm UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/77 "2019-05-14T21:39:43Z")

</div>

## Device OS 1.1.0 Default Release is out on the [Web IDE](https://build.particle.io) for Core/Photon/P1/Electron/Argon/Boron/Xenon/A SoM/B SoM/A SoM

_released on production servers May 14th, 2019_

✏ **Please read all notes below** :bowtie:

> **Note:** This is a **Release** and **may be used for production**. Any known issues are likely slated for 1.2.0-rc.1 (check [Github issues](https://github.com/particle-iot/firmware/issues)). It is available by default for all devices. To use, select the 1.1.0 version dropdown from the **devices** drawer.  
> _Downgrading back to a previous release info is at the bottom of this post._
> 
> **Note:** If you have previously last used one of the prerelease versions of 1.1.0-rc.x on a device, please re-flash it with 1.1.0.
> 
> **Note:** OTA or YModem transfer on Electron (sequence required)
> 
> 1. First Update to 0.5.5 (if the current version is less than that)
> 2. Then update to 0.6.4 (if the current version is less than that)
> 3. Then update to 0.7.0 (if the current version is less than that)
> 4. Then update to 1.1.0
> 
> **Note:** DFU over USB on Photon/P1/Electron/Argon/Boron/Xenon/A SoM/B SoM/A SoM (sequence not required)
> 
> - You may update to 1.1.0 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using `particle flash --usb <system-part.bin>`. See the next note about the bootloader if you are offline!
> 
> **Note:** P1/Photon Bootloader  
> The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device using `particle flash --serial <bootloader.bin>`. This should be done _after_ upgrading system firmware. The Electron bootloader is applied automatically from it's own system parts.
> 
> **Note:** Downgrading [Photon/P1/Electron] OTA or YModem transfer:  
> If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.

## 1.1.0

### FEATURES

- [gen 3] Argon, Boron, Xenon platform Device OS `mesh_develop` merged into `develop` [#1700](https://github.com/particle-iot/device-os/pull/1700)
- [gen 3] Adds A SoM, B SoM and X SoM platforms (compile with PLATFORM=asom, PLATFORM=bsom, PLATFORM=xsom) to Device OS [#1662](https://github.com/particle-iot/device-os/pull/1662)
- [som] Runtime power management IC detection [#1733](https://github.com/particle-iot/device-os/pull/1733)

### ENHANCEMENTS

- [photon/p1/electron] mbedTLS updated from v2.4.2 to v2.9.0 [#1700](https://github.com/particle-iot/device-os/pull/1700)
- [electron/LTE] FreeRTOS updated from v8.2.2 to v10.0.1 [#1700](https://github.com/particle-iot/device-os/pull/1700)
- [gen 2] Binary size optimizations [#1720](https://github.com/particle-iot/device-os/pull/1720)
- Updates Tinker for all platforms [#1717](https://github.com/particle-iot/device-os/pull/1717)
- [gen 3] Adds button and RGB LED mirroring support [#1590](https://github.com/particle-iot/device-os/pull/1590)
- [boron-som] Disables system power management [#1722](https://github.com/particle-iot/device-os/pull/1722)
- [boron/LTE] Enable Cat M1-only mode and disable eDRX completely [#1723](https://github.com/particle-iot/device-os/pull/1723)
- [gen 3] QSPI flash is put into sleep mode and is deinitialized when entering STANDBY or STOP sleep mode [1725](https://github.com/particle-iot/device-os/pull/1725)
- [gen 3] Parameter check for SPI slave mode with HAL\_SPI\_INTERFACE1 [#1731](https://github.com/particle-iot/device-os/pull/1731)

### BUGFIXES

- [gen 3] [hal] Fixes USBSerial SOS issue when removing USB cable from battery powered device [#1707](https://github.com/particle-iot/device-os/pull/1707)
- [gen 3] Fixes A5 staying high when using Ethernet feather wing [#1696](https://github.com/particle-iot/device-os/pull/1696)
- [core] Disable system logs for Core to reduce flash space needed to build tests [#1713](https://github.com/particle-iot/device-os/pull/1713)
- [wiring] Fixed a potential (but unlikely due to bounds checking) buffer overflow in time formatting function [#1712](https://github.com/particle-iot/device-os/pull/1712)
- [electron] [G350] fixes Cellular.RSSI() issues due to unknown RAT [#1721](https://github.com/particle-iot/device-os/pull/1721)
- [gen 3] Fixes a deadlock in `system_power_manager` and `i2c_hal` when exiting the sleep mode [1725](https://github.com/particle-iot/device-os/pull/1725)
- [gen 3] Fixes issues in USB and WCID descriptors preventing Control Interface from working correctly on Windows platforms [#1736](https://github.com/particle-iot/device-os/pull/1736)
- [bootloader] SysTick needs to be disabled in Reset\_System() on Gen 2 platforms [#1741](https://github.com/particle-iot/device-os/pull/1741)
- [boron] Workaround for SARA R4 ppp session getting broken and system power manager fix [#1726](https://github.com/particle-iot/device-os/pull/1726)
- Fixes system power manager re-enabling charging every 1s with a battery connected (now every 60s) [#1726](https://github.com/particle-iot/device-os/pull/1726)
- [photon/p1] Fixes 802.11n-only mode regression in 0.7.0 ~ 1.1.0-rc.1 [#1755](https://github.com/particle-iot/device-os/pull/1755)
- [gen 3] Updates embedded bootloader, fixes hardfault after hard reset when sleeping [#1756](https://github.com/particle-iot/device-os/pull/1756)

### INTERNAL

- Update release.sh parameter handling [#1690](https://github.com/particle-iot/device-os/pull/1690)
- Adds missing Device OS release tests [#1698](https://github.com/particle-iot/device-os/pull/1698)
- [gen 3] Fixes TEST=wiring/no\_fixture [#1694](https://github.com/particle-iot/device-os/pull/1694)
- [gen 3] Add Gen 3 platforms to Device OS build scripts [#1714](https://github.com/particle-iot/device-os/pull/1714)
- [docs] Fix `brew install gcc-arm-none-eabi-53` formula [#1708](https://github.com/particle-iot/device-os/pull/1708)
- [docs] Fixes recent merge issues with `system-versions.md` [#1715](https://github.com/particle-iot/device-os/pull/1715)
- [ci] Build time optimizations [#1712](https://github.com/particle-iot/device-os/pull/1712)
- [ci] disables shallow submodule checkouts [#1735](https://github.com/particle-iot/device-os/pull/1735)
- [docs] for the check and scope guard macros [#1734](https://github.com/particle-iot/device-os/pull/1734)
- [hal] Correct ADC channel number for SoM [#1739](https://github.com/particle-iot/device-os/pull/1739)
- [photon/p1] crypto: re-enables MD5 for TLS (WPA Enterprise) [#1743](https://github.com/particle-iot/device-os/pull/1743)
- [gen 3] Fix/wiring tests [#1719](https://github.com/particle-iot/device-os/pull/1719)
- Remove the message "External flash is not supported" from Gen 3 builds [#1751](https://github.com/particle-iot/device-os/pull/1751)
- Do not fail the build if PARTICLE\_DEVELOP is not defined [#1750](https://github.com/particle-iot/device-os/pull/1750)
- [gen 3] Fixes a build system issue that caused object files to be created outside build directory [#1754](https://github.com/particle-iot/device-os/pull/1754)
- [gen 3] Rename SoM platform names `[ch32184]` [#1774](https://github.com/particle-iot/device-os/pull/1774)

* * *

## System Binaries (all devices) & Device Upgrader (Photon & Electron)

[Release v1.1.0 (Core/Photon/P1/Electron/Argon/Boron/Xenon/A SoM/B SoM/A SoM) · particle-iot/device-os · GitHub](https://github.com/particle-iot/device-os/releases/tag/v1.1.0)

* * *

## Programming and Debugging

You can view specific [programming and debugging notes for this version of firmware here](https://docs.particle.io/reference/device-os/firmware/photon/?fw_ver=1.1.0&cli_ver=1.41.0&electron_parts=3#programming-and-debugging-notes).

## QA Report Summary for Particle Device OS

You can view [results of tests run this release here](https://docs.google.com/spreadsheets/d/e/2PACX-1vSYwlKFO9HNGiwxGD4KtBrBOHDGzJZoLehiEiZ7G8BA0bfsR2EoUOUrGn3jQ97coTWe3kHfXP0Z_Dhi/pub).

---

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [May 14, 2019, 9:50pm UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/78 "2019-05-14T21:50:37Z")

</div>

Hello Friends!

Just a quick update that firmware repo branches `release/stable` and `master` have been updated to point to `release/v1.1.0`

You can update your local versions with either of these commands:

```auto
git checkout release/stable && git pull
git checkout master && git pull

```

If you have any trouble with this, please reference this previous post [Particle Device OS Updates Thread](http://community.particle.io/t/particle-firmware-updates-thread/14378/37?u=bdub)

---

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [May 21, 2019, 4:29am UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/79 "2019-05-21T04:29:30Z")

</div>

## Device OS 1.2.0-rc.1 Release Candidate is out on the [Web IDE](https://build.particle.io) for (Core/Photon/P1/Electron/Argon/Boron/Xenon/Argon-SoM/Boron-SoM/Xenon-SoM)

_released on May 20th, 2019_

* * *

✅ This 1.2.0-rc.1 **Release Candidate** will be defaulted to 1.2.0 on June 6th, 2019 unless there are regressions found that require further patches. ✏ Testing on your applications is encouraged and appreciated, thank you! 🙇

* * *

> **Note:** This is a **Release Candidate (RC)** and is not intended for production yet. We've tested this RC to the best of our ability and we want to know what you think now! Please understand that some _care and attention_ is necessary when testing this RC, and be sure to upgrade to the final release when it's available. This RC will not be available by default. To use you must select the version dropdown from the **devices** drawer. _Downgrading back to the current release info is at the bottom of this post._
> 
> **Note:** OTA or YModem transfer on Electron (sequence required)
> 
> 1. First Update to 0.5.5 (if the current version is less than that)
> 2. Then update to 0.6.4 (if the current version is less than that)
> 3. Then update to 0.7.0 (if the current version is less than that)
> 4. Then update to 1.2.0-rc.1
> 
> **Note:** DFU over USB on Electron/Photon/P1 (sequence not required)
> 
> - You may update to 1.2.0-rc.1 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using `particle flash --usb <system-part.bin>`. See the next note about the bootloader if you are offline!
> 
> **Note:** P1/Photon Bootloader  
> The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device using `particle flash --serial <bootloader.bin>`. This should be done _after_ upgrading system firmware. The Electron bootloader is applied automatically from it's own system parts.
> 
> **Note:** Argon-SoM/Boron-SoM/Xenon-SoM Bootloader  
> The bootloader must be manually updated using `particle flash --serial <bootloader.bin>`. This should be done _after_ upgrading system firmware. Argon/Boron/Xenon bootloader is applied automatically from it's own system part.
> 
> **Note:** Downgrading [Electron/Photon/P1] OTA or YModem transfer:  
> If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.

## 1.2.0-rc.1

> **Note:** If your Gen 3 device does not have a Cloud connection, it is recommended to update system firmware, and then the bootloader via CLI with `particle flash --serial bootloader.bin` (bootloaders found in Github release)
> 
> This release contains v302 bootloaders (bumped this release due to Gen 3 changes in [#1777](https://github.com/particle-iot/device-os/pull/1777) ). We have also separated BOOTLOADER\_DEPENDENCY for Gen 2 and Gen 3. For now, we will leave Gen 2 as is depending on v201 bootloader (so there is nothing to do for Gen 2 (Photon/P1 only) unless you want the latest bootloader, although it is not mandatory), but we have bumped Gen 3 to v302 because also in this release we have removed the embedded bootloaders from Gen 3 system firmware. To force the Cloud update for Gen 2 (Photon/P1 only) we will bump the bootloader dependency version to v302 in v1.2.0 default.

### FEATURES

- [Enterprise] Immediate Product Firmware Updates [#1732](https://github.com/particle-iot/device-os/pull/1732)
- On-demand Device Vitals publishing [#1724](https://github.com/particle-iot/device-os/pull/1724) [[Docs]](https://prerelease-docs.particle.io/reference/device-os/firmware/boron/#particle-publishvitals-)

### ENHANCEMENTS

- [gen 3] Update error codes in Gen3 parser to facilitate debugging efforts and provide context to system errors [#1766](https://github.com/particle-iot/device-os/pull/1766)
- [gen 3] Remove bootloader machine code string from system-part1 on Gen3 platforms. Bootloader will require local update with `particle flash --serial bootloader.bin` or OTA update from the Cloud. [#1771](https://github.com/particle-iot/device-os/pull/1771)
- Updates C++ and C standard versions (C++14 and C11) [#1757](https://github.com/particle-iot/device-os/pull/1757)
- [gen 3] Always check ongoing RX DMA transaction when reporting number of bytes available in RX buffer [#1758](https://github.com/particle-iot/device-os/pull/1758)
- Introduce safety checks on heap usage from ISRs [#1761](https://github.com/particle-iot/device-os/pull/1761)
- [gen 3] Mesh network scan enhancements [#1760](https://github.com/particle-iot/device-os/pull/1760)
- expires a session after 3 unsuccessful attempts at connecting to the cloud [#1776](https://github.com/particle-iot/device-os/pull/1776)
- Integrate cellular network vitals data into `DESCRIBE_x` message [#1759](https://github.com/particle-iot/device-os/pull/1759)
- [gen 2] adds Kore Vodafone SIM support & removes Twilio SIM support (still supported through 3rd party API) [ch31955] [#1780](https://github.com/particle-iot/device-os/pull/1780)
- Reserve memory for system-part1 SRAM [#1742](https://github.com/particle-iot/device-os/pull/1742)

### BUGFIXES

- [system] network manager: allows to clear interface-specific credentials notwithstanding interface state, except for Mesh [#1773](https://github.com/particle-iot/device-os/pull/1773)
- [gen 3] pinMode fixes, D7 was initialized as OUTPUT mode, `analogWrite()` and `digitalWrite()` were changing pinMode back to default after use [#1777](https://github.com/particle-iot/device-os/pull/1777)
- [gen 3] Mesh network scan fixes [#1760](https://github.com/particle-iot/device-os/pull/1760)
- Wait for confirmable messages when entering the deep sleep mode [#1767](https://github.com/particle-iot/device-os/pull/1767)
- [gen 1] Fixes Spark Core function calls broken in 0.8.0-rc.4 [ch32050] [#1770](https://github.com/particle-iot/device-os/pull/1770)
- [Electron/LTE] disables all eDRX AcT types [ch32051] [#1762](https://github.com/particle-iot/device-os/pull/1762)
- [Electron/LTE] Make sure that the RAT information is actual before calculating signal strength (RSSI) and quality [#1779](https://github.com/particle-iot/device-os/pull/1779)
- intelligent update flags synchronization [#1784](https://github.com/particle-iot/device-os/pull/1784)
- [gen 3] Fixes various issues caused by the gateway reset [#1778](https://github.com/particle-iot/device-os/pull/1778)
- [Photon/P1] Fixes MAC address info not being available in listening mode [#1783](https://github.com/particle-iot/device-os/pull/1783)
- [wiring] Make sure that `Serial` and `SerialX` methods are in sync with the documentation and don't return unexpected values [#1782](https://github.com/particle-iot/device-os/pull/1782)
- [gen3] Fixes a HeapError panic due to malloc() call from an ISR (caused by rand() usage) [#1786](https://github.com/particle-iot/device-os/pull/1786)
- [gen3] Fixes HAL\_USB\_USART\_Send\_Data() returning incorrect values [#1787](https://github.com/particle-iot/device-os/pull/1787)

### INTERNAL

- [gen 3] update bootloader dependency to v302 [#1785](https://github.com/particle-iot/device-os/pull/1785)

## System Binaries (all devices)

[Release v1.2.0-rc.1 (Core/Photon/P1/Electron/Argon/Boron/Xenon/A SoM/B SoM/X SoM) · particle-iot/device-os · GitHub](https://github.com/particle-iot/device-os/releases/tag/v1.2.0-rc.1)

* * *

## Programming and Debugging

You can view specific [programming and debugging notes for this version of firmware here](https://prerelease-docs.particle.io/reference/device-os/firmware/photon/?fw_ver=1.2.0-rc.1&cli_ver=1.41.0&electron_parts=3#programming-and-debugging-notes).

## QA Report Summary for Particle Device OS

You can view [results of tests run this release here](https://docs.google.com/spreadsheets/d/e/2PACX-1vSYwlKFO9HNGiwxGD4KtBrBOHDGzJZoLehiEiZ7G8BA0bfsR2EoUOUrGn3jQ97coTWe3kHfXP0Z_Dhi/pub).

---

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [May 22, 2019, 10:37pm UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/80 "2019-05-22T22:37:12Z")

</div>

## Device OS 1.2.1-rc.1 Release Candidate is out on the [Web IDE](https://build.particle.io) for (Core/Photon/P1/Electron/Argon/Boron/Xenon/Argon-SoM/Boron-SoM/Xenon-SoM)

_released on May 22th, 2019_

* * *

✅ This 1.2.1-rc.1 **Release Candidate** will be defaulted to 1.2.1 on June 10th, 2019 unless there are regressions found that require further patches. ✏ Testing on your applications is encouraged and appreciated, thank you! 🙇

* * *

ℹ **Note:** This is primarily a Manufacturing release for Gen 3 devices with no significant feature/enhancement/bugfixes. Your testing is appreciated though. If you find any issues, please report them, and fallback to 1.2.0-rc.1 or 1.1.0.

* * *

> **Note:** This is a **Release Candidate (RC)** and is not intended for production yet. We've tested this RC to the best of our ability and we want to know what you think now! Please understand that some _care and attention_ is necessary when testing this RC, and be sure to upgrade to the final release when it's available. This RC will not be available by default. To use you must select the version dropdown from the **devices** drawer. _Downgrading back to the current release info is at the bottom of this post._
> 
> **Note:** OTA or YModem transfer on Electron (sequence required)
> 
> 1. First Update to 0.5.5 (if the current version is less than that)
> 2. Then update to 0.6.4 (if the current version is less than that)
> 3. Then update to 0.7.0 (if the current version is less than that)
> 4. Then update to 1.2.1-rc.1
> 
> **Note:** DFU over USB on Electron/Photon/P1 (sequence not required)
> 
> - You may update to 1.2.1-rc.1 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using `particle flash --usb <system-part.bin>`. See the next note about the bootloader if you are offline!
> 
> **Note:** P1/Photon Bootloader  
> The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device using `particle flash --serial <bootloader.bin>`. This should be done _after_ upgrading system firmware. The Electron bootloader is applied automatically from it's own system parts.
> 
> **Note:** Argon-SoM/Boron-SoM/Xenon-SoM Bootloader  
> The bootloader must be manually updated using `particle flash --serial <bootloader.bin>`. This should be done _after_ upgrading system firmware. Argon/Boron/Xenon bootloader is applied automatically from it's own system part.
> 
> **Note:** Downgrading [Electron/Photon/P1] OTA or YModem transfer:  
> If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.

## 1.2.1-rc.1

> **Note:** If your Gen 3 device does not have a Cloud connection, it is recommended to update system firmware, and then the bootloader via CLI with `particle flash --serial bootloader.bin` (bootloaders found in Github release)
> 
> This release contains v310 bootloaders (bumped this release due to Gen 3 changes in [#1768](https://github.com/particle-iot/device-os/pull/1768) ). We have also separated BOOTLOADER\_DEPENDENCY for Gen 2 and Gen 3. For now, we will leave Gen 2 as is depending on v201 bootloader (so there is nothing to do for Gen 2 (Photon/P1 only) unless you want the latest bootloader, although it is not mandatory), but we have bumped Gen 3 to v302 because also in this release we have removed the embedded bootloaders from Gen 3 system firmware. To force the Cloud update for Gen 2 (Photon/P1 only) we will bump the bootloader dependency version to v302 in v1.2.0 default.

### ENHANCEMENTS

- [gen3] Upgrades Nordic nRF5 SDK to 15.3.0 [#1768](https://github.com/particle-iot/device-os/pull/1768)

## System Binaries (all devices)

[Release v1.2.1-rc.1 (Core/Photon/P1/Electron/Argon/Boron/Xenon/A SoM/B SoM/X SoM) · particle-iot/device-os · GitHub](https://github.com/particle-iot/device-os/releases/tag/v1.2.1-rc.1)

* * *

## Programming and Debugging

You can view specific [programming and debugging notes for this version of firmware here](https://prerelease-docs.particle.io/reference/device-os/firmware/photon/?fw_ver=1.2.1-rc.1&cli_ver=1.41.0&electron_parts=3#programming-and-debugging-notes).

## QA Report Summary for Particle Device OS

You can view [results of tests run this release here](https://docs.google.com/spreadsheets/d/e/2PACX-1vSYwlKFO9HNGiwxGD4KtBrBOHDGzJZoLehiEiZ7G8BA0bfsR2EoUOUrGn3jQ97coTWe3kHfXP0Z_Dhi/pub).

---

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [May 30, 2019, 10:26pm UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/81 "2019-05-30T22:26:47Z")

</div>

## Device OS 1.2.1-rc.2 Release Candidate is out on the [Web IDE](https://build.particle.io) for (Core/Photon/P1/Electron/Argon/Boron/Xenon/Argon-SoM/Boron-SoM/Xenon-SoM)

_released on May 30th, 2019_

* * *

✅ This 1.2.1-rc.2 **Release Candidate** will be defaulted to 1.2.1 on June 10th, 2019 unless there are regressions found that require further patches. ✏ Testing on your applications is encouraged and appreciated, thank you! 🙇

* * *

ℹ **Note:** This is primarily a Manufacturing release for Gen 3 devices with some minor bugfixes. Your testing is appreciated. If you find any issues, please report them, and fallback to 1.2.0-rc.1 or 1.1.0.

* * *

> **Note:** This is a **Release Candidate (RC)** and is not intended for production yet. We've tested this RC to the best of our ability and we want to know what you think now! Please understand that some _care and attention_ is necessary when testing this RC, and be sure to upgrade to the final release when it's available. This RC will not be available by default. To use you must select the version dropdown from the **devices** drawer. _Downgrading back to the current release info is at the bottom of this post._
> 
> **Note:** OTA or YModem transfer on Electron (sequence required)
> 
> 1. First Update to 0.5.5 (if the current version is less than that)
> 2. Then update to 0.6.4 (if the current version is less than that)
> 3. Then update to 0.7.0 (if the current version is less than that)
> 4. Then update to 1.2.1-rc.2
> 
> **Note:** DFU over USB on Electron/Photon/P1 (sequence not required)
> 
> - You may update to 1.2.1-rc.2 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using `particle flash --usb <system-part.bin>`. See the next note about the bootloader if you are offline!
> 
> **Note:** P1/Photon Bootloader  
> The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device using `particle flash --serial <bootloader.bin>`. This should be done _after_ upgrading system firmware. The Electron bootloader is applied automatically from it's own system parts.
> 
> **Note:** Argon/Boron/Xenon/Argon-SoM/Boron-SoM/Xenon-SoM Bootloader  
> If your device is offline, the bootloader must be manually updated using `particle flash --serial <bootloader.bin>`. This can be done _before_ or _after_ upgrading system firmware.
> 
> **Note:** Downgrading [Electron/Photon/P1] OTA or YModem transfer:  
> If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.

## 1.2.1-rc.2

> **Note:** If your Gen 3 device does not have a Cloud connection, it is recommended to update system firmware, and then the bootloader via CLI with `particle flash --serial bootloader.bin` (bootloaders found in Github release)
> 
> This release contains v311 bootloaders (bumped this release due to Gen 3 changes in [#1799](https://github.com/particle-iot/device-os/pull/1799) ). We have also separated BOOTLOADER\_DEPENDENCY for Gen 2 and Gen 3. For now, we will leave Gen 2 as is depending on v201 bootloader (so there is nothing to do for Gen 2 (Photon/P1 only) unless you want the latest bootloader, although it is not mandatory), but we have bumped Gen 3 to v311 because we have removed the embedded bootloaders from Gen 3 system firmware in 1.2.0-rc.1. To force the Cloud update for Gen 2 (Photon/P1 only) we will bump the bootloader dependency version to v302 in v1.2.0 default.

### BUG FIXES

- [gen 3] Fixes radio initialization sequence for SoftDevice S140v6.1.1 [#1794](https://github.com/particle-iot/device-os/pull/1794)
- [gen 2] Fix ABI compatibility issue in cellular HAL regarding `CellularDevice` and `cellular_device_info()` [#1792](https://github.com/particle-iot/device-os/pull/1792)
- [gen 3] [bootloader] fixes SOS 10 when upgrading bootloader first from older system firmware. External flash sleep refactoring [#1799](https://github.com/particle-iot/device-os/pull/1799)

## System Binaries (all devices)

[Release v1.2.1-rc.2 (Core/Photon/P1/Electron/Argon/Boron/Xenon/A SoM/B SoM/X SoM) · particle-iot/device-os · GitHub](https://github.com/particle-iot/device-os/releases/tag/v1.2.1-rc.2)

* * *

## Programming and Debugging

You can view specific [programming and debugging notes for this version of firmware here](https://prerelease-docs.particle.io/reference/device-os/firmware/photon/?fw_ver=1.2.1-rc.2&cli_ver=1.41.1&electron_parts=3#programming-and-debugging-notes).

## QA Report Summary for Particle Device OS

You can view [results of tests run this release here](https://docs.google.com/spreadsheets/d/e/2PACX-1vSYwlKFO9HNGiwxGD4KtBrBOHDGzJZoLehiEiZ7G8BA0bfsR2EoUOUrGn3jQ97coTWe3kHfXP0Z_Dhi/pub).

---

<div class="post-metadata">

**Author:** ![BDub](https://sea2.discourse-cdn.com/flex026/user_avatar/community.particle.io/bdub/32/5137_2.png) [@BDub](https://community.particle.io/u/BDub)\
**Post date:** [June 15, 2019, 12:51am UTC](https://community.particle.io/t/particle-device-os-updates-thread/14378/82 "2019-06-15T00:51:43Z")

</div>

## Device OS 1.2.1-rc.3 Release Candidate is out on the [Web IDE](https://build.particle.io) for (Core/Photon/P1/Electron/Argon/Boron/Xenon/A SoM/B SoM/X SoM)

_released on June 14th, 2019_

* * *

✅ This 1.2.1-rc.3 **Release Candidate** will be defaulted to 1.2.1 during the week of July 5th, 2019 unless there are regressions found that require further patches. ✏ Testing on your applications is encouraged and appreciated, thank you! 🙇

* * *

> **Note:** This is a **Release Candidate (RC)** and is not intended for production yet. We've tested this RC to the best of our ability and we want to know what you think now! Please understand that some _care and attention_ is necessary when testing this RC, and be sure to upgrade to the final release when it's available. This RC will not be available by default. To use you must select the version dropdown from the **devices** drawer. _Downgrading back to the current release info is at the bottom of this post._
> 
> **Note:** OTA or YModem transfer on Electron (sequence required)
> 
> 1. First Update to 0.5.5 (if the current version is less than that)
> 2. Then update to 0.6.4 (if the current version is less than that)
> 3. Then update to 0.7.0 (if the current version is less than that)
> 4. Then update to 1.2.1-rc.3
> 
> **Note:** DFU over USB on Electron/Photon/P1 (sequence not required)
> 
> - You may update to 1.2.1-rc.3 directly first, flash the system firmware (attached above) in order 1,2(,3) to the device using `particle flash --usb <system-part.bin>`. See the next note about the bootloader if you are offline!
> 
> **Note:** P1/Photon Bootloader  
> The Cloud will automatically update the bootloader on P1/Photon devices if your device is online. If your device does not connect to the cloud and it is offline, you should flash the bootloader to the device using `particle flash --serial <bootloader.bin>`. This should be done _after_ upgrading system firmware. The Electron bootloader is applied automatically from it's own system parts.
> 
> **Note:** Argon/Boron/Xenon/Argon-SoM/Boron-SoM/Xenon-SoM Bootloader  
> If your device is offline, the bootloader must be manually updated using `particle flash --serial <bootloader.bin>`. This can be done _before_ or _after_ upgrading system firmware.
> 
> **Note:** Downgrading [Electron/Photon/P1] OTA or YModem transfer:  
> If you need to downgrade, you must downgrade to 0.7.0 and then 0.6.3(Photon/P1), 0.6.4(Electron) to ensure that the bootloader downgrades automatically. When downgrading to older versions, downgrade to 0.7.0 first, then 0.6.3(Photon/P1), 0.6.4(Electron), then to an older version such as 0.5.5.

## 1.2.1-rc.3

> **Note:** If your Gen 3 device does not have a Cloud connection, it is recommended to update system firmware, and then the bootloader via CLI with `particle flash --serial bootloader.bin` (bootloaders found in Github release)
> 
> This release contains v311 bootloaders.

### ENHANCEMENTS

- Cache cellular diagnostics [#1820](https://github.com/particle-iot/device-os/pull/1820)
- allow the bootloader to be flashed over DFU [#1788](https://github.com/particle-iot/device-os/pull/1788)

### BUG FIXES

- Add two-digit mnc diagnostic flag [#1804](https://github.com/particle-iot/device-os/pull/1804)
- [lte] cellular fixes [#1824](https://github.com/particle-iot/device-os/pull/1824)
- fixes #1811 - increases the number of event handlers to 6 [#1822](https://github.com/particle-iot/device-os/pull/1822)
- [gen 3] fixes memory usage diagnostics (reported negative values in safe mode) [#1819](https://github.com/particle-iot/device-os/pull/1819)
- System.disableUpdates() operates asynchronously [#1801](https://github.com/particle-iot/device-os/pull/1801)

## System Binaries (all devices)

[Release v1.2.1-rc.3 (Core/Photon/P1/Electron/Argon/Boron/Xenon/A SoM/B SoM/X SoM) · particle-iot/device-os · GitHub](https://github.com/particle-iot/device-os/releases/tag/v1.2.1-rc.3)

* * *

## Programming and Debugging

You can view specific [programming and debugging notes for this version of firmware here](https://prerelease-docs.particle.io/reference/device-os/firmware/photon/?fw_ver=1.2.1-rc.3&cli_ver=1.41.2&electron_parts=3#programming-and-debugging-notes).

## QA Report Summary for Particle Device OS

You can view [results of tests run this release here](https://docs.google.com/spreadsheets/d/e/2PACX-1vSYwlKFO9HNGiwxGD4KtBrBOHDGzJZoLehiEiZ7G8BA0bfsR2EoUOUrGn3jQ97coTWe3kHfXP0Z_Dhi/pub).

[Previous page](https://community.particle.io/t/particle-device-os-updates-thread/14378.md?page=3)

[Next page](https://community.particle.io/t/particle-device-os-updates-thread/14378.md?page=5)
