From 5aaad24edb3230db47f20caf0e165231ea1ddc6d Mon Sep 17 00:00:00 2001 From: Favian Samatha Date: Wed, 14 Jan 2026 13:58:35 -0800 Subject: [PATCH 1/2] chore: bump version to 2.0.0 and update changelog --- CHANGELOG.md | 26 ++++++++++++++++++++++ Maintenance.md | 10 +++++---- aws_advanced_python_wrapper/driver_info.py | 2 +- pyproject.toml | 2 +- 4 files changed, 34 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e22b8df0..c6b09119a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,31 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/#semantic-versioning-200). +## [2.0.0] - 2026-01-14 +### :crab: Breaking Changes +> [!WARNING] +> - 2.0 removes support for Python 3.8 and 3.9. + +### :magic_wand: Added +* Python 3.12 and 3.13 support ([PR #1052](https://github.com/aws/aws-advanced-python-wrapper/pull/1052)). +* [Simple Read/Write Splitting Plugin](https://github.com/aws/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheSimpleReadWriteSplittingPlugin.md) (`srw`). This plugin adds functionality to switch between endpoints via calls to the Connection#setReadOnly method. It does not rely on cluster topology. It relies purely on the provided endpoints and their DNS resolution ([PR #1048](https://github.com/aws/aws-advanced-python-wrapper/pull/1048)). +* Wrapper resource cleanup method `aws_advanced_python_wrapper.release_resources()`. This method should be called at program exit to properly clean up background threads and resources ([PR #1066](https://github.com/aws/aws-advanced-python-wrapper/pull/1066)). + + +### :bug: Fixed +* Sliding expiration cache bug which causes delay upon exit ([PR #1043](https://github.com/aws/aws-advanced-python-wrapper/pull/1043)). +* Unnecessary boto3 call to verify region in IAM plugin which causes performance issues ([PR #1042](https://github.com/aws/aws-advanced-python-wrapper/pull/1042)). +* MySQL connections hanging during garbage collection ([PR #1063](https://github.com/aws/aws-advanced-python-wrapper/pull/1063)). +* Incorrect MySQL host alias query ([PR #1051](https://github.com/aws/aws-advanced-python-wrapper/pull/1051)). +* `ImportError` when MySQL Connector/Python C Extension isn't available ([PR #1038](https://github.com/aws/aws-advanced-python-wrapper/pull/1038)). +* Background threads being created at import time ([PR #1066](https://github.com/aws/aws-advanced-python-wrapper/pull/1066)). + +### :crab: Changed +* Refactor host list provider ([PR #1065](https://github.com/aws/aws-advanced-python-wrapper/pull/1065)). +* Performance optimizations ([PR #1072](https://github.com/aws/aws-advanced-python-wrapper/pull/1072)). +* Update documentation with required db user permissions for Multi-AZ DB Cluster and Blue/Green support ([PR #1061](https://github.com/aws/aws-advanced-python-wrapper/pull/1061)). + + ## [1.4.0] - 2025-10-17 ### :magic_wand: Added * [EFM v2](https://github.com/aws/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheHostMonitoringPlugin.md#host-monitoring-plugin-v2), an improved alternate version of the `efm` plugin which addresses issues such as garbage collection and monitoring stability, is now live! @@ -59,6 +84,7 @@ The Amazon Web Services (AWS) Advanced Python Wrapper allows an application to t * Support for PostgreSQL * Support for MySQL +[2.0.0]: https://github.com/aws/aws-advanced-python-wrapper/compare/1.4.0...2.0.0 [1.4.0]: https://github.com/aws/aws-advanced-python-wrapper/compare/1.3.0...1.4.0 [1.3.0]: https://github.com/aws/aws-advanced-python-wrapper/compare/1.2.0...1.3.0 [1.2.0]: https://github.com/aws/aws-advanced-python-wrapper/compare/1.1.1...1.2.0 diff --git a/Maintenance.md b/Maintenance.md index 268afe057..f72f83033 100644 --- a/Maintenance.md +++ b/Maintenance.md @@ -8,6 +8,7 @@ | December 12, 2024 | [Release 1.2.0](https://github.com/aws/aws-advanced-python-wrapper/releases/tag/1.2.0) | | July 28, 2025 | [Release 1.3.0](https://github.com/aws/aws-advanced-python-wrapper/releases/tag/1.3.0) | | October 17, 2025 | [Release 1.4.0](https://github.com/aws/aws-advanced-python-wrapper/releases/tag/1.4.0) | +| January 14, 2026 | [Release 2.0.0](https://github.com/aws/aws-advanced-python-wrapper/releases/tag/2.0.0) | `aws-advanced-python-wrapper` [follows semver](https://semver.org/#semantic-versioning-200) which means we will only release breaking changes in major versions. Generally speaking patches will be released to fix existing problems without @@ -36,7 +37,7 @@ to releases, so you should be able to upgrade to the latest minor version of tha software without encountering incompatible changes (e.g., 1.1.0 → 1.4.x). Sometimes an incompatible change is unavoidable. When this happens, the software’s maintainers will increment -the major version number (e.g., increment from `aws-advanced-python-wrapper` 1.4.0 to `aws-advanced-python-wrapper` 2.0.0). +the major version number (e.g., increment from `aws-advanced-python-wrapper` 2.0.0 to `aws-advanced-python-wrapper` 3.0.0). The last minor version of the previous major version of the software will then enter a maintenance window (e.g., 1.4.x). During the maintenance window, the software will continue to receive bug fixes and security patches, but no new features. @@ -58,6 +59,7 @@ That said, PRs with said back-ports are welcome and will follow the project's re No new releases will result from these changes, but interested parties can create their own distribution from the updated source after the PRs are merged. -| Major Version | Latest Minor Version | Status | Initial Release | Maintenance Window Start | Maintenance Window End | -|---------------|----------------------|---------|-----------------|--------------------------|------------------------| -| 1 | 1.4.0 | Current | May 16, 2024 | May 16, 2024 | N/A | +| Major Version | Latest Minor Version | Status | Initial Release | Maintenance Window Start | Maintenance Window End | +|---------------|----------------------|-------------|---------------------|------------------------------|------------------------| +| 1 | 1.4.0 | Maintenance | May 16, 2024 | January 14, 2026 | January 14, 2027 | +| 2 | 2.0.0 | Current | January 14, 2026 | N/A | N/A | diff --git a/aws_advanced_python_wrapper/driver_info.py b/aws_advanced_python_wrapper/driver_info.py index 64a83a705..049b557f8 100644 --- a/aws_advanced_python_wrapper/driver_info.py +++ b/aws_advanced_python_wrapper/driver_info.py @@ -15,4 +15,4 @@ class DriverInfo: DRIVER_NAME = "aws_advanced_python_wrapper" - DRIVER_VERSION = "1.4.0" + DRIVER_VERSION = "2.0.0" diff --git a/pyproject.toml b/pyproject.toml index 1bd935847..84ba6836c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "aws_advanced_python_wrapper" -version = "1.4.0" +version = "2.0.0" description = "Amazon Web Services (AWS) Advanced Python Wrapper" authors = ["Amazon Web Services"] readme = "README.md" From 1132272ed5ee7d65661f09ec385b6f32f88aa8ae Mon Sep 17 00:00:00 2001 From: "Favian (Ian) Samatha" <60306813+faviansamatha@users.noreply.github.com> Date: Wed, 14 Jan 2026 17:08:36 -0800 Subject: [PATCH 2/2] Apply suggestions from code review Co-authored-by: Karen <64801825+karenc-bq@users.noreply.github.com> --- CHANGELOG.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c6b09119a..304fc378c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), * [Simple Read/Write Splitting Plugin](https://github.com/aws/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheSimpleReadWriteSplittingPlugin.md) (`srw`). This plugin adds functionality to switch between endpoints via calls to the Connection#setReadOnly method. It does not rely on cluster topology. It relies purely on the provided endpoints and their DNS resolution ([PR #1048](https://github.com/aws/aws-advanced-python-wrapper/pull/1048)). * Wrapper resource cleanup method `aws_advanced_python_wrapper.release_resources()`. This method should be called at program exit to properly clean up background threads and resources ([PR #1066](https://github.com/aws/aws-advanced-python-wrapper/pull/1066)). - ### :bug: Fixed * Sliding expiration cache bug which causes delay upon exit ([PR #1043](https://github.com/aws/aws-advanced-python-wrapper/pull/1043)). * Unnecessary boto3 call to verify region in IAM plugin which causes performance issues ([PR #1042](https://github.com/aws/aws-advanced-python-wrapper/pull/1042)). @@ -27,7 +26,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), * Performance optimizations ([PR #1072](https://github.com/aws/aws-advanced-python-wrapper/pull/1072)). * Update documentation with required db user permissions for Multi-AZ DB Cluster and Blue/Green support ([PR #1061](https://github.com/aws/aws-advanced-python-wrapper/pull/1061)). - ## [1.4.0] - 2025-10-17 ### :magic_wand: Added * [EFM v2](https://github.com/aws/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheHostMonitoringPlugin.md#host-monitoring-plugin-v2), an improved alternate version of the `efm` plugin which addresses issues such as garbage collection and monitoring stability, is now live!