MySQL Connector/C++ Release 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)
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 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.
Installers for Connector/C++ are now available in these formats: MSI packages (Windows); RPM packages (Linux); DMG packages (macOS). See Installing Connector/C++ from a Binary Distribution. (WL #11670, WL #11671, WL #11672)
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=
        CMake option, where
        path_namepath_name indicates the location of
        the wolfSSL sources. For more information, see
        Source Installation System Prerequisites,
        and
        Connector/C++ Source-Configuration Options.
       (WL #11683)
        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, respectively.
      
            LockContention::DEFAULT,
            LOCK_CONTENTION_DEFAULT: Block the query
            until existing row locks are released.
          
            LockContention::NOWAIT,
            LOCK_CONTENTION_NOWAIT: Return an error
            if the lock cannot be obtained immediately.
          
            LockContention::SKIP_LOCKED,
            LOCK_CONTENTION_SKIP_LOCKED: Execute the
            query immediately, excluding from the query items that are
            locked.
          
        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.
      
For more information, see Working with Locking. (WL #11374)
        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.
       (WL #11685)
To increase compliance with the X DevAPI, these Connector/C++ changes were made:
            getAffectedItemsCount() was moved from
            Result to
            Result_common.
          
            Collection.modify(condition).arrayDelete()
            was removed.
          
            getAffectedRowsCount() was removed. Use
            getAffectedItemsCount() instead.
          
            getWarningCount() was renamed to
            getWarningsCount().
          
        utf8mb4 character data was handled
        incorrectly.
       (Bug #28240202)
        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 #90389)
Improper error handling for unknown hosts when creating a session could result in unexpected application exit. (Bug #27868302)
        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 #27732224)