A default schema name can now be defined from the connection string. Statements executed using the session are executed against this default schema if no other schema is specified. An example connection string:
mysqlx://username:password@localhost:33160/myschema?ssl-mode=enabledwhere myschema becomes the default schema name. An error is emitted if the schema does not exist.
In addition, a new
get_default_schema()method was added to retrieve this default schema's name. It returns the string "NONE" if a default schema name was not provided.
The count() method's error message was unclear when the table or collection was missing.
The minimum Protobuf prerequisite version changed from 2.6.0 to 3.0.0. (Bug #29042229)
On Windows, Python 2.7 binaries only contain the pure Python (and not the C extension) implementation yet the MSI installer still had the VC 2015 pre-requisite. (Bug #28992304)
Improved error handling for classic protocol connections using the X protocol port. (Bug #28962337)
Attempting to connect to a default schema with insufficient privileges would yield a "does not exist" error instead of "access denied." (Bug #28942938)
Improved error handling for connection strings that contain invalid schema names, such as an empty string. (Bug #28933922)
On Mac OS X, the requirements section was missing from the bundled README files. (Bug #28744076)
The Debian package descriptions were improved. (Bug #28737774)
The connector assumed that all values were expressions, which could lead to errors. The expr() method is now required to designate values as expressions. (Bug #28646344, Bug #92416)
With Python 2.7 and use_pure=False, unicode characters in table object operations would cause an unexpected halt. (Bug #28280321)
With "pure_python=False" set, mysql.connector would still use the Python implementation if the C extension was not available. (Bug #27794178, Bug #28201289)
ssl_verify_identityconnection option was added to verify the server name against the server certificate's common name (CN) and subject alternative names (SANs). Previously, only the C extension implementation performed this verification by default. This functionality exists to help prevent man-in-the-middle type attacks. (Bug #27434751)
Connecting to MySQL Server 8.0.16 or greater using X Protocol could yield an error due to an unexpected notice from the server.
The classic connector's error message was improved when used against an X Protocol socket. A "Protocol mismatch" error is now expected.