Skip to content

Releases: aws/aws-iot-device-sdk-python-v2

Remove Python 2 support

10 Sep 21:27
4c66229
Compare
Choose a tag to compare
  • MAJOR CHANGE: Remove support for Python 2, Python 2.7 was end of life Jan 1, 2020.
  • MAJOR CHANGE: Stop releasing wheels for Python 3.4, which was end of life in 2019.
  • DOCS: Update docstrings, publish docs to https://aws.github.io/aws-iot-device-sdk-python-v2/

Upgrading CRT version

28 Aug 23:15
15a25be
Compare
Choose a tag to compare
  • API CHANGE: awscrt.auth.AwsSigningConfig.signed_body_value is now a string instead of an enum.
  • API CHANGE: Added check for iOS platform
  • BUGFIX: websocket no longer hangs if CLOSE frame cannot be sent.
  • BUGFIX: Fixes a crash when shutting down an mqtt connection with an incomplete request with no callback from aws-c-mqtt

fix race condition & possible momery leak from dependency

06 Aug 18:13
dca78ff
Compare
Choose a tag to compare
udpate crt-python to 0.6.2 (#97)

Co-authored-by: Dengke Tang <[email protected]>

Bug fixes

10 Jul 18:55
b6615b4
Compare
Choose a tag to compare
  • fixes a variety of bugs, including
    • publish and unsubscribe callbacks not surfacing errors
    • ECS credentials provider crash
  • Updated README and sample-specific README
  • Updated sample client ids to a common pattern across all SDK samples

Fix 1.2.x backwards compatibility issues

30 Jun 17:10
73a9dc9
Compare
Choose a tag to compare

With the 1.2.0 release of the V2 Iot Device SDK for Python, a serious backwards incompatibility was introduced due to an oversight in the code generation for the constructors of service model classes. This release corrects this incompatibility and reworks service model construction with a pattern that will prevent it from happening again. In these notes we detail exactly what happened, who is affected by the breaking change, and how we are addressing it both right now and looking towards the future.

The 1.2.0 (named shadow) release saw the introduction of new APIs to support named shadows, but it also introduced a new parameter, client_token, to the GetShadow and DeleteShadow APIs. The code generator for the constructor for the request and response classes took the list of parameters and sorted them before generating the code. Since client_token comes before thing_name lexically, this resulted in client_token becoming the first parameter to the class constructor. Any programs calling GetShadow or DeleteShadow using thing_name as the first positional parameter were broken by this change (assuming an upgrade to 1.2.0). This includes the shadow sample itself.

Who was affected by this breaking change? Anyone who upgraded to a 1.2.x version of the SDK who had a program that used either the GetShadow or DeleteShadow APIs.

To fix this, we settled on the following solution:

  • All class members are now initializable by keyword args in the class constructor
  • Positional arguments in constructors are still supported, permanently "frozen" against the 1.2.x API model
  • GetShadowRequest and DeleteShadowRequest constructors support positional parameters for both the pre-1.2.x API (thing_name only) and the 1.2.x API (client_token, thing_name)
  • During construction, positional arguments take priority over keyword arguments
  • Moving forward, all newly-added members will only be able to be initialized by keyword arguments

The upgrade to 1.3.x and beyond will not break any working programs built against any version of the SDK and will restore programs that were broken by 1.2.x to a working state.

Going forward, all new parameters to service model class construction will be keyword only. All samples have been updated to reflect this new pattern.

We apologize for this customer-breaking mistake and, in addition to fixing it, we are in the process of improving our CI infrastructure to help prevent breaking changes from reaching our customers again.

awscrt.auth signing API revamp

16 Jun 16:51
1159294
Compare
Choose a tag to compare

Update awscrt dependency to 0.6.0, which brings in API changes to awscrt.auth

NamedShadow release

11 Jun 21:58
51c1e2e
Compare
Choose a tag to compare
v1.2.0

NamedShadow import (#76)

Fleet Provisioning API

13 May 17:05
dcd9c59
Compare
Choose a tag to compare

Fleetprovisioning (#58)

Fleet provisioning
Co-authored-by: Justin Boswell [email protected]

Update Jobs API with missing parameter

07 Apr 20:21
7960682
Compare
Choose a tag to compare
  • Adds missing parameter to UpdateJobExecution

Upgrade awscrt to version 0.5.13

30 Mar 20:56
94457db
Compare
Choose a tag to compare

Upgrade awscrt to version 0.5.13

Bugfix:

  • MQTT reconnect timeouts are now honored

HTTP API Change:

  • awscrt.HttpClientStream must have .activate() called before it will begin sending/receiving data.