Documentation Home
MySQL Connector/Python Release Notes
Related Documentation Download these Release Notes
PDF (US Ltr) - 229.0Kb
PDF (A4) - 229.9Kb


MySQL Connector/Python Release Notes  /  Changes in MySQL Connector/Python 2.1  /  Changes in MySQL Connector/Python 2.1.8 (2018-08-31, General Availability)

Changes in MySQL Connector/Python 2.1.8 (2018-08-31, General Availability)

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.

Functionality Added or Changed

  • MySQL Connector/Python now supports connections to MySQL accounts that use the caching_sha2_password authentication 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.

Bugs Fixed

  • 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)