Note: This is a Beta Pre-Release for testing only. API’s may change before a Release Candidate is created.
This is the first Device OS Release in the 4.x LTS line, based on new Feature/Enhancements/Bugfixes and Breaking Changes from the 3.x release line.
Note: If you are upgrading from 2.x, please review the changelogs highlights for 3.0.0/3.1.0/3.2.0/3.3.0 below.
Note: Critical Bugfixes from 3.x will already be backported in the latest 2.3.0, and some other Bugfixes may only apply to previous 3.x releases. Internal changes are omitted in the 3.x changelog list below, however the full changelog may be found at the Device OS repo.
To learn more about LTS release line, read our blog post.
You can view information about Device OS versions, upgrades and downgrades here.
4.0.0-beta.1
Breaking changes
Deprecate/remove the PRODUCT_ID macro #2446. Users may now use the same binary for multiple Products that share the same device Platform and Functionality. Including this macro will cause a build error and show the following message:
The PRODUCT_ID macro must be removed from your firmware source code.
The same compiled firmware binary may be used in multiple products that share the same platform and functionality.
[Gen 3] BLE: extended advertisement support with Coded PHY #2331
[Argon / Tracker] Avoid power leakage through ESP32 ESPBOOT pin #2342
Fixes parsing of JSON strings with more than 127 tokens #2348
Reset scheduled module updates performed by the bootloader in case a second OTA update happens before they are applied (e.g. if System.disableReset() is used to postpone a pending device reset) #2346
[Gen 3] HAL - Only skip modules that fail integrity check from module info #2387
3.1.0
Highlights
[Gen 3] (Argon, Boron, B SoM, B5 SoM, Tracker) maximum application size has been increased from 128KB to 256KB#2322. A few important aspects of this change:
Compatibility with 128KB applications built with < Device OS 3.1 versions is maintained. Devices can still run them even if other parts have been upgraded to Device OS 3.1+.
Upgrade process OTA (including product-based upgrades) is transparent.
When upgrading locally (using DFU or Serial), make sure to update the bootloader first, as it has some logic managing compatibility between 128KB and 256KB application types. See this page on steps how to perform the update.
If using standalone Particle CLI installation, make sure it’s updated to >= 2.12.0 version, which includes support for 256KB applications.
A compiler will trigger an error when a function does not return a value, but was declared with a non-void return type #2323
Note: This is a Release and may be used for production.
This is the first Device OS Release in the 4.x LTS line, based on new Feature/Enhancements/Bugfixes and Breaking Changes from the 3.x release line.
Note: If you are upgrading from 2.x, please review the changelogs highlights for 3.0.0/3.1.0/3.2.0/3.3.0 below.
Note: Critical Bugfixes from 3.x will have already been backported in the latest 2.3.0, and some other Bugfixes may only apply to previous 3.x releases. Internal changes are omitted in the 3.x changelog list below, however the full changelog may be found at the Device OS repo.
To learn more about LTS release line, read our blog post.
You can view information about Device OS versions, upgrades and downgrades here.
4.0.0
Breaking changes
Deprecate/remove the PRODUCT_ID macro #2446. Users may now use the same binary for multiple Products that share the same device Platform and Functionality. Including this macro will cause a build error and show the following message:
The PRODUCT_ID macro must be removed from your firmware source code.
The same compiled firmware binary may be used in multiple products that share the same platform and functionality.
[Gen 3] BLE: extended advertisement support with Coded PHY #2331
[Argon / Tracker] Avoid power leakage through ESP32 ESPBOOT pin #2342
Fixes parsing of JSON strings with more than 127 tokens #2348
Reset scheduled module updates performed by the bootloader in case a second OTA update happens before they are applied (e.g. if System.disableReset() is used to postpone a pending device reset) #2346
[Gen 3] HAL - Only skip modules that fail integrity check from module info #2387
3.1.0
Highlights
[Gen 3] (Argon, Boron, B SoM, B5 SoM, Tracker) maximum application size has been increased from 128KB to 256KB#2322. A few important aspects of this change:
Compatibility with 128KB applications built with < Device OS 3.1 versions is maintained. Devices can still run them even if other parts have been upgraded to Device OS 3.1+.
Upgrade process OTA (including product-based upgrades) is transparent.
When upgrading locally (using DFU or Serial), make sure to update the bootloader first, as it has some logic managing compatibility between 128KB and 256KB application types. See this page on steps how to perform the update.
If using standalone Particle CLI installation, make sure it’s updated to >= 2.12.0 version, which includes support for 256KB applications.
A compiler will trigger an error when a function does not return a value, but was declared with a non-void return type #2323
Note: This is a Release Candidate and is not intended for production yet. This is the first Release Candidate for the upcoming Device OS release 4.0.1 (LTS) with critical bugfixes and backports from 5.x release line
You can view information about Device OS versions, upgrades and downgrades here .
4.0.1-rc.1
Highlights
BUGFIXES
[wiring] ApplicationWatchdog: fixes potential 2x timeout required to fire #2536
[gen3]Fix BLE control request channel sending malformed packets #2538
Fix issue with platform_ncp_get_info(0) for quectel platforms #2532
Secures DCT initialization from getting interrupted between creating DCT file and filling it with 0xff to default state #2530
Note: This is a Release and may be used for production. This is the second minor Device OS Release in the LTS line with critical bugfixes and backports from 3.x release line.
To learn more about LTS release line, read our blog post.
You can view information about Device OS versions, upgrades and downgrades here.
Note: This is a Release and may be used for production. This is the second Release in the Device OS release 4.x line (LTS) with critical bugfixes and backports from 5.x release line
To learn more about LTS release line, read our blog post.
You can view information about Device OS versions, upgrades and downgrades here.
4.0.1
Highlights
BUGFIXES
[wiring] ApplicationWatchdog: fixes potential 2x timeout required to fire #2536
[gen3]Fix BLE control request channel sending malformed packets #2538
Fix issue with platform_ncp_get_info(0) for quectel platforms #2532
Secures DCT initialization from getting interrupted between creating DCT file and filling it with 0xff to default state #2530
[Boron / B SoM] R410 PPP crash in network phase workaround #2571
Note: This is a Release and may be used for production. This is the third Release in the Device OS release 4.x line (LTS) with critical bugfixes and backports from 5.x release line
To learn more about LTS release line, read our blog post.
You can view information about Device OS versions, upgrades and downgrades here.
4.0.2
Highlights
BUGFIXES
[gen3] Use OTP Feature flag to change ADC reference source #2597
[boron]Use the internal ADC reference on some Gen 3 platforms #2588
Note: This is a Release and may be used for production. This is the 4th Release in the Device OS release 4.x line (LTS) with critical bugfixes and backports from 5.x release line
To learn more about LTS release line, read our blog post.
You can view information about Device OS versions, upgrades and downgrades here.
This is a release on non-LTS feature development branch (5.x). To learn more about our new LTS release line, read our blog post.
Note: This is a Release and may be used for production.
You can view information about Device OS versions, upgrades and downgrades here.
5.4.1
Highlights
[rtl872x] dynamically enable Wi-Fi stack on demand #2664
[rtl872x] linker: stop relying on .dynalib + .psram_text being contiguous and properly and similarly aligned within LMA and VMA, just copy them separately #2665
Note: This is a Release and may be used for production. This is the 4th Release in the Device OS release 4.x line (LTS) with critical bugfixes and backports from 5.x release line
To learn more about LTS release line, read our blog post.
You can view information about Device OS versions, upgrades and downgrades here.
4.2.0
ENHANCEMENTS
[Cellular] Enables UPSV=1 low power mode for R510 when idle for >=9.2s #2674
[services] add long long support to printf/scanf #2694#2696