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

Dear MySQL users,

MySQL Connector/Python 8.0.13 is the third GA release version of the
MySQL Connector Python 8.0 series. This series adds support for Python
3.7. 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

For general documentation about how to get started using MySQL
as a document store, see

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


Changes in MySQL Connector/Python 8.0.13 (2018-10-22, General Availability)

Functionality Added or Changed

     * Added Python 3.7 support. (Bug #27081809, Bug #87818)

     * To go with the existing mysqlx.get_session(conn_str)
       method, a new mysqlx.get_client(conn_str, options) method was
       added that creates a connection pool handler that provides a
       get_session() method to create and retrieve connections from the
       pool. The collection pooling options are:

          + enabled: enables or disables connection pooling;
            boolean and defaults to true.

          + max_size: maximum number of connections available in
            the pool; positive integer and defaults to 25.

          + max_idle_time: maximum number of milliseconds a
            connection can be idle in the queue before being
            closed; integer >= 0 and defaults to 0 (infinite).

          + queue_timeout: maximum number of milliseconds a
            request will wait for a connection to become
            available; integer >= 0 and defaults to 0
            This is different than connect_timeout that's used
            for non-pooling. In a pooling scenario there are
            already connections in the pool, so queue_timeout
            controls how long to wait for a connection in the
       Example usage:
client = mysqlx.get_client(
    'host': 'localhost',
    'port': 33060,
    'user': 'mike',
    'password': 'password'
    { pooling: {
        enabled: true,
        max_idle_time: 5000,
        max_size: 25,
        queue_timeout: 20000

       Closing a session attached to the pool makes the
       connection available in the pool for subsequent
       get+session() calls, while closing (destroying) the pool
       effectively closes all server connections.

     * Added a connection-timeout connection timeout query
       parameter. This defines the length of time (milliseconds)
       the client waits for a MySQL server to become available
       in the given network addresses. It was added to both the
       mysqlx.get_session() (non-pooling sessions) and
       mysqlx.get_client() (pooling sessions) interfaces. This
       option defaults to 10000 (10 seconds). The value 0
       disables the timeout so the client will wait until the
       underlying socket (platform dependent) times out.
       Example usages:

       In a multi-host scenario, the connect-timeout value applies to
       each individual host.

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)

     * Subsequent collection.add() method calls would leak
       memory if the C extension was enabled. (Bug #28278352)

     * Missing bind() parameters could cause an unclear error
       message or unexpectedly halt. (Bug #28037275)

     * The username and password fields are now quoted to allow
       special characters when making X DevAPI connections.
       (Bug #27528819, Bug #89614)

Enjoy and thanks for the support!

On behalf of the MySQL Release Team,
Nawaz Nazeer Ahamed