You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Dec 8, 2022. It is now read-only.
Copy file name to clipboardExpand all lines: CHANGELOG.md
+120-6Lines changed: 120 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,119 @@
1
1
# Change Log
2
-
This repository contains the `FreeRTOS AWS Reference Integrations`, which are pre-integrated FreeRTOS projects that demonstrate connectivity with AWS IoT. The repository contains projects for many different microcontroller evaluation boards.
2
+
This repository contains the `FreeRTOS AWS Reference Integrations`, which are pre-integrated FreeRTOS projects that demonstrate connectivity with AWS IoT. The repository contains projects for many different microcontroller evaluation boards.
3
+
4
+
## 202011.00 November 2020
5
+
6
+
### New Features
7
+
8
+
This release includes refactored MQTT, JSON Parser, and AWS IoT Device Shadow libraries for optimized memory usage and modularity, and includes dependent libraries via GitHub submoduling. These libraries have gone through code quality checks including verification that no function has a [GNU Complexity](https://www.gnu.org/software/complexity/manual/complexity.html) score over 8, and checks against the [MISRA coding standard](https://www.misra.org.uk/MISRAHome/MISRAC2012/tabid/196/Default.aspx). Deviations from the MISRA C:2012 guidelines are documented under [MISRA Deviations](https://github.com/aws/aws-iot-device-sdk-embedded-C/blob/202009.00/MISRA.md). These libraries have also undergone both static code analysis from [Coverity static analysis](https://github.com/aws/aws-iot-device-sdk-embedded-C/blob/202009.00/MISRA.md), and validation of memory safety and functional correction proofs through the CBMC automated reasoning tool.
9
+
10
+
The MQTT library in this release, coreMQTT, supports backward compatibility with the MQTT library in FreeRTOS version 201906.00 or higher via a [compatibility layer](https://github.com/aws/amazon-freertos/tree/202011.00/libraries/c_sdk/standard/mqtt). Therefore, MQTT-dependent libraries in FreeRTOS version 201906.00 or higher, including AWS IoT Device Shadow, AWS IoT Device Defender, and Greengrass Discovery, can use the coreMQTT library via the compatibility layer.
11
+
12
+
#### AWS IoT Device Shadow V1.0.1
13
+
14
+
- The [AWS IoT Device Shadow](https://github.com/aws/device-shadow-for-aws-iot-embedded-sdk) library enables you to store and retrieve the current state (the “shadow”) of every registered device. The device’s shadow is a persistent, virtual representation of your device that you can interact with from AWS IoT Core even if the device is offline. The device state captured as its “shadow” is itself a JSON document. The device can send commands over MQTT or HTTP to update its latest state. Each device’s shadow is uniquely identified by the name of the corresponding “thing”, a representation of a specific device or logical entity on AWS IoT. More details about AWS IoT Device Shadow can be found in [AWS IoT documentation](https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html).
15
+
- The AWS IoT Device Shadow library has no dependencies on additional libraries other than the standard C library. It also doesn’t have any platform dependencies, such as threading or synchronization. It can be used with any MQTT library and any JSON library (see [demos](https://github.com/aws/aws-iot-device-sdk-embedded-C/tree/master/demos/shadow) with coreMQTT and coreJSON).
16
+
- See memory requirements for the latest release [here](https://docs.aws.amazon.com/embedded-csdk/202011.00/lib-ref/libraries/aws/device-shadow-for-aws-iot-embedded-sdk/docs/doxygen/output/html/index.html#shadow_memory_requirements).
17
+
18
+
#### coreJSON V2.0.0
19
+
20
+
- The [coreJSON](https://github.com/FreeRTOS/coreJSON) library is a JSON parser that strictly enforces the [ECMA-404 JSON standard](https://www.json.org/json-en.html). It provides a function to validate a JSON document, and a function to search for a key and return its value. A search can descend into nested structures using a compound query key. A JSON document validation also checks for illegal UTF8 encodings and illegal Unicode escape sequences.
21
+
- See memory requirements for the latest release [here](https://docs.aws.amazon.com/embedded-csdk/202011.00/lib-ref/libraries/standard/coreJSON/docs/doxygen/output/html/index.html#json_memory_requirements).
22
+
23
+
#### coreMQTT V1.0.1
24
+
25
+
- The [coreMQTT](https://github.com/FreeRTOS/coreMQTT) library provides the ability to establish an MQTT connection with a broker over a customer-implemented transport layer, which can either be a secure channel like a TLS session (mutually authenticated or server-only authentication) or a non-secure channel like a plaintext TCP connection. This MQTT connection can be used for performing publish operations to MQTT topics and subscribing to MQTT topics. The library provides a mechanism to register customer-defined callbacks for receiving incoming PUBLISH, acknowledgement and keep-alive response events from the broker. The library has been refactored for memory optimization and is compliant with the [MQTT 3.1.1](http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html) standard. It has no dependencies on any additional libraries other than the standard C library, a customer-implemented network transport interface, and optionally a customer-implemented platform time function. The refactored design embraces different use-cases, ranging from resource-constrained platforms using only QoS 0 MQTT PUBLISH messages to resource-rich platforms using QoS 2 MQTT PUBLISH over TLS connections.
26
+
- See memory requirements for the latest release [here](https://docs.aws.amazon.com/embedded-csdk/202011.00/lib-ref/libraries/standard/coreMQTT/docs/doxygen/output/html/index.html#mqtt_memory_requirements).
27
+
28
+
#### OTA PAL for Renesas Starter Kit + RX65N-2MB
29
+
30
+
- Added OTA PAL Port for Renesas RX65N-2MB board
31
+
32
+
### Updates
33
+
34
+
#### Bluetooth Low Energy (BLE) Hardware Abstraction Library (HAL) V5.1.0
35
+
36
+
- Added ACL connection state change callback for BLE HAL
37
+
38
+
#### Bluetooth Low Energy Management Library V2.2.0
39
+
40
+
- Added transport interface for BLE library to send data to AWS IoT using the coreMQTT and AWS IoT Device Shadow client libraries. The transport interface utilizes a companion device mobile application implemented using FreeRTOS BLE Android and iOS SDKs to send data to AWS IoT.
41
+
- Added coreMQTT and AWS IoT Device Shadow demos for BLE. The respective demos "MQTT BLE Transport Demo" and "Shadow BLE Transport Demo" can be found under `demos/ble` folder. The demo uses the new MQTT and Shadow client libraries and the BLE transport interface to send and receive data with AWS IoT.
42
+
43
+
#### Common I/O Library V0.1.2
44
+
45
+
- Added more peripherals to CMake.
46
+
47
+
#### FreeRTOS+CLI V1.0.5
48
+
49
+
- Added FreeRTOS+CLI V1.0.4 to Amazon FreeRTOS repository.
50
+
- Added FreeRTOS Console API to interact with CLI over common IO or UDP interface.
51
+
- Added sample which demonstrates executing commands using FreeRTOS+CLI and UART interface.
52
+
53
+
#### FreeRTOS+TCP V2.3.1
54
+
55
+
- Sub-moduled to the [FreeRTOS/FreeRTOS-Plus-TCP](https://github.com/FreeRTOS/FreeRTOS-Plus-TCP) repository. This is a breaking change for users using 202007.00 release of amazon-freertos due to change in folder structure.
56
+
- Bug Fix for UDP only (`ipconfigUSE_TCP == 0`) compilation of FreeRTOS+TCP. Conditional compilation on the value of `ipconfigUSE_TCP` updated to exclude TCP only components.
57
+
- Added descriptions for functions and variables in Doxygen compatible format.
58
+
- Updated `prvParseDNSReply` function signature.
59
+
60
+
#### FreeRTOS+POSIX Utils V1.2.0
61
+
62
+
- The `iot_pki_utils.h` and `iot_pki_utils.c` are renamed to `core_pki_utils.h` and `core_pki_utils.c` respectively. They are also now a part of the corePKCS11 repository.
63
+
64
+
#### Greengrass Discovery V2.0.2
65
+
66
+
- Added more logging in library.
67
+
68
+
#### MQTT Client Library V2.3.0
69
+
70
+
- Refactored as compatibility layer for V2.x.x MQTT APIs using coreMQTT library. This is the library that supports backward compatibility with MQTT APIs present in between 201906.00 and 202007.00.
71
+
72
+
#### Over the Air Update V1.2.1
73
+
74
+
- Added check to abort the update if updating job status as self-test in service fails, this helps in early detection of mismatch in device and jobs states before activating new image.
75
+
76
+
#### PKCS11 V2.1.1
77
+
78
+
- Sub-moduled to the [FreeRTOS/corePKCS11](https://github.com/FreeRTOS/corePKCS11) repository.
79
+
- Updated ECC608A and PSA library dependencies to corePKCS naming scheme. Refactored AFQP tests to support HSMs that have locked down credentials.
80
+
81
+
#### Secure Sockets LwIP V1.3.0
82
+
83
+
- Added new optional API `SOCKETS_Bind`.
84
+
- Extended `SOCKETS_SetSockOpt` to support TCP keepalive settings.
85
+
86
+
#### Shadow V2.2.3
87
+
88
+
- Updated unit tests to work with the MQTT compatibility layer. This is the library that supports backward compatibility with Shadow APIs present in between 201906.00 and 202007.00.
89
+
90
+
#### TLS Shim Layer V1.3.0
91
+
92
+
- Added missing Max Fragment Length (MFL) runtime configuration if MFL macro is enabled.
93
+
94
+
#### Wi-Fi V2.0.0
95
+
96
+
- Updated WiFi APIs to support more granular error codes, WEP encryption, SoftAP provisioning, optional asynchronous APIs, event handling and set country code.
97
+
98
+
#### OTA PAL for Espressif ESP32-DevKitC
99
+
100
+
- Changed default configuration for number and size of blocks to be compatible with the size of the mbedTLS input buffer.
101
+
102
+
#### OTA PAL for Espressif ESP-WROVER-KIT
103
+
104
+
- Changed default configuration for number and size of blocks to be compatible with the size of the mbedTLS input buffer.
105
+
106
+
#### OTA PAL for Microsoft Windows Simulator
107
+
108
+
- Changed default configuration for number and size of blocks to be compatible with the size of the mbedTLS input buffer.
109
+
110
+
#### OTA PAL for Microchip ATECC608A with Windows Simulator
111
+
112
+
- Changed default configuration for number and size of blocks to be compatible with the size of the mbedTLS input buffer.
113
+
114
+
#### OTA PAL for Microchip Curiosity PIC32MZEF
115
+
116
+
- Changed default configuration for number and size of blocks to be compatible with the size of the mbedTLS input buffer.
3
117
4
118
## 202007.00 July 2020
5
119
@@ -11,7 +125,7 @@ This repository contains the `FreeRTOS AWS Reference Integrations`, which are pr
11
125
- Updated the OTA demo to demonstrate how to suspend an in-progress OTA update should the MQTT connection disconnect, then resume the same update when the MQTT connection reconnects. In line with best practice, the reconnect logic uses an exponential backoff and jitter algorithm to prevent the MQTT server getting overwhelmed with connection requests if a fleet of devices get disconnected and then attempt to reconnect at the same time.
12
126
- For testing purposes only, it is now possible to use the OTA agent to downgrade a version number or revert to an older version. This new functionality is disabled by default.
13
127
14
-
#### New Board: Cypress PSoC 64 Standard Secure AWS Wi-Fi Bluetooth Pioneer Kit
128
+
#### New Board: Cypress PSoC 64 Standard Secure AWS Wi-Fi Bluetooth Pioneer Kit
15
129
- New Board: The <b>Cypress PSoC 64</b> board is now qualified with FreeRTOS.
16
130
17
131
#### New Board: ESP32-WROOM-32SE
@@ -37,7 +151,7 @@ This repository contains the `FreeRTOS AWS Reference Integrations`, which are pr
37
151
#### PKCS#11 V2.1.0
38
152
39
153
- Added doxygen to various PKCS #11 files.
40
-
- Added improved logging for mbed TLS return codes in iot_pkcs11_mbedtls.c.
154
+
- Added improved logging for mbed TLS return codes in iot_pkcs11_mbedtls.c.
41
155
42
156
#### Bluetooth Low Energy (BLE) Hardware Abstraction Library (HAL) V5.0.0
43
157
@@ -66,14 +180,14 @@ This repository contains the `FreeRTOS AWS Reference Integrations`, which are pr
66
180
67
181
#### Over the Air Update V1.2.0
68
182
69
-
- Fixed an issue encountered when an OTA job is force cancelled while the related download is in progress. It was caused due to the self-start timer starting after the OTA job document is received. The fix starts the self-start timer when the OTA agent on the device starts.
183
+
- Fixed an issue encountered when an OTA job is force cancelled while the related download is in progress. It was caused due to the self-start timer starting after the OTA job document is received. The fix starts the self-start timer when the OTA agent on the device starts.
70
184
71
185
#### Espressif
72
186
73
187
- Support OTA via HTTP over the BLE channel for ESP32 (when SPIRAM is enabled).
74
-
- Added ESP-IDF component for WiFi provisioning in SoftAP mode. This allows provisioning devices with Wi-Fi credentials via a web-server running on the device and a provisioning mobile application. This mode requires the use of lwIP as the networking stack.
188
+
- Added ESP-IDF component for WiFi provisioning in SoftAP mode. This allows provisioning devices with Wi-Fi credentials via a web-server running on the device and a provisioning mobile application. This mode requires the use of lwIP as the networking stack.
75
189
- Replaced ESP-IDF code to be a submodule pointer to the official ESP-IDF repository.
0 commit comments