NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1135 most downloaded on PyPI
MySQL driver for asyncio.
Last release 11 months ago
22 Oct 2025
Release timing varies
gaps range from 2 weeks to 2.4 years
Nearly every release is documented
notes for 27 of 27 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
29 releases · first in 2015
Remove deprecated Pool.get #706
0.3.2 (2025-10-21)
^^^^^^^^^^^^^^^^^^
0.3.1 (2025-10-21)
^^^^^^^^^^^^^^^^^^
0.3.0 (2025-10-21)
^^^^^^^^^^^^^^^^^^
Drop support for Python 3.7 and 3.8, replaced by 3.12 and 3.13 #1026
Bump minimum Sphinx version to generate documentation to 6.2.0 for Python 3.13 support #1026
Sphinx now uses the furo theme for local and RTD builds #936
Drop support for EoL MySQL 5.7, replaced by 8.4 and 9.4 #1032
Drop support for EoL MariaDB 10.4, 10.5, 10.9, 10.10, replaced by 11.4, 11.8, 12.0 #1032
Use immutable GitHub tags and releases for future releases #1034
| Bump setuptools to >=80, setuptools-scm to >=7, <10 #1018
| setuptools-scm must be at least 9.2.0 for consistent hash lengths of non-release builds.
| Properly check whether loading of local files is enabled #1044
| Loading local data now requires using the local_infile parameter, passing just the client flag through client_flag is no longer supported.
| Fixes GHSA-r397-ff8c-wv2g <https://github.com/aio-libs/aiomysql/security/advisories/GHSA-r397-ff8c-wv2g>_
| Thanks to @KonstantAnxiety for reporting this.
0.2.0 (2023-06-11)
^^^^^^^^^^^^^^^^^^
Bump minimal SQLAlchemy version to 1.3 #815
Remove deprecated Pool.get #706
| Partially ported PyMySQL#304 <https://github.com/PyMySQL/PyMySQL/pull/304>_ #792
| aiomysql now reraises the original exception during connect() if it's not IOError, OSError or asyncio.TimeoutError.
| This was previously always raised as OperationalError.
Fix debug log level with sha256_password authentication #863
Modernized code with pyupgrade <https://github.com/asottile/pyupgrade>_ to Python 3.7+ syntax #930
Removed tests for EoL MariaDB versions 10.3, 10.7 and 10.8, added tests for MariaDB 10.9, 10.10, 10.11 #932
0.1.1 (2022-05-08)
^^^^^^^^^^^^^^^^^^
0.1.0 (2022-04-11)
^^^^^^^^^^^^^^^^^^
Don't send sys.argv[0] as program_name to MySQL server by default #620
Allow running process as anonymous uid #587
Fix timed out MySQL 8.0 connections raising InternalError rather than OperationalError #660
Fix timed out MySQL 8.0 connections being returned from Pool #660
Ensure connections are properly closed before raising an OperationalError when the server connection is lost #660
Ensure connections are properly closed before raising an InternalError when packet sequence numbers are out of sync #660
Unix sockets are now internally considered secure, allowing sha256_password and caching_sha2_password auth methods to be used #695
Test suite now also tests unix socket connections #696
Fix SSCursor raising InternalError when last result was not fully retrieved #635
Remove deprecated no_delay argument #702
Support PyMySQL up to version 1.0.2 #643
Bump minimal PyMySQL version to 1.0.0 #713
Align % formatting in Cursor.executemany() with Cursor.execute(), literal % now need to be doubled in Cursor.executemany() #714
Fixed unlimited Pool size not working, this is now working as documented by passing maxsize=0 to create_pool #119
Added Pool.closed property as present in aiopg #463
Fixed SQLAlchemy connection context iterator #410
Fix error packet handling for SSCursor #428
Required python version is now properly documented in python_requires instead of failing on setup.py execution #731
Add rsa extras_require depending on PyMySQL[rsa] #557
Migrate to PEP 517 build system #746
Self-reported __version__ now returns version generated by setuptools-scm during build, otherwise 'unknown' #748
Fix SSCursor raising query timeout error on wrong query #428
0.0.22 (2021-11-14)
^^^^^^^^^^^^^^^^^^^
0.0.21 (2020-11-26)
^^^^^^^^^^^^^^^^^^^
Allow to use custom Cursor subclasses #374
Fill Connection class with actual client version #388
Fix legacy aiter methods #403
Ignore pyenv's .python-version file #424
Replace asyncio.streams.IncompleteReadError with asyncio.IncompleteReadError #460 #454
Update dependencies #485
Support Python 3.7 & 3.8 #493
0.0.20 (2018-12-19)
^^^^^^^^^^^^^^^^^^^
Fixed connect_timeout #360
Fixed support for SQLA executemany #324
Fix the python 3.7 compatibility #357
Fixed reuse connections when StreamReader has an exception #339
Fixes warning when inserting binary strings #326
0.0.19 (2018-07-12)
^^^^^^^^^^^^^^^^^^^
0.0.18 (2018-07-09)
^^^^^^^^^^^^^^^^^^^
Updated to support latest PyMySQL changes.
aiomysql now sends client connection info.
MySQL8+ Support including sha256_password and cached_sha2_password authentication plugins.
Default max packet length sent to the server is no longer 1.
Fixes issue where cursor.nextset can hang on query sets that raise errors.
0.0.17 (2018-07-06)
^^^^^^^^^^^^^^^^^^^
0.0.16 (2018-06-03)
^^^^^^^^^^^^^^^^^^^
0.0.15 (2018-05-20)
^^^^^^^^^^^^^^^^^^^
Fixed handling of user-defined types for sqlalchemy #290
Fix KeyError when server reports unknown collation #289
0.0.14 (2018-04-22)
^^^^^^^^^^^^^^^^^^^
0.0.13 (2018-04-19)
^^^^^^^^^^^^^^^^^^^
Added SSL support #280 (Thanks @terrycain)
Fixed all in aiomysql/init #270 (Thanks @matianjun1)
Added docker fixtures #275 (Thanks @terrycain)
0.0.12 (2018-01-18)
^^^^^^^^^^^^^^^^^^^
Fixed support for SQLAlchemy 1.2.0
Fixed argument for cursor.execute in sa engine #239 (Thanks @NotSoSuper)
0.0.11 (2017-12-06)
^^^^^^^^^^^^^^^^^^^
0.0.10 (2017-12-06)
^^^^^^^^^^^^^^^^^^^
Updated regular expressions to be compatible with pymysql #167 (Thanks @AlexLisovoy)
Added connection recycling in the pool #216
0.0.9 (2016-09-14)
^^^^^^^^^^^^^^^^^^
Fixed AttributeError in _request_authentication function #104 (Thanks @ttlttl)
Fixed legacy auth #105
uvloop added to test suite #106
0.0.8 (2016-08-24)
^^^^^^^^^^^^^^^^^^
Default min pool size reduced to 1 #80 (Thanks @Drizzt1991)
Update to PyMySQL 0.7.5 #89
Fixed connection cancellation in process of executing a query #79 (Thanks @Drizzt1991)
0.0.7 (2016-01-27)
^^^^^^^^^^^^^^^^^^
Fix for multiple results issue, ported from pymysql #52
Fixed useless warning with no_delay option #55
Added async/await support for Engine, SAConnection, Transaction #57
pool.release returns future so we can wait on it in aexit #60
Update to PyMySQL 0.6.7
0.0.6 (2015-12-11)
^^^^^^^^^^^^^^^^^^
Fixed bug with SA rollback (Thanks @khlyestovillarion!)
Fixed issue with default no_delay option (Thanks @khlyestovillarion!)
0.0.5 (2015-10-28)
^^^^^^^^^^^^^^^^^^
no_delay option is deprecated and True by default
Add Cursor.mogrify() method
Support for "LOAD LOCAL INFILE" query.
Check connection inside pool, in case of timeout drop it, fixes #25
Add support of python 3.5 features to pool, connection and cursor
0.0.4 (2015-05-23)
^^^^^^^^^^^^^^^^^^
Allow to call connection.wait_closed twice.
Fixed sqlalchemy 1.0.0 support.
Fix #11: Rename Connection.wait_closed() to .ensure_closed()
Raise ResourceWarning on non-closed Connection
Rename Connection.connect to _connect
0.0.3 (2015-03-10)
^^^^^^^^^^^^^^^^^^
Added support for PyMySQL up to 0.6.6.
Ported improvements from PyMySQL.
Added basic documentation.
Fixed and added more examples.
0.0.2 (2015-02-17)
^^^^^^^^^^^^^^^^^^
0.0.1 (2015-02-17)
^^^^^^^^^^^^^^^^^^
Initial release.
Implemented plain connections: connect, Connection, Cursor.
Implemented database pools.
Ported sqlalchemy optional support.
One column per quarter.
Fix permissions in GitHub Actions workflow to allow pushing git tag after release #1046
Drop support for Python 3.7 and 3.8, replaced by 3.12 and 3.13 #1026
Drop support for Python 3.7 and 3.8, replaced by 3.12 and 3.13 #1026
Bump minimum Sphinx version to generate documentation to 6.2.0 for Python 3.13 support #1026
Sphinx now uses the furo theme for local and RTD builds #936
Drop support for EoL MySQL 5.7, replaced by 8.4 and 9.4 #1032
Drop support for EoL MariaDB 10.4, 10.5, 10.9, 10.10, replaced by 11.4, 11.8, 12.0 #1032
Use immutable GitHub tags and releases for future releases #1034
| Bump setuptools to >=80, setuptools-scm to >=7, <10 #1018 | setuptools-scm must be at least 9.2.0 for consistent hash lengths of non-release builds.
| Properly check whether loading of local files is enabled #1044
| Loading local data now requires using the local_infile parameter, passing just the client flag through client_flag is no longer supported.
| Fixes GHSA-r397-ff8c-wv2g <https://github.com/aio-libs/aiomysql/security/advisories/GHSA-r397-ff8c-wv2g>_
| Thanks to @KonstantAnxiety for reporting this.
Remove deprecated Pool.get #706
0.2.0 (2023-06-11)
^^^^^^^^^^^^^^^^^^
Bump minimal SQLAlchemy version to 1.3 #815
Remove deprecated Pool.get #706
| Partially ported PyMySQL#304 <https://github.com/PyMySQL/PyMySQL/pull/304>_ #792
| aiomysql now reraises the original exception during connect() if it's not IOError, OSError or asyncio.TimeoutError.
| This was previously always raised as OperationalError.
Fix debug log level with sha256_password authentication #863
Modernized code with pyupgrade <https://github.com/asottile/pyupgrade>_ to Python 3.7+ syntax #930
Removed tests for EoL MariaDB versions 10.3, 10.7 and 10.8, added tests for MariaDB 10.9, 10.10, 10.11 #932
0.1.1 (2022-05-08)
^^^^^^^^^^^^^^^^^^
0.1.0 (2022-04-11)
^^^^^^^^^^^^^^^^^^
Don't send sys.argv[0] as program_name to MySQL server by default #620
Allow running process as anonymous uid #587
Fix timed out MySQL 8.0 connections raising InternalError rather than OperationalError #660
Fix timed out MySQL 8.0 connections being returned from Pool #660
Ensure connections are properly closed before raising an OperationalError when the server connection is lost #660
Ensure connections are properly closed before raising an InternalError when packet sequence numbers are out of sync #660
Unix sockets are now internally considered secure, allowing sha256_password and caching_sha2_password auth methods to be used #695
Test suite now also tests unix socket connections #696
Fix SSCursor raising InternalError when last result was not fully retrieved #635
Remove deprecated no_delay argument #702
Support PyMySQL up to version 1.0.2 #643
Bump minimal PyMySQL version to 1.0.0 #713
Align % formatting in Cursor.executemany() with Cursor.execute(), literal % now need to be doubled in Cursor.executemany() #714
Fixed unlimited Pool size not working, this is now working as documented by passing maxsize=0 to create_pool #119
Added Pool.closed property as present in aiopg #463
Fixed SQLAlchemy connection context iterator #410
Fix error packet handling for SSCursor #428
Required python version is now properly documented in python_requires instead of failing on setup.py execution #731
Add rsa extras_require depending on PyMySQL[rsa] #557
Migrate to PEP 517 build system #746
Self-reported __version__ now returns version generated by setuptools-scm during build, otherwise 'unknown' #748
Fix SSCursor raising query timeout error on wrong query #428
0.0.22 (2021-11-14)
^^^^^^^^^^^^^^^^^^^
0.0.21 (2020-11-26)
^^^^^^^^^^^^^^^^^^^
Allow to use custom Cursor subclasses #374
Fill Connection class with actual client version #388
Fix legacy aiter methods #403
Ignore pyenv's .python-version file #424
Replace asyncio.streams.IncompleteReadError with asyncio.IncompleteReadError #460 #454
Update dependencies #485
Support Python 3.7 & 3.8 #493
0.0.20 (2018-12-19)
^^^^^^^^^^^^^^^^^^^
Fixed connect_timeout #360
Fixed support for SQLA executemany #324
Fix the python 3.7 compatibility #357
Fixed reuse connections when StreamReader has an exception #339
Fixes warning when inserting binary strings #326
0.0.19 (2018-07-12)
^^^^^^^^^^^^^^^^^^^
0.0.18 (2018-07-09)
^^^^^^^^^^^^^^^^^^^
Updated to support latest PyMySQL changes.
aiomysql now sends client connection info.
MySQL8+ Support including sha256_password and cached_sha2_password authentication plugins.
Default max packet length sent to the server is no longer 1.
Fixes issue where cursor.nextset can hang on query sets that raise errors.
0.0.17 (2018-07-06)
^^^^^^^^^^^^^^^^^^^
0.0.16 (2018-06-03)
^^^^^^^^^^^^^^^^^^^
0.0.15 (2018-05-20)
^^^^^^^^^^^^^^^^^^^
Fixed handling of user-defined types for sqlalchemy #290
Fix KeyError when server reports unknown collation #289
0.0.14 (2018-04-22)
^^^^^^^^^^^^^^^^^^^
0.0.13 (2018-04-19)
^^^^^^^^^^^^^^^^^^^
Added SSL support #280 (Thanks @terrycain)
Fixed all in aiomysql/init #270 (Thanks @matianjun1)
Added docker fixtures #275 (Thanks @terrycain)
0.0.12 (2018-01-18)
^^^^^^^^^^^^^^^^^^^
Fixed support for SQLAlchemy 1.2.0
Fixed argument for cursor.execute in sa engine #239 (Thanks @NotSoSuper)
0.0.11 (2017-12-06)
^^^^^^^^^^^^^^^^^^^
0.0.10 (2017-12-06)
^^^^^^^^^^^^^^^^^^^
Updated regular expressions to be compatible with pymysql #167 (Thanks @AlexLisovoy)
Added connection recycling in the pool #216
0.0.9 (2016-09-14)
^^^^^^^^^^^^^^^^^^
Fixed AttributeError in _request_authentication function #104 (Thanks @ttlttl)
Fixed legacy auth #105
uvloop added to test suite #106
0.0.8 (2016-08-24)
^^^^^^^^^^^^^^^^^^
Default min pool size reduced to 1 #80 (Thanks @Drizzt1991)
Update to PyMySQL 0.7.5 #89
Fixed connection cancellation in process of executing a query #79 (Thanks @Drizzt1991)
0.0.7 (2016-01-27)
^^^^^^^^^^^^^^^^^^
Fix for multiple results issue, ported from pymysql #52
Fixed useless warning with no_delay option #55
Added async/await support for Engine, SAConnection, Transaction #57
pool.release returns future so we can wait on it in aexit #60
Update to PyMySQL 0.6.7
0.0.6 (2015-12-11)
^^^^^^^^^^^^^^^^^^
Fixed bug with SA rollback (Thanks @khlyestovillarion!)
Fixed issue with default no_delay option (Thanks @khlyestovillarion!)
0.0.5 (2015-10-28)
^^^^^^^^^^^^^^^^^^
no_delay option is deprecated and True by default
Add Cursor.mogrify() method
Support for "LOAD LOCAL INFILE" query.
Check connection inside pool, in case of timeout drop it, fixes #25
Add support of python 3.5 features to pool, connection and cursor
0.0.4 (2015-05-23)
^^^^^^^^^^^^^^^^^^
Allow to call connection.wait_closed twice.
Fixed sqlalchemy 1.0.0 support.
Fix #11: Rename Connection.wait_closed() to .ensure_closed()
Raise ResourceWarning on non-closed Connection
Rename Connection.connect to _connect
0.0.3 (2015-03-10)
^^^^^^^^^^^^^^^^^^
Added support for PyMySQL up to 0.6.6.
Ported improvements from PyMySQL.
Added basic documentation.
Fixed and added more examples.
0.0.2 (2015-02-17)
^^^^^^^^^^^^^^^^^^
0.0.1 (2015-02-17)
^^^^^^^^^^^^^^^^^^
Initial release.
Implemented plain connections: connect, Connection, Cursor.
Implemented database pools.
Ported sqlalchemy optional support.
Remove deprecated no_delay argument #702
0.1.1 (2022-05-08)
^^^^^^^^^^^^^^^^^^
0.1.0 (2022-04-11)
^^^^^^^^^^^^^^^^^^
Don't send sys.argv[0] as program_name to MySQL server by default #620
Allow running process as anonymous uid #587
Fix timed out MySQL 8.0 connections raising InternalError rather than OperationalError #660
Fix timed out MySQL 8.0 connections being returned from Pool #660
Ensure connections are properly closed before raising an OperationalError when the server connection is lost #660
Ensure connections are properly closed before raising an InternalError when packet sequence numbers are out of sync #660
Unix sockets are now internally considered secure, allowing sha256_password and caching_sha2_password auth methods to be used #695
Test suite now also tests unix socket connections #696
Fix SSCursor raising InternalError when last result was not fully retrieved #635
Remove deprecated no_delay argument #702
Support PyMySQL up to version 1.0.2 #643
Bump minimal PyMySQL version to 1.0.0 #713
Align % formatting in Cursor.executemany() with Cursor.execute(), literal % now need to be doubled in Cursor.executemany() #714
Fixed unlimited Pool size not working, this is now working as documented by passing maxsize=0 to create_pool #119
Added Pool.closed property as present in aiopg #463
Fixed SQLAlchemy connection context iterator #410
Fix error packet handling for SSCursor #428
Required python version is now properly documented in python_requires instead of failing on setup.py execution #731
Add rsa extras_require depending on PyMySQL[rsa] #557
Migrate to PEP 517 build system #746
Self-reported __version__ now returns version generated by setuptools-scm during build, otherwise 'unknown' #748
Fix SSCursor raising query timeout error on wrong query #428
0.0.22 (2021-11-14)
^^^^^^^^^^^^^^^^^^^
0.0.21 (2020-11-26)
^^^^^^^^^^^^^^^^^^^
Allow to use custom Cursor subclasses #374
Fill Connection class with actual client version #388
Fix legacy aiter methods #403
Ignore pyenv's .python-version file #424
Replace asyncio.streams.IncompleteReadError with asyncio.IncompleteReadError #460 #454
Update dependencies #485
Support Python 3.7 & 3.8 #493
0.0.20 (2018-12-19)
^^^^^^^^^^^^^^^^^^^
Fixed connect_timeout #360
Fixed support for SQLA executemany #324
Fix the python 3.7 compatibility #357
Fixed reuse connections when StreamReader has an exception #339
Fixes warning when inserting binary strings #326
0.0.19 (2018-07-12)
^^^^^^^^^^^^^^^^^^^
0.0.18 (2018-07-09)
^^^^^^^^^^^^^^^^^^^
Updated to support latest PyMySQL changes.
aiomysql now sends client connection info.
MySQL8+ Support including sha256_password and cached_sha2_password authentication plugins.
Default max packet length sent to the server is no longer 1.
Fixes issue where cursor.nextset can hang on query sets that raise errors.
0.0.17 (2018-07-06)
^^^^^^^^^^^^^^^^^^^
0.0.16 (2018-06-03)
^^^^^^^^^^^^^^^^^^^
0.0.15 (2018-05-20)
^^^^^^^^^^^^^^^^^^^
Fixed handling of user-defined types for sqlalchemy #290
Fix KeyError when server reports unknown collation #289
0.0.14 (2018-04-22)
^^^^^^^^^^^^^^^^^^^
0.0.13 (2018-04-19)
^^^^^^^^^^^^^^^^^^^
Added SSL support #280 (Thanks @terrycain)
Fixed all in aiomysql/init #270 (Thanks @matianjun1)
Added docker fixtures #275 (Thanks @terrycain)
0.0.12 (2018-01-18)
^^^^^^^^^^^^^^^^^^^
Fixed support for SQLAlchemy 1.2.0
Fixed argument for cursor.execute in sa engine #239 (Thanks @NotSoSuper)
0.0.11 (2017-12-06)
^^^^^^^^^^^^^^^^^^^
0.0.10 (2017-12-06)
^^^^^^^^^^^^^^^^^^^
Updated regular expressions to be compatible with pymysql #167 (Thanks @AlexLisovoy)
Added connection recycling in the pool #216
0.0.9 (2016-09-14)
^^^^^^^^^^^^^^^^^^
Fixed AttributeError in _request_authentication function #104 (Thanks @ttlttl)
Fixed legacy auth #105
uvloop added to test suite #106
0.0.8 (2016-08-24)
^^^^^^^^^^^^^^^^^^
Default min pool size reduced to 1 #80 (Thanks @Drizzt1991)
Update to PyMySQL 0.7.5 #89
Fixed connection cancellation in process of executing a query #79 (Thanks @Drizzt1991)
0.0.7 (2016-01-27)
^^^^^^^^^^^^^^^^^^
Fix for multiple results issue, ported from pymysql #52
Fixed useless warning with no_delay option #55
Added async/await support for Engine, SAConnection, Transaction #57
pool.release returns future so we can wait on it in aexit #60
Update to PyMySQL 0.6.7
0.0.6 (2015-12-11)
^^^^^^^^^^^^^^^^^^
Fixed bug with SA rollback (Thanks @khlyestovillarion!)
Fixed issue with default no_delay option (Thanks @khlyestovillarion!)
0.0.5 (2015-10-28)
^^^^^^^^^^^^^^^^^^
no_delay option is deprecated and True by default
Add Cursor.mogrify() method
Support for "LOAD LOCAL INFILE" query.
Check connection inside pool, in case of timeout drop it, fixes #25
Add support of python 3.5 features to pool, connection and cursor
0.0.4 (2015-05-23)
^^^^^^^^^^^^^^^^^^
Allow to call connection.wait_closed twice.
Fixed sqlalchemy 1.0.0 support.
Fix #11: Rename Connection.wait_closed() to .ensure_closed()
Raise ResourceWarning on non-closed Connection
Rename Connection.connect to _connect
0.0.3 (2015-03-10)
^^^^^^^^^^^^^^^^^^
Added support for PyMySQL up to 0.6.6.
Ported improvements from PyMySQL.
Added basic documentation.
Fixed and added more examples.
0.0.2 (2015-02-17)
^^^^^^^^^^^^^^^^^^
0.0.1 (2015-02-17)
^^^^^^^^^^^^^^^^^^
Initial release.
Implemented plain connections: connect, Connection, Cursor.
Implemented database pools.
Ported sqlalchemy optional support.
Remove deprecated no_delay argument #702
0.1.0 (2022-04-11)
^^^^^^^^^^^^^^^^^^
Don't send sys.argv[0] as program_name to MySQL server by default #620
Allow running process as anonymous uid #587
Fix timed out MySQL 8.0 connections raising InternalError rather than OperationalError #660
Fix timed out MySQL 8.0 connections being returned from Pool #660
Ensure connections are properly closed before raising an OperationalError when the server connection is lost #660
Ensure connections are properly closed before raising an InternalError when packet sequence numbers are out of sync #660
Unix sockets are now internally considered secure, allowing sha256_password and caching_sha2_password auth methods to be used #695
Test suite now also tests unix socket connections #696
Fix SSCursor raising InternalError when last result was not fully retrieved #635
Remove deprecated no_delay argument #702
Support PyMySQL up to version 1.0.2 #643
Bump minimal PyMySQL version to 1.0.0 #713
Align % formatting in Cursor.executemany() with Cursor.execute(), literal % now need to be doubled in Cursor.executemany() #714
Fixed unlimited Pool size not working, this is now working as documented by passing maxsize=0 to create_pool #119
Added Pool.closed property as present in aiopg #463
Fixed SQLAlchemy connection context iterator #410
Fix error packet handling for SSCursor #428
Required python version is now properly documented in python_requires instead of failing on setup.py execution #731
Add rsa extras_require depending on PyMySQL[rsa] #557
Migrate to PEP 517 build system #746
Self-reported __version__ now returns version generated by setuptools-scm during build, otherwise 'unknown' #748
Fix SSCursor raising query timeout error on wrong query #428
0.0.22 (2021-11-14)
^^^^^^^^^^^^^^^^^^^
0.0.21 (2020-11-26)
^^^^^^^^^^^^^^^^^^^
Allow to use custom Cursor subclasses #374
Fill Connection class with actual client version #388
Fix legacy aiter methods #403
Ignore pyenv's .python-version file #424
Replace asyncio.streams.IncompleteReadError with asyncio.IncompleteReadError #460 #454
Update dependencies #485
Support Python 3.7 & 3.8 #493
0.0.20 (2018-12-19)
^^^^^^^^^^^^^^^^^^^
Fixed connect_timeout #360
Fixed support for SQLA executemany #324
Fix the python 3.7 compatibility #357
Fixed reuse connections when StreamReader has an exception #339
Fixes warning when inserting binary strings #326
0.0.19 (2018-07-12)
^^^^^^^^^^^^^^^^^^^
0.0.18 (2018-07-09)
^^^^^^^^^^^^^^^^^^^
Updated to support latest PyMySQL changes.
aiomysql now sends client connection info.
MySQL8+ Support including sha256_password and cached_sha2_password authentication plugins.
Default max packet length sent to the server is no longer 1.
Fixes issue where cursor.nextset can hang on query sets that raise errors.
0.0.17 (2018-07-06)
^^^^^^^^^^^^^^^^^^^
0.0.16 (2018-06-03)
^^^^^^^^^^^^^^^^^^^
0.0.15 (2018-05-20)
^^^^^^^^^^^^^^^^^^^
Fixed handling of user-defined types for sqlalchemy #290
Fix KeyError when server reports unknown collation #289
0.0.14 (2018-04-22)
^^^^^^^^^^^^^^^^^^^
0.0.13 (2018-04-19)
^^^^^^^^^^^^^^^^^^^
Added SSL support #280 (Thanks @terrycain)
Fixed all in aiomysql/init #270 (Thanks @matianjun1)
Added docker fixtures #275 (Thanks @terrycain)
0.0.12 (2018-01-18)
^^^^^^^^^^^^^^^^^^^
Fixed support for SQLAlchemy 1.2.0
Fixed argument for cursor.execute in sa engine #239 (Thanks @NotSoSuper)
0.0.11 (2017-12-06)
^^^^^^^^^^^^^^^^^^^
0.0.10 (2017-12-06)
^^^^^^^^^^^^^^^^^^^
Updated regular expressions to be compatible with pymysql #167 (Thanks @AlexLisovoy)
Added connection recycling in the pool #216
0.0.9 (2016-09-14)
^^^^^^^^^^^^^^^^^^
Fixed AttributeError in _request_authentication function #104 (Thanks @ttlttl)
Fixed legacy auth #105
uvloop added to test suite #106
0.0.8 (2016-08-24)
^^^^^^^^^^^^^^^^^^
Default min pool size reduced to 1 #80 (Thanks @Drizzt1991)
Update to PyMySQL 0.7.5 #89
Fixed connection cancellation in process of executing a query #79 (Thanks @Drizzt1991)
0.0.7 (2016-01-27)
^^^^^^^^^^^^^^^^^^
Fix for multiple results issue, ported from pymysql #52
Fixed useless warning with no_delay option #55
Added async/await support for Engine, SAConnection, Transaction #57
pool.release returns future so we can wait on it in aexit #60
Update to PyMySQL 0.6.7
0.0.6 (2015-12-11)
^^^^^^^^^^^^^^^^^^
Fixed bug with SA rollback (Thanks @khlyestovillarion!)
Fixed issue with default no_delay option (Thanks @khlyestovillarion!)
0.0.5 (2015-10-28)
^^^^^^^^^^^^^^^^^^
no_delay option is deprecated and True by default
Add Cursor.mogrify() method
Support for "LOAD LOCAL INFILE" query.
Check connection inside pool, in case of timeout drop it, fixes #25
Add support of python 3.5 features to pool, connection and cursor
0.0.4 (2015-05-23)
^^^^^^^^^^^^^^^^^^
Allow to call connection.wait_closed twice.
Fixed sqlalchemy 1.0.0 support.
Fix #11: Rename Connection.wait_closed() to .ensure_closed()
Raise ResourceWarning on non-closed Connection
Rename Connection.connect to _connect
0.0.3 (2015-03-10)
^^^^^^^^^^^^^^^^^^
Added support for PyMySQL up to 0.6.6.
Ported improvements from PyMySQL.
Added basic documentation.
Fixed and added more examples.
0.0.2 (2015-02-17)
^^^^^^^^^^^^^^^^^^
0.0.1 (2015-02-17)
^^^^^^^^^^^^^^^^^^
Initial release.
Implemented plain connections: connect, Connection, Cursor.
Implemented database pools.
Ported sqlalchemy optional support.
Remove deprecated no_delay argument #702
To be included in 0.1.0 (unreleased)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
__version__ now returns version generated by setuptools-scm during build, otherwise 'unknown' #7480.0.22 (2021-11-14)
^^^^^^^^^^^^^^^^^^^
0.0.21 (2020-11-26)
^^^^^^^^^^^^^^^^^^^
Allow to use custom Cursor subclasses #374
Fill Connection class with actual client version #388
Fix legacy aiter methods #403
Ignore pyenv's .python-version file #424
Replace asyncio.streams.IncompleteReadError with asyncio.IncompleteReadError #460 #454
Update dependencies #485
Support Python 3.7 & 3.8 #493
0.0.20 (2018-12-19)
^^^^^^^^^^^^^^^^^^^
Fixed connect_timeout #360
Fixed support for SQLA executemany #324
Fix the python 3.7 compatibility #357
Fixed reuse connections when StreamReader has an exception #339
Fixes warning when inserting binary strings #326
0.0.19 (2018-07-12)
^^^^^^^^^^^^^^^^^^^
0.0.18 (2018-07-09)
^^^^^^^^^^^^^^^^^^^
Updated to support latest PyMySQL changes.
aiomysql now sends client connection info.
MySQL8+ Support including sha256_password and cached_sha2_password authentication plugins.
Default max packet length sent to the server is no longer 1.
Fixes issue where cursor.nextset can hang on query sets that raise errors.
0.0.17 (2018-07-06)
^^^^^^^^^^^^^^^^^^^
0.0.16 (2018-06-03)
^^^^^^^^^^^^^^^^^^^
0.0.15 (2018-05-20)
^^^^^^^^^^^^^^^^^^^
Fixed handling of user-defined types for sqlalchemy #290
Fix KeyError when server reports unknown collation #289
0.0.14 (2018-04-22)
^^^^^^^^^^^^^^^^^^^
0.0.13 (2018-04-19)
^^^^^^^^^^^^^^^^^^^
Added SSL support #280 (Thanks @terrycain)
Fixed all in aiomysql/init #270 (Thanks @matianjun1)
Added docker fixtures #275 (Thanks @terrycain)
0.0.12 (2018-01-18)
^^^^^^^^^^^^^^^^^^^
Fixed support for SQLAlchemy 1.2.0
Fixed argument for cursor.execute in sa engine #239 (Thanks @NotSoSuper)
0.0.11 (2017-12-06)
^^^^^^^^^^^^^^^^^^^
0.0.10 (2017-12-06)
^^^^^^^^^^^^^^^^^^^
Updated regular expressions to be compatible with pymysql #167 (Thanks @AlexLisovoy)
Added connection recycling in the pool #216
0.0.9 (2016-09-14)
^^^^^^^^^^^^^^^^^^
Fixed AttributeError in _request_authentication function #104 (Thanks @ttlttl)
Fixed legacy auth #105
uvloop added to test suite #106
0.0.8 (2016-08-24)
^^^^^^^^^^^^^^^^^^
Default min pool size reduced to 1 #80 (Thanks @Drizzt1991)
Update to PyMySQL 0.7.5 #89
Fixed connection cancellation in process of executing a query #79 (Thanks @Drizzt1991)
0.0.7 (2016-01-27)
^^^^^^^^^^^^^^^^^^
Fix for multiple results issue, ported from pymysql #52
Fixed useless warning with no_delay option #55
Added async/await support for Engine, SAConnection, Transaction #57
pool.release returns future so we can wait on it in aexit #60
Update to PyMySQL 0.6.7
0.0.6 (2015-12-11)
^^^^^^^^^^^^^^^^^^
Fixed bug with SA rollback (Thanks @khlyestovillarion!)
Fixed issue with default no_delay option (Thanks @khlyestovillarion!)
0.0.5 (2015-10-28)
^^^^^^^^^^^^^^^^^^
no_delay option is deprecated and True by default
Add Cursor.mogrify() method
Support for "LOAD LOCAL INFILE" query.
Check connection inside pool, in case of timeout drop it, fixes #25
Add support of python 3.5 features to pool, connection and cursor
0.0.4 (2015-05-23)
^^^^^^^^^^^^^^^^^^
Allow to call connection.wait_closed twice.
Fixed sqlalchemy 1.0.0 support.
Fix #11: Rename Connection.wait_closed() to .ensure_closed()
Raise ResourceWarning on non-closed Connection
Rename Connection.connect to _connect
0.0.3 (2015-03-10)
^^^^^^^^^^^^^^^^^^
Added support for PyMySQL up to 0.6.6.
Ported improvements from PyMySQL.
Added basic documentation.
Fixed and added more examples.
0.0.2 (2015-02-17)
^^^^^^^^^^^^^^^^^^
0.0.1 (2015-02-17)
^^^^^^^^^^^^^^^^^^
Initial release.
Implemented plain connections: connect, Connection, Cursor.
Implemented database pools.
Ported sqlalchemy optional support.
Nothing published for this version
* Support python 3.10 #505
Allow to use custom Cursor subclasses #374
Allow to use custom Cursor subclasses #374
Fill Connection class with actual client version #388
Fix legacy aiter methods #403
Ignore pyenv's .python-version file #424
Replace asyncio.streams.IncompleteReadError with asyncio.IncompleteReadError #460 #454
Update dependencies #485
Support Python 3.7 & 3.8 #493
Fixed support for SQLA executemany #324
Changes See v0.0.18
## CHANGES * Pinned version of PyMySQL
Added ability to execute precompiled sqlalchemy queries #294 (Thanks @vlanse)
Fixed handling of user-defined types for sqlalchemy #290
Fixed SSL connection finalization #282
Added SSL support #280 (Thanks @terrycain)
Fixed support for SQLAlchemy 1.2.0 #244
Fixed support for SQLAlchemy 1.2.0
Fixed argument for cursor.execute in sa engine #239 (Thanks @NotSoSuper)
Fixed README formatting on pypi
Updated regular expressions to be compatible with pymysql #167 (Thanks @AlexLisovoy)
Updated regular expressions to be compatible with pymysql #167 (Thanks @AlexLisovoy)
Added connection recycling in the pool #216
Fixed AttributeError in _request_authentication function #104 (Thanks @ttlttl)
Default min pool size reduced to 1 #80 (Thanks @Drizzt1991)
Fix for multiple results issue, ported from pymysql #52
__aexit__ #60Fixed bug with SA rollback (Thanks @khlyestovillarion!)
no_delay option is deprecated and True by default
Allow to call connection.wait_closed twice.
Added support for PyMySQL up to 0.6.6.
## Changes - Added manifest.in
Implemented plain connections: connect, Connection, Cursor.
Your coding agent can read these notes before it upgrades. Set up the MCP server →