Skip to content

Latest commit

 

History

History
336 lines (228 loc) · 22 KB

CHANGELOG.md

File metadata and controls

336 lines (228 loc) · 22 KB

Changelog for AWS IoT Device SDK for Embedded C

202211.00 (November 2022)

Major Changes

  • This release includes an update to how the Coverity static analysis scans are performed. There is now a tools/coverity/README.md file in each library with instructions on how to perform a scan with 0 MISRA coding standard warnings or errors.
  • #1823 Update library submodule pointers to use the same versions used in FreeRTOS LTS 202210.01-LTS. The versions of the libraries used for this release went through extensive testing as described in the LTS Code Quality Checklist. Further information about the changes can be found in the CHANGELOG.md file in each library.
  • #1779 Update version of MbedTLS from v2.26.0 to v2.28.0

Minor Changes

  • #1831 Create a demo for connecting a device to a Greengrass core using the new feature that allows using custom CAs.
  • #1826 Adds a test to verify multiple subscription and unsubscribe requests succeed when done through a single API call.
  • #1809 Reduce the likelihood of encountering transient connection issues by setting TRANSPORT_SEND_RECV_TIMEOUT_MS to a minimum of 1000ms in all tests and demos.

202108.00 (August 2021)

Major Changes

  • This release introduces the refactored AWS IoT Fleet Provisioning library and AWS SigV4 library. These libraries have gone through code quality checks including verification that no function has a GNU Complexity score greater than 8, checks against deviations from the mandatory rules in the MISRA coding standard, static code analysis from Coverity static analysis and validation of memory safety through the CBMC automated reasoning tool.
  • #1692 Update the existing HTTP S3 download demo to obtain temporary credentials from AWS IoT Credential Provider and use the the new AWS SigV4 library to sign HTTP requests with those credentials for authenticating with AWS S3 service.
  • #1688 Add Demo to showcase use of AWS IoT Fleet Provisioning library using the "Provisioning by Claim" workflow of the Fleet Provisioning feature of AWS IoT Core.
  • #1680 Add new transport interface implementation using Mbed TLS (for TLS stack) and corePKCS11 (for credential management).

Minor Changes

  • #1670 Update corePKCS11 demo to read the public key as the private key was being used to both sign and verify
  • #1596 Make THING_NAME an alias for CLIENT_IDENTIFIER in MQTT-related demos
  • #1593 Initialize MQTT status return code in OTA demos mqtt_publish
  • #1599 Checking execution status of demo loop before calling pthread_join in OTA demos

202103.00 (March 2021)

Major Changes

  • Changes brought through submodule update of libraries:
  • Changes brought through pushing commits to AWS IoT Device SDK for Embedded C:
    • #1547 Update the Device Defender demo to showcase reporting of custom metrics to the AWS IoT Device Defender service.
    • AWS IoT Over-the-air Update library v3.0.0 is now generally available.
    • #1529, #1532 Update Jobs demo to use DescribeJobExecution API instead of StartNextPendingJobExecution API, and disable functionality of periodic job updates by default.
    • #1519 Add an install target for installing libraries and headers in file system.

Minor Changes

  • #1511 Fix memory leak in PKCS #11 test.
  • #1539 Add retries for MQTT publishing with the backoffAlgorithm library.
  • #1516, #1538, #1540, #1487 Minor bugfixes and refactoring of the OTA demos and OTA PAL for POSIX.
  • #1552 Update broken links in demo comments and documentation.
  • # #1599 In OTA demo add check before calling pthread_join.

202012.01 (December 2020)

Major Changes

  • This release introduces the AWS IoT Over-the-air Update library(Release Candidate), backoffAlgorithm library, and PKCS #11 library. These libraries have gone through code quality checks including verification that no function has a GNU Complexity score greater than 8, checks against deviations from the mandatory rules in the MISRA coding standard, and static code analysis from Coverity statical analysis. In addition, PKCS11 library has also undergone validation of memory safety through the CBMC automated reasoning tool.

  • This release uses submodule references to the following new individual repositories for the AWS IoT Over-the-air Update, backoffAlgorithm, and PKCS11 libraries under the libraries folder:

202011.00 (November 2020)

