diff --git a/README.md b/README.md index b3fdfe222b3..86c25304cfb 100644 --- a/README.md +++ b/README.md @@ -13,19 +13,33 @@ Use amazon.aws 4.x.y if you are using Ansible 2.9 or Ansible Core 2.10. This collection depends on the AWS SDK for Python (Boto3 and Botocore). Due to the [AWS SDK Python Support Policy](https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/) -this collection requires Python 3.6 or greater. - -Amazon have also announced the end of support for -[Python less than 3.7](https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/). -As such support for Python less than 3.7 by this collection has been deprecated and will be removed in release 7.0.0. -Additionally, support for Python less than 3.8 is expected to be removed in a release after 2024-12-01 based on currently -available schedules. +this collection requires Python 3.7 or greater. + +Amazon have also announced the planned end of support for +[Python less than 3.8](https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/). +As such support for Python less than 3.8 will be removed in a release after 2024-12-01. + + ## AWS SDK version compatibility Starting with the 2.0.0 releases of amazon.aws and community.aws, it is generally the collection's policy to support the versions of `botocore` and `boto3` that were released 12 months prior to the most recent major collection release, following semantic versioning (for example, 2.0.0, 3.0.0). -Version 6.0.0 of this collection supports `boto3 >= 1.22.0` and `botocore >= 1.25.0` +Version 7.0.0 of this collection supports `boto3 >= 1.26.0` and `botocore >= 1.29.0` All support for the original AWS SDK `boto` was removed in release 4.0.0. diff --git a/changelogs/fragments/botocore.yml b/changelogs/fragments/botocore.yml new file mode 100644 index 00000000000..9defbf18cb9 --- /dev/null +++ b/changelogs/fragments/botocore.yml @@ -0,0 +1,6 @@ +breaking_changes: +- The amazon.aws collection has dropped support for ``botocore<1.29.0`` and + ``boto3<1.26.0``. Most modules will continue to work with older versions of the AWS SDK, however + compatability with older versions of the SDK is not guaranteed and will not be tested. When using + older versions of the SDK a warning will be emitted by Ansible + (https://github.com/ansible-collections/amazon.aws/pull/1763). diff --git a/changelogs/fragments/python37.yml b/changelogs/fragments/python37.yml new file mode 100644 index 00000000000..d061bd466be --- /dev/null +++ b/changelogs/fragments/python37.yml @@ -0,0 +1,10 @@ +breaking_changes: +- amazon.aws collection - due to the AWS SDKs announcing the end of support + for Python less than 3.7 (https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/) + support for Python less than 3.7 by this collection wss been deprecated in release 6.0.0 and removed in release 7.0.0. + (https://github.com/ansible-collections/amazon.aws/pull/1763). + +# We've already announced the deprecation for <3.8 (with 6.0.0), dropping support for <3.9 on ours side will happen +# after April 2026. This is about 2 years + 5 months away assuming a November 7.0.0 release, we could announce +# the deprecation now, but assuming we release 8.0.0 in about 6 months a just short of 2 year +# deprecation feels fine given it's predictable. diff --git a/plugins/module_utils/botocore.py b/plugins/module_utils/botocore.py index c04b27d53a9..1c3f2b5dd7e 100644 --- a/plugins/module_utils/botocore.py +++ b/plugins/module_utils/botocore.py @@ -64,8 +64,8 @@ from .retries import AWSRetry from .common import get_collection_info -MINIMUM_BOTOCORE_VERSION = "1.25.0" -MINIMUM_BOTO3_VERSION = "1.22.0" +MINIMUM_BOTOCORE_VERSION = "1.29.0" +MINIMUM_BOTO3_VERSION = "1.26.0" def _get_user_agent_string(): diff --git a/requirements.txt b/requirements.txt index 4853d7e0c7c..cd474e3b66b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,5 +2,5 @@ # - tests/unit/constraints.txt # - tests/integration/constraints.txt # - tests/integration/targets/setup_botocore_pip -botocore>=1.25.0 -boto3>=1.22.0 +botocore>=1.29.0 +boto3>=1.26.0 diff --git a/tests/config.yml b/tests/config.yml index 5112f726881..8d053169d67 100644 --- a/tests/config.yml +++ b/tests/config.yml @@ -1,2 +1,2 @@ modules: - python_requires: '>=3.6' + python_requires: '>=3.7' diff --git a/tests/integration/constraints.txt b/tests/integration/constraints.txt index 73cb8913ddb..f388e1f900b 100644 --- a/tests/integration/constraints.txt +++ b/tests/integration/constraints.txt @@ -1,10 +1,10 @@ # Specifically run tests against the oldest versions that we support -boto3==1.22.0 -botocore==1.25.0 +botocore==1.29.0 +boto3==1.26.0 # AWS CLI has `botocore==` dependencies, provide the one that matches botocore # to avoid needing to download over a years worth of awscli wheels. -awscli==1.23.0 +awscli==1.27.0 # AWS CLI depends on PyYAML <5.5,>=3.10; the latest PyYAML release in that range, 5.4.1, fails to install. # Use a version in that range that is known to work (https://github.com/yaml/pyyaml/issues/736) diff --git a/tests/unit/constraints.txt b/tests/unit/constraints.txt index 927a6f07b42..5708323f110 100644 --- a/tests/unit/constraints.txt +++ b/tests/unit/constraints.txt @@ -1,7 +1,7 @@ # Specifically run tests against the oldest versions that we support -boto3==1.22.0 -botocore==1.25.0 +botocore==1.29.0 +boto3==1.26.0 # AWS CLI has `botocore==` dependencies, provide the one that matches botocore # to avoid needing to download over a years worth of awscli wheels. -awscli==1.23.0 +awscli==1.27.0