MySQL Lists are EOL. Please join:

List:Announcements« Previous MessageNext Message »
From:Nawaz Nazeer Ahamed Date:July 27 2018 6:39pm
Subject:MySQL Connector/Python 8.0.12 has been released
View as plain text  
Dear MySQL users,

MySQL Connector/Python 8.0.12 is the second GA release version of the
MySQL Connector Python 8.0 series. This series adds support for the new
X DevAPI.  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 MySQL Server version 5.7.12 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.12, see the "General Available
(GA) releases" tab at


Changes in MySQL Connector/Python 8.0.12 (2018-07-27, General Availability)

      * Installation Notes

      * X DevAPI Notes

      * Functionality Added or Changed

      * Bugs Fixed

Installation Notes

      * Because the Microsoft Visual C++ 2017 Redistributable
        installer deletes the Microsoft Visual C++ 2015
        registry keys that identify its installation,
standalone MySQL
        MSIs may fail to detect the Microsoft Visual C++
        Redistributable if both it and the Microsoft Visual
C++ 2017
        Redistributable are installed. The solution is to
repair the
        Microsoft Visual C++ 2017 Redistributable via the
Windows Control
        Panel to recreate the registry keys needed for the
        detection. Unlike the standalone MSIs, MySQL
Installer for
        Windows contains a workaround for the detection
        (Bug #28345281, Bug #91542)

X DevAPI Notes

      * For compliance with the Core DevAPI, these
        Connector/Python changes were made:

           + DatabaseObject: Deprecated:
am_i_real() and who_am_i().
           Added: get_session() and the
session property.

           + Collection.modify(): Deprecated:
limit(x, y)'s second
           parameter, where(condition), and
           ExprOrLiteral). Changed: the
modify(condition) condition is
           now mandatory.

           + Collection.find(): Deprecated:
limit(x, y)'s second
           parameter. Added:

           + Collection.remove(): Deprecated:
limit(x, y)'s second
           parameter and where(condition).
Changed: the modify(condition)
           condition is now mandatory.

           + Deprecated:
limit(x, y)'s second parameter
           and sort(). Added:

           + Table.delete(): Deprecated:
limit(x, y)'s second parameter
           and sort(). Removed: delete(x)'s
parameter in favor of using
           where() instead. Added:

           + Table.update(): Deprecated:
limit(x, y)'s second parameter,
           and the sort() method. Added:

           + Session: Added: get_schemas().

           + Result: Deprecated:
get_document_id() and
           get_generated_insert_id(). Moved:
           to the BaseResult class.

           + RowResult: Added: get_columns().

           + SqlResult: Added: has_data().

           + Column: Renamed: ColumnMetaData
to Column. Added properties:
           schema_name, table_name,
table_label, column_name,
           column_label, type, length,
fractional_digits, collation_name,

Functionality Added or Changed

      * Removed MySQL Fabric support.

      * An RPM package for installing ARM 64-bit (aarch64)
        binaries of Connector/Python on Oracle Linux 7 is
now available
        in the MySQL Yum Repository and for direct download.
        Limitation for this ARM release: You must enable the
Oracle Linux
        7 Software Collections Repository
(ol7_software_collections) to
        install this package, and must also adjust the
libstdc++7 path.
        See Yum's Platform Specific Notes
        for additional details.

Bugs Fixed

      * The default character set changed from 'utf8' (an alias
        to the deprecated 'utf8mb3' character set) to
'utf8mb4'. (Bug

      * Fixed datetime conversion compatibility between Django
        2.0 and MySQL 8.0.  A workaround was to use
        pure Python implementation instead the C extension
by setting
        "use_pure=True" in Django's database options. (Bug
#27962293, Bug

      * The get_row() and get_rows() behavior differed with the C
        (connections with CMySQLConnection) and pure Python
        with MySQLConnection) implementations of the
connector. The
        resolved differences are:

           + With the pure Python
implementation, all data was returned
           as bytearrays; while the C
implementation returned all data as
           Python types with CMySQLConnection
(cext). Both now return
           Python types.

           + With the pure Python
implementation, they returned a tuple
           with (row(s), eof), but with the C
Extension they only
           returned the row(s). Now both
implementations return the tuple
           form; (row(s), eof).

           + For queries returning a result,
with pure Python the warning
           count was part of the returned
eof. With the C extension,
           warning count was only available
using the warning_count
           property of the connection
object.  Related, the warning_count
           property was not available in the
pure Python implementation.
           Now, result includes the warning
count for both

           + Fetching rows using pure Python
would automatically set the
           unread_rows property to False.
With the C extension,
           explicitly calling the
free_result() method of the connection
           object was required. 
Related, free_result() was only
           available with the C extension.
Now, both implementations set
           unread_rows to False.  (Bug
#27411275, Bug #27991948, Bug
           #27802700, Bug #28133321, Bug
#27650437, Bug #89305, Bug
           #90799, Bug #90292, Bug #91107)

      * Connecting with a collation unknown to Connector/Python
        would yield an unknown character set error. It now
        references the unknown collation. (Bug #27277937)

      * Deprecated the Row.get_string() method in favor of
        __getitem__. (Bug #26834200, Bug #87777)

Enjoy and thanks for the support!

On behalf of the MySQL Release Team,
Nawaz Nazeer Ahamed

MySQL Connector/Python 8.0.12 has been releasedNawaz Nazeer Ahamed27 Jul