Major Changes

  • This release introduces the re-factored HTTP client library, AWS IoT Device Defender client library, and AWS IoT Jobs client library. These libraries have gone through code quality checks including verification that no function has a GNU Complexity score greater than 8, and checks against deviations from the mandatory rules in the MISRA coding standard. These libraries have also undergone both static code analysis from Coverity statical analysis and validation of memory safety through the CBMC automated reasoning tool.

  • This release uses submodule references to the following new individual repositories for the HTTP, AWS IoT Device Defender client, and AWS IoT Jobs client libraries under the libraries folder:

202009.00 (September 2020)

Major Changes

Note: This release is NOT backwards compatible with the v3 version of AWS IoT Device SDK for Embedded C.

3.1.0 (September 08, 2020)

This represents the last tag for the v3 version of AWS IoT Device SDK for Embedded C.

Bugfixes:

  • #205 Fix IAR compiler error about missing function prototypes.
  • #241 Fix command-line argument processing in Shadow demo.
  • #244 Fix parsing of metadata object in delta callback.
  • #854 Fix doxygen errors in v3 MQTT documentation.
  • #895 Fix issues reported by clang static analysis.
  • #1006 Fix application hang when network is lost during QoS0 publish loop.
  • #1070 Fix typo in job's status strings.

3.0.1 (May 10, 2018)

Bugfixes:

  • #167, #168 Fixed issues reported by Coverity Scan.
  • #177 Fixes a memory corruption bug and handling of timeouts.

Other:

  • Add .travis.yml for Travis CI.
  • Removed C++ sample.
  • Removed includes of inttypes.h, which doesn't exist on some systems.
  • #175 Added comments on static allocation of MQTT topics.

3.0.0 (Apr 17, 2018)

Bugfixes:

  • #152 Fixes potential buffer overflows in parseStringValue by requiring a size parameter in jsonStruct_t.
  • #155 Fixes other memory corruption bugs; also improves stability.

The two bug fixes above are not backwards compatible with v2.3.0. Please see README.md for details on migrating to v3.0.0.

2.3.0 (Mar 21, 2018)

New Features:

  • Add AWS IoT Jobs support.
  • Use AWS IoT Core support for MQTT over port 443. MQTT connection now defaults to port 443.

Pull requests:

  • #124 - Thing Shadow: Fix potential shadow buffer overflow
  • #135 - mbedtls_wrap: Fix unintialized variable usage
  • Fix bugs in long-running integration tests.

2.2.1 (Dec 26, 2017)

Bugfixes:

  • #115 - Issue with new client metrics

Pull requests:

  • #112 - Initialize msqParams.isRetained to 0 in publishToShadowAction()
  • #118 - mqttInitParams.mqttPacketTimeout_ms initialized

2.2.0 (Nov 22, 2017)

New Features:

  • Added SDK metrics string into connect packet

Bugfixes:

  • #49 - Add support for SHADOW_JSON_STRING as supported value
  • #57 - remove unistd.h
  • #58 - Fix return type of aws_iot_mqtt_internal_is_topic_matched
  • #59 - Fix extraneous assignment
  • #62 - Clearing SubscriptionList entries in shadowActionAcks after subscription failure
  • #63 - Stack overflow when IOT_DEBUG is enabled
  • #66 - Bug in send packet function
  • #69 - Fix for broken deleteActionHandler in shadow API
  • #71 - Prevent messages on /update/accepted from incrementing shadowJsonVersionNum in delta
  • #73 - wait for all messages to be received in subscribe publish sample
  • #96 - destroy TLS instance even if disconnect send fails
  • Fix for aws_iot_mqtt_resubscribe not properly resubscribing to all topics
  • Update MbedTLS Network layer Readme to remove specific version link
  • Fix for not Passing througheError code on aws_iot_shadow_connect failure
  • Allow sending of SHADOW_JSON_OBJECT to the shadow
  • Ignore delta token callback for metadata
  • Fix infinite publish exiting early in subscribe publish sample

Improvements:

  • Updated jsmn to latest commit
  • Change default keepalive interval to 600 seconds

Pull requests:

  • #29 - three small fixes
  • #59 - Fixed MQTT header constructing and parsing
  • #88 - Fix username and password are confused
  • #78 - Fixed compilation warnings
  • #102 - Corrected markdown headers
  • #105 - Fixed warnings when compiling

