From 672b37deec7589b2e7346d3acb6a0e8ba79fa9fe Mon Sep 17 00:00:00 2001 From: Miguel Luis Date: Fri, 9 Dec 2022 14:48:26 +0100 Subject: [PATCH] v4.7.0 release Closes #1394 --- CHANGELOG.md | 62 +++++++++++++++++++++++++ README.md | 8 ++-- SECURITY.md | 4 +- src/apps/LoRaMac/common/githubVersion.h | 2 +- 4 files changed, 69 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index eb1083310..914c58f87 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,68 @@ Please refer to [Releases pre-certification-results](https://github.com/Lora-net ## [Unreleased] +## [4.7.0] - 2022-12-09 + +### General + +- Release based on "LoRaWAN specification 1.0.4" and "LoRaWAN specification 1.1.0 + FCntDwn ERRATA" with "LoRaWAN Regional Parameters 2-1.0.3" +- GitHub reported issues corrections. + +### Known limitations + +- SAMR34 platform does not implement NVM storage functionality. This is a requirement for LoRaWAN versions greater or equal to 1.0.4. + No work on this subject is forseen by the maintainers. Implementation proposals are welcome. + +### Added + +- Trigger NVM update on `MacGroup2.DutyCycleOn` change +- Configure radio sync word upon state restoration from NVM +- Added missing return status initialization for Class A +- Added a check for `GroupId` in order to avoid out of bounds access +- Make LBT RSSI free channel threshold and carrier sense time (CST) parameters configurable +- Signal NVM data change in `LoRaMacMc*` functions +- Teach `LoRaMacIsBusy` return false if the MAC is stopped +- Added support for new release of ARIB STD-T108 Ver1.4 under AS923 region +- Support LoRaWAN 1.1 with ATECC608A/B secure element +- Added a function to reset the stack internal state machine +- Added an option for MAC commands to verify against an explicit confirmation +- Added a check to verify that `SystemMaxRxError` provided value is in the range 0..500 ms + +### Changed + +- Updated regions implementation to regional parameters RP2-1.0.3 +- Move AdrAckLimit and AdrAckDelay to NVM `MacGroup2` +- Refactored and improved the way the duty-cycle is managed + +### Fixed + +- Fixed class B multicast handling in `LoRaMacClassBProcessMulticastSlot()` +- Restore `RegionGroup2` in `RestoreNvmData` +- Fix a duty cycle related deadlock in `ScheduleTx` +- Fixed where `LastDownFCnt` update takes place for LoRaWAN 1.1.x +- Fixes for class C activation and deactivation +- Don't `memset` the TX/RX buffer when radio is set to receive mode +- Fixed usage of wrong API for general purpose keys +- Fixed and refactored JoinReq, `ReJoinType0Req`, `ReJoinType1Req`, `ReJoinType2Req` handling +- Fixed Rx windows timer handling +- Fixed FUOTA fragmentation implementation +- Fixed time credits check as proposed +- Fixed potential buffer overflow in `ProcessRadioRxDone` - [Security](###security) +- Applied the proposed fix for the CRC check of empty `struct` +- Fixed inconsistent handling of undefined callbacks +- Fixed `HardFault_Handler` for Cortex-M0 targets +- Fixed ABP join handling to be similar to OTAA join handling +- Fixed issue with RX2 data rate in case of 0x0F for `RxParamSetupReq` and `JoinAccept` + +### Removed + +- Removed useless `FOptsLen` filed check +- Removed unused `ACTIVE_REGION` pre-processing check + +### Security + +- Security breach found by Simon Wörner(@SWW13) please refer to security advisory - [security advisory - CVE-2022-39274](https://github.com/Lora-net/LoRaMac-node/security/advisories/GHSA-7vv8-73pc-63c2) + ## [4.6.0] - 2022-01-11 ### General diff --git a/README.md b/README.md index d14b7c5c6..8c8967352 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ \____ \| ___ | (_ _) ___ |/ ___) _ \ _____) ) ____| | | || |_| ____( (___| | | | (______/|_____)_|_|_| \__)_____)\____)_| |_| - (C)2013-2021 Semtech + (C)2013-2022 Semtech ___ _____ _ ___ _ _____ ___ ___ ___ ___ / __|_ _/_\ / __| |/ / __/ _ \| _ \/ __| __| @@ -22,8 +22,8 @@ This project has 2 active branches in place. | Branch | L2 spec | RP spec | Tag/Milestone | Class | Comments | | ------------- |:-------------:|:---------:|:---------:|:---------:|:--------------| -| | [1.0.4](https://resources.lora-alliance.org/technical-specifications/ts001-1-0-4-lorawan-l2-1-0-4-specification) / [1.1.0](https://resources.lora-alliance.org/technical-specifications/lorawan-specification-v1-1) + [FCntDwn ERRATA](https://resources.lora-alliance.org/technical-specifications/fopts-encryption-usage-of-fcntdwn-errata-on-the-lorawan-l2-1-1-specification) | [2-1.0.1](https://resources.lora-alliance.org/technical-specifications/rp2-1-0-1-lorawan-regional-parameters) | [v4.6.0](https://github.com/Lora-net/LoRaMac-node/releases/tag/v4.6.0) | A/B/C | LoRaWAN L2 1.0.4 - **_Released_** | -| [master](https://github.com/Lora-net/LoRaMac-node/tree/master) | [1.0.4](https://resources.lora-alliance.org/technical-specifications/ts001-1-0-4-lorawan-l2-1-0-4-specification) / [1.1.0](https://resources.lora-alliance.org/technical-specifications/lorawan-specification-v1-1) + [FCntDwn ERRATA](https://resources.lora-alliance.org/technical-specifications/fopts-encryption-usage-of-fcntdwn-errata-on-the-lorawan-l2-1-1-specification) | [2-1.0.3](https://resources.lora-alliance.org/technical-specifications/rp2-1-0-3-lorawan-regional-parameters) | [M 4.7.0](https://github.com/Lora-net/LoRaMac-node/milestone/10) | A/B/C | LoRaWAN L2 1.0.4 / 1.1.0 | +| | [1.0.4](https://resources.lora-alliance.org/technical-specifications/ts001-1-0-4-lorawan-l2-1-0-4-specification) / [1.1.0](https://resources.lora-alliance.org/technical-specifications/lorawan-specification-v1-1) + [FCntDwn ERRATA](https://resources.lora-alliance.org/technical-specifications/fopts-encryption-usage-of-fcntdwn-errata-on-the-lorawan-l2-1-1-specification) | [2-1.0.3](https://resources.lora-alliance.org/technical-specifications/rp2-1-0-3-lorawan-regional-parameters) | [v4.7.0](https://github.com/Lora-net/LoRaMac-node/releases/tag/v4.7.0) | A/B/C | LoRaWAN L2 1.0.4 - **_Released_** | +| [master](https://github.com/Lora-net/LoRaMac-node/tree/master) | [1.0.4](https://resources.lora-alliance.org/technical-specifications/ts001-1-0-4-lorawan-l2-1-0-4-specification) / [1.1.0](https://resources.lora-alliance.org/technical-specifications/lorawan-specification-v1-1) + [FCntDwn ERRATA](https://resources.lora-alliance.org/technical-specifications/fopts-encryption-usage-of-fcntdwn-errata-on-the-lorawan-l2-1-1-specification) | [2-1.0.3](https://resources.lora-alliance.org/technical-specifications/rp2-1-0-3-lorawan-regional-parameters) | [v4.7.0](https://github.com/Lora-net/LoRaMac-node/milestone/10) | A/B/C | LoRaWAN L2 1.0.4 / 1.1.0 | | [v5.0.0-branch](https://github.com/Lora-net/LoRaMac-node/tree/v5.0.0-branch) | [1.0.4](https://resources.lora-alliance.org/technical-specifications/ts001-1-0-4-lorawan-l2-1-0-4-specification) / [1.1.0](https://resources.lora-alliance.org/technical-specifications/lorawan-specification-v1-1) + [FCntDwn ERRATA](https://resources.lora-alliance.org/technical-specifications/fopts-encryption-usage-of-fcntdwn-errata-on-the-lorawan-l2-1-1-specification) | [2-1.0.3](https://resources.lora-alliance.org/technical-specifications/rp2-1-0-3-lorawan-regional-parameters) | [M 5.0.0](https://github.com/Lora-net/LoRaMac-node/milestone/11) | A/B/C | LoRaWAN L2 1.0.4 / 1.1.0 - Adds support for LR-FHSS modulation | This project fully implements ClassA, ClassB and ClassC end-device classes and it also provides SX1272/73, SX1276/77/78/79, SX1261/2 and LR1110 radio drivers. @@ -48,7 +48,7 @@ For each currently supported platform example applications are provided. This project currently provides support for the below platforms. This project can be ported to other platforms using different MCU than the ones currently supported. -The [Porting Guide](https://stackforce.github.io/LoRaMac-doc/LoRaMac-doc-v4.5.1/_p_o_r_t_i_n_g__g_u_i_d_e.html) document provides guide lines on how to port the project to other platforms. +The [Porting Guide](https://stackforce.github.io/LoRaMac-doc/LoRaMac-doc-v4.7.0/_p_o_r_t_i_n_g__g_u_i_d_e.html) document provides guide lines on how to port the project to other platforms. * NAMote72 * [NAMote72 platform documentation](doc/NAMote72-platform.md) diff --git a/SECURITY.md b/SECURITY.md index 4f2a96a5b..4dee2696e 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -2,12 +2,12 @@ ## Supported Versions -Vulnerability fixes will always be applied on [develop](https://github.com/Lora-net/LoRaMac-node/tree/develop) branch and included in next release. +Vulnerability fixes will always be applied on [master](https://github.com/Lora-net/LoRaMac-node/tree/master) branch and included in next release. We may consider to hotfix the most recent release depending on the circumstances. Older releases will not be hotfixed. | Version | Supported | | ------- | ------------------ | -| [develop](https://github.com/Lora-net/LoRaMac-node/tree/develop) | :white_check_mark: | +| [master](https://github.com/Lora-net/LoRaMac-node/tree/master) | :white_check_mark: | | [latest release](https://github.com/Lora-net/LoRaMac-node/releases/latest) | :question: | | older releases | :x: | diff --git a/src/apps/LoRaMac/common/githubVersion.h b/src/apps/LoRaMac/common/githubVersion.h index 6c20f0a69..c995d555b 100644 --- a/src/apps/LoRaMac/common/githubVersion.h +++ b/src/apps/LoRaMac/common/githubVersion.h @@ -24,7 +24,7 @@ extern "C" { #endif -#define GITHUB_VERSION 0x04060000 // 4.6.0.0 +#define GITHUB_VERSION 0x04070000 // 4.7.0.0 #ifdef __cplusplus }