Dear MySQL users,

MySQL Connector/C++ 8.0.12 is the second 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++ and plain C applications using X DevAPI and X DevAPI for C.
It also supports the legacy API of Connector/C++ 1.1 based on JDBC4.

To learn more about how to write applications using X DevAPI, see "X
DevAPI User Guide"

See also "X DevAPI Reference" at

and "X DevAPI for C Reference" at

For generic information on using Connector/C++ 8.0, see

Note: For X DevAPI 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.12, see the "Generally Available (GA)
Releases" tab at

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

     * Installation Notes

     * Packaging Notes

     * Security Notes

     * X DevAPI Notes

     * 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

Packaging Notes

     * An RPM package for installing ARM 64-bit (aarch64)
       binaries of Connector/C++ on Oracle Linux 7 is now
       available in the MySQL Yum Repository and for direct
       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.

     * Installers for Connector/C++ are now available in these
       formats: MSI packages (Windows); RPM packages (Linux);
       DMG packages (macOS).

Security Notes

     * yaSSL is no longer included in Connector/C++ source
       distributions. wolfSSL may be used as a functionally
       equivalent alternative that has a GPLv2-compatible
       license. In addition, wolfSSL (like OpenSSL) supports the
       TLSv1.2 protocol, which yaSSL does not.
       To build Connector/C++ using wolfSSL, use the
       -DWITH_SSL=path_name CMake option, where path_name
       indicates the location of the wolfSSL sources. For more
       information, see Source Installation System Prerequisites
       and Connector/C++ Source-Configuration Options

X DevAPI Notes

     * Connector/C++ now supports NOWAIT and SKIP LOCKED lock
       contention modes to be used with lockExclusive() and
       lockShared() clauses of CRUD find/select operations (see
       Locking Read Concurrency with NOWAIT and SKIP LOCKED
       and a default lock contention mode. The following list names
       the permitted constants. For each item, the first and
       second constants apply to X DevAPI and X DevAPI for C,

          + LockContention::DEFAULT, LOCK_CONTENTION_DEFAULT:
            Block the query until existing row locks are

          + LockContention::NOWAIT, LOCK_CONTENTION_NOWAIT:
            Return an error if the lock cannot be obtained

          + LockContention::SKIP_LOCKED,
            LOCK_CONTENTION_SKIP_LOCKED: Execute the query
            immediately, excluding from the query items that are
       For X DevAPI and X DevAPI for C applications, lock mode
       methods accept these lock contention constants as a
       parameter. For X DevAPI applications, lock mode methods
       can be called without this parameter, as before; this is
       equivalent to passing a lock mode of DEFAULT.

     * Connector/C++ now supports the SHA256_MEMORY
       authentication mechanism for connections using the X
       Protocol. For X DevAPI applications, SessionOption::AUTH
       supports the new value AuthMethod::SHA256_MEMORY. For X
       DevAPI for C applications, the session option
       MYSQLX_OPT_AUTH supports the new value
       MYSQLX_AUTH_SHA256_MEMORY. These new values request using
       the sha256_memory authentication mechanism when creating
       a session.

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

          + getAffectedItemsCount() was moved from Result to

          + Collection.modify(condition).arrayDelete() was

          + getAffectedRowsCount() was removed. Use
            getAffectedItemsCount() instead.

          + getWarningCount() was renamed to getWarningsCount().

Bugs Fixed

     * utf8mb4 character data was handled incorrectly. (Bug

     * Session creation had a memory leak. (Bug #27917942)

     * When configuring to build Connector/C++ with the legacy
       connector, CMake did not account for the
       MYSQL_CONFIG_EXECUTABLE option. (Bug #27874173, Bug

     * Improper error handling for unknown hosts when creating a
       session could result in unexpected application exit. (Bug

     * The mysqlx_row_fetch_one() X DevAPI for C function could
       fail to return for large result set exceeding the maximum
       packet size. Now such result sets produce an error. (Bug

Enjoy and thanks for the support!

On Behalf of Oracle/MySQL Release Engineering Team,Balasubramanian Kandasamy

Reply via email to