Documentation Home
MySQL Connector/C++ Release Notes
Related Documentation Download these Release Notes
PDF (US Ltr) - 401.9Kb
PDF (A4) - 403.3Kb

MySQL Connector/C++ Release Notes  /  Changes in MySQL Connector/C++ 8  /  Changes in MySQL Connector/C++ 8.0.33 (2023-04-18, General Availability)

Changes in MySQL Connector/C++ 8.0.33 (2023-04-18, General Availability)

Compilation Notes

  • To simplify building the legacy JDBC connector with Linux distributions that do not ship static libraries, the MYSQLCLIENT_STATIC_LINKING default now is OFF (use dynamic linking to the client library). Previously, the default setting was ON and the binary distributions from Oracle are still built with static linking. (WL #15466)

  • Binary distributions from Oracle are built in C++17 mode. When building Connector/C++ from sources, the compilation now fails if the compiler used does not support C++17. To compile Connector/C++ applications that use X DevAPI (or if the code uses C++17), enable C++17 support in the compiler using the -std=c++17 option. (WL #15429)

  • Connector/C++ now compiles cleanly using Clang on Windows. (WL #15290)

Packaging Notes

  • ZSTD sources bundled in the Connector/C++ source tree are upgraded to ZSTD 1.5.0. (Bug #34983529)

  • LZ4 sources bundled in the Connector/C++ source tree are upgraded to LZ4 1.9.4. (Bug #34983380)

  • ZLIB sources bundled in the Connector/C++ source tree are upgraded to ZLIB 1.2.13 to match the server. (Bug #34888141)

  • RapidJSON sources bundled in the Connector/C++ source tree are upgraded to RapidJSON 1.1.0 to match the server. (Bug #34842662)

Pluggable Authentication

  • The Connector/C++ implementation of the authentication_oci_client plugin (together with libmysqlclient) now enables using a security-token file to support ephemeral key-pair authentication when integration with an external identity provider is needed for classic MySQL protocol connections. The Oracle Cloud Infrastructure CLI generates the ephemeral key pair and security token.

    In addition, applications that use the legacy JDBC API now can set the new OPT_OCI_CLIENT_CONFIG_PROFILE connection option to specify which profile in the configuration file to use for authentication. It defaults to the [DEFAULT] profile. (WL #15481)

Functionality Added or Changed

  • The Connector/C++ legacy JDBC connector now identifies itself through the following new connection attributes (in addition to the connection attributes obtained from the libmysql client library by default):

    • _connector_version to indicate the connector version (for example, 8.0.33).

    • _connector_license to indicate the license type of the connector, either GPL-2.0 or Commercial.

    • _connector_name with a constant value of mysql-connector-cpp.

    The new attributes are not configurable by applications. Instead, the connector sets all of the attribute values, which it determines automatically after connecting to the server. If the libmysql client library or MySQL Server version being used lack support for query attributes, then returning related connection-attribute errors is not possible.

    For general information about connection attributes, see Performance Schema Connection Attribute Tables. (WL #15425)

Bugs Fixed

  • X DevAPI: Operations attempting to modify an entire document, for example,

    coll.modify("_id = 1").set("$", R"({ "name": "bar" })").execute();

    emitted a server error rather than modifying the document. An error is expected when passing in a string. To modify an entire document, the caller should pass in a DbDoc() document. For example:

    coll.modify("_id = 1").set("$", DbDoc(R"({ "name": "bar" })")).execute();

    (Bug #35046616)

  • X DevAPI: When a connection was made to MySQL Router, rather than directly to the server, closing a session using mysqlx_session_close was not possible. Now, the connector no longer waits for a reply to the call before closing the session. (Bug #107693, Bug #34338937)

  • Minimum CMake version required was changed to 3.12 from the previous version, which was deprecated and produced warnings. (Bug #20422957)