Several CMake options have been added or updated to enable using external sources (or builds) of third-party components, like compression libraries and the Protobuf compiler, on which Connector/C++ depends. These options permit substituting external source locations at configuration time if required.
Supported options are:
Currently, bundled third-party libraries used by connector are linked statically to it. Externally sourced libraries are linked dynamically. Long-standing issues, such as applications that link to the static connector library (
libmysqlcppconn8-static.a) not being able to also link to a Protobuf library at the same time, now are resolved by building from sources a variant that links Protobuf dynamically.
For more information, see Specifying External Dependencies. (Bug #32117299)
For platforms on which OpenSSL libraries are bundled, the linked OpenSSL library for Connector/C++ has been updated to version 1.1.1q. Issues fixed in the new OpenSSL version are described at https://www.openssl.org/news/cl111.txt and https://www.openssl.org/news/vulnerabilities.html. (Bug #34414692)
If building the legacy JDBC connector from source, using an additional git command to perform submodule initialization is no longer necessary.
X DevAPI: If an application program called
mysqlx_session_closeafter disconnecting from the Internet, an exception from Connector/C++ could cause the application to halt unexpectedly. (Bug #107692, Bug #34338950)
On Windows, compiler difficulties were encountered because
unistd.hwas used to call
getcwdrather than using various Windows alternatives. Our thanks to Luis Pinto for the patch. (Bug #108355, Bug #34553226)
libsslattempted to link to, was installed in an unexpected directory by the Connector/C++ binary distribution for macOS. This fix ensures that both bundled libraries are installed in the same directory. (Bug #107947, Bug #34417381)