2.1.1 (Sep 5, 2016)

Bugfixes/Improvements:

  • Network layer interface improvements to address reported issues
  • Incorporated GitHub pull request #41
  • Bugfixes for issues #36 and #33

2.1.0 (Jun 15, 2016)

New features:

  • Added unit tests, further details can be found in the testing readme
  • Added sample to demonstrate building the SDK as library
  • Added sample to demonstrate building the SDK in C++

Bugfixes/Improvements:

  • Increased default value of Maximum Reconnect Wait interval to 128 secs
  • Increased default value of MQTT Command Timeout in Shadow Connect to 20 secs
  • Shadow null/length checks
  • Client Id Length not passed correctly in shadow connect
  • Add extern C to headers and source files, added sample to demonstrate usage with C++
  • Delete/Accepted not being reported, callback added for delete/accepted
  • Append IOT_ to all Debug macros (eg. DEBUG is now IOT_DEBUG)
  • Fixed exit on error for subscribe_publish_sample

2.0.0 (April 28, 2016)

New features:

  • Refactored API to make it instance specific. This is a breaking change in the API from 1.x releases because a Client Instance parameter had to be added to all APIs
  • Added Threading library porting layer wrapper
  • Added support for multiple connections from one application
  • Shadows and connections de-linked, connection needs to be set up separately, can be used independently of shadow
  • Added integration tests for testing SDK functionality

Bugfixes/Improvements:

  • Yield cannot be called again while waiting for application callback to return
  • Fixed issue with TLS layer handles not being cleaned up properly on connection failure reported here
  • Renamed timer_linux.h to timer_platform.h as requested here
  • Adds support for disconnect handler to shadow. A similar pull request can be found here
  • New SDK folder structure, cleaned and simplified code structure
  • Removed Paho Wrapper, Merge MQTT into SDK code, added specific error codes
  • Refactored Network and Timer layer wrappers, added specific error codes
  • Refactored samples and makefiles

1.1.2 (April 22, 2016)

Bugfixes/Improvements:

  • Signature mismatch in MQTT library file fixed
  • Makefiles have a protective target on the top to prevent accidental execution

1.1.1 (April 1, 2016)

Bugfixes/Improvements:

  • Removing the Executable bit from all the files in the repository. Fixing this issue
  • Refactoring MQTT client to remove declaration after statement warnings
  • Fixing this bug

1.1.0 (February 10, 2016)

Features:

  • Auto Reconnect and Resubscribe

Bugfixes/Improvements:

  • MQTT buffer handling incase of bigger message
  • Large timeout values converted to seconds and milliseconds
  • Dynamic loading of Shadow parameters. Client ID and Thing Name are not hard-coded
  • MQTT Library refactored

1.0.1 (October 21, 2015)

Bugfixes/Improvements:

  • Paho name changed to Eclipse Paho
  • Renamed the Makefiles in the samples directory
  • Device Shadow - Delete functionality macro fixed
  • subscribe_publish_sample updated

1.0.0 (October 8, 2015)

Features:

  • Release to github
  • SDK tarballs made available for public download

Bugfixes/Improvements:

  • Updated API documentation

0.4.0 (October 5, 2015)

Features:

  • Thing Shadow Actions - Update, Delete, Get for any Thing Name
  • aws_iot_config.h file for easy configuration of parameters
  • Sample app for talking with console's Interactive guide
  • disconnect handler for the MQTT client library

Bugfixes/Improvements:

  • mbedTLS read times out every 10 ms instead of hanging for ever
  • mbedTLS handshake failure handled

0.3.0 (September 14, 2015)

Features:

  • Testing with mbedTLS, prepping for relase

Bugfixes/Improvements:

  • Refactored to break out timer and network interfaces

0.2.0 (September 2, 2015)

Features:

  • Added initial Shadow implementation + example
  • Added hostname verification to OpenSSL example
  • Added iot_log interface
  • Initial API Docs (Doxygen)

Bugfixes/Improvements:

  • Fixed yield timeout
  • Refactored APIs to pass by reference vs value

0.1.0 (August 12, 2015)

Features:

  • Initial beta release
  • MQTT Publish and Subscribe
  • TLS mutual auth on linux with OpenSSL

Bugfixes/Improvements: - N/A