MySQL Connector/Python 8.0.22 has been released

Dear MySQL users,

MySQL Connector/Python 8.0.22 is the latest GA release version of the
MySQL Connector Python 8.0 series. The X DevAPI enables application
developers to write code that combines the strengths of the relational
and document models using a modern, NoSQL-like syntax that does not
assume previous experience writing traditional SQL.

To learn more about how to write applications using the X DevAPI, see

http://dev.mysql.com/doc/x-devapi-userguide/en/

For more information about how the X DevAPI is implemented in MySQL
Connector/Python, and its usage, see

http://dev.mysql.com/doc/dev/connector-python

Please note that the X DevAPI requires at least MySQL Server version 8.0
or higher with the X Plugin enabled. For general documentation about how
to get started using MySQL as a document store, see

http://dev.mysql.com/doc/refman/8.0/en/document-store.html

To download MySQL Connector/Python 8.0.22, see the “General Availability
(GA) Releases” tab at

http://dev.mysql.com/downloads/connector/python/

Enjoy!

Changes in MySQL Connector/Python 8.0.22 (2020-10-19, General Availability)

Functionality Added or Changed


     * Added Django 3.0 support while preserving compatibility with
       Django 2.2. Removed support for Django 1.11 with Python 2.7.

     * Previously, the client-side mysql_clear_password authentication
       plugin was not supported. Now, it is permitted to send passwords
       without hashing or encryption by using mysql_clear_password on
       the client side together with any server-side plugin that needs a
       clear text password, such as for LDAP pluggable authentication.
       Connector/Python returns an exception if the mysql_clear_password
       plugin is requested but the connection is neither encrypted nor
       using Unix domain sockets. For usage information, see Client-Side
       Cleartext Pluggable Authentication
(https://dev.mysql.com/doc/refman/8.0/en/cleartext-pluggable-authentication.html).

     * Connections made using the MySQL Enterprise Edition SASL LDAP
       authentication plugin now are supported on Windows and Linux, but
       not on macOS. Connector/Python implements the SCRAM-SHA-1
       authentication method of the SASL authentication protocol.

     * The new compression-algorithms connection option sets the order
       by which supported algorithms are negotiated and selected to send
       compressed data over X Protocol connections. The algorithms
       available are specified by the server and currently include:
       lz4_message, deflate_stream, and zstd_stream. Supported algorithm
       aliases are lz4, deflate, and zstd. Unknown or unsupported values
       are ignored.  Example usage:
session = mysqlx.get_session({
    “host”: “localhost”,
    “port”: 33060,
    “user”: “root”,
    “password”: “s3cr3t”,
    “compression”: “required”,
    “compression-algorithms”: [“lz4′, “zstd_stream”]
})


     * For enhanced security of the existing allow_local_infile
       connection string option, the new allow_local_infile_in_path
       option allows restricting LOCAL data loading to files located in
       this designated directory.

     * Refactored the Connector/Python build system by removing
       artifacts of old implementations, improved debugging, and now
       statically link the C extensions. This also exposes the distutils
       commands, to allow the end-user build packages.

     * The pure Python and C extension implementations were combined
       into a single package; this applies to both DEB and RPM packages.

Bugs Fixed


     * Fixed a memory leak in the C-extension implementation when using
       the Decimal data type. Thanks to Kan Liyong for the patch.
       (Bug #31335275, Bug #99517)

     * Copyright and License headers were missing in the Python modules
       generated by protoc. (Bug #31267800)

     * When creating an index on a collection, if a collation was
       specified but the field is not of the type TEXT, then an error
       message was generated with a wrong field type.  It’d always
       report it as GEOJSON. (Bug #27535063)

     * The reset connection command was missing from the C-extension
       implementation, which is required to reuse a connection from the
       pool. As such, connection pooling is now allowed with the
       C-extension implementation. (Bug #20811567, Bug #27489937)

Enjoy and thanks for the support!

On behalf of the MySQL Release Team,
Nawaz Nazeer Ahamed