0% found this document useful (0 votes)
18 views24 pages

MySQL Connector ODBC

Uploaded by

Salvador Ayala
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views24 pages

MySQL Connector ODBC

Uploaded by

Salvador Ayala
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

MySQL Connector/ODBC Release Notes

Abstract

This document contains release notes for the changes in recent releases of MySQL Connector/ODBC.

For additional Connector/ODBC documentation, see MySQL Connector/ODBC Developer Guide.

Updates to these notes occur as new product features are added, so that everybody can follow the development
process. If a recent version is listed here that you cannot find on the download page (https://dev.mysql.com/
downloads/), the version has not yet been released.

The documentation included in source and binary distributions may not be fully up to date with respect to release
note entries because integration of the documentation occurs at release build time. For the most up-to-date
release notes, please refer to the online documentation instead.

For legal information, see the Legal Notices.

For help with using MySQL, please visit the MySQL Forums, where you can discuss your issues with other
MySQL users.

Document generated on: 2024-10-15 (revision: 29216)

Table of Contents
Preface and Legal Notices ............................................................................................................ 2
Changes in MySQL Connector/ODBC Version 9 ............................................................................ 3
Changes in MySQL Connector/ODBC 9.1.0 (2024-10-15, General Availability) ......................... 3
Changes in MySQL Connector/ODBC 9.0.0 (2024-07-01, General Availability) ......................... 4
Changes in MySQL Connector/ODBC Version 8.x .......................................................................... 5
Changes in MySQL Connector/ODBC 8.4.0 (2024-04-30, General Availability) ......................... 5
Changes in MySQL Connector/ODBC 8.3.0 (2024-01-16, General Availability) ......................... 6
Changes in MySQL Connector/ODBC 8.2.0 (2023-10-25, General Availability) ......................... 6
Changes in MySQL Connector/ODBC 8.1.0 (2023-07-18, General Availability) ......................... 7
Changes in MySQL Connector/ODBC 8.0.40 (2024-10-15, General Availability) ....................... 7
Changes in MySQL Connector/ODBC 8.0.39 (Not released, General Availability) ..................... 7
Changes in MySQL Connector/ODBC 8.0.38 (Not released, General Availability) ..................... 7
Changes in MySQL Connector/ODBC 8.0.37 (2024-04-30, General Availability) ....................... 7
Changes in MySQL Connector/ODBC 8.0.36 (2024-01-16, General Availability) ....................... 8
Changes in MySQL Connector/ODBC 8.0.35 (2023-10-25, General Availability) ....................... 8
Changes in MySQL Connector/ODBC 8.0.34 (Not released, General Availability) ..................... 8
Changes in MySQL Connector/ODBC 8.0.33 (2023-04-18, General Availability) ....................... 8
Changes in MySQL Connector/ODBC 8.0.32 (2023-01-17, General Availability) ..................... 10
Changes in MySQL Connector/ODBC 8.0.31 (2022-10-11, General Availability) ..................... 10
Changes in MySQL Connector/ODBC 8.0.30 (2022-07-26, General Availability) ..................... 11
Changes in MySQL Connector/ODBC 8.0.29 (2022-04-26, General Availability) ..................... 12
Changes in MySQL Connector/ODBC 8.0.28 (2022-01-18, General Availability) ..................... 13
Changes in MySQL Connector/ODBC 8.0.27 (2021-10-19, General Availability) ..................... 14
Changes in MySQL Connector/ODBC 8.0.26 (2021-07-20, General Availability) ..................... 15
Changes in MySQL Connector/ODBC 8.0.25 (2021-05-11, General Availability) ..................... 16
Changes in MySQL Connector/ODBC 8.0.24 (2021-04-20, General Availability) ..................... 16
Changes in MySQL Connector/ODBC 8.0.23 (2021-01-18, General Availability) ..................... 17
Changes in MySQL Connector/ODBC 8.0.22 (2020-10-19, General Availability) ..................... 18
Changes in MySQL Connector/ODBC 8.0.21 (2020-07-13, General Availability) ..................... 19
Changes in MySQL Connector/ODBC 8.0.20 (2020-04-27, General Availability) ..................... 19
Changes in MySQL Connector/ODBC 8.0.19 (2020-01-13, General Availability) ..................... 20

1
MySQL Connector/ODBC Release Notes

Changes in MySQL Connector/ODBC 8.0.18 (2019-10-14, General Availability) ..................... 20


Changes in MySQL Connector/ODBC 8.0.17 (2019-07-22, General Availability) ..................... 21
Changes in MySQL Connector/ODBC 8.0.16 (2019-04-25, General Availability) ..................... 21
Changes in MySQL Connector/ODBC 8.0.15 (2019-02-01, General Availability) ..................... 21
Changes in MySQL Connector/ODBC 8.0.14 (2019-01-21, General Availability) ..................... 21
Changes in MySQL Connector/ODBC 8.0.13 (2018-10-22, General Availability) ..................... 22
Changes in MySQL Connector/ODBC 8.0.12 (2018-07-27, General Availability) ..................... 22
Changes in MySQL Connector/ODBC 8.0.11 (2018-04-19, General Availability) ..................... 23
Index .......................................................................................................................................... 23

Preface and Legal Notices


This document contains release notes for the changes in recent releases of MySQL Connector/ODBC.

Legal Notices
Copyright © 1997, 2024, Oracle and/or its affiliates.

License Restrictions

This software and related documentation are provided under a license agreement containing
restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly
permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate,
broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any
form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless
required by law for interoperability, is prohibited.

Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-
free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this is software, software documentation, data (as defined in the Federal Acquisition Regulation), or
related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the
U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated
software, any programs embedded, installed, or activated on delivered hardware, and modifications
of such programs) and Oracle computer documentation or other Oracle data delivered to or accessed
by U.S. Government end users are "commercial computer software," "commercial computer software
documentation," or "limited rights data" pursuant to the applicable Federal Acquisition Regulation and
agency-specific supplemental regulations. As such, the use, reproduction, duplication, release, display,
disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle programs
(including any operating system, integrated software, any programs embedded, installed, or activated
on delivered hardware, and modifications of such programs), ii) Oracle computer documentation and/
or iii) other Oracle data, is subject to the rights and limitations specified in the license contained in
the applicable contract. The terms governing the U.S. Government's use of Oracle cloud services
are defined by the applicable contract for such services. No other rights are granted to the U.S.
Government.

Hazardous Applications Notice

This software or hardware is developed for general use in a variety of information management
applications. It is not developed or intended for use in any inherently dangerous applications, including
applications that may create a risk of personal injury. If you use this software or hardware in dangerous
applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and

2
MySQL Connector/ODBC Release Notes

other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any
damages caused by use of this software or hardware in dangerous applications.

Trademark Notice

Oracle, Java, MySQL, and NetSuite are registered trademarks of Oracle and/or its affiliates. Other
names may be trademarks of their respective owners.

Intel and Intel Inside are trademarks or registered trademarks of Intel Corporation. All SPARC
trademarks are used under license and are trademarks or registered trademarks of SPARC
International, Inc. AMD, Epyc, and the AMD logo are trademarks or registered trademarks of Advanced
Micro Devices. UNIX is a registered trademark of The Open Group.

Third-Party Content, Products, and Services Disclaimer

