Skip to content

Latest commit

 

History

History
127 lines (103 loc) · 5.76 KB

CHANGELOG.md

File metadata and controls

127 lines (103 loc) · 5.76 KB

Changelog

All notable changes to the AWS IoT Device Client will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Known Issues]

[1.5.X] - 2021-12-16

Added

  • Added support for AWS Managed Job Templates aka Standard Job Actions.
  • Added validation checks for config file, cli inputs and empty job handler directory.
  • Added support for creating PubSub files.

Fixed

  • Added support for enabling SDK logging using SDK and Config file
  • Updated documentation for Named Shadow feature and use of thing-name across Device Client
  • Updated docker image files to use latest code from SDK's submodule.
  • Updated Device Client fatal error messages.

[1.3.X] - 2021-08-19

Added

  • Added support for Telemetry data.
  • Added support for Named Shadow feature in Device Client.

Fixed

  • Resolved high CPU utilization issue.
  • Updated SDK version which resolves security vulnerability issue, and issues causing Device Defender and Secure Tunneling failures.

[1.2.X] - 2021-05-06

Added

  • Added support for storing FP device config from FP Template in runtime-config file
  • Support to pass parameters to the AWS IoT Fleet Provisioning RegisterThing MQTT request

Fixed

  • Resolved issue where missing pub sub sample files (publish file and subscribe file) would cause a seg fault
  • Resolved issue where pub sub sample lost reference on the Default Publish Payload allocator, publishing a blank string
  • Fixed a bug with the pub sub sample CLI config

[1.1.X] - 2021-04-14

Added

  • SDK logging now configurable via CLI or JSON
  • Support for configuring Device Private Key via CLI and JSON for Fleet provisioning using CreateCertificateFromCsr API
  • Added Pub/Sub Sample Feature
  • Update job to "In Progress" after receive
  • Shared Lib builds in Github Actions
  • Add CodeDeploy config for integration test setup
  • Doxygen Github Actions

Changed

  • Readme Makeover
  • Address cross-platform compatibility for ANSI color codes

Removed

Fixed

  • Properly stripping symbols on RELEASE builds
  • Updated SDK version to fix shared lib builds
  • Broken Doxygen URL in the Readme
  • Fix Ubi8 and Al2 Dockerfile Openssl install

[1.0.X] - 2021-01-21

Added

  • Support for opening multiple tunnels at the same time
  • Handling for secure tunnel OnConnectionShutdown
  • Cross compilation toolchains for a number of platforms
  • Log sanitization to minimize attack surface and protect against printf vulnerabilities
  • Handling for empty json values, local keys and certificates
  • Log messaging to indicate permission information to the user
  • Ownership validation against required files
  • Limitations to log output for Job child processes
  • Exponential backoff retry for initial MQTT connection
  • Recovery mode for Jobs feature to handle duplicate notifications received after connectivity loss
  • Improved logging API startup behavior
  • Support for transferring log queues between logger implementations when configuration changes

Changed

  • README documentation to provide a better getting started experience
  • String handling in utility functions to reduce risk of string related security vulnerabilities
  • Improved CLI handling for feature enable/disable to maintain parity with .conf JSON file
  • Device Client no longer requires presence of a configuration file as long as required values are provided via CLI

Removed

Fixed

  • Secure Tunneling SDK 16KB buffering issue. Previous Secure Tunneling implementation would encounter issues if data written to the buffer is larger than 16KB
  • Device Defender reboot segfault. There was a known issue where rebooting the device while Device Defender is running as a service would trigger a segfault when the Device Client starts again after the reboot

[0.2.X] - 2020-12-23

Added

  • CMake build system
  • CMake conditional compilation flags for reducing output executable footprint
  • CMake support for automatically building the AWS IoT v2 SDK for C++
  • Setup script for configuration automation and help installing the AWS IoT Device Client
  • Valgrind debugging support added to setup.sh
  • Configuration via CLI and JSON file
  • Logger with both standard output and file-based logging implementations
  • AWS IoT Jobs feature for execution of jobs on the device
  • AWS IoT Secure Tunneling feature for establishing secure tunnels to the device
  • AWS IoT Device Defender feature for publishing Device Defender metrics to AWS
  • AWS IoT Fleet Provisioning feature for device provisioning
  • Sample job documents and job handlers for examples of how to use the Jobs feature functionality
  • Semantic versioning logic built into the CMake system which pulls information from Git
  • Utility classes for operations on files and strings
  • Google Test framework added for unit testing
  • Doxygen support for building HTML and Latex documentation from source code
  • Clang-format support via format-check.sh for verifying code will pass our CI Lint checks

Changed

Removed

Fixed

Release Deltas

Unreleased 1.0.X 0.2.X 0.0.X