-
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:- aws/ota-for-aws-iot-embedded-sdk for the AWS IoT Over-the-air Update library.
- FreeRTOS/backoffAlgorithm for the backoffAlgorithm library.
- FreeRTOS/corePKCS11 for the PKCS11 library.
-
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:- FreeRTOS/coreHTTP for the HTTP client library
- aws/device-defender-for-aws-iot-embedded-sdk for the AWS IoT Device Defender client library.
- aws/jobs-for-aws-iot-embedded-sdk for the AWS IoT Jobs client library.
-
This release introduces the re-factored MQTT client library, JSON parser library, and AWS IoT Device Shadow 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 MQTT, JSON, and AWS IoT Device Shadow client libraries under the
libraries
folder:- FreeRTOS/coreMQTT for the MQTT client library
- FreeRTOS/coreJSON for the JSON parser library
- aws/device-shadow-for-aws-iot-embedded-sdk for the AWS IoT Device Shadow client library.
-
With this release, we are introducing a date-based versioning scheme.
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 injsonStruct_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
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
Features:
- Testing with mbedTLS, prepping for relase
Bugfixes/Improvements:
- Refactored to break out timer and network interfaces
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
Features:
- Initial beta release
- MQTT Publish and Subscribe
- TLS mutual auth on linux with OpenSSL
Bugfixes/Improvements: - N/A