Changes
To be included in 0.1.0 (unreleased)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- 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 bysetuptools-scm
during build, otherwise'unknown'
#748 - Fix SSCursor raising query timeout error on wrong query #428
0.0.22 (2021-11-14)
^^^^^^^^^^^^^^^^^^^
- Support python 3.10 #505
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)
^^^^^^^^^^^^^^^^^^^
- See v0.0.18
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)
^^^^^^^^^^^^^^^^^^^
- Pinned version of PyMySQL
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)
^^^^^^^^^^^^^^^^^^^
- Fixed SSL connection finalization #282
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)
^^^^^^^^^^^^^^^^^^^
- Fixed README formatting on pypi
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)
^^^^^^^^^^^^^^^^^^
- Added MANIFEST.in.
0.0.1 (2015-02-17)
^^^^^^^^^^^^^^^^^^
-
Initial release.
-
Implemented plain connections: connect, Connection, Cursor.
-
Implemented database pools.
-
Ported sqlalchemy optional support.