Password parameters escaped with curly braces did not escape right curly braces in the password value. (Bug #106631, Bug #33986051)
Added callback support to the FIDO Pluggable Authentication mechanism. Use by defining a constant, such as
CB_FIDO_GLOBALto register a global callback function or
CB_FIDO_CONNETIONif it's connection-specific. These are used by SQLSetConnectAttr(), such as
SQLSetConnectAttr(hdbc, CB_FIDO_GLOBAL, &my_user_callback, SQL_IS_POINTER);. For additional usage details, see Connector/ODBC FIDO Information.
Added support for the new language-specific utf8mb4 collations added in MySQL Server 8.0.30. (Bug #34109678)
References: See also: Bug #31885256.
The driver's default character set changed to utf8mb4. Previously it defaulted to utf8, which is an alias to the deprecated utf8mb3. Using utf8mb3 could cause problems, like incorrectly inserting and selecting emojis. (Bug #107698, Bug #34031488, Bug #34350980)
Improved the RPM/DEB/MSI packages. For RPM/DEB: now either GTK2 or GTK3 are prerequisites (previously it required both), and the -setup package is now set to recommended. For Windows: stopped importing libraries (such as myodbc8a.lib) and only include DLLs, and stopped including PDB debug files. Also improved BUNDLE_DEPENDENCIES and MAINTAINER_MODE CMake options to check if the required bundled plugins and 3rd party libraries are present.
Added the tls-versions connection option to define the allowed TLS protocol versions.
tls-versionsaccepts TLSv1.2 and/or TLSv1.3. Other values generate an error. Example usage: tls-versions=TLSv1.2,TLSv1.3. The value is set by libmysqlclient if not set, and has no effect with ssl-mode=DISABLED. The option overrides (disables) the related NO_TLS_X_Y Connector/ODBC connection options, such as NO_TLS_1_2.
Related, TLSv1 and TLSv1.1 support was removed from MySQL Server 8.0.28.
The SQL_C_DOUBLE type could return as an inaccurate result with NO_CACHE enabled. (Bug #107307, Bug #34180568)
Fixed memory leak caused by ODBC data source reconnects; now mysql_library_end() is called upon the DLL_PROCESS_DETCH event.
The workaround is to reuse ENV for each new connection. (Bug #106886, Bug #34030930)
SQLCancel() was not thread safe; it and other ODBC API functions are now thread safe. (Bug #91951, Bug #105606, Bug #33884811)