From 968adabfe4a9020ad207678141ed4870b421fc4a Mon Sep 17 00:00:00 2001 From: Steve Kim <86316075+sbSteveK@users.noreply.github.com> Date: Mon, 14 Oct 2024 10:49:56 -0700 Subject: [PATCH 1/4] move mac-only tls info to main README (#595) --- README.md | 9 +++++++++ documents/FAQ.md | 9 --------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 0c17956d..a1e5983c 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ This document provides information about the AWS IoT Device SDK v2 for Python. T *__Jump To:__* * [Installation](#installation) * [Samples](samples) +* [Mac-Only TLS Behavior](#mac-only-tls-behavior) * [Getting Help](#getting-help) * [FAQ](./documents/FAQ.md) * [API Docs](https://aws.github.io/aws-iot-device-sdk-python-v2/) @@ -59,6 +60,14 @@ python3 -m pip install ./aws-iot-device-sdk-python-v2 [Samples README](samples) +### Mac-Only TLS Behavior + +Please note that on Mac, once a private key is used with a certificate, that certificate-key pair is imported into the Mac Keychain. All subsequent uses of that certificate will use the stored private key and ignore anything passed in programmatically. Beginning in v1.7.3, when a stored private key from the Keychain is used, the following will be logged at the "info" log level: + +``` +static: certificate has an existing certificate-key pair that was previously imported into the Keychain. Using key from Keychain instead of the one provided. +``` + ## Getting Help The best way to interact with our team is through GitHub. You can open a [discussion](https://github.com/aws/aws-iot-device-sdk-python-v2/discussions) for guidance questions or an [issue](https://github.com/aws/aws-iot-device-sdk-python-v2/issues/new/choose) for bug reports, or feature requests. You may also find help on community resources such as [StackOverFlow](https://stackoverflow.com/questions/tagged/aws-iot) with the tag [#aws-iot](https://stackoverflow.com/questions/tagged/aws-iot) or if you have a support plan with [AWS Support](https://aws.amazon.com/premiumsupport/), you can also create a new support case. diff --git a/documents/FAQ.md b/documents/FAQ.md index 34548aa4..94bbcf27 100644 --- a/documents/FAQ.md +++ b/documents/FAQ.md @@ -6,7 +6,6 @@ * [Installation Issues](#installation-issues) * [I keep getting AWS_ERROR_MQTT_UNEXPECTED_HANGUP](#i-keep-getting-aws_error_mqtt_unexpected_hangup) * [I am experiencing deadlocks](#i-am-experiencing-deadlocks) -* [Mac-Only TLS Behavior](#mac-only-tls-behavior) * [How do debug in VSCode?](#how-do-debug-in-vscode) * [What certificates do I need?](#what-certificates-do-i-need) * [I still have more questions about this sdk?](#i-still-have-more-questions-about-this-sdk) @@ -84,14 +83,6 @@ After getting it working make sure to only allow the actions and resources that ### I am experiencing deadlocks You MUST NOT perform blocking operations on any callback, or you will cause a deadlock. For example: in the on_publish_received callback, do not send a publish, and then wait for the future to complete within the callback. The Client cannot do work until your callback returns, so the thread will be stuck. -### Mac-Only TLS Behavior - -Please note that on Mac, once a private key is used with a certificate, that certificate-key pair is imported into the Mac Keychain. All subsequent uses of that certificate will use the stored private key and ignore anything passed in programmatically. Beginning in v1.7.3, when a stored private key from the Keychain is used, the following will be logged at the "info" log level: - -``` -static: certificate has an existing certificate-key pair that was previously imported into the Keychain. Using key from Keychain instead of the one provided. -``` - ### How do debug in VSCode? Here is an example launch.json file to run the pubsub sample From 4338c4caa392cc42a126f7f0e030e3500a54f23a Mon Sep 17 00:00:00 2001 From: Ashish Dhingra <67916761+ashishdhingra@users.noreply.github.com> Date: Fri, 25 Oct 2024 16:01:29 -0700 Subject: [PATCH 2/4] chore: Modified bug issue template to add checkbox to report potential regression. (#593) Co-authored-by: Joseph Klix --- .github/ISSUE_TEMPLATE/bug-report.yml | 8 +++++ .../workflows/issue-regression-labeler.yml | 32 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 .github/workflows/issue-regression-labeler.yml diff --git a/.github/ISSUE_TEMPLATE/bug-report.yml b/.github/ISSUE_TEMPLATE/bug-report.yml index 94d19fbf..946fd2f7 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.yml +++ b/.github/ISSUE_TEMPLATE/bug-report.yml @@ -12,6 +12,14 @@ body: description: What is the problem? A clear and concise description of the bug. validations: required: true + - type: checkboxes + id: regression + attributes: + label: Regression Issue + description: What is a regression? If it worked in a previous version but doesn't in the latest version, it's considered a regression. In this case, please provide specific version number in the report. + options: + - label: Select this option if this issue appears to be a regression. + required: false - type: textarea id: expected attributes: diff --git a/.github/workflows/issue-regression-labeler.yml b/.github/workflows/issue-regression-labeler.yml new file mode 100644 index 00000000..bd000719 --- /dev/null +++ b/.github/workflows/issue-regression-labeler.yml @@ -0,0 +1,32 @@ +# Apply potential regression label on issues +name: issue-regression-label +on: + issues: + types: [opened, edited] +jobs: + add-regression-label: + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - name: Fetch template body + id: check_regression + uses: actions/github-script@v7 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + TEMPLATE_BODY: ${{ github.event.issue.body }} + with: + script: | + const regressionPattern = /\[x\] Select this option if this issue appears to be a regression\./i; + const template = `${process.env.TEMPLATE_BODY}` + const match = regressionPattern.test(template); + core.setOutput('is_regression', match); + - name: Manage regression label + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + if [ "${{ steps.check_regression.outputs.is_regression }}" == "true" ]; then + gh issue edit ${{ github.event.issue.number }} --add-label "potential-regression" -R ${{ github.repository }} + else + gh issue edit ${{ github.event.issue.number }} --remove-label "potential-regression" -R ${{ github.repository }} + fi From c844a6a3a860be3606ad02a908b90d776152e39c Mon Sep 17 00:00:00 2001 From: Steve Kim <86316075+sbSteveK@users.noreply.github.com> Date: Mon, 16 Dec 2024 11:59:45 -0800 Subject: [PATCH 3/4] update CRT to 0.23.5 (#601) * update CRT to 0.23.5 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index af8db1cc..e2008d3c 100644 --- a/setup.py +++ b/setup.py @@ -40,7 +40,7 @@ def _load_version(): "Operating System :: OS Independent", ], install_requires=[ - 'awscrt==0.21.1', + 'awscrt==0.23.5', ], python_requires='>=3.7', ) From 22ea68fbc82d4abae1e1c9f275674ca395e412a6 Mon Sep 17 00:00:00 2001 From: Bret Ambrose Date: Mon, 16 Dec 2024 13:04:49 -0800 Subject: [PATCH 4/4] [v1.22.1] Update CRT to v0.23.5 (#602) Co-authored-by: GitHub Actions --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a1e5983c..89c8cd33 100644 --- a/README.md +++ b/README.md @@ -90,4 +90,4 @@ is provided by code that been generated from a model of the service. This library is licensed under the [Apache 2.0 License](./documents/LICENSE). -Latest released version: v1.22.0 +Latest released version: v1.22.1