diff --git a/CHANGELOG.md b/CHANGELOG.md index 91a1dc37ac..e0693441a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,44 @@ - Protected mode [#2734](https://github.com/particle-iot/device-os/pull/2734) +## 5.9.0 + +### FEATURES +- Supports M.2 breakout board and Muon [#2809](https://github.com/particle-iot/device-os/pull/2809) + + +### ENHANCEMENTS +- [Gen 4] Adds detailed WiFi access point disconnect reason logging [#2805](https://github.com/particle-iot/device-os/pull/2805) +- [ACM] Perform cloud ping or reachability test on network events; non-blocking background reachability test [#2811](https://github.com/particle-iot/device-os/pull/2811) +- [Gen 3] BLE: increase a number of retries for service discovery in central role [#2801](https://github.com/particle-iot/device-os/pull/2801) +- [Gen 3] BLE: suspend scanning while in connected state and restore scanning after a disconnect (SoftDevice limitation) [#2801](https://github.com/particle-iot/device-os/pull/2801) +- [cellular][r510] unmask bands for global use [#2803](https://github.com/particle-iot/device-os/pull/2803) +- BLE: streamlines `BLE.scan()` behavior to be blocking irrespective of timeout, but allows other BLE operations to be performed [#2796](https://github.com/particle-iot/device-os/pull/2796) +- BLE: streamlines `BLE.stopScanning()` behavior to be blocking when not called from BLE callback and guarantees scanning to be stopped on return [#2796](https://github.com/particle-iot/device-os/pull/2796) +- [Gen 4] BLE: improves locking in a number of BLE API calls [#2813](https://github.com/particle-iot/device-os/pull/2813) + +### BUGFIXES +- [Gen 3] BLE: fixes a race condition in connected state reporting in central and peripheral roles [#2801](https://github.com/particle-iot/device-os/pull/2801) +- [Gen 4] i2c: use transactions for fuelgauge and pmic on platforms with single i2c bus to avoid cutting into compound application I2C transmissions [#2822](https://github.com/particle-iot/device-os/pull/2822) +- Reduce latency of the system loop [#2797](https://github.com/particle-iot/device-os/pull/2797) +- Work around a bug in lfs_remove() while recursive traversing directories [#2798](https://github.com/particle-iot/device-os/pull/2798) +- [Gen 4] set sleep timer upper bounds [#2810](https://github.com/particle-iot/device-os/pull/2810) +- [Gen 4] Fixes potential deadlock in WiFi and BLE stacks [#2805](https://github.com/particle-iot/device-os/pull/2805) +- [Gen 4] fixes DMA enabled USART flush [#2800](https://github.com/particle-iot/device-os/pull/2800) +- [Gen 4] Fixes `BLE.stopScanning()` deadlock when called from inside BLE callback [#2796](https://github.com/particle-iot/device-os/pull/2796) +- [Gen 4] i2c: clear I2C tx buffer before each transmission [#2819](https://github.com/particle-iot/device-os/pull/2819) +- fixes `USART::available()` after waking from sleep [#2816](https://github.com/particle-iot/device-os/pull/2816) +- [Gen 4] fixes BLE race condition while scanning [#2818](https://github.com/particle-iot/device-os/pull/2818) +- [Gen 4] usb: fix an issue with USB re-attach after sleep [#2824](https://github.com/particle-iot/device-os/pull/2824) [#2823](https://github.com/particle-iot/device-os/pull/2823) +- [Gen 4] prebootloader: fix STOP/ULP sleep with disabled KM0 RTOS, get correct wake-up reason [#2825](https://github.com/particle-iot/device-os/pull/2825) +- Fixes I2C hal issues [#2826](https://github.com/particle-iot/device-os/pull/2826) + +### INTERNAL +- Add serial loopback to test runner [#2816](https://github.com/particle-iot/device-os/pull/2816) +- [tests] Support integration tests on gen4 after device-constants update [#2814](https://github.com/particle-iot/device-os/pull/2814) +- Adds fixture tests [#2823](https://github.com/particle-iot/device-os/pull/2823) +- [tests] ACM prefer feature, adjust logging [#2795](https://github.com/particle-iot/device-os/pull/2795) + ## 5.8.2 ### FEATURES diff --git a/build/release.sh b/build/release.sh index ba2c8e51a4..6d7477cc55 100755 --- a/build/release.sh +++ b/build/release.sh @@ -1,7 +1,7 @@ #!/bin/bash set -o errexit -o pipefail -o noclobber -o nounset -VERSION=${VERSION:="5.8.2"} +VERSION=${VERSION:="5.9.0"} function display_help () { diff --git a/build/version.mk b/build/version.mk index 2bad84cfc3..351ec56d63 100755 --- a/build/version.mk +++ b/build/version.mk @@ -1,7 +1,7 @@ -VERSION_STRING = 5.8.2 +VERSION_STRING = 5.9.0 # PRODUCT_FIRMWARE_VERSION reported by default # FIXME: Unclear if this is used, PRODUCT_FIRMWARE_VERSION defaults to 65535 every release -VERSION = 5802 +VERSION = 5901 CFLAGS += -DSYSTEM_VERSION_STRING=$(VERSION_STRING) diff --git a/modules/shared/system_module_version.mk b/modules/shared/system_module_version.mk index 9c042d9ec0..fc1bb2921f 100644 --- a/modules/shared/system_module_version.mk +++ b/modules/shared/system_module_version.mk @@ -1,6 +1,6 @@ # Skip to next 100 every v0.x.0 release (e.g. 108 for v0.6.2 to 200 for v0.7.0-rc.1) # Bump by 1 for every prerelease or release with the same v0.x.* base. -COMMON_MODULE_VERSION ?= 5802 +COMMON_MODULE_VERSION ?= 5901 SYSTEM_PART1_MODULE_VERSION ?= $(COMMON_MODULE_VERSION) RELEASE_080_MODULE_VERSION_BASE ?= 300 @@ -14,11 +14,11 @@ USER_PART_MODULE_VERSION ?= 6 # Skip to next 100 every v0.x.0 release (e.g. 11 for v0.6.2 to 100 for v0.7.0-rc.1), # but only if the bootloader has changed since the last v0.x.0 release. # Bump by 1 for every updated bootloader image for a release with the same v0.x.* base. -BOOTLOADER_VERSION ?= 2601 +BOOTLOADER_VERSION ?= 2700 ifeq ($(PLATFORM_MCU),rtl872x) PREBOOTLOADER_MBR_VERSION ?= 2 -PREBOOTLOADER_PART1_VERSION ?= 8 +PREBOOTLOADER_PART1_VERSION ?= 9 endif # The version of the bootloader that the system firmware requires @@ -26,7 +26,7 @@ endif # this version usually lags behind the current bootloader version, to avoid non-mandatory updates. ifeq ($(PLATFORM_GEN),3) ifeq ($(PLATFORM_MCU),rtl872x) -BOOTLOADER_DEPENDENCY = 2601 +BOOTLOADER_DEPENDENCY = 2700 else # ifeq ($(PLATFORM_MCU),rtl872x) BOOTLOADER_DEPENDENCY = 2300 endif # ifeq ($(PLATFORM_GEN),3) @@ -36,7 +36,7 @@ BOOTLOADER_DEPENDENCY = 0 endif ifeq ($(PLATFORM_MCU),rtl872x) -PREBOOTLOADER_PART1_DEPENDENCY = 8 +PREBOOTLOADER_PART1_DEPENDENCY = 9 endif ifeq ($(PLATFORM_GEN),3) diff --git a/system/inc/system_version.h b/system/inc/system_version.h index 8d594d7651..f88e711265 100644 --- a/system/inc/system_version.h +++ b/system/inc/system_version.h @@ -217,7 +217,8 @@ extern "C" { #define SYSTEM_VERSION_v580 SYSTEM_VERSION_DEFAULT(5, 8, 0) #define SYSTEM_VERSION_v581 SYSTEM_VERSION_DEFAULT(5, 8, 1) #define SYSTEM_VERSION_v582 SYSTEM_VERSION_DEFAULT(5, 8, 2) -#define SYSTEM_VERSION SYSTEM_VERSION_v582 +#define SYSTEM_VERSION_v590 SYSTEM_VERSION_DEFAULT(5, 9, 0) +#define SYSTEM_VERSION SYSTEM_VERSION_v590 /** * Previously we would set the least significant byte to 0 for the final release, but to make @@ -399,6 +400,7 @@ extern "C" { #define SYSTEM_VERSION_580 #define SYSTEM_VERSION_581 #define SYSTEM_VERSION_582 +#define SYSTEM_VERSION_590 typedef struct __attribute__((packed)) SystemVersionInfo { diff --git a/system/system-versions.md b/system/system-versions.md index 26f3c435ba..c971780fcc 100644 --- a/system/system-versions.md +++ b/system/system-versions.md @@ -192,6 +192,7 @@ | 2600 | 5800 | 5.8.0 | Argon, Boron, B SoM, B5 SoM, Tracker, Tracker M, E Som X, M SoM, P2 | | 2600 | 5801 | 5.8.1 | Argon, Boron, B SoM, B5 SoM, Tracker, Tracker M, E Som X, M SoM, P2 | | 2601 | 5802 | 5.8.2 | Argon, Boron, B SoM, B5 SoM, Tracker, Tracker M, E Som X, M SoM, P2 | +| 2700 | 5901 | 5.9.0 | Argon, Boron, B SoM, B5 SoM, Tracker, Tracker M, E Som X, M SoM, P2 | | 3000 | 6000 | 6.0.0 | Argon, Boron, B SoM, B5 SoM, Tracker, Tracker M, E Som X, M SoM, P2 | [1] For 0.8.0-rc.1, The v101 bootloader was also released in the Github releases as v200. Thus the next released bootloader in the 0.8.x line should be v201. As of 4/5/2018: 22 device had v200 bootloaders.