Known limitation: MySQLConnection.cmd_change_user() with the C extension enabled does not establish a connection with the changed user. Instantiate a new MySQLConnection() connection as a workaround.
MySQL Connector/Python now supports connections to MySQL accounts that use the
caching_sha2_passwordauthentication plugin (see Caching SHA-2 Pluggable Authentication). This requires MySQL server version 8.0.3 or higher. It also requires use of a secure connection because Connector/Python does not support RSA encryption for password exchange.
On Windows, the 32-bit MSI failed to install. The registry key path was updated to allow the CEXT prerequisite check to execute and pass. (Bug #28395599, Bug #28464866)
In pure Python mode, connecting to a MySQL server with default_authentication_plugin = caching_sha2_password would fail, even for accounts not using caching_sha2_password, because the authentication plugin was unknown to the Python connector. (Bug #27371245)
When using prepared statements, string columns were returned as bytearrays instead of strings. The returned value is now a string decoded using the connection's
charset(defaults to 'utf8'), or as a bytearray if this conversion fails. (Bug #27364914)
Connecting to a MySQL server configured to use TLS versions other than TLSv1, such as as TLSv1.1 and TLSv1.2), was not possible and failed with a "[SSL: WRONG_VERSION_NUMBER] wrong version number" error. This is because the connector restricted the connection to use TLSv1.
In addition, tsl_version support was added. (Bug #26484601, Bug #87121)
The result from JSON_TYPE() was returned as a bytearray instead of a string. The returned value is now a string decoded using the connection's
charset(defaults to 'utf8'), or as a bytearray if this conversion fails. (Bug #24948205, Bug #83516)
JSON integer values were cast to bytes in Python instead of integers. (Bug #24948186, Bug #83513)