This software or hardware and documentation may provide access to or information about content,
products, and services from third parties. Oracle Corporation and its affiliates are not responsible
for and expressly disclaim all warranties of any kind with respect to third-party content, products,
and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle
Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to
your access to or use of third-party content, products, or services, except as set forth in an applicable
agreement between you and Oracle.

Use of This Documentation

This documentation is NOT distributed under a GPL license. Use of this documentation is subject to the
following terms:

You may create a printed copy of this documentation solely for your own personal use. Conversion
to other formats is allowed as long as the actual content is not altered or edited in any way. You shall
not publish or distribute this documentation in any form or on any media, except if you distribute the
documentation in a manner similar to how Oracle disseminates it (that is, electronically for download
on a Web site with the software) or on a CD-ROM or similar medium, provided however that the
documentation is disseminated together with the software on the same medium. Any other use, such
as any dissemination of printed copies or use of this documentation, in whole or in part, in another
publication, requires the prior written consent from an authorized representative of Oracle. Oracle and/
or its affiliates reserve any and all rights to this documentation not expressly granted above.

Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program
website at
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support for Accessibility


Oracle customers that have purchased support have access to electronic support through My Oracle
Support. For information, visit
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/
topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Changes in MySQL Connector/ODBC Version 9


Changes in MySQL Connector/ODBC 9.1.0 (2024-10-15, General Availability)
• Functionality Added or Changed

• Bugs Fixed

3
MySQL Connector/ODBC Release Notes

Functionality Added or Changed


• Added OpenID Connect support leveraging the new
authentication_openid_connect_client client-side authentication plugin. OpenID Connect
functionality is supported by MySQL Enterprise Edition Server 9.1.0 and later.

