From 5631e22046b0414a65f6908a132c943c81e2d7d4 Mon Sep 17 00:00:00 2001 From: Shubham Chaturvedi Date: Mon, 19 Dec 2022 02:55:02 -0800 Subject: [PATCH 1/8] chore: Adds pyhton36 deprecation to changelog --- CHANGELOG.rst | 15 +++++++++++++++ dev_requirements/test-requirements.txt | 2 +- src/dynamodb_encryption_sdk/compatability.py | 3 ++- src/dynamodb_encryption_sdk/identifiers.py | 2 +- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index fed30700..c8abe1d2 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,21 @@ Changelog ********* +3.2.0 -- 2021-12-19 +=================== + +Deprecation +----------- +The AWS DynamoDB Encryption Client for Python no longer supports Python 3.6 +as of version 3.2; only Python 3.7+ is supported. Customers using +Python 3.6 can still use the 2.x line of the AWS DynamoDB Encryption Client for Python, +which will continue to receive security updates, in accordance +with our `Support Policy `__. + +Feature +----------- +* Warn on Deprecated Python 3.6 usage + 3.1.0 -- 2021-11-10 =================== diff --git a/dev_requirements/test-requirements.txt b/dev_requirements/test-requirements.txt index 4396c348..270b5a5b 100644 --- a/dev_requirements/test-requirements.txt +++ b/dev_requirements/test-requirements.txt @@ -3,7 +3,7 @@ mock==4.0.3 moto==3.0.2 pytest==7.0.0 pytest-cov==3.0.0 -pytest-mock==3.6.1 +pytest-mock==3.10.0 pytest-xdist==2.5.0 boto3==1.20.51 botocore==1.23.51 diff --git a/src/dynamodb_encryption_sdk/compatability.py b/src/dynamodb_encryption_sdk/compatability.py index b63781d1..9819c825 100644 --- a/src/dynamodb_encryption_sdk/compatability.py +++ b/src/dynamodb_encryption_sdk/compatability.py @@ -23,9 +23,10 @@ def _warn_deprecated_python(): (2, 7): {"date": DEPRECATION_DATE_MAP["2.x"]}, (3, 4): {"date": DEPRECATION_DATE_MAP["2.x"]}, (3, 5): {"date": "2021-11-10"}, + (3, 6): {"date": "2021-12-19"}, } py_version = (sys.version_info.major, sys.version_info.minor) - minimum_version = (3, 6) + minimum_version = (3, 7) if py_version in deprecated_versions: params = deprecated_versions[py_version] diff --git a/src/dynamodb_encryption_sdk/identifiers.py b/src/dynamodb_encryption_sdk/identifiers.py index 86741cd1..b8b1c118 100644 --- a/src/dynamodb_encryption_sdk/identifiers.py +++ b/src/dynamodb_encryption_sdk/identifiers.py @@ -14,7 +14,7 @@ from enum import Enum __all__ = ("LOGGER_NAME", "CryptoAction", "EncryptionKeyType", "KeyEncodingType") -__version__ = "3.1.0" +__version__ = "3.2.0" LOGGER_NAME = "dynamodb_encryption_sdk" USER_AGENT_SUFFIX = "DynamodbEncryptionSdkPython/{}".format(__version__) From 7a1a8c638e33ec1a13d2ed3c0ced3bb2a2cc4251 Mon Sep 17 00:00:00 2001 From: Shubham Chaturvedi Date: Mon, 19 Dec 2022 03:38:05 -0800 Subject: [PATCH 2/8] fix: updates compatability test to 3.7 --- test/unit/test_compatability.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/unit/test_compatability.py b/test/unit/test_compatability.py index a658d7b7..37241aa9 100644 --- a/test/unit/test_compatability.py +++ b/test/unit/test_compatability.py @@ -25,7 +25,7 @@ class TestWarnDeprecatedPython: def test_happy_version(self): with mock.patch.object(sys, "version_info") as v_info: v_info.major = 3 - v_info.minor = 6 + v_info.minor = 7 with pytest.warns(None) as record: _warn_deprecated_python() assert len(record) == 0 From 428930b99d43d88c908fc24a170a3148bae1c000 Mon Sep 17 00:00:00 2001 From: Shubham Chaturvedi Date: Wed, 21 Dec 2022 02:00:35 -0800 Subject: [PATCH 3/8] fix: pin tox dependency < 4.0 --- codebuild/coverage/coverage.yml | 2 +- codebuild/python3.10.yml | 2 +- codebuild/python3.5.yml | 0 codebuild/python3.6.yml | 0 codebuild/python3.7.yml | 2 +- codebuild/python3.8.yml | 2 +- codebuild/python3.9.yml | 2 +- codebuild/release/prod-release.yml | 2 +- codebuild/release/test-release.yml | 2 +- codebuild/release/validate.yml | 2 +- 10 files changed, 8 insertions(+), 8 deletions(-) delete mode 100644 codebuild/python3.5.yml delete mode 100644 codebuild/python3.6.yml diff --git a/codebuild/coverage/coverage.yml b/codebuild/coverage/coverage.yml index f82a3a98..51d8b0a6 100644 --- a/codebuild/coverage/coverage.yml +++ b/codebuild/coverage/coverage.yml @@ -10,5 +10,5 @@ phases: python: latest build: commands: - - pip install tox + - pip install "tox < 4.0" - tox diff --git a/codebuild/python3.10.yml b/codebuild/python3.10.yml index 4fe79318..a18185dc 100644 --- a/codebuild/python3.10.yml +++ b/codebuild/python3.10.yml @@ -16,5 +16,5 @@ phases: commands: - pyenv install 3.10.0 - pyenv local 3.10.0 - - pip install tox tox-pyenv + - pip install "tox < 4.0" - tox diff --git a/codebuild/python3.5.yml b/codebuild/python3.5.yml deleted file mode 100644 index e69de29b..00000000 diff --git a/codebuild/python3.6.yml b/codebuild/python3.6.yml deleted file mode 100644 index e69de29b..00000000 diff --git a/codebuild/python3.7.yml b/codebuild/python3.7.yml index 93e8a312..19a97151 100644 --- a/codebuild/python3.7.yml +++ b/codebuild/python3.7.yml @@ -28,5 +28,5 @@ phases: # The choice of versions should be reviewed. - pyenv install 3.7.12 - pyenv local 3.7.12 - - pip install tox tox-pyenv + - pip install "tox < 4.0" - tox diff --git a/codebuild/python3.8.yml b/codebuild/python3.8.yml index c0170f2a..cc7a821d 100644 --- a/codebuild/python3.8.yml +++ b/codebuild/python3.8.yml @@ -16,5 +16,5 @@ phases: commands: - pyenv install 3.8.12 - pyenv local 3.8.12 - - pip install tox tox-pyenv + - pip install "tox < 4.0" - tox diff --git a/codebuild/python3.9.yml b/codebuild/python3.9.yml index f4de17ef..8e5f609e 100644 --- a/codebuild/python3.9.yml +++ b/codebuild/python3.9.yml @@ -16,5 +16,5 @@ phases: commands: - pyenv install 3.9.7 - pyenv local 3.9.7 - - pip install tox tox-pyenv + - pip install "tox < 4.0" - tox diff --git a/codebuild/release/prod-release.yml b/codebuild/release/prod-release.yml index c729c96c..c8639c61 100644 --- a/codebuild/release/prod-release.yml +++ b/codebuild/release/prod-release.yml @@ -10,7 +10,7 @@ env: phases: install: commands: - - pip install tox + - pip install "tox < 4.0" - pip install --upgrade pip runtime-versions: python: latest diff --git a/codebuild/release/test-release.yml b/codebuild/release/test-release.yml index 1dc9feae..9d8fbed2 100644 --- a/codebuild/release/test-release.yml +++ b/codebuild/release/test-release.yml @@ -10,7 +10,7 @@ env: phases: install: commands: - - pip install tox + - pip install "tox < 4.0" - pip install --upgrade pip runtime-versions: python: latest diff --git a/codebuild/release/validate.yml b/codebuild/release/validate.yml index 7f0fda4b..f710aa5a 100644 --- a/codebuild/release/validate.yml +++ b/codebuild/release/validate.yml @@ -15,7 +15,7 @@ env: phases: install: commands: - - pip install tox + - pip install "tox < 4.0" runtime-versions: python: latest pre_build: From e882c54a1560b64b1e276de7852e8ae3ab27f553 Mon Sep 17 00:00:00 2001 From: Shubham Chaturvedi Date: Tue, 10 Jan 2023 16:53:40 -0800 Subject: [PATCH 4/8] fix: reword the deprecation announcement --- CHANGELOG.rst | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index c8abe1d2..d076d298 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -8,10 +8,7 @@ Changelog Deprecation ----------- The AWS DynamoDB Encryption Client for Python no longer supports Python 3.6 -as of version 3.2; only Python 3.7+ is supported. Customers using -Python 3.6 can still use the 2.x line of the AWS DynamoDB Encryption Client for Python, -which will continue to receive security updates, in accordance -with our `Support Policy `__. +as of version 3.2; only Python 3.7+ is supported. Feature ----------- From 056a7ca362f1485eba774220f7cf822f79feb586 Mon Sep 17 00:00:00 2001 From: Shubham Chaturvedi Date: Tue, 17 Jan 2023 15:20:09 -0800 Subject: [PATCH 5/8] chore: Update SUPPORT_POLICY.rst --- SUPPORT_POLICY.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/SUPPORT_POLICY.rst b/SUPPORT_POLICY.rst index 26b126fa..02573f0a 100644 --- a/SUPPORT_POLICY.rst +++ b/SUPPORT_POLICY.rst @@ -22,13 +22,13 @@ This table describes the current support status of each major version of the AWS - Next status - Next status date * - 1.x - - Maintenance - End of Support - - 2022-07-08 + - + - * - 2.x - - Maintenance - End of Support - - 2022-07-15 + - + - * - 3.x - Generally Available - From b6f8a492a89844aaf40ed521f850a71b09dabf7b Mon Sep 17 00:00:00 2001 From: Shubham Chaturvedi Date: Wed, 18 Jan 2023 13:07:03 -0800 Subject: [PATCH 6/8] fix: Add Maintenance Date in SUPPORT_POLICY.rst Co-authored-by: Tony Knapp <5892063+texastony@users.noreply.github.com> --- SUPPORT_POLICY.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/SUPPORT_POLICY.rst b/SUPPORT_POLICY.rst index 02573f0a..a530aa45 100644 --- a/SUPPORT_POLICY.rst +++ b/SUPPORT_POLICY.rst @@ -31,7 +31,8 @@ This table describes the current support status of each major version of the AWS - * - 3.x - Generally Available - - + - Maintenance + - 2023-07-23 - .. _AWS SDKs and Tools Maintenance Policy: https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle From 9e04f7797f693c52d7a29bd367c56d7c1306191b Mon Sep 17 00:00:00 2001 From: Shubham Chaturvedi Date: Wed, 18 Jan 2023 15:43:11 -0800 Subject: [PATCH 7/8] fix: SUPPORT_POLICY.rst Co-authored-by: Tony Knapp <5892063+texastony@users.noreply.github.com> --- SUPPORT_POLICY.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/SUPPORT_POLICY.rst b/SUPPORT_POLICY.rst index a530aa45..5af85cc5 100644 --- a/SUPPORT_POLICY.rst +++ b/SUPPORT_POLICY.rst @@ -33,6 +33,5 @@ This table describes the current support status of each major version of the AWS - Generally Available - Maintenance - 2023-07-23 - - .. _AWS SDKs and Tools Maintenance Policy: https://docs.aws.amazon.com/sdkref/latest/guide/maint-policy.html#version-life-cycle From 8a59f401bb0ba6fa1595420d10f15450b8b0c59d Mon Sep 17 00:00:00 2001 From: Shubham Chaturvedi Date: Thu, 19 Jan 2023 12:39:58 -0800 Subject: [PATCH 8/8] fix: Add packaging dependency for twine --- dev_requirements/release-requirements.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/dev_requirements/release-requirements.txt b/dev_requirements/release-requirements.txt index ba64ded2..beb32ea9 100644 --- a/dev_requirements/release-requirements.txt +++ b/dev_requirements/release-requirements.txt @@ -2,3 +2,5 @@ pypi-parker==0.1.2 setuptools==60.7.1 twine==3.8.0 wheel==0.37.1 +#This is required for twine < 4.0 +packaging \ No newline at end of file