MySQL Forums
Forum List  »  Announcements

MySQL Connector/Python 8.0.12 has been released
Posted by: Nawaz Nazeer ahamed
Date: July 27, 2018 12:53PM

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 Redistributable
       registry keys that identify its installation, standalone MySQL
       MSIs may fail to detect the Microsoft Visual C++ 2015
       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 runtime
       detection. Unlike the standalone MSIs, MySQL Installer for
       Windows contains a workaround for the detection problem.
       (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 change(CollectionField,
          ExprOrLiteral). Changed: the modify(condition) condition is
          now mandatory.

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

          + 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: limit(x).offset(y).

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

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

          + Session: Added: get_schemas().

          + Result: Deprecated: get_document_id() and
          get_generated_insert_id(). Moved: get_affected_items_count()
          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.  Known
       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 Connector/Python's
       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 (connections
       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 properly
       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

Options: ReplyQuote

Written By
MySQL Connector/Python 8.0.12 has been released
July 27, 2018 12:53PM

Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.