Skip to content
This repository has been archived by the owner on Dec 8, 2022. It is now read-only.

Commit

Permalink
Merge pull request #1643 from aws/release-candidate
Browse files Browse the repository at this point in the history
Release 201912.00
  • Loading branch information
qiutongs authored Dec 17, 2019
2 parents b223a00 + f0dd43f commit 8add5b9
Show file tree
Hide file tree
Showing 2,540 changed files with 1,134,450 additions and 147,970 deletions.
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@
*.tab text
*.tsv text
*.sql text
*.html text
*.css text

# Graphics
*.png binary
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
doc/html/*
doc/output/*
doc/tag/*
doxygen_warnings.txt
/.metadata/
.vscode/*
*.o
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,6 @@
path = libraries/3rdparty/pkcs11
url = https://github.com/amazon-freertos/pkcs11.git
branch = v2.40_errata01
[submodule "lwip"]
path = libraries/3rdparty/lwip
url = https://github.com/lwip-tcpip/lwip.git
81 changes: 60 additions & 21 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,39 @@
# Change Log for Amazon FreeRTOS

## 201912.00 12/17/2019

### New Features

#### Over the Air Update V1.1.0
- Refactor OTA agent and separate data transfer and control interface.
- Support OTA data transfer over HTTP.

#### Common I/O Library V0.1.0
- A preview of Common I/O library is included.
- Common I/O library provides a set of standard APIs, across supported reference boards, for accessing common devices.
- This preview supports UART, SPI and I2C. Support for other peripherals will follow.

### Updates
#### lwIP
- Enable lwIP full duplex feature
- The same socket may be used by multiple tasks concurrently
- lwIP is now a submodule from https://github.com/lwip-tcpip/lwip.git

#### Ethernet Support on Nuvoton NuMaker-IoT-M487
- Ethernet is now available for Nuvoton NuMaker-IoT-M487.
- Either Wi-Fi or Ethernet can be enabled exclusively.

#### HTTPS Client Library V1.1.1
- Documentation updates and additional debug logging.

#### Greengrass Discovery V2.0.0
- Remove demo configuration dependency from library files.
- Update demonstration code to use MQTT V2 APIs.

#### Bluetooth Low Energy V4.0.0
- HAL modification to replace bonded callback with pairing state change callback.
- HAL modification to change to 16-bit value for advertisement duration.

## 201910.00 10/29/2019

### New Features
Expand All @@ -15,7 +49,7 @@

#### HTTPS Client Library V1.1.0
- Upload support with HTTP methods PUT and POST is now available in the HTTPS Client Library.
- Demonstration code with PUT and POST methods are now available in demos/https.
- Demonstration code with PUT and POST methods are now available in demos/https.

#### SoftHSMv2 port for PKCS #11
- A port for SoftHSMv2, a third-party open-source implementation of PKCS #11, has been provided for use with the Windows Simulator project for Amazon FreeRTOS.
Expand All @@ -32,7 +66,7 @@
- Add nodejs/http_parser as a submodule in place of copied-over files.

#### Unity
- Add ThrowTheSwitch/Unity as a submodule in place of copied-over files.
- Add ThrowTheSwitch/Unity as a submodule in place of copied-over files.

#### PKCS #11
- Update the PKCS #11 third-party headers to be the latest from OASIS (version 2.40 Plus Errata 01).
Expand All @@ -46,20 +80,25 @@
#### Marvell SDK Update
- Marvell SDK now updated to R8 P2 (v1.2.r8.p2)

#### Bluetooth Low Energy
- ESP32 board supports NIMBLE as the default underlying stack for Bluetooth Low Energy.
- Contains bug fixes and enhancements in ESP NIMBLE stack.
- Contains bug fixes in ESP Bluedroid stack.

## 201908.00 08/26/2019

### New Features
#### New Board:Nuvoton NuMaker-IoT-M487
- Nuvoton NuMaker-IoT-M487 is now qualified for Amazon FreeRTOS.
- Disclaimer on RNG: The random number generation solution in this port is for demonstration purposes only.
- Disclaimer on RNG: The random number generation solution in this port is for demonstration purposes only.

#### FreeRTOS Kernel V10.2.1
- Kernel version for Amazon FreeRTOS is updated to V10.2.1.
- Add ARM Cortex-M23 (ARMv8-M) GCC/ARMclang and IAR ports.
- Add support to automatically switch between 32-bit and 64-bit cores to RISC-V port.

#### HTTPS Client Library V1.0.0
- The HTTPS Client library for Amazon FreeRTOS supports the HTTP/1.1 protocol over TLS.
- The HTTPS Client library for Amazon FreeRTOS supports the HTTP/1.1 protocol over TLS.
- The current request methods supported are GET and HEAD.
- Examples demonstrate downloading a file from S3 using GET with a pre-signed URL.

Expand All @@ -69,7 +108,7 @@
- Add PKCS #11 wrapper functions for easy use of commonly grouped PKCS #11 calls.

#### Demo specific stack size and priority
- Make stack size and priority to be demo specific. In current release all demos have same stack size and priority. This change will make stack size and priority configurable for each demo. Demo can use default stack size/ priority or define its own.
- Make stack size and priority to be demo specific. In current release all demos have same stack size and priority. This change will make stack size and priority configurable for each demo. Demo can use default stack size/ priority or define its own.
#### Ethernet for Microchip Curiosity PIC32MZEF
- Update Microchip Curiosity PIC32MZEF project and configuration files to support Ethernet connectivty. Developers must define PIC32_USE_ETHERNET at the project level to use Ethernet instead of Wi-Fi.
#### lwIP 2.1.2
Expand Down Expand Up @@ -98,7 +137,7 @@
- Companion device SDK 1.0.0 release for
- Android https://github.com/aws/amazon-freertos-ble-android-sdk/
- iOS https://github.com/aws/amazon-freertos-ble-ios-sdk/
- GATT services for
- GATT services for
- Device information.
- Wi-Fi credentials provisioning.
- MQTT-over-Bluetooth Low Energy through Android or iOS device proxy to support.
Expand All @@ -117,7 +156,7 @@
- Full support for Bluetooth Low Energy transport as well as TCP/IP.
- Re-implementable abstraction layer to allow port on any network stacks.
- Standard, configurable logging mechanism.
- Extend Device Defender support to additional development boards. Current set of metrics now available on all development boards that implement Secure Sockets abstraction.
- Extend Device Defender support to additional development boards. Current set of metrics now available on all development boards that implement Secure Sockets abstraction.

#### Task Pool library V1.0.0
- Task (Thread) pool library for asynchronous processing.
Expand All @@ -141,7 +180,7 @@
- Texas Instruments CC3220SF-LAUNCHXL
- Microsoft Windows Simulator

### Updates
### Updates
- mbedTLS library is upgraded to version 2.16.0.
- ESP-IDF version is upgraded to 3.1.3.
- Update demo projects for cleaner separation of platform specific code.
Expand All @@ -151,7 +190,7 @@
### New Features
#### New Boards: Marvell MW320 and MW322
- Marvell boards MW320 and MW322 are now qualified for Amazon FreeRTOS.
- Disclaimer on RNG: The random number generation solution in this port is for demonstration purposes only.
- Disclaimer on RNG: The random number generation solution in this port is for demonstration purposes only.

#### FreeRTOS Kernel V10.2.0
- Kernel version for Amazon FreeRTOS is updated to V10.2.0.
Expand All @@ -173,7 +212,7 @@
- Leave the scheduler running during PKCS #11 calls.

#### Wi-Fi for ESP32-DevKitC ESP-WROVER-KIT V1.0.2
- lib/wifi: fix issue with WiFi configuration for non-null strings, and fix scanning failure under certain disconnect scenarios.
- lib/wifi: fix issue with WiFi configuration for non-null strings, and fix scanning failure under certain disconnect scenarios.
- ib/FreeRTOS-Plus-TCP: do not send eNetworkDownEvent to stack if interface is already down.
- mbedtls: configurable options for controlling dynamic memory allocations.
- lib/third_party: update ESP-IDF to latest v3.1.3 release.
Expand All @@ -195,7 +234,7 @@
- Free the memory allocated by the pcap_compile routine in the WinPCap network interface module.

#### Shadow V1.0.6
- Add a debug message in the event that JSMN runs out of memory trying to parse JSON.
- Add a debug message in the event that JSMN runs out of memory trying to parse JSON.
- Print a debug message for any JSMN error, not just 'JSMN_ERROR_NOMEM'.

#### PKCS #11 PAL for Windows Simulator V1.0.4
Expand All @@ -205,11 +244,11 @@
- Update documentation.

#### TLS V1.1.4
- TLS_Send now handles the error condition when space is not avaiable.
- TLS_Send now handles the error condition when space is not avaiable.
- Convert errors in TLS wrapper to negative error codes.

#### Curiosity PIC32MZEF Linker Update for XC32 Compiler
- The latest XC32 compiler (version 2.15) does not allow multiple definitions by default. Explicitly enabling multiple definitions in aws_tests and aws_demos projects for now.
- The latest XC32 compiler (version 2.15) does not allow multiple definitions by default. Explicitly enabling multiple definitions in aws_tests and aws_demos projects for now.

## V1.4.7 02/18/2019
### New Features
Expand Down Expand Up @@ -251,7 +290,7 @@
- Rename variables to comply with style guidelines.

#### PKCS #11 PAL for Cypress CYW943907AEVAL1F development kit V1.0.0
- Added as part of Cypress CYW43907 board port.
- Added as part of Cypress CYW43907 board port.
- Note that the random number generation solution in this port is provided for demonstration purposes only. See the comment in lib/pkcs11/portable/cypress/CYW943907AEVAL1F/hw_poll.c.

#### PKCS #11 PAL for Cypress CYW954907AEVAL1F development kit V1.0.0
Expand Down Expand Up @@ -298,7 +337,7 @@ The Renesas Starter Kit+ for RX65N-2MB is now qualified for Amazon FreeRTOS. Thi
- Update license information.

#### PKCS #11 PAL for Renesas Starter Kit+ for RX65N-2MB V1.0.0
- Add PKCS #11 support for the Renesas Starter Kit+ for RX65N-2MB.
- Add PKCS #11 support for the Renesas Starter Kit+ for RX65N-2MB.
- Note that the random number generation solution in this port is provided for demonstration purposes only. See the comment in lib/third_party/mcu_vendor/renesas/amazon_freertos_common/entropy_hardware_poll.c for more information.

#### Wi-Fi for MT7697Hx-Dev-Kit V1.0.1
Expand Down Expand Up @@ -373,7 +412,7 @@ Amazon FreeRTOS support for the MediaTek MT7697Hx-Dev-Kit includes for the first

#### PKCS #11 Updates
Update mbedTLS-based PKCS #11, and PKCS #11 PAL. These changes have been made to more closely align with the PKCS #11 standard, respond to feedback from users and partners, and make it easy for users to go to production from a prototype.
Applications calling into PKCS #11 functions directly (rather than indirectly via an Amazon provided secure sockets or TLS layer) may experience breaking changes.
Applications calling into PKCS #11 functions directly (rather than indirectly via an Amazon provided secure sockets or TLS layer) may experience breaking changes.

##### mbedTLS-based PKCS #11
- C_Initialize handles initialization of randomness in an effort to minimize entropy generation (or seed access) every time sessions are created and destroyed. To protect random values, thread safety has been enabled in mbedTLS.
Expand All @@ -400,12 +439,12 @@ Applications calling into PKCS #11 functions directly (rather than indirectly vi
- PKCS #11 PAL for Xilinx Zynq MicroZed V1.0.0 (new)

##### PKCS #11 for CC3220SF-LAUNCHXL
- Updates to match behavior of mbedTLS-based PKCS #11.
- Updates to match behavior of mbedTLS-based PKCS #11.
- mbedTLS added to support conversion between DER and PEM objects. Note that after provisioning the device, mbedTLS and provisiong PKCS #11 functions may be removed to reduce code size.
- PKCS #11 PAL for CC3220SF-LAUNCHXL V1.0.3

##### OTA PAL Updates
- The OTA PALs for the Curiosity PIC32MZEF and ESP32-DevKitC ESP-WROVER-KIT boards have been modified to utilize PKCS #11 API to retrieve code signing keys, rather than calling into PKCS #11 PAL functions.
- The OTA PALs for the Curiosity PIC32MZEF and ESP32-DevKitC ESP-WROVER-KIT boards have been modified to utilize PKCS #11 API to retrieve code signing keys, rather than calling into PKCS #11 PAL functions.
- OTA PAL for Curiosity PIC32MZEF V1.0.1
- OTA PAL for ESP32-DevKitC ESP-WROVER-KIT V1.0.1

Expand Down Expand Up @@ -498,12 +537,12 @@ None

### Updates

#### FreeRTOS+TCP
#### FreeRTOS+TCP
- Multiple security improvements and fixes in packet parsing routines, DNS caching, and TCP sequence number and ID generation.
- Disable NBNS and LLMNR by default.
- Add TCP hang protection by default.

#### Secure Sockets for FreeRTOS+TCP
#### Secure Sockets for FreeRTOS+TCP
- Improve security in Amazon FreeRTOS Secure Sockets usage of mbedTLS and ALPN.

We thank Ori Karliner of Zimperium zLabs Team for reporting these issues.
Expand All @@ -516,7 +555,7 @@ None
### Updates

#### OTA Beta Update
- Updates to OTA Beta to incorporate a new API for the OTA service. This API is not compatible with the API used in the original OTA Beta released on Dec. 20th.
- Updates to OTA Beta to incorporate a new API for the OTA service. This API is not compatible with the API used in the original OTA Beta released on Dec. 20th.
- Add a "reference bootloader" for use in the OTA process. This bootloader is for use with the Microchip MCU.

#### Amazon FreeRTOS Qualification Program (AFQP) Update
Expand Down
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
endif()

project(amazon-freertos)
set(PROJECT_VERSION "201910.00")
set(PROJECT_VERSION_MAJOR "201910")
set(PROJECT_VERSION "201912.00")
set(PROJECT_VERSION_MAJOR "201912")
set(PROJECT_VERSION_MINOR "00")

# Import global configurations.
Expand Down
21 changes: 13 additions & 8 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,23 +24,28 @@ reported the issue. Please try to include as much information as you can. Detail
Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that:

1. You are working against the latest source on the *master* branch.
2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already.
3. You open an issue to discuss any significant work - we would hate for your time to be wasted.
1. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already.
1. You open an issue to discuss any significant work - we would hate for your time to be wasted.

To send us a pull request, please:

1. Ensure you are considering a change to AWS source code (FreeRTOS kernel, AWS libraries). Proposed changes to 3rd party code should be submitted instead to the 3rd party.
2. Fork the repository.
3. Modify the source; please focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change.
4. Ensure local tests pass.
5. Commit to your fork using clear commit messages.
6. Send us a pull request, answering any default questions in the pull request interface.
1. Fork the repository.
1. Modify the source; please focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change.
1. Make sure to follow the coding style guide.
1. Ensure local tests pass.
1. Commit to your fork using clear commit messages.
1. Send us a pull request, answering any default questions in the pull request interface.
NOTE: Please make sure the default option (Allow edits from maintainers) is left checked.
7. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.
1. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.

GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and
[creating a pull request](https://help.github.com/articles/creating-a-pull-request/).

## Coding Style
* Follow this coding style guide for all libraries except FreeRTOS-Plus-TCP and FreeRTOS-Plus-Posix, https://docs.aws.amazon.com/freertos/latest/lib-ref/c-sdk/main/guide_developer_styleguide.html
* For FreeRTOS-Plus-TCP and FreeRTOS-Plus-Posix, follow the FreeRTOS coding style, https://www.freertos.org/FreeRTOS-Coding-Standard-and-Style-Guide.html

## Getting Your Pull Request Merged
All Pull Requests must be approved by our review team before it can be merged in. We appreciate your patience while pull requests are reviewed as the time taken will depend on its complexity and wider implications.

Expand Down
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ For detailed documentation on Amazon FreeRTOS, refer to the [Amazon FreeRTOS Use

## Supported Hardware

For additional boards that are supported for Amazon FreeRTOS, please visit the [AWS Device Catalog](https://devices.amazonaws.com/search?kw=freertos)

The following MCU boards are supported for Amazon FreeRTOS:
1. **Texas Instruments** - [CC3220SF-LAUNCHXL](http://www.ti.com/tool/cc3220sf-launchxl).
* [Getting Started Guide](https://docs.aws.amazon.com/freertos/latest/userguide/getting_started_ti.html)
Expand Down
Loading

0 comments on commit 8add5b9

Please sign in to comment.