MySQL Blog Archive
For the latest blogs go to blogs.oracle.com/mysql
MySQL Connector/Python 8.0.16 has been released

Dear MySQL users,

MySQL Connector/Python 8.0.16 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.16, see the “General Available
(GA) releases” tab at http://dev.mysql.com/downloads/connector/python/

Enjoy!

Changes in MySQL Connector/Python 8.0.16 (2019-04-25, General
Availability)


     * Functionality Added or Changed

     * Bugs Fixed

Functionality Added or Changed


     * Two informative text files were added: INFO_BIN contains
       information about the build environment used to produce
       the distribution, and INFO_SRC provides information about
       the product version and the source repository from which
       the distribution was produced. (Bug #29454706)

     * Django 1.11 is now the minimum supported Django version.

     * For X DevAPI applications, Connector/Python now supports
       the ability to send connection attributes (key-value
       pairs that application programs can pass to the server at
       connect time). Connector/Python defines a default set of
       attributes, which can be disabled or enabled. In
       addition, applications can specify attributes to be
       passed in addition to the default attributes. The default
       behavior is to send the default attribute set.
       For X DevAPI applications, specify connection attributes
       as a connection-attributes parameter in a connection
       string, or setting connection-attributes as a dictionary
       inside the connection settings parameter under the
       connection-attributes key. Both the mysqlx.get_session()
       and mysqlx.get_client() methods can receive this
       information.
       The connection-attributes parameter value must be empty
       (the same as specifying true), a Boolean value (true or
       false to enable or disable the default attribute set), or
       a list or zero or more key=value specifiers separated by
       commas (to be sent in addition to the default attribute
       set). Within a list, a missing key value evaluates as an
       empty string. An example connection string:
mysqlx://user:password@host:33060/schema?connection-attributes=[foo=bar,baz=qux,quux]

       Application-defined attribute names cannot begin with _
       because such names are reserved for internal attributes.
       If connection attributes are not specified in a valid
       way, an error occurs and the connection attempt fails.
       For general information about connection attributes, see
       Performance Schema Connection Attribute Tables
(http://dev.mysql.com/doc/refman/8.0/en/performance-schema-connection-attribute-tables.html).

     * Connector/Python now has improved support for resetting
       sessions in connection pools. Returning a session to the
       pool drops session-related objects such as temporary
       tables, session variables, and transactions, but the
       connection remains open and authenticated so that
       reauthentication is not required when the session is
       reused.

     * Protobuf was updated to Protobuf 3.6.1.

     * For X DevAPI, performance for statements that are
       executed repeatedly (two or more times) is improved by
       using server-side prepared statements for the second and
       subsequent executions. This happens internally;
       applications need take no action and API behavior should
       be the same as previously. For statements that change,
       repreparation occurs as needed. Providing different data
       values or different offset() or limit() values does not
       count as a change. Instead, the new values are passed to
       a new invocation of the previously prepared statement.

Bugs Fixed


     * Added a "username" alias for the "user" connection
       argument. Thanks to Matthew Woods for the patch. (Bug
       #29324966, Bug #94248)

     * Solaris 11 package files had the expected owner/group set
       as pb2user/common instead of root/bin. (Bug #29278489)

     * CRUD operations would not allow referencing a renamed
       column (AS SomeLabel) from the fetched result. (Bug
       #29001628)

     * Fixed a memory corruption issue that caused an unexpected
       halt when fetching fields. (Bug #28479054)

     * Querying an empty LONG BLOB raised an IndexError
       exception. (Bug #27897881, Bug #90519)

Enjoy and thanks for the support!

On Behalf of Oracle/MySQL Release Engineering Team,
Balasubramanian Kandasamy