MySQL Connector/Python 8.0.11 has been released

Prashant Tekriwal <[email protected]> Thu, 19 Apr 2018 21:16:02 +0530
Newsgroups gmane.comp.db.mysql.general,gmane.comp.db.mysql.packagers
Message-ID <[email protected]>
--------------27D6F358D1DA04106B3E0092
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit

Dear MySQL users,

MySQL Connector/Python 8.0.11 is the first 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
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, seehttp://dev.mysql.com/doc/dev/connector-python.

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
http://dev.mysql.com/doc/refman/5.7/en/document-store.html.

To download MySQL Connector/Python 8.0.11, see the "General Available
(GA) releases" tab athttp://dev.mysql.com/downloads/connector/python/

Enjoy!


Changes in MySQL Connector/Python 8.0.11 (2018-04-19)


      * Functionality Added or Changed

      * Bugs Fixed

    Functionality Added or Changed

      * X DevAPI: Previously, when documents without an _id
        attribute were added to a collection, Connector/Python
        automatically generated _id for them. Now a MySQL 8
        server generates the _id attribute unless a document
        already contains one. The generated IDs resulting from a
        document-add operation can be obtained using the new
        get_generated_ids() method.
        This capability requires a MySQL 8.0 server. Because
        MySQL 5.7 does not support document ID generation, the
        document-add operation returns an error if you do not
        define the _id's.
        Incompatibility: The get_generated_ids() method replaces
        the now removed get_document_ids(). (Bug #27627366)

      * Added NOWAIT and SKIP_LOCKED support to the
        ReadStatement.lock_shared() and
        ReadStatement.lock_exclusive() methods. Example usage:
        lock_exclusive(mysqlx.LockContention.SKIP_LOCKED).

      * The C extension (cext) is now enabled by default, as the
        use_pure option changed from True to False by default.
        If the C extension is not available on the system then
        the Python implementation is used instead, and use_pure
        is set to True.

      * Added the X DevAPI SHA256_MEMORY authentication
        mechanism.
        Example mysqlx.get_session() usages: ?auth=SHA256_MEMORY
        via a connection string, "auth":
        mysqlx.Auth.SHA256_MEMORY via a dictionary, or
        auth=mysqlx.Auth.SHA256_MEMORY via method parameters.

    Bugs Fixed

      * Warnings are now stored as a list of dictionaries instead
        of a list of tuples. In other words, get_warnings()
        returns the likes of [{"level": _level_, "code": _code_,
        "msg": _msg_}] instead of [(_level_, _code_, _msg_))].
        (Bug #27639119)

      * The mapped MySQL Server error codes were synced with
        MySQL Server 8.0.11. (Bug #27634885)

      * Removed upsert functionality from InsertStatement as it
        can only be used by collections, so upsert remains
        available to AddStatement. (Bug #27589450)

      * MySQLConverter.escape() functionality was added to
        create_schema()'s count mechanism. (Bug #27528842)

      * When using prepared statements, string columns were
        returned as bytearrays instead of strings. The returned
        value is now a string decoded using the connection's
        charset (defaults to 'utf8'), or as a bytearray if this
        conversion fails. (Bug #27364914)

      * The result from JSON_TYPE() was returned as a bytearray
        instead of a string. The returned value is now a string
        decoded using the connection's charset (defaults to
        'utf8'), or as a bytearray if this conversion fails. (Bug
        #24948205, Bug #83516)

      * JSON integer values were cast to bytes in Python instead
        of integers. (Bug #24948186, Bug #83513)


On Behalf of Oracle/MySQL Release Engineering Team
Prashant Tekriwal


--------------27D6F358D1DA04106B3E0092--