The new openid-token-file connection option defines a path to a file containing the JWT
formatted identity token. (WL #16436)

• The RPM and DEB packages now install a copy of the MySQL client library plugins for the
connector. The version of these plugins match the version of the statically linked MySQL client
library.

They are installed to {libdir}/mysql/libmyodbc{ABI}/plugin/ where {libdir} is the


system location where packages install libraries. {ABI} is the connector's ABI version, which is
currently 9.

The connector installed from RPM and DEB packages use the bundled plugins as needed without
requiring the PLUGIN_DIR connection option, although the PLUGIN_DIR connection option is still
available to change the plugin location. Runtime dependencies required by the plugins, such as
Kerberos and LDAP libraries, are expected on the system and installed from their own packages.
(WL #16457)

Bugs Fixed
• The Generic Linux TGZ package did not bundle all client-side authentication plugins. (Bug
#36972449)

• Fixed a potential Out of Bounds (OOB) issue related to escaping large queries. (Bug #36955942)

• Added a plugin caching mechanism. (Bug #36929669)

• Fixed a memory leak that occurred when emitting SQL_DATE errors. (Bug #18531881)

• The internal mysql_init() function used for making connections is now thread safe. (Bug
#115710, Bug #36894687)

• Having a number of bound parameters greater than the number of placeholders in the corresponding
SQL query could emit an error, as the statement had to be prepared and executed more than once.
(Bug #115584, Bug #36841317)

• When connected to a MySQL 5.7 server, queries using bound parameters would not succeed
and emitted a "No data supplied for parameters in prepared statement" error. (Bug #115531, Bug
#36828312)

• With the prefetch connection option set to a non-zero value, large queries could cause the
connector to unexpectedly halt. (Bug #113554, Bug #36945554)

• Fixed the SQLBulkOperations() function's generated WHERE clause, which could potentially
cause an application to unexpectedly halt. (Bug #69194, Bug #18641963, Bug #26474373)

Changes in MySQL Connector/ODBC 9.0.0 (2024-07-01, General Availability)


• Functionality Added or Changed

• Bugs Fixed

Functionality Added or Changed


• For the ANSI driver, converting to and from the character set specified by the CHARSET connection
option is now performed by the MySQL server rather than being done inside the ANSI driver. (WL
#16297)

4
MySQL Connector/ODBC Release Notes

• Added support for the VECTOR data type that was introduced in MySQL Enterprise Server 9.0.0. (WL
#16171)

• The charset connection option is now deprecated for the Unicode driver, and setting it to a non-
empty value via SQLConnect() or SQLDriverConnect() emits a warning. The connection is still
successful. (WL #16311)

• As of this release, the base name of the driver modules is changed to myodbc9. (WL #16382)

Bugs Fixed
• On Windows, the MSI installation location now defaults to "C:\Program Files\MySQL\MySQL
Connector ODBC X.Y" instead of "C:\Program Files\MySQL\Connector ODBC X.Y" where X.Y is
the series number, such as 9.0. This change aligns MySQL Connector/ODBC with other MySQL
products. (Bug #36681453)

• Since 8.2.0, the SQLConnect() function's parameter values did not override values defined in the
DSN. Now the SQLConnect() values are prioritized except for SQLConnect() values defined as
NULL. (Bug #36605973)

Changes in MySQL Connector/ODBC Version 8.x


Changes in MySQL Connector/ODBC 8.4.0 (2024-04-30, General Availability)
• Security Notes

• Functionality Added or Changed

• Bugs Fixed

Security Notes
• For platforms on which Connector/ODBC utilizes MySQL Server's bundled OpenSSL library
(MacOS, Windows, and GenLinux), MySQL Server's linked OpenSSL library was updated to version
3.0.13. Issues fixed in OpenSSL version 3.0.13 are described at https://openssl-library.org/news/
openssl-3.0-notes/. (Bug #36278301)

Functionality Added or Changed


• Expanded the Windows file attributes for packaged executable and DLL files. (Bug #113544, Bug
#36153794, WL #16157)

• Removed support for the deprecated authentication_fido authentication plugin. Instead, use
authentication_webauthn. (WL #16155)

• Setting query attributes for executed queries now supports prepared statements in SSPS mode. (WL
#15967)

• Known limitation of this release: because the mysql_native_password authentication plugin is


disabled by default as of MySQL Server 8.4.0, some unit tests may generate errors unless the plugin
is enabled.

Bugs Fixed
• Unchecking the "Disable schema support" (NO_SCHEMA) option in the ODBC connection
editor would remove (unset) the value rather than set it to 0, which meant that reloading the
ODBC connector editor would revert it to the default value of 1. Now both NO_SCHEMA and
NO_CATALOG are always set to either 0 or 1. (Bug #36238361)

• Fixed build errors to adhere to the C99 standard, which GCC 14 now enforces.

Our thanks to Christopher Fore for this contribution. (Bug #113766, Bug #36228848)

5
MySQL Connector/ODBC Release Notes

• Not all packaged files contained digital signatures. (Bug #113538, Bug #36150212)

• Could not execute parameterized stored procedures using syntax that contained curly brackets. (Bug
#112285, Bug #35790175)

• Changing position in the row set with SQLSetPos() would not update the lengths, which could cause
SQLGetData() to retrieve less data than expected. (Bug #61991, Bug #26474471)

Changes in MySQL Connector/ODBC 8.3.0 (2024-01-16, General Availability)


• Functionality Added or Changed

• Bugs Fixed

Functionality Added or Changed


• The AUTO_RECONNECT functionality was removed, and setting it returns
SQL_SUCCESS_WITH_INFO with an HY000 error stating that it's no longer supported. The GUI
dialog removed the AUTO_RECONNECT option while the myodbc-installer command-line tool
allows setting it but emits a warning.

MySQL Server 8.3.0 removed auto-reconnect support after deprecating it in versions 8.0.34 and
8.1.0. (WL #15978)

• Improved OpenTelemetry support to propagate context when executing prepared statements. (WL
#15960)

Bugs Fixed
• ADODB.Recordset.Open() reported a transaction error when a string type was used with prepared
statements. The fix was changing the SQL_MAX_CONCURRENT_ACTIVITIES value from 1 to 0
(unlimited). (Bug #36031548)

References: This issue is a regression of: Bug #34916959.

Changes in MySQL Connector/ODBC 8.2.0 (2023-10-25, General Availability)


• Functionality Added or Changed

• Bugs Fixed

Functionality Added or Changed


• Packaging: On Windows, the MSI package definition files were updated to work with the Windows
Installer XML (WiX) toolset version 4. Note that they can no longer be used with previous version 3 of
the toolset. (WL #15810)

• Improved OpenTelemetry support. This includes adding spans for preparing and executing prepared
statements, and adding connection span attributes such as db.user. (WL #15807)

• Connector/ODBC now supports an authentication method that enables users to authenticate


to MySQL Server using WebAuthn-aware devices for classic MySQL protocol connections.
WebAuthn authentication is based on the FIDO and FIDO2 standards. For additional information,
see Connector/ODBC WebAuthn and FIDO Information (WL #15240)

Bugs Fixed
• Setting SQL mode to ANSI_QUOTES on the MySQL server caused the SQLColumns() method to not
function. (Bug #35660375)

• Using the SJIS character set with the ANSI Driver could cause the connection to hang. (Bug
#35520983)

6
MySQL Connector/ODBC Release Notes

• The SQLStatistics() function returned the wrong type for a PRIMARY KEY index. It now returns
SQL_INDEX_OTHER instead of 0. (Bug #35504650)

• Selecting the Character Set dropdown under Details while creating a new Data Source
Configuration in the GUI would unexpectedly halt the application if the credential fields were empty or
invalid. (Bug #110900, Bug #35356536)

Changes in MySQL Connector/ODBC 8.1.0 (2023-07-18, General Availability)


MySQL Connector/ODBC 8.1.0 is a new GA release version that supersedes the 8.0 series, and is
recommended for use on production systems. This release can be used with MySQL Server version
5.7 and later. MySQL Connector/ODBC 8.0.x remains available to continue providing 32-bit support.

• Functionality Added or Changed

• Bugs Fixed

Functionality Added or Changed


• Important Change: 32-bit binaries are no longer built as of MySQL 8.1.0.

Update: Connector/ODBC offers a 32-bit 8.0.x version that also contains bug fixes.

• Added OpenTelemetry support. (WL #15624)

Bugs Fixed
• Fixed a memory leak generated by reading data. (Bug #111036, Bug #35491247)

Changes in MySQL Connector/ODBC 8.0.40 (2024-10-15, General


Availability)
Bugs Fixed
• Fixed a potential Out of Bounds (OOB) issue related to escaping large queries. (Bug #36955942)

• The internal mysql_init() function used for making connections is now thread safe. (Bug
#115710, Bug #36894687)

• With the prefetch connection option set to a non-zero value, large queries could cause the
connector to unexpectedly halt. (Bug #113554, Bug #36945554)

• Fixed the SQLBulkOperations() function's generated WHERE clause, which could potentially
cause an application to unexpectedly halt. (Bug #69194, Bug #18641963, Bug #26474373)

Changes in MySQL Connector/ODBC 8.0.39 (Not released, General


Availability)
There was not a MySQL Connector/ODBC 8.0.39 release.

Changes in MySQL Connector/ODBC 8.0.38 (Not released, General


Availability)
There was not a MySQL Connector/ODBC 8.0.38 release.

Changes in MySQL Connector/ODBC 8.0.37 (2024-04-30, General


Availability)
The Connector/ODBC 8.0 series contains few changes after Connector/ODBC 8.0.33 and remains
available for building 32-bit binaries. If you do not require 32-bit binaries, use the latest Connector/
ODBC (such as 8.4.0), which also supports MySQL 8.0 and includes all bug fixes and new features.

7
MySQL Connector/ODBC Release Notes

Security Notes
• For platforms on which Connector/ODBC utilizes MySQL Server's bundled OpenSSL library
(MacOS, Windows, and GenLinux), MySQL Server's linked OpenSSL library was updated to version
3.0.13. Issues fixed in OpenSSL version 3.0.13 are described at https://openssl-library.org/news/
openssl-3.0-notes/. (Bug #36278301)

Changes in MySQL Connector/ODBC 8.0.36 (2024-01-16, General


Availability)
Bugs Fixed
• ADODB.Recordset.Open() reported a transaction error when a string type was used with prepared
statements. The fix was changing the SQL_MAX_CONCURRENT_ACTIVITIES value from 1 to 0
(unlimited). (Bug #36031548)

References: This issue is a regression of: Bug #34916959.

Changes in MySQL Connector/ODBC 8.0.35 (2023-10-25, General


Availability)
Bugs Fixed
• Setting SQL mode to ANSI_QUOTES on the MySQL server caused the SQLColumns() method to not
function. (Bug #35660375)

• Using the SJIS character set with the ANSI Driver could cause the connection to hang. (Bug
#35520983)

• The SQLStatistics() function returned the wrong type for a PRIMARY KEY index. It now returns
SQL_INDEX_OTHER instead of 0. (Bug #35504650)

• Fixed a memory leak generated by reading data. (Bug #111036, Bug #35491247)

• Selecting the Character Set dropdown under Details while creating a new Data Source
Configuration in the GUI would unexpectedly halt the application if the credential fields were empty or
invalid. (Bug #110900, Bug #35356536)

Changes in MySQL Connector/ODBC 8.0.34 (Not released, General


Availability)
Version 8.0.34 has no release notes, or they have not been published because the product version has
not been released.

Changes in MySQL Connector/ODBC 8.0.33 (2023-04-18, General


Availability)
• Functionality Added or Changed

• Bugs Fixed

Functionality Added or Changed


• Added a new OCI_CONFIG_PROFILE connection option to define a profile set in
OCI_CONFIG_FILE; and it defaults to DEFAULT. These options are for the authentication_oci_client
plugin used with the Oracle Cloud Infrastructure (OCI) to support ephemeral key pairs and security
tokens.

8
MySQL Connector/ODBC Release Notes

Also moved "OCI Config File" from the "Connection" tab to the "Authentication" tab in the GUI next to
the new "OCI Config Profile" option. (WL #15482)

• Improved JSON data character support by presenting JSON columns as utf8mb4 strings instead of
binary data. This change also affected the following ODBC functions:

SQLColumns() result set changes:

• DATA_TYPE (column #5) and SQL_DATA_TYPE (column #14) are now SQL_LONGVARCHAR
or SQL_WLONGVARCHAR depending on the driver type (ANSI or UNICODE); previously it was
always SQL_LONGVARCHAR.

• COLUMN_SIZE (column #7) and BUFFER_LENGTH (column #8) are now 4294967295;
previously they were NULL.

• CHAR_OCTET_LENGTH (column #16) is now 4294967295; previously it was 0.

SQLDescribeCol() result parameter changes:

• The DataTypePtr parameter returns SQL_LONGVARCHAR or SQL_WLONGVARCHAR


depending on the driver type (ANSI or UNICODE); previously it was always
SQL_LONGVARCHAR.

SQLColAttribute() return changes:

• The SQL_DESC_CONCISE_TYPE and SQL_DESC_TYPE field identifiers return


SQL_LONGVARCHAR or SQL_WLONGVARCHAR depending on the driver type (ANSI or
UNICODE); previously it was always SQL_LONGVARCHAR.

• The SQL_DESC_DISPLAY_SIZE field identifier returns 1073741823; previously it was -2. It's
calculated as 4G/(UTF8MB4_SIZE).

• The SQL_DESC_LOCAL_TYPE_NAME field identifier returns an empty string; previously it was


SQL_ERROR.

• The SQL_DESC_TYPE_NAME field identifier returns the type name as a character string "JSON";
previously it was a garbled string.

(WL #15423)

Bugs Fixed
• Packaging: Improved the MSI installer compatibilities so that driver versions for different
architectures are no longer interdependent. All dependency libraries and executables are installed
with the driver, a driver can be installed in a non-default directory, and driver architecture and
licensing information is now visible in the list of installed applications. (Bug #35084016)

• When using client-side prepared statements (NO_SSPS=1), a _utf8mb4 prefix was added to string
data sent from the client side even if utf8mb4 was already defined as the character set. Unnecessary
prefixes were removed. (Bug #35075941)

• The SQL_MAX_CONCURRENT_ACTIVITIES value changed from 0 (unlimited) to 1 because


Connector/ODBC supports one active statement per connection.

Note: this change was reverted in Connector/ODBC 8.3.0. (Bug #34916959)

• On macOS, Connector/ODBC now locates iODBC libraries installed via Homebrew. (Bug
#34529199)

• JSON column data was not properly translated; the data is now interpreted as UTF8MB4 instead of
BINARY. A workaround was to cast the JSON column as CHAR. (Bug #33353465)

9
MySQL Connector/ODBC Release Notes

• Connector/ODBC now sets the following performance_schema connection attributes, which


coincide with how other connectors behave: _connector_version (the connector version, such
as 8.0.33), _connector_license (the connector's license type, such as GPL-2.0 or Commercial),
_connector_name (always set to mysql-connector-odbc), and _connector_type (the ODBC driver
type, either ANSI or Unicode). (Bug #33137632, WL #15417)

• With using ADO/VB6, updating a record set containing a field of type BIT with cursor location
adUseServer could emit an error. The connector now marks BIG(N>1) columns as not searchable to
exclude them from WHERE clauses produced by ADO/VB6. As before, type BIT is still reported as
ODBC type SQL_BINARY to preserve backwards compatibility. (Bug #16590994)

• Improved prepared statement performance by decreasing the frequency of setlocale() calls used to
enforce the '.' character as a decimal separator. (Bug #107745, Bug #34350417)

• Renamed compare() to parser_compare() in the parser module to avoid a symbol collision with the
XSB ODBC interface. (Bug #70493, Bug #26474343)

Changes in MySQL Connector/ODBC 8.0.32 (2023-01-17, General


Availability)
• Compilation Notes

• Functionality Added or Changed

• Bugs Fixed

Compilation Notes
• Connector/ODBC now provides generic Linux packages for ARM architecture (64 bit), in addition to
the generic Linux packages for Intel architecture (both 32 and 64 bits). All generic Linux packages
are built using the GNU C Library version 2.28. (WL #15478)

Functionality Added or Changed


• Added an authentication-kerberos-mode option that's set to either "SSPI" (default)
or "GSSAPI". This allows choosing between SSPI and GSSAPI at runtime for the
authentication_kerberos_client authentication plugin on Windows. Previously, only the
SSPI mode was supported on Windows. For general usage information, see Kerberos Pluggable
Authentication. (WL #15347)

• Added an administrative privileges check to the Install.bat and Uninstall.bat scripts as


installing and uninstalling the ODBC driver requires "run as admin" privileges. (WL #15354)

Bugs Fixed
• Adding a 64-bit MySQL ODBC ANSI System Data Source via the ODBC Data Source Administrator
would yield this error while testing the connection via the GUI: "Connection failed with the following
error: [MySQL]ODBC 8.0(a) Driver]String data, right truncated.[010040]." (Bug #34786939)

• Upgraded Cyrus SASL to version 2.1.28, which has been publicly reported as not vulnerable to
CVE-2022-24407. (Bug #34680978)

• SQLColumns() would use prepared statements with NO_SSPS=1. (Bug #108126, Bug #34643065)

• The MySQL ODBC driver would report the incorrect DATA_TYPE value for DATETIME when calling
SQLColumns(). The correct concise type for DATETIME is SQL_TYPE_TIMESTAMP, and this is
now used instead of the verbose type SQL_DATETIME. (Bug #107235, Bug #34291904)

Changes in MySQL Connector/ODBC 8.0.31 (2022-10-11, General


Availability)

10
MySQL Connector/ODBC Release Notes

• Security Notes

• Functionality Added or Changed

• Bugs Fixed

Security Notes
• For platforms on which Connector/ODBC utilizes MySQL Server's bundled OpenSSL library (MacOS,
Windows, and GenLinux), MySQL Server's linked OpenSSL library was 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 #34414691)

Functionality Added or Changed


• Packaging: On Windows, the debugging (PDB) files were moved to a separate download. While
the regular packages are built with RelWithDebInfo enabled, the associated PDB files are no longer
included in the standard downloads. The separate debug package contains PDB files for the regular
builds (in lib/), driver files and their associated PDB files built in Debug mode (in Debug/lib/), and unit
tests. (WL #15124)

• Removed the deprecated NO_I_S connection option; usage is ignored and does not trigger an error
or warning. (WL #15150)

• Added the ssl-crl and ssl-crlpath connection options to configure the Certificate Revocation
List (CRL) list. (WL #14880)

Bugs Fixed
• Converting binary data to binhex with SQLGetData() would unexpectedly halt on the 2nd call to
SQLGetData() when the buffer size was smaller than the data size. (Bug #34486645)

• Now the connection collation can now be specified via INITSTMT; when before setting it was
overridden by the ODBC driver. (Bug #34020457)

• With the ANSI ODBC driver, a call to SQLColumns returned the Unicode DATA_TYPE equivalent;
SQL_WVARCHAR instead of SQL_VARCHAR, SQL_WCHAR instead of SQL_CHAR, and
SQL_WLONGVARCHAR instead of SQL_LONGVARCHAR. (Bug #107766, Bug #34355094)

• Improved query parameter support and performance with prepared statements. (Bug #107745, Bug
#34350417)

• Added a test case for a Server bug that was fixed in MySQL Server 8.0.31; its release note is as
follows:

A prepared statement with parameters could fail to update a row, but the same statement with the
same data did update the row when issued as a query. The fix for the problem is to assign a default
data type to the parameters, although this can be inefficient because there is no context available for
data type propagation and a character string type is given implicitly. In this case, the best practice
is to wrap such parameter declarations in CAST clauses that supply the desired data types. (Bug
#105013, Bug #33401384)

Changes in MySQL Connector/ODBC 8.0.30 (2022-07-26, General


Availability)
• Authentication Notes

• Character Set Support

• Compilation Notes

• Functionality Added or Changed

11
MySQL Connector/ODBC Release Notes

• Bugs Fixed

Authentication Notes
• 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_GLOBAL to register a global callback function or
CB_FIDO_CONNETION if 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 WebAuthn and FIDO
Information. (WL #14905)

Character Set Support


• 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)

Compilation Notes
• 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. (WL #14945)

Functionality Added or Changed


• Added the tls-versions connection option to define the allowed TLS protocol versions.

tls-versions accepts 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. (WL #14876)

Bugs Fixed
• 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)

Changes in MySQL Connector/ODBC 8.0.29 (2022-04-26, General


Availability)
• Security Notes

12
MySQL Connector/ODBC Release Notes

• Functionality Added or Changed

• Bugs Fixed

Security Notes
• For platforms on which Connector/ODBC utilizes MySQL Server's bundled OpenSSL library (MacOS,
Windows, and GenLinux), MySQL Server's linked OpenSSL library was updated to version 1.1.1n.
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 #33987635)

Functionality Added or Changed


• Added the following TLS/SSL option aliases to align with other MySQL connectors: ssl-mode
(SSLMODE), ssl-ca (SSLCA), ssl-capath (SSLCAPATH), ssl-cert (SSLCERT), ssl-cipher
(SSLCIPHER), and ssl-key (SSLKEY). The ODBC driver, GUI, and myodbc-installer use these new
aliases by default instead of the old option names. For example, setting SSL Key in the GUI now
saves it as ssl-key instead of SSLKEY. (WL #14845)

• Added FIDO Pluggable Authentication support, an authentication mechanism added in MySQL


Enterprise Edition 8.0.27. For additional details, see Authentication Options. (WL #14877)

Bugs Fixed
• Extended SQLGetTypeInfo() to return results for Unicode wide character type IDs, such as
SQL_WCHAR, when before only their corresponding ANSI character type IDs such as SQL_CHAR
returned results. (Bug #33772516)

• On Windows, installing the driver to a custom location made setting PLUGIN_DIR required to
find bundled plugins. Now the directory location is used to determine the plugin directory unless
PLUGIN_DIR is specified. (Bug #33720924)

• The ODBC driver would unexpectedly halt when connecting to accounts that required client-side
authentication plugins if those plugins depended on 3rd-party libraries (such as authentication_fido
and libfido2.dll) that could not be found or loaded. Now it reports an error instead. (Bug #33702043)

• The SQLColumns() function result included the length qualifier for some types, such as char(16)
instead of char. (Bug #33599093)

• With prepared statements and NO_CACHE=1, having a NULL value in a row column would nullify
a value in the same column of the next row. This produced an incorrect value giving NULL where a
non-value was expected. (Bug #106683, Bug #33951069)

• When a Catalog or Schema is not specified, and if a table with the same name and set of columns
existed in another database, SQLColumns() would return data from multiple databases instead of
only the current database. In this case, MS Access would yield an error as the database name was
not checked for. Now only data from the current database is returned, unless specifically specified.
(Bug #106204, Bug #33788407)

• On Windows, the ODBC GUI dialog did not display all available inputs; so the dialog window size
was increased accordingly. (Bug #106013, Bug #33624658)

Changes in MySQL Connector/ODBC 8.0.28 (2022-01-18, General


Availability)
• Deprecation and Removal Notes

• Functionality Added or Changed

• Bugs Fixed

13
MySQL Connector/ODBC Release Notes

Deprecation and Removal Notes


• The TLSv1 and TLSv1.1 connection protocols were previously deprecated in Connector/ODBC
8.0.26 and support for them is removed starting with this release. Instead, use TLSv1.2 or TLSv1.3.

The associated NO_TLS_1_0 and NO_TLS_1_1 connection parameters were removed. (WL
#14817)

Functionality Added or Changed


• Connector/ODBC can now establish connections using Multi-Factor Authentication (MFA), such
that up to three passwords can be specified. The new PASSWORD1, PASSWORD2, and PASSWORD3
connection options are available for specifying the first, second, and third MFA passwords,
respectively. The PASSWORD1 option is a synonym for the existing PASSWORD option. In addition,
PWD1, PWD2, and PWD3 aliases were added. (WL #14657)

Bugs Fixed
• Microsoft Access could unexpectedly halt when browsing MySQL linked tables when columns in
the tables had gaps; and for roughly 100+ record tables as the ODBC driver was incorrectly using
memory allocating functions from libmysqlclient. (Bug #33557670, Bug #105503)

• For platforms on which Connector/ODBC utilizes MySQL Server's bundled OpenSSL library (MacOS,
Windows, and GenLinux), MySQL Server's linked OpenSSL library was updated to version 1.1.1L.
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 #33309900)

• SQLColumns() now uses INFORMATION_SCHEMA instead of the deprecated COM_FIELD_LIST


by default. COM_FIELD_LIST is only used when NO_I_S is set by Connector/ODBC (which disables
INFORMATION_SCHEMA usage). (Bug #29476463, Bug #94235)

Changes in MySQL Connector/ODBC 8.0.27 (2021-10-19, General


Availability)
• Functionality Added or Changed

• Bugs Fixed

Functionality Added or Changed


• Applications that use legacy MySQL connections can now establish connections without passwords
for accounts that use the authentication_oci server-side authentication plugin, provided that
the correct configuration entries are available to map to one unique user in a specific Oracle Cloud
Infrastructure tenancy.

To ensure correct account mapping, the client-side Oracle Cloud Infrastructure configuration must
contain a fingerprint of the API key to use for authentication (fingerprint entry) and the location
of a PEM file with the private part of the API key (key_file entry). Both entries should be specified
in the [DEFAULT] profile of the configuration file.

Unless an alternative path to the configuration file is specified with the new OCI_CONFIG_FILE
connection option, the following default locations are used:

• ~/.oci/config on Linux or Posix host types

• %HOMEDRIVE%%HOMEPATH%/.oci/config on Windows host types

If the MySQL user name is not provided as a connection option, then the operating system
user name is substituted. Specifically, if the private key and correct Oracle Cloud Infrastructure
configuration are present on the client side, then a connection can be made without giving any
options. (WL #14709)

14
MySQL Connector/ODBC Release Notes

• In Connector/ODBC 8.0.26, the capability was introduced for applications that use the classic
MySQL connections for accounts that use the authentication_kerberos server-side
authentication plugin, provided that the correct Kerberos tickets are available or can be obtained
from Kerberos. That capability was available on client hosts running Linux only. It is now available on
client hosts running Windows.

For more information about Kerberos authentication, see Kerberos Pluggable Authentication. (WL
#14681)

Bugs Fixed
• Changed the NO_SCHEMA default value from 0 to 1. It's enabled to behave like in the older versions
the ODBC driver to not accept schema parameters and not declare support for schema functions.
(Bug #33300344, Bug #32925338, WL #14490)

• The MSI installation package did not install plugin libraries present in the Zip package, such as
fido_client, kerberos_client, and ldap_sasl_client. (Bug #33269861)

• Fixed the internal character set conversions of string data inside the driver; some UTF8MB4
characters were not properly converted. (Bug #33241697, Bug #104346)

• The ODBC driver can now load plugins from their default location without need to specify the plugins
directory using the PLUGIN_DIR connection option. (Bug #33134373)

• Added logic to correctly detect OUT/INOUT parameters from a stored procedure, as a workaround to
a libmysqlclient issue. (Bug #30578291)

• The second call to a stored procedure failed if the statement was closed after the results of the first
call had been received. (Bug #29042032, Bug #93378)

Changes in MySQL Connector/ODBC 8.0.26 (2021-07-20, General


Availability)
• Deprecation and Removal Notes

• Functionality Added or Changed

• Bugs Fixed

Deprecation and Removal Notes


• The TLSv1.0 and TLSv1.1 connection protocols are now deprecated and support for them is subject
to removal in a future Connector/ODBC version.

Additionally, a NO_TLS_1_3 connection option was added. (WL #14543)

• Deprecated the NO_I_S connection option, an option to get metadata without the
information_schema by using SHOW statements. Setting NO_I_S=1 with SQLConnect() or
SQLDriverConnect() now return SQL_SUCCESS_WITH_INFO instead of SQL_SUCCESS, and they
a deprecation warning retrievable by SQLGetDiagRec(). (WL #14586)

Functionality Added or Changed


• Applications that use Connector/ODBC now can define query attribute metadata on a per-query
basis, without the use of workarounds such as specially formatted comments included in query
strings. (WL #14217)

• Added the ability to connect to MySQL server accounts that use the authentication_kerberos
plugin, including support for user-less and password-less Kerberos authentications. Connector/
ODBC utilizes the MySQL client library for this functionality. (WL #14441)

15
MySQL Connector/ODBC Release Notes

Bugs Fixed
• Fixed help (documentation) links in the ODBC Driver GUI. (Bug #32880421)

• Improved Access/VB6 query attribute handling. (Bug #32813838)

• Attempting to update a row with an existing unique key would not emit a diagnostic error that
reported the problem, such as "Duplicate Entry". (Bug #32763378, Bug #103287)

• Systems with both GTK versions 2 and 3 could cause the UnixGUI to unexpectedly halt when using
the MySQL GUI module. Now, separate GTK modules exist for each version as the two can't co-exist
in the same process. (Bug #32623180)

• A buffer overrun inside SQLColumns() caused Connector/ODBC to unexpectedly halt; memory


management was optimized to prevent this problem.

A workaround was to either use the NO_I_S=1 connection option or enable "Don't use
INFORMATION_SCHEMA for metadata" from the ODBC Data Source Administrator. (Bug
#32612467, Bug #102891)

• Fixed insert_params() code to use the __LOCALE_SET and __LOCALE_RESTORE macros rather
than setlocale directly. (Bug #32610685, Bug #102871)

• Setting NO_CACHE=1 in the ODBC connection string would cause function errors to go undetected.
(Bug #27499789, Bug #89542)

Changes in MySQL Connector/ODBC 8.0.25 (2021-05-11, General


Availability)
This release contains no functional changes, and is published to align its version number with that of
the MySQL Server 8.0.25 release.

Changes in MySQL Connector/ODBC 8.0.24 (2021-04-20, General


Availability)
• Security Notes

• Functionality Added or Changed

• Bugs Fixed

Security Notes
• For platforms on which Connector/ODBC utilizes MySQL Server's bundled OpenSSL library (MacOS,
Windows, and GenLinux), MySQL Server's linked OpenSSL library was updated to version 1.1.1k.
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 #32719727)

References: See also: Bug #32680637.

Functionality Added or Changed


• Previously, if the connection to the server was not used within the period specified by the
wait_timeout system variable and the server closed the connection, the client received no notification
of the reason. Typically, the client would see Lost connection to MySQL server during query
(CR_SERVER_LOST) or MySQL server has gone away (CR_SERVER_GONE_ERROR).

In such cases, the server now writes the reason to the connection before closing it, and the
client receives a more informative error message: The client was disconnected by the server
because of inactivity. See wait_timeout and interactive_timeout for configuring this behavior.
(ER_CLIENT_INTERACTION_TIMEOUT).

16
MySQL Connector/ODBC Release Notes

The previous behavior still applies for client connections to older servers and connections to the
server by older clients. (WL #14426)

• If a classic MySQL protocol connection experiences a server timeout, Connector/ODBC now reports
more precise disconnection information from the server. (WL #14426)

Bugs Fixed
• Setting PAD_SPACE=1 did not cause CHAR columns to be padded with spaces to their full length,
which prevented the MSSQL linked server from working with ENUM and CHAR columns in the
MySQL Database. (Bug #32537000)

• The ODBC SQLProcedureColumns function returns incomplete results, fetches after usage would
only return the first 40 parameters.

The workaround was to increase the group_concat_max_len size, for example 'group-concat-
max-len = 1000000' under [mysqld]. (Bug #32504915, Bug #102589)

• MySQL 8.0.24 added a new ER_CLIENT_INTERACTION_TIMEOUT error code, and it caused


the ODBC driver to report the wrong SQLSTATE HY000 instead of 08S01 after the connection
is terminated on the server by wait_/_interactive timeout. The ODBC driver is now linked against
libmysqlclient 8.0.24 to handle this situation. (Bug #32394545)

• Passing a query without parameters to SQLPrepare() would not prepare anything. In some scenarios
it would immediately execute such a query, which would be the same as calling the SQLExecDirect()
function. In other scenerios it executed without preparing by the using the SQLExecute() function.
This could lead towards abnormally long query times. Now, the driver enforces preparation of the
statement by the SQLPrepare() function even if the query has no parameters. (Bug #32079486)

• Connector/ODBC report ENUM columns as SQL_CHAR as the ODBC standard does not support
ENUM, and MS SQL Server expects CHAR data to always be the same fixed length as specified in
the column definition. This fixes errors related to new line and tab symbols present in the UNICODE
version of the driver. The workaround is to enable SSPS (default) by not setting NO_SSPS=1. (Bug
#28783266, Bug #92748)

References: See also: Bug #32537000.

Changes in MySQL Connector/ODBC 8.0.23 (2021-01-18, General


Availability)
• Functionality Added or Changed

• Bugs Fixed

Functionality Added or Changed


• Previously, Connector/ODBC added client support for the MySQL Enterprise Edition SASL LDAP
authentication plugin with SCRAM-SHA-1 as an authentication method. Connector/ODBC now also
supports SCRAM-SHA-256 as an alternative authentication method for classic MySQL protocol
connections. SCRAM-SHA-256 is similar to SCRAM-SHA-1 but is more secure. SASL-based LDAP
authentication does not apply to clients running macOS.

The SASL module required for LDAP/SCRAM-SHA256 is provided by the cyrus-sasl-scram RPM
package and libsasl2-modules-gssapi-mit DEB package (the same package that provides modules
for LDAP/GSSAPI/Kerberos). (WL #14250)

Bugs Fixed
• Using the commercial glib package (authentication_ldap_sasl) with auth using GSSAPI
(authentication_ldap_sasl_auth_method_name='GSSAPI') did not function. Added the missing sasl2
modules package. (Bug #32175842)

17
MySQL Connector/ODBC Release Notes

• On Debian based systems, the post-installation script uses dpkg-architecture ODBC drivers
path, so the associated dpkg-dev package was added as a runtime dependency. (Bug #32157740)

• Double and Float values could differ depending if the query was standard or utilized server side
prepared statements. Standard used MSYSQL_ROW for non-binary data to represent them as
character strings, whereas server side prepared statements used the MYSQL_BIND structure and
the specific MySQL type which could lead towards inconsistent results. Now this is performed in a
uniform way to yield the same results. (Bug #32135124, Bug #98946)

• Microsoft Access halted when opening a linked table with only a JSON column. The JSON column
type is now supported, and JSON data is only editable if another column is used as a primary key.
Because JSON is a long data type with the maximum length of 4GB, it can't be used as a primary
key by Microsoft Access and therefore tables having only JSON columns are only available in read-
only mode. (Bug #32114901)

• Removed the mysql-client-plugins dependency. It remains required for connections using


commercial MySQL server accounts with LDAP authentication, so must be manually installed for that
situation. The mysql-client-plugins package has conflicts with MySQL server versions before 8.0.21,
so earlier versions (such as MySQL 5.7) require an 8.0 server upgrade to use it. (Bug #31875490)

• On macOS, Connector/ODBC would not report an error if SQL_ATTR_PARAMSET_SIZE was set but
not supported; instead the setting was ignored. (Bug #29862441, Bug #95608)

Changes in MySQL Connector/ODBC 8.0.22 (2020-10-19, General


Availability)
• Functionality Added or Changed

• Bugs Fixed

Functionality Added or Changed


• For enhanced security of the existing ENABLE_LOCAL_INFILE connection string option, the new
ENABLE_LOCAL_DIR option allows restricting LOCAL data loading to files located in this designated
directory. Example usage:

// LOAD LOCAL DATA DIR FROM /tmp


SQLRETURN rc =
SQLDriverConnect(
hdbc1,NULL,
"DSN=myDSN;UID=root;PWD=pwd;DATABASE=test;LOAD_DATA_LOCAL_DIR=/tmp",
SQL_NTS, conn_out, sizeof(conn_out), &conn_out_len,
SQL_DRIVER_NOPROMPT);

// LOAD LOCAL DATA FROM EVERYWHERE


SQLRETURN rc =
SQLDriverConnect(
hdbc1,NULL,
"DSN=myDSN;UID=root;PWD=pwd;DATABASE=test;ENABLE_LOCAL_INFILE=1;",
SQL_NTS, conn_out, sizeof(conn_out), &conn_out_len,
SQL_DRIVER_NOPROMPT);

(WL #13883)

• Connections made using the MySQL Enterprise Edition SASL LDAP authentication plugin now are
supported on Windows and Linux, but not on macOS. Connector/ODBC implements the SCRAM-
SHA-1 authentication method of the SASL authentication protocol. (WL #14114)

Bugs Fixed
• Fixed an issue where a parameterized query could cause memory corruption. (Bug #31678876, Bug
#100329)

18
MySQL Connector/ODBC Release Notes

• Under some circumstances when using server-side prepared statements, the first row of a multi-
row match was not returned with the result; while it was returned when using client-side prepared
statements instead. (Bug #31373948, Bug #95423)

• Inserting binary data (BLOBs) using SQLPutData() would report a syntax error. (Bug #31349038)

Changes in MySQL Connector/ODBC 8.0.21 (2020-07-13, General


Availability)
• Security Notes

• Bugs Fixed

Security Notes
• For platforms on which OpenSSL libraries are bundled, the linked OpenSSL library for Connector/
ODBC has been updated to version 1.1.1g. 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 #31296688)

Bugs Fixed
• The MSI installer now checks for the Visual 2019 C++ runtime, and aborts if this required runtime is
not installed.

This is also the first version that requires Visual 2019 C++ runtime, when before the 2017 version
was also supported. (Bug #31102234, WL #13564)

• Only a single value was being inserted instead of the array, with SQLParamOptions. (Bug
#30591722)

• The SUM aggregate function did not function with ADO. (Bug #30277891, Bug #96642)

• Added a workaround to account for a limitation in the iODBC SQLGetPrivateProfileString()


implementation as previously DSN options could be lost. iODBC is most commonly used on macOS.
(Bug #27851681)

Changes in MySQL Connector/ODBC 8.0.20 (2020-04-27, General


Availability)
• Functionality Added or Changed

• Bugs Fixed

Functionality Added or Changed


• On Debian, DEB packages are now released instead of TGZ files. The file base names are mysql-
connector-odbc-* (driver package) and mysql-connector-odbc-setup (setup package). The
setup package contains the GUI configuration widget library (libmyodbc8S.so) and depends on
the driver package. The driver package depends on the unixODBC libraries (libodbc, libodbcinst);
and does not conflict with the official Debian package (libmyoodbc). (WL #13565)

Bugs Fixed
• When using SQL_C_WCHAR with SQLGetData, binary data was not returned correctly as its
hexacecimal representation. Related, using SQL_C_CHAR with SQLGetData did return binary data
as hex. (Bug #28864788, Bug #92429)

• When binding an SQL_BIT type column to the SQL_C_CHAR type, SQLFetchScroll would return the
values as an integer instead of a char. (Bug #28484784, Bug #91904)

19
MySQL Connector/ODBC Release Notes

Changes in MySQL Connector/ODBC 8.0.19 (2020-01-13, General


Availability)
• Functionality Added or Changed

• Bugs Fixed

Functionality Added or Changed


• Added DNS SRV support.

To automatically resolve any SRV record available in a target DNS server or service discovery
endpoint, specify ENABLE_DNS_SRV=1 in the DSN; the host is passed for SRV lookup
without a port and with a full lookup name. For example: DRIVER={MySQL ODBC 8.0
Driver};SERVER=_mysql._tcp.foo.abc.com;ENABLE_DNS_SRV=1;USER=user;PWD=passwd; (WL
#13403)

• Confirmed support for compiling with VS2019, and for supporting the Visual C++ 2019
redistributable. (WL #13564)

• When creating a new connection using the classic MySQL protocol, multiple hosts can be tried until
a successful connection is established. A list of hosts can be given in a connection string, along
with passing MULTI_HOST=1 to to enable this functionality. The connection string looks similar to
SERVER=address1[:port1],address2[:port2]....;MULTI_HOST=1;.

Other notes: the default port is used if port is not specified, the connector randomly picks hosts, and
if a host fails then a new host is chosen. An error is returned if SERVER contains multiple hosts
when MULTI_HOST is not enabled. (WL #13323)

Bugs Fixed
• With prepared SELECT statements the fixed-length numeric types such as INT were set to 0 instead
of their stored value, if a textual field was also part of the SELECT statement. (Bug #30428851, Bug
#97191)

• Connector/ODBC failed to compile when dynamically linking to the MySQL client library
(MYSQLCLIENT_STATIC_LINKING=0); due to a mismatch between an internal copy of the library
headers and the version of code implementing the library internals. (Bug #30292290, Bug #96835)

• Improved handling for stored procedures and the INOUT parameter.

For example, if a stored procedure had one or more parameters then an incomplete result set could
be returned. (Bug #29467224, Bug #94623)

Changes in MySQL Connector/ODBC 8.0.18 (2019-10-14, General


Availability)
Bugs Fixed
• Connector/ODBC is now built with MySQL client library 8.0.18, which includes OpenSSL
1.1.1d. Issues fixed in the new OpenSSL version are described at http://www.openssl.org/news/
vulnerabilities.html. (Bug #29868815)

• On Linux, memory was leaked on each server connection attempt due to how mysql_server_end
was implemented and executed. (Bug #26194929)

• On Windows, fixed direct setlocale() usage for multi-threaded applications.

The workaround was to add ;NO_LOCALE=1 to the connection string.

20
MySQL Connector/ODBC Release Notes

Thanks to Jacques Germishuys for the patch. (Bug #24814467, Bug #83297)

Changes in MySQL Connector/ODBC 8.0.17 (2019-07-22, General


Availability)
• Functionality Added or Changed

• Bugs Fixed

Functionality Added or Changed


• README.md and CONTRIBUTING.md files were created for the convenience of git users. These files
are not distributed with binaries, whereas README.txt remains distributed. (WL #12828)

Bugs Fixed
• The myodbc-installer command line utility did not display all DSN options. (Bug #29753227)

• On Windows, building and installing from source could yield a binary that would not execute due to a
case-sensitivity issue in the CMake logic. (Bug #29210040)

Changes in MySQL Connector/ODBC 8.0.16 (2019-04-25, General


Availability)
Bugs Fixed
• Connector/ODBC 8.0 is now built with OpenSSL 1.0.2R. Issues fixed in the new OpenSSL version
are described at http://www.openssl.org/news/vulnerabilities.html. (Bug #29538143)

• An exception was emitted when fetching contents of a BLOB/TEXT records after executing a
statement as a server-side prepared statement with a bound parameter.

The workaround is not using parameters or specifying NO_SSPS=1 in the connection string; this
allows the driver to fetch the data. (Bug #29282638, Bug #29512548, Bug #28790708, Bug #93895,
Bug #94545, Bug #92078)

Changes in MySQL Connector/ODBC 8.0.15 (2019-02-01, General


Availability)
This release contains no functional changes, and is published to align its version number with that of
the MySQL Server 8.0.15 release.

Changes in MySQL Connector/ODBC 8.0.14 (2019-01-21, General


Availability)
Functionality Added or Changed
• A new ENABLE_LOCAL_INFILE connection option was added to the connection string, DSN, and
GUI. Disabled by default, set ENABLE_LOCAL_INFILE=1 to enable LOAD DATA operations. This
toggles the MYSQL_OPT_LOCAL_INFILE mysql_options() option.

The connection string overrides the DSN value if both are set. (WL #12394, WL #12477)

• MySQL Connector/ODBC is now compatible with MSVC 2017, while retaining compatibility with
MSVC 2015:

• Previously, Connector/ODBC binary distributions were compatible with projects built using MSVC
2015. Binary distributions now are compatible with projects built using MSVC 2017 or 2015.

21
MySQL Connector/ODBC Release Notes

• Previously, Connector/ODBC source distributions could be built using MSVC 2015. Source
distributions now can be built using MSVC 2017 or 2015.

• Previously, the MSI installer accepted the Visual C++ Redistributable for Visual Studio 2015. The
MSI installer now accepts the Visual C++ Redistributable for Visual Studio 2017 or 2015.

(WL #12640)

• Two informative text files were added: INFO_BIN contains information about the build environment
used to produce the distribution, and INFO_SRC provides information about the product version and
the source repository from which the distribution was produced. Source distributions include the
INFO_SRC file only. (WL #12373)

Changes in MySQL Connector/ODBC 8.0.13 (2018-10-22, General


Availability)
• Functionality Added or Changed

• Bugs Fixed

Functionality Added or Changed


• Added dynamic libmysql linking support via the -DMYSQLCLIENT_STATIC_LINKING:BOOL=TRUE|
FALSE option; defaults to FALSE to enable dynamic linking. (WL #12369)

Bugs Fixed
• Fixed column metadata handling with Microsoft Access. (Bug #28670725, Bug #91856)

• The following obsolete options were removed: NO_SCHEMA (use NO_CATALOG instead),
DISABLE_SSL_DEFAULT (use SSLMODE instead), and SSL_ENFORCE (use SSLMODE instead).
(Bug #28407520)

• The ODBC Driver returned 0 for the SQL_MAX_SCHEMA_NAME_LEN attribute, and now returns 64
as the maximum length for a MySQL schema name. (Bug #28385722)

• Because the MySQL ODBC driver ignored the SQL_RD_OFF value for the
SQL_ATTR_RETRIEVE_DATA attribute, it incorrectly kept writing into the data buffers. This led to
write access violation errors when data was written into the buffer when the user application explicitly
requested not to write there. (Bug #28098219, Bug #91060)

Changes in MySQL Connector/ODBC 8.0.12 (2018-07-27, General


Availability)
• Functionality Added or Changed

• Bugs Fixed

Functionality Added or Changed


• Several code issues identified by Fortify were corrected. (WL #11829)

• Refactored codebase to remove legacy code and implement general performance improvements.
For example, unused ANSI data conversion code and legacy functions were removed. Example
improvements affect bookmark handling for bulk operations, handling of memory buffers for prepared
statements, and handling of session variables. (WL #11994)

• On Windows, 32-bit support was added and 32-bit binaries are now available. (WL #12139)

22
MySQL Connector/ODBC Release Notes

• An RPM package for installing ARM 64-bit (aarch64) binaries of Connector/ODBC 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.

Bugs Fixed
• Added checks for unsupported functionality that return SQL_ERROR instead of SQL_SUCCESS,
where the error message refers to the unsupported functionality. (Bug #28217387)

• The data source dependent type's name was not always returned. For example, the ODBC driver
reported TEXT as the database type for TINYTEXT, MEDIUMTEXT, and LONGTEXT, and reported
BLOB for TINYBLOB, MEDIUMBLOB, and LONGBLOB. (Bug #11761407, Bug #53900)

Changes in MySQL Connector/ODBC 8.0.11 (2018-04-19, General


Availability)
MySQL Connectors and other MySQL client tools and applications now synchronize the first digit of
their version number with the (latest) MySQL server version they support. This change makes it easy
and intuitive to decide which client version to use for which server version.

Connector/ODBC 8.0.11 is the first release to use the new numbering. It was branched from
Connector/ODBC 5.3.10.

The Connector/ODBC 8.0 series also adds full MySQL Server 8.0 support.

Functionality Added or Changed


• Connector/ODBC now supports a new GET_SERVER_PUBLIC_KEY connection option
that enables requesting the RSA public key from the server. For accounts that use the
caching_sha2_password or sha256_password authentication plugin, this key can be used
during the connection process for RSA key-pair based password exchange with TLS disabled. This
capability requires a MySQL 8.0 or higher server, and is supported only for Connector/ODBC built
using OpenSSL. (WL #11659)

• A new OpenSSL runtime dependency was added that must be present on the target system where
the connector is used. For some platforms it is assumed that a system-wide OpenSSL is available,
for others, such as Windows and macOS, these required OpenSSL libraries are bundled in the
binary packages. (WL #11099)

• Packaging was modified for the new MySQL Connector/ODBC 8 series. For example, the Connector/
ODBC 5.x ODBC driver has a file named myodbc5w.dll, whereas this same ODBC driver is named
myodbc8w.dll for the Connector/ODBC 8.x series. The sample .ini file also references these new
file names. (WL #11661)

Index
A
authentication, 11
authentication plugins, 10

C
cmake, 11
collations, 11
compiling, 10, 11

23
MySQL Connector/ODBC Release Notes

D
deprecation, 13, 15

E
encryption, 5, 8, 10, 11, 12, 13, 16, 19

F
FIDO pluggable authentication, 11

I
Important Change, 7

M
mysql_native_password, 5

O
OpenSSL, 5, 8, 10, 12, 13, 16, 19

P
Packaging, 6, 8, 10
packaging, 6, 7, 8, 10, 10

S
SSL, 5, 8, 10, 11, 12, 13, 16, 19

T
TLS, 10, 11

W
windows, 6, 8, 10

24

You might also like