Connector/Python is now compatible with Django 1.11. Thanks to Brian Tyndall for the patch for some of the work. (Bug #25965922, Bug #86105, Bug #26257499, Bug #86652)
Connector/Python now attempts to connect using TLS by default if the server supports encrypted connections. This also adds a boolean option named
ssl_disabled
that isFalse
by default. (Bug #21947091, Bug #22496920, Bug #78707, Bug #79825)
Prepared statements did not work with a MySQL 8.0 server. (Bug #26376334)
With a connection character set of
utf8mb4
, multiple-row insert operations failed with an error of LookupError: unknown encoding: utf8mb4. Thanks to Imre Fitos for the patch. (Bug #24659561, Bug #23021033, Bug #80535, Bug #80897, Bug #82948)Creating a
Connection
instance withuse_pure=True
could lead to the underlying socket not being closed if the user name or password were invalid. Thanks to Vilnis Termanis for the patch. (Bug #24342757, Bug #82324)For cursors created with
named_tuple=True
,MySQLCursorNamedTuple
objects could leak memory. Thanks to Piotr Jurkiewicz for the patch on which this fix was based. (Bug #22880163, Bug #80621)The C Extension leaked memory if used to execute
INSERT
statements that inserted Unicode strings. (Bug #22825962, Bug #79887)The
escape_string()
method leaked memory. (Bug #22810810, Bug #79903)With Python 2.x, for a call to
encode('utf8')
on a bytestring that was serialized from unicode, Python attempted to decode the string using the 'ascii' codec and encode it back using 'utf8'. The result was encoding failure for bytestrings that contain non-ASCII characters. (Bug #22564149, Bug #79993)