MySQL Blog Archive
For the latest blogs go to
MySQL Connector/Python 8.0.17 has been released

Dear MySQL users,

MySQL Connector/Python 8.0.17 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

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

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

To download MySQL Connector/Python 8.0.17, see the “General Available
(GA) releases” tab at



Changes in MySQL Connector/Python 8.0.17 (2019-07-22)

Functionality Added or Changed

     * Prepared statement support was added to the C extension’s
       (use_pure=False) implementation.
       (Bug #27364973, Bug #21670979, Bug #77780)

     * Added connection attribute support for the classic
       connector; new connection attributes can be passed in
       with the “conn_attrs” connection argument. Thanks to
       DaniĆ«l van Eeden for the patch. Example usage:

           test_config = {‘user’: ‘myuser’, ‘port’:3306, ‘host’:’localhost’}
           test_config[‘conn_attrs’] = {“foo”: “bar”, “_baz”: “qux”, “hello”: “world”}
           _ = connect(**test_config)

       Default connection attributes are set for both the pure
       and c-ext implementations, but these attributes are
       different due to limitations of the client library.
       For general information about connection attributes, see
       Performance Schema Connection Attribute Tables
       (Bug #21072758, Bug #77003)

     * Document fields containing arrays can now be indexed by
       setting array to true in an index fields definition.

     * Added support for the OVERLAPS and NOT OVERLAPS
       operators; which is equivalent to the SQL JSON_OVERLAPS()
       These binary operators are used with a general
       “expression operator expression” syntax; and the
       expressions return a JSON array or object. Example usage:

         [“A”, “B”, “C”] overlaps $.field

     * Added support for the “utf8mb4_0900_bin” collation added in
       MySQL Server 8.0.17.

     * Added “CONTRIBUTING.rst” and replaced “README.txt” with

Bugs Fixed

     * Executing a Collection.find() without first fetching
       results would raise an AttributeError with an unclear
       message. (Bug #29327931)

     * An error was generated when used with the combination of
       MySQL 5.7, Python 3, and having the C-extension enabled.
       (Bug #28568665)

Enjoy and thanks for the support!