deb-python-pymysql/CHANGELOG

229 lines
6.6 KiB
Plaintext

# Changes
## 0.7.11
Release date: 2017-04-06
* Fixed Connection.close() failed when failed to send COM_CLOSE packet.
* Cursor.executemany() accepts query ends with semicolon.
* ssl parameters can be read from my.cnf.
## 0.7.10
Release date: 2017-02-14
* **SECURITY FIX**: Raise RuntimeError when received LOAD_LOCAL packet while
``loacal_infile=False``. (Thanks to Bryan Helmig)
* Raise SERVER_LOST error for MariaDB's shutdown packet (#540)
* Change default connect_timeout to 10.
* Add bind_address option (#529)
## 0.7.9
Release date: 2016-09-03
* Fix PyMySQL stop reading rows when first column is empty string (#513)
Reverts DEPRECATE_EOF introduced in 0.7.7.
## 0.7.8
Release date: 2016-09-01
* Revert error message change in 0.7.7.
(SQLAlchemy parses error message, #507)
## 0.7.7
Release date: 2016-08-30
* Add new unicode collation (#498)
* Fix conv option is not used for encoding objects.
* Experimental support for DEPRECATE_EOF protocol.
## 0.7.6
Release date: 2016-07-29
* Fix SELECT JSON type cause UnicodeError
* Avoid float convertion while parsing microseconds
* Warning has number
* SSCursor supports warnings
## 0.7.5
Release date: 2016-06-28
* Fix exception raised while importing when getpwuid() fails (#472)
* SSCursor supports LOAD DATA LOCAL INFILE (#473)
* Fix encoding error happen for JSON type (#477)
* Fix test fail on Python 2.7 and MySQL 5.7 (#478)
## 0.7.4
Release date: 2016-05-26
* Fix AttributeError may happen while Connection.__del__ (#463)
* Fix SyntaxError in test_cursor. (#464)
* frozenset support for query value. (#461)
* Start using readthedocs.io
## 0.7.3
Release date: 2016-05-19
* Add read_timeout and write_timeout option.
* Support serialization customization by `conv` option.
* Unknown type is converted by `str()`, for MySQLdb compatibility.
* Support '%%' in `Cursor.executemany()`
* Support REPLACE statement in `Cursor.executemany()`
* Fix handling incomplete row caused by 'SHOW SLAVE HOSTS'.
* Fix decode error when use_unicode=False on PY3
* Fix port option in my.cnf file is ignored.
## 0.7.2
Release date: 2016-02-24
* Fix misuse of `max_allowed_packet` parameter. (#426, #407 and #397)
* Add %(name)s plceholder support to `Cursor.executemany()`. (#427, thanks to
@WorldException)
## 0.7.1
Release date: 2016-01-14
* Fix auth fail with MySQL 5.1
* Fix escaping unicode fails on Python 2
## 0.7
Release date: 2016-01-10
* Faster binary escaping
* Add `"_binary" prefix` to string literal for binary types.
binary types are: `bytearray` on Python 2, `bytes` and `bytearray` on Python 3.
This is because recent MySQL show warnings when string literal is invalid for
connection encoding.
* `pymysql.Binary()` returns `bytearray` on Python 2. This is required to distinguish
binary and string.
* Auth plugin support.
* no_delay option is ignored. It will be removed in PyMySQL 0.8.
## 0.6.7
Release date: 2015-09-30
* Allow self signed certificate
* Add max_allowed_packet option
* Fix error when bytes in executemany
* Support geometry type
* Add coveralls badge to README
* Fix some bugs relating to warnings
* Add Cursor.mogrify() method
* no_delay option is deprecated and True by default
* Fix options from my.cnf overrides options from arguments
* Allow socket like object. (It's not feature for end users)
* Strip quotes while reading options from my.cnf file
* Fix encoding issue in executemany()
## 0.6.6
* Add context manager to cursor
* Fix can't encode blob that is not utf-8 on PY3. (regression of 0.6.4,
Thanks to @wiggzz)
## 0.6.5
Skipped
## 0.6.4
* Support "LOAD LOCAL INFILE". Thanks @wraziens
* Show MySQL warnings after execute query.
* Fix MySQLError may be wrapped with OperationalError while connectiong. (#274)
* SSCursor no longer attempts to expire un-collected rows within __del__,
delaying termination of an interrupted program; cleanup of uncollected
rows is left to the Connection on next execute, which emits a
warning at that time. (#287)
* Support datetime and time with microsecond. (#303)
* Use surrogateescape to format bytes on Python 3.
* OperationalError raised from connect() have information about original
exception. (#304)
* `init_command` now support multi statement.
* `Connection.escape()` method now accepts second argument compatible to
MySQL-Python.
## 0.6.3
* Fixed multiple result sets with SSCursor.
* Fixed connection timeout.
* Fixed literal set syntax to work on Py2.6.
* Allow for mysql negative values with 0 hour timedelta.
* Added Connection.begin().
## 0.6.2
* Fixed old password on Python 3.
* Added support for bulk insert in Cursor.executemany().
* Added support for microseconds in datetimes and dates before 1900.
* Several other bug fixes.
## 0.6.1
* Added cursor._last_executed for MySQLdb compatibility
* Cursor.fetchall() and .fetchmany now return list, not tuple
* Allow "length of auth-plugin-data" = 0
* Cursor.connection references connection object without weakref
## 0.6
* Improved Py3k support
* Improved PyPy support
* Added IPv6 support
* Added Thing2Literal for Django/MySQLdb compatibility
* Removed errorhandler
* Fixed GC errors
* Improved test suite
* Many bug fixes
* Many performance improvements
## 0.4
* Miscellaneous bug fixes
* Implementation of SSL support
* Implementation of kill()
* Cleaned up charset functionality
* Fixed BIT type handling
* Connections raise exceptions after they are close()'d
* Full Py3k and unicode support
## 0.3
* Implemented most of the extended DBAPI 2.0 spec including callproc()
* Fixed error handling to include the message from the server and support
multiple protocol versions.
* Implemented ping()
* Implemented unicode support (probably needs better testing)
* Removed DeprecationWarnings
* Ran against the MySQLdb unit tests to check for bugs
* Added support for client_flag, charset, sql_mode, read_default_file,
use_unicode, cursorclass, init_command, and connect_timeout.
* Refactoring for some more compatibility with MySQLdb including a fake
pymysql.version_info attribute.
* Now runs with no warnings with the -3 command-line switch
* Added test cases for all outstanding tickets and closed most of them.
* Basic Jython support added.
* Fixed empty result sets bug.
* Integrated new unit tests and refactored the example into one.
* Fixed bug with decimal conversion.
* Fixed string encoding bug. Now unicode and binary data work!
* Added very basic docstrings.
## 0.2
* Changed connection parameter name 'password' to 'passwd'
to make it more plugin replaceable for the other mysql clients.
* Changed pack()/unpack() calls so it runs on 64 bit OSes too.
* Added support for unix_socket.
* Added support for no password.
* Renamed decorders to decoders.
* Better handling of non-existing decoder.