diff --git a/CHANGELOG.md b/CHANGELOG.md index be973d83..1554f74a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,25 @@ 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). +## [3.0.0] - 2026-05-27 +### :magic_wand: Added +* [SQLAlchemy ORM support](https://github.com/aws/aws-advanced-python-wrapper/blob/main/docs/using-the-python-wrapper/SQLAlchemySupport.md). + +### :bug: Fixed +* New pooled connections created with stale credentials, and PostgreSQL error handler unable to correctly handle auth errors nested in connection errors ([PR #1231](https://github.com/aws/aws-advanced-python-wrapper/pull/1231)). +* Read/Write Splitting plugins not subscribed to the execute pipeline, causing idle connections to not be correctly closed during failover ([PR #1117](https://github.com/aws/aws-advanced-python-wrapper/pull/1117)). + +### :crab: Breaking Changes +> [!WARNING] +> 3.0.0 changes the default `cluster_id` behavior. Applications connecting to **multiple database clusters** must now explicitly set a unique `cluster_id` for each cluster. See the [Cluster ID documentation](https://github.com/aws/aws-advanced-python-wrapper/blob/main/docs/using-the-python-wrapper/ClusterId.md) for details. +> +> #### Migration +> +> | Scenario | Action Required | +> |---|---| +> | Single database cluster | No changes required | +> | Multiple database clusters | Review all connection strings and add a unique `cluster_id` parameter per cluster. See the [Cluster ID documentation](https://github.com/aws/aws-advanced-python-wrapper/blob/main/docs/using-the-python-wrapper/ClusterId.md) for configuration guidance. | + ## [2.1.0] - 2026-02-11 ### :magic_wand: Added * [Failover v2 Plugin](https://github.com/aws/aws-advanced-python-wrapper/blob/main/docs/using-the-python-wrapper/using-plugins/UsingTheFailoverPlugin.md), an improved version of the failover plugin with enhanced reliability ([PR #1079](https://github.com/aws/aws-advanced-python-wrapper/pull/1079)). @@ -102,6 +121,7 @@ The Amazon Web Services (AWS) Advanced Python Wrapper allows an application to t * Support for PostgreSQL * Support for MySQL +[3.0.0]: https://github.com/aws/aws-advanced-python-wrapper/compare/2.1.0...3.0.0 [2.1.0]: https://github.com/aws/aws-advanced-python-wrapper/compare/2.0.0...2.1.0 [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 diff --git a/Maintenance.md b/Maintenance.md index 92fa57fe..f6128276 100644 --- a/Maintenance.md +++ b/Maintenance.md @@ -9,7 +9,8 @@ | 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) | -| February 11, 2026 | [Release 2.0.0](https://github.com/aws/aws-advanced-python-wrapper/releases/tag/2.1.0) | +| February 11, 2026 | [Release 2.1.0](https://github.com/aws/aws-advanced-python-wrapper/releases/tag/2.1.0) | +| May 27, 2026 | [Release 3.0.0](https://github.com/aws/aws-advanced-python-wrapper/releases/tag/3.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 @@ -63,4 +64,5 @@ 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 | Maintenance | May 16, 2024 | January 14, 2026 | January 14, 2027 | -| 2 | 2.1.0 | Current | January 14, 2026 | N/A | N/A | +| 2 | 2.1.0 | Maintenance | January 14, 2026 | May 27, 2026 | May 27, 2027 | +| 3 | 3.0.0 | Current | May 27, 2026 | N/A | N/A | diff --git a/aws_advanced_python_wrapper/driver_info.py b/aws_advanced_python_wrapper/driver_info.py index eb5bd768..b75c85ab 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 = "2.1.0" + DRIVER_VERSION = "3.0.0" diff --git a/poetry.lock b/poetry.lock index 063bd8da..6cb9e857 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 2.3.3 and should not be changed by hand. [[package]] name = "asgiref" @@ -2118,10 +2118,10 @@ files = [ ] [package.dependencies] -botocore = ">=1.37.4,<2.0a.0" +botocore = ">=1.37.4,<2.0a0" [package.extras] -crt = ["botocore[crt] (>=1.37.4,<2.0a.0)"] +crt = ["botocore[crt] (>=1.37.4,<2.0a0)"] [[package]] name = "six" diff --git a/pyproject.toml b/pyproject.toml index 7cf7f9c6..e8923de5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "aws_advanced_python_wrapper" -version = "2.1.0" +version = "3.0.0" description = "Amazon Web Services (AWS) Advanced Python Wrapper" authors = ["Amazon Web Services"] readme = "README.md"