To simplify building the legacy JDBC connector with Linux distributions that do not ship static libraries, the
MYSQLCLIENT_STATIC_LINKING
default now isOFF
(use dynamic linking to the client library). Previously, the default setting wasON
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)
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)
-
The Connector/C++ implementation of the
authentication_oci_client
plugin (together withlibmysqlclient
) 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)
-
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, eitherGPL-2.0
orCommercial
._connector_name
with a constant value ofmysql-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)
-
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)