Dear MySQL users,
MySQL Connector/C++ 8.0.11 is the first GA release version of the
MySQL Connector/C++ 8.0 series.
Connector/C++ 8.0 can be used to access MySQL implementing Document
Store or in a traditional way, using SQL queries. It allows writing
both C++ applications using X DevAPI or plain C applications using
To learn more about how to write applications using X DevAPI, see
“X DevAPI User Guide”
and “X DevAPI Reference” at
For more information about using plain C XAPI see “XAPI Reference” at
For generic information on using Connector/C++ 8.0, see
For X DevAPI or XAPI applications, Connector/C++ 8.0 requires
MySQL Server 5.7.12 or higher with X Plugin enabled. For
applications that use the legacy JDBC API, Connector/C++ 8.0
can use MySQL Server 5.5 or higher, and X Plugin is not required.
To download MySQL Connector/C++ 8.0.11, see the
“Generally Available(GA) Releases” tab at
Changes in MySQL Connector/C++ 8.0.11 (2018-04-19, General Availability) For MySQL Connector/C++ 8.0.11 and higher, Commercial and Community distributions require the Visual C++ Redistributable for Visual Studio 2015 to work on Windows platforms. The Redistributable is available at the Microsoft Download Center (http://www.microsoft.com/en-us/download/default.aspx); install it before installing Connector/C++. Functionality Added or Changed * Incompatible Change: When documents without an _id attribute are added to a collection, the server now automatically generates IDs for them. The server determines the ID format, which should be considered opaque from the API perspective (they are no longer UUID-based). As before, no _id attribute is generated if a document already contains one. User-provided document IDs must not conflict with IDs of other documents in the collection. This capability requires a MySQL 8.0 GA server. If the server does not support document ID generation, the document-add operation returns an error indicating that document IDs were missing. For X DevAPI, the generated IDs resulting from a document-add operation can be obtained using the new Result.getGeneratedIds() method, which returns a list. For XAPI, the generated IDs can be obtained using the new mysqlx_fetch_generated_id() function, which returns IDs one by one for successive calls, until it returns NULL to indicate no more generated IDs are available. For both X DevAPI and XAPI, document IDs specified explicitly in added documents are not returned. Incompatibility: The getGeneratedIds() method replaces getDocumentId() and getDocumentIds(), which are now removed. The mysqlx_fetch_generated_id() function replaces mysqlx_fetch_doc_id(), which is now removed. * A patch operation has been implemented that enables specifying a JSON-like object that describes the changes to apply to documents in a collection. For X DevAPI, the CollectionModify operation supports a new patch() clause for patching documents. For XAPI, there are two new functions: mysqlx_collection_modify_patch() directly executes patching on documents in a collection that satisfy given criteria. mysqlx_set_modify_patch() adds a patch operation to a modify statement created with the mysql_collection_modify_new() function. * For connections to the server made using the legacy JDBC API (that is, not made using X DevAPI or XAPI), Connector/C++ 8.0 now supports an OPT_GET_SERVER_PUBLIC_KEY connection option that enables requesting the RSA public key from the server. For accounts that use the caching_sha2_password or sha256_password authentication plugin, this key can be used during the connection process for RSA key-pair based password exchange with TLS disabled. This capability requires a MySQL 8.0 GA server, and is supported only for Connector/C++ built using OpenSSL. Bugs Fixed * Single-document methods such as Collection.replaceOne() did not accept expr() as the document specification, but instead treated it as a plain JSON string. (Bug #27677910) * Compiling X DevAPI and XAPI test programs failed with an error. (Bug #27610760) * Connecting with an incorrect SSL_CA value could result in a memory leak. (Bug #27434254) * For debug builds, specifying a document as _id raised an assertion rather than producing an error. (Bug #27433969)
As always, a big THANK YOU for using MySQL!