MySQL Connector/Python 8.0.12 has been released

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

Enjoy!

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.

          + Table.select(): 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,
          character_set_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
 (http://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html#yum-install-platform-specifics)
       for additional details.


Bugs Fixed


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

     * 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
       #90541)

     * 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
          implementations.

          + 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

MySQL Connector/Python 8.0.11 has been released

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, see http://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 at http://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

Using MySQL Connector/Python 8.0 with MySQL 8.0

The MySQL Connector/Python Team is pleased to announce MySQL Connector/Python 8.0.11, the first GA 8.0 release series of the official MySQL driver for Python. This release introduces the first Python driver that adds full MySQL 8.0 support.

Document Store

MySQL 8.0 includes many improvements and new features, with Document Store being the biggest.

MySQL Document Store is schema-less with a flexible data structure storage system for documents. This removes the requirement for schema design, normalization, foreign keys, constrains, and data types.

The Document Store is accessible by the X DevAPI, an API that introduces a new modern and easy-to-learn way to work with your data that is implemented by all MySQL Connectors that support the X Protocol, such as MySQL Connector/Python.

Getting Started

Installation

Requirements:

The recommended way to install Connector/Python is via pip.

Packages are also available from the MySQL Connector/Python downloads site. For some packaging formats, there are different packages for different versions of Python. Choose the one appropriate for the version of Python installed on your system.

For installation documentation, please visit the Connector/Python installation guide.

Writing your first program using the MySQL Document Store

Assuming Connector/Python 8.0 is installed on your system and you’re accessing a MySQL 8.0 server, you’re ready to write your first program using the MySQL Document Store.

For a detailed explanation of this code, please visit the Getting Started section of the official MySQL Connector/Python X DevAPI Reference Documentation.

Improved Security

Server TCP connections are now secure by default, meaning the default SSL Mode is now set to REQUIRED (mysqlx.SSLMode.REQUIRED).
Support was also added for the latest secure MySQL 8 authentication plugins based on SHA-256 hashing, such as new the caching_sha2_password authentication plugin. Usage can be implicit or explicit, for example:

Fluent API

The X DevAPI operations are structured to be “fluent”. This means it’s possible to call multiple methods to modify an object prior to execution, which enables a fluent query builder and allows more readable, maintainable, and secure code.

An example is following where where() and sort() are fluent methods to modify the find operation prior to executing it.

Support for raw SQL statements

The X DevAPI allows you to execute raw SQL statements to combine the flexibility of the document store model with the power of the relational model.

Transactions, Savepoints and Row Locking

Connector/Python provides an API to create, commit, or rollback a transaction, and also to create, release, or rollback to an intermediate savepoint within that transaction.

An optional savepoint name can be defined to create a transaction savepoint, which can later be used to rollback.

If a savepoint name is not provided, then mysqlx.Session.release_savepoint() will return a generated savepoint name.

To learn more about writing applications using the MySQL X DevAPI with Connector/Python and other MySQL connectors and clients, see http://dev.mysql.com/doc/x-devapi-userguide/en/

For general documentation about how to get started using MySQL as a document store, see https://dev.mysql.com/doc/refman/8.0/en/document-store.html

For more information about how the X DevAPI is implemented in MySQL Connector/Python, and its usage, see https://dev.mysql.com/doc/dev/connector-python/8.0/

We welcome and appreciate your feedback and bug reports: http://bugs.mysql.com/

Enjoy!

MySQL Connector/Python 8.0.6-rc has been released

Dear MySQL users,

MySQL Connector/Python 8.0.6-rc is the first release candidate 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, see http://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.6-rc, see the “Development
Releases” tab at http://dev.mysql.com/downloads/connector/python/

Enjoy!

Changes in MySQL Connector/Python 8.0.6 (2018-02-01, Release
Candidate)

Functionality Added or Changed

* A new bdist_wheel distutils command was added to build a
Connector/Python wheel package.
A new –static option was added that enables static
linking for the C extension variant.

* X DevAPI: In the process of refining the definition of
the X DevAPI to cover the most relevant usage scenarios,
the following API components have been removed from the X
DevAPI implementation for Connector/Python:

+ API components that support session configurations.
The mysqlx.config namespace and all members of the
namespace.

+ The create_table, drop_table, create_view,
drop_view, and alter_view methods from the Schema
class.

* A Pylint test was added for the mysqlx module.

* A new Modify.patch() method was added to the X DevAPI as
a way to change several document attributes in one
operation; otherwise known as a JSON Merge Patch via RFC
7386.

* The create_index() method was added to the Collection
API.

* The transaction API was extended to allow setting
savepoints. The following methods have been added to the
Session object:

+ set_savepoint([name]): executes the SAVEPOINT name
SQL statement to generate a savepoint. If a name is
not provided (or None), one is generated.
The SAVEPOINT statement sets a named transaction
savepoint with a name of identifier. If the current
transaction has a savepoint with the same name, the
old savepoint is deleted and a new one is set.

+ release_savepoint(name): executes the RELEASE name
SQL statement to release a savepoint.
The RELEASE SAVEPOINT statement removes the named
savepoint from the set of savepoints of the current
transaction. No commit or rollback occurs. It
returns an error if the savepoint does not exist.

+ rollback_to(name): executes the ROLLBACK TO name SQL
statement to rollback a savepoint.
The ROLLBACK TO identifier command reverts the state
of the transaction back to what was when executed
the command SAVEPOINT identifier.
Names passed to these functions are checked to make sure
that the name is not null or an empty string. Names such
as ”, “”, , and so on, are not allowed even though
they are allowed by the server. For more information, see
SAVEPOINT, ROLLBACK TO SAVEPOINT, and RELEASE SAVEPOINT
Syntax
(http://dev.mysql.com/doc/refman/5.7/en/savepoint.html).

Bugs Fixed

* On Enterprise Linux 7, SSL connections could fail due to
the Python 2.7.9 or higher requirement. Since EL7
backported the SSL module from Python 3 (PEP466) into its
default Python 2.7.5, SSL connections are now enabled on
EL7. (Bug #27368032)

* MySQL Server 8.0 utf8mb4 collations were missing from
Connector/Python. (Bug #27277964)

* The LICENSE and README files were missing from the C
extension ( “cext”) builds. (Bug #26912787)

* Python 3.6 is now officially supported and tested.

On Behalf of Oracle/MySQL Release Engineering Team
Prashant Tekriwal

MySQL Connector/Python 8.0.5 DMR has been released

Dear MySQL users,

MySQL Connector/Python 8.0.5 dmr is the sixth development release 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, see
http://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.5 dmr, see the “Development Releases”
tab at
http://dev.mysql.com/downloads/connector/python/

Enjoy!



Changes in MySQL Connector/Python 8.0.5 (2017-09-28, Development Milestone)


     * Packaging Notes

     * Functionality Added or Changed

   Packaging Notes

     * MySQL Connector/Python packages are now available in two
       formats: Pure Python packages that contain only Python
       files, and packages that contain the Python files plus
       the C Extension and C Protobuf extension. Exception
       platforms are Solaris, macOS, and Windows, for which
       packages containing the Python files and C extensions are
       available but not pure Python packages. (Bug #26648417)

   Functionality Added or Changed

     * MySQL Connector/Python now supports connections to MySQL
       accounts that use the caching_sha2_password
       authentication plugin (see SHA-2 Pluggable Authentication
       (http://dev.mysql.com/doc/refman/8.0/en/caching-sha2-plug
       gable-authentication.html)). This requires MySQL server
       version 8.0.3 or higher. It also requires use of a secure
       connection because Connector/Python does not support RSA
       encryption for password exchange.

     * MySQL Connector/Python now supports an auth connection
       option to specify the authentication methanism. Permitted
       values are plain, mysql41, and external. The option name
       and value are not case sensitive.
       If the authentication mechanism is not specified, it
       defaults to plain for secure (TLS) or Unix socket
       connections, or mysql41 for insecure connections.

     * MySQL Connector/Python now supports a pure Python
       implementation of Protobuf. Consequently, the Protobuf C
       extension has become optional. Connector/Python will use
       the Python implementation if the C extension is not
       available. The Protobuf Python package is required if it
       is desired not to use the C extension.
       The version requirements are Protobuf C++ 2.6.0 or
       higher, Protobuf Python 3.0.0 or higher.

     * A mysqlx.sessions variable is now exposed to scripts that
       can be used for session-related tasks such as saving or
       loading session configuration information.

     * These methods have been added for Collection:
       add_or_replace_one(), get_one(), replace_one(), and
       remove_one().

     * These methods have been added for FindStatement and
       SelectStatement, to enable shared and exclusive locks to
       be acquired: lock_shared() and lock_exclusive().

     * There is support for new forms of comparisons that use
       the IN operator:
item IN list
item IN document path
dict IN dict

       The left-hand-side value must be castable to the JSON
       type.


Documentation
——————–

Online:
http://dev.mysql.com/doc/connector-python/en/index.html

The source distribution includes the manual in various formats under
the docs/ folder.

Reporting Bugs
——————–

We welcome and appreciate your feedback and bug reports:
http://bugs.mysql.com/

On Behalf of the MySQL/Oracle Release Engineering Team,
Prashant Tekriwal

MySQL Connector/Python 2.1.7 GA has been released

Dear MySQL users,

MySQL Connector/Python 2.1.7 GA is a fifth GA version of 2.1 release series of the pure Python database driver for MySQL. It can be used for production environments.

MySQL Connector/Python version 2.1.7 GA is compatible with MySQL Server versions 5.5 and greater. Python 2.6 and greater as well as Python 3.4 and greater are supported. Python 2.4, 2.5, and 3.1, 3.2, 3.3 are not supported.

MySQL Connector/Python 2.1.7 is available for download from:

http://dev.mysql.com/downloads/connector/python/#downloads MySQL Connector/Python 2.1.7 (Commercial) will be available for download on the My Oracle Support (MOS) website. This release will be available on eDelivery (OSDC) in next month’s upload cycle.

The ChangeLog file included in the distribution contains a brief summary of changes in MySQL Connector/Python 2.1.7. For a more complete list of changes, see below or online at:

http://dev.mysql.com/doc/relnotes/connector-python/en/

Enjoy!


Changes in MySQL Connector/Python 2.1.7 (2017-08-18, General Availability)

 * Functionality Added or Changed

 * Bugs Fixed

   Functionality Added or Changed

 * Connector/Python is now compatible with Django 1.11.
   Thanks to Brian Tyndall for the patch for some of the
   work. (Bug #25965922, Bug #86105, Bug #26257499,
   Bug#86652)

 * Connector/Python now attempts to connect using TLS by
   default if the server supports secure connections. 
   (Bug#21947091)

   Bugs Fixed

 * Prepared statements did not work with a MySQL 8.0 server.
   (Bug #26376334)

 * With a connection character set of utf8mb4, multiple-row
   insert operations failed with an error of LookupError:
   unknown encoding: utf8mb4. (Bug #24659561, Bug #82948)

 * Creating a Connection instance with use_pure=True could
   lead to the underlying socket not being closed if the
   user name or password were invalid. Thanks to Vilnis
   Termanis for the patch. (Bug #24342757, Bug #82324)

 * For cursors created with named_tuple=True,
   MySQLCursorNamedTuple objects could leak memory. Thanks
   to Piotr Jurkiewicz for the patch on which this fix was
   based. (Bug #22880163, Bug #80621)

 * The C Extension leaked memory if used to execute INSERT
   statements that inserted Unicode strings. (Bug #22825962,
   Bug #79887)

 * The escape_string() method leaked memory. (Bug #22810810,
   Bug #79903)

 * With Python 2.x, for a call to encode('utf8') on a
   bytestring that was serialized from unicode, Python
   attempted to decode the string using the 'ascii' codec
   and encode it back using 'utf8'. The result was encoding
   failure for bytestrings that contain non-ASCII
   characters. (Bug #22564149, Bug #79993)


Documentation
——————–
Online:http://dev.mysql.com/doc/connector-python/en/index.html
The source distribution includes the manual in various formats under
the docs/ folder.

Reporting Bugs
——————–
We welcome and appreciate your feedback and bug reports:
http://bugs.mysql.com/

On Behalf of the MySQL/ORACLE RE Team,
Gipson Pulla

MySQL Connector/Python 2.2.3 m4 Development Release has been released

MySQL Connector/Python 2.2.3 M4 is the fourth development release of the MySQL Connector Python 2.2 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, see http://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 2.2.3 M4, see the “Development Releases” tab at http://dev.mysql.com/downloads/connector/python/

Enjoy!

Changes in MySQL Connector/Python 2.2.3 (2017-03-22, Milestone 3)

Functionality Added or Changed

* Connector/Python now supports IPv6 target hosts in X DevAPI connection strings.

Bugs Fixed

* The defined_as(statement) method used to create views did not permit a SelectStatement object argument (generated by Table.select()). (Bug #25614860)

* The SelectStatement object returned by Table.select() failed to provide the order_by() method. (Bug #25519251)

* The pure Python implemention of Protobuf has been replaced by a C++ extension. This enables Connector/Python to support Python 2 and 3 as well as Protobuf 2 and 3. (Bug #25209469)

* import mysqlx caused an error with Python 2.6 on Solaris and EL6 platforms. (Bug #24578507)

* The error message for get_session() failure was incorrect. (Bug #23636962)

* The Collection.find() method failed to work with the LIKE operator or aggregate functions. The Collection.find() method failed to work with several
operators. Support was added for these operators:

+ Nullary Operators: *

+ Unary Operators: !, NOT, +, -, ~

+ Binary Operators: AND, &&, OR, ||, XOR, <>, ^, IS NOT, NOT REGEXP, NOT LIKE, CAST, NOT IN

+ Ternary Operators: NOT BETWEEN

In addition, arrow notation to access JSON columns is now functional (for example, schema.table.column->’$.document field’). (Bug #23567724, Bug #23568207, Bug #25436568, Bug #84585)

Documentation
——————–

Online: http://dev.mysql.com/doc/connector-python/en/index.html
The source distribution includes the manual in various formats under the docs/ folder.

Reporting Bugs
——————–

We welcome and appreciate your feedback and bug reports:
http://bugs.mysql.com/

On Behalf of the MySQL/ORACLE RE Team,
Piotr Obrzut

MySQL Connector/Python 2.1.5 GA has been released

Dear MySQL users,

MySQL Connector/Python 2.1.5 GA is a third GA version of 2.1 release
series of the pure Python database driver for MySQL. It can be used for
production environments.

MySQL Connector/Python version 2.1.5 GA is compatible with MySQL Server
versions 5.5 and greater. Python 2.6 and greater as well as Python 3.3
and greater are supported. Python 2.4, 2.5 and 3.1, 3.2 are not
supported.

MySQL Connector/Python 2.1.5 is available for download from:

http://dev.mysql.com/downloads/connector/python/#downloads

The ChangeLog file included in the distribution contains a brief summary
of changes in MySQL Connector/Python 2.1.5. For a more complete list of
changes, see below or online at:

http://dev.mysql.com/doc/relnotes/connector-python/en/

Enjoy!

Changes in MySQL Connector/Python 2.1.5 (2016-12-15, General
Availability)

Bugs Fixed

* Incorrect logic for handling EOF packets caused MySQL
Utilities replication to fail. (Bug #25111218)

* Using the C Extension, connection failure occurred when
the user name or password contained Unicode characters.
(Bug #21656282)

* For connections established using the use_pure=True
parameter, queries that returned more than 4096 columns
produced an InterfaceError. (Bug #21530841)

* Using Python 3.3, connection failure occurred if the
option_groups parameter named multiple groups. (Bug
#21530100)

* Using executemany() to execute an INSERT INTO … SELECT
statement produced an InterfaceError. (Bug #21477493)

* If a call to set_charset_collation() failed, the
character set became invalid rather than being unchanged.
(Bug #21476495)

Documentation
——————–
Online:http://dev.mysql.com/doc/connector-python/en/index.html
The source distribution includes the manual in various formats under
the docs/ folder.

Reporting Bugs
——————–
We welcome and appreciate your feedback and bug reports:
http://bugs.mysql.com/

On Behalf of the MySQL/ORACLE RE Team,
Piotr Obrzut

MySQL Connector/Python 2.2.2 m3 Development Release has been released

MySQL Connector/Python 2.2.2 M3 is the third development release of the MySQL Connector Python 2.2 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/index.html. 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 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 2.2.2 M3, see the “Development Releases” tab at http://dev.mysql.com/downloads/connector/python/

We are working on the github upload, it should be available soon.

Enjoy!

Changes in MySQL Connector/Python 2.2.2 (2016-12-01, Milestone 3)
* Functionality Added or Changed

* Bugs Fixed Functionality Added or Changed

* If the MySQL server is configured to support secure connections, Connector/Python now attempts to establish a secure (encrypted) connection by default, falling back to an unencrypted connection otherwise. This is behavior similar to the –ssl-mode=PREFERRED option supported by MySQL client programs.
The following TLS/SSL options have been implemented for the mysqlx URI schema. All require Python 2.7.9 or higher.

+ ssl-enable: This option enforces SSL connections. If given, a connection attempt must be able to establish a secure connection or the attempt fails.

+ ssl-ca: This option is used to verify the server certificate.

+ ssl-cert, ssl-key: These options are used to pass the client certificate and key, but the server currently does not validate the client using these.
The ssl-enable parameter can be specified in a parameter dictionary or URL, like this:
mysqlx.get_session({“user”: “root”, “host”: “localhost”, “port”: 33060,
“password”: “pass”, “ssl-enable”: True})
Or:
mysqlx.get_session(“mysqlx://root:pass@localhost?ssl-enable”)

The other parameters are used similarly. In a URL, path name values should be given within parentheses; for example, ssl-cert=(path_name). (Bug #24954646)

* There is now a standard API to create a table: Schema objects have a create_table function. It throws an error if the table exists.

* For any method that takes a value list of parameters for its argument, there is now more flexibility with how the parameters can be specified: Either as a value list or a list of individual parameters. For example, these method calls are the same:
Collection.add([{“a”: 27}, {“a”: 28}])
Collection.add({“a”: 27}, {“a”: 28})
* For Schema objects, get_view, create_view, alter_view,
and drop_view functions were added to support retrieval,
create, alter, and drop operations on View objects.

* Unix domain socket files are now supported as a connection transport. The socket file can be specified in a parameter dictionary or URL, like this:
mysqlx.get_session({“user”: “root”, “password”: “pass”,
“socket”: “/path/to/socket”})
Or:
mysqlx.get_session(“mysqlx://user:pass@(/path/to/sock)/schema”)
mysqlx.get_session(“mysqlx://user:pass@/path%2Fto%2Fsock/schema”)
mysqlx.get_session(“mysqlx://user:pass@.%2Fpath%2Fto%2Fsock/schema”)
mysqlx.get_session(“mysqlx://user:pass@..%2Fpath%2Fto%2Fsock/schema”)

Bugs Fixed

* For a user created with REQUIRE SSL, establishing an SSL connection by specifying –ssl-key but not –ssl-ca or
–ssl-cert fails for standard MySQL client programs. The same connection configuration was (improperly) permitted in Connector/Python. (Bug #24953032)

* Connection failures due to an improper SSL CA resulted in an uninformative error message. (Bug #24948054)

* Using a schema object to alter a view failed if the view selected from a non-INFORMATION_SCHEMA table and it was altered to select from an INFORMATION_SCHEMA table. (Bug
#24947078)

* schema.create_collection() with an empty collection name threw an improper error. (Bug #24520850)

Documentation
——————–

Online:http://dev.mysql.com/doc/connector-python/en/index.html The source distribution includes the manual in various formats under the docs/ folder.

Reporting Bugs
——————–

We welcome and appreciate your feedback and bug reports:
http://bugs.mysql.com/

On Behalf of the MySQL/ORACLE RE Team,
Balasubramanian Kandasamy

MySQL Connector/Python 2.0.5 GA has been released

Dear MySQL users,

MySQL Connector/Python 2.0.5 GA is a new GA version of 2.0 release series of the pure Python database driver for MySQL. It can be used for production environments.

MySQL Connector/Python version 2.0.5 is compatible with MySQL Server versions 5.5 and greater. Python 2.6 and greater as well as Python 3.3 and greater are supported. Python 2.4, 2.5 and 3.1, 3.2 are not supported.

MySQL Connector/Python 2.0.5 is available for download from:
http://dev.mysql.com/downloads/connector/python/#downloads

The ChangeLog file included in the distribution contains a brief summary of changes in MySQL Connector/Python 2.0.5. For a more complete list of changes, see below or online at:
http://dev.mysql.com/doc/relnotes/connector-python/en/

Changes in MySQL Connector/Python 2.0.5 (2016-10-26)

Bugs Fixed

* A potential SQL injection vector was eliminated. (Bug #22529828, Bug #24816150)

Documentation
————-
The manual of MySQL Connector/Python is available online here:
http://dev.mysql.com/doc/connector-python/en/index.html

It is also available for download in various formats here:
http://dev.mysql.com/doc/index-connectors.html

Reporting Bugs
————–
We welcome and appreciate your feedback and bug reports:
http://bugs.mysql.com/

Enjoy !

On behalf of the MySQL Connector/Python and the MySQL/ORACLE RE Team
Hery Ramilison