MySQL Connector/NET Release Notes

2.9 Changes in MySQL Connector/NET 8.0.29 (2022-04-26, General Availability)

X DevAPI Notes

  • An exception was raised when using a TableInsertStatement object to insert a string value containing special characters (- / \ % & =). (Bug #100314, Bug #31692694)

Functionality Added or Changed

  • Previously, an application could set the SslMode=none connection option to establish a classic MySQL protocol or X Protocol connection to a non-TLS/SSL enabled server. However, if an application attempted to establish an unencrypted connection and also submitted connection options related to TLS/SSL, Connector/NET determined that the combination of options was incompatible and raised an error. The options incompatible with SslMode=none are: CertificateFile (Certificate File), CertificatePassword (Certificate Password), SslCa (Ssl-Ca), SslCert (Ssl-Cert), SslKey (Ssl-Key), and tlsversion (tls-version, tls version).

    To reduce the number of connection errors and to enhance the connection experience, Connector/NET now implements the following changes to connections:

    • The SslMode=none connection-option value is deprecated (marked obsolete) and is replaced with the SslMode=disabled connection-option value.

    • Neither SslMode=none nor SslMode=disabled raises an error when combined with other TLS/SSL connection options.

    • The restriction against submitting duplicated TLS/SSL connection options in the same connection string (or ConnectionString property) now is removed. Currently, .NET Framework imposes a restriction against using duplicate MySqlSslMode values in traditional connection strings for X Protocol connections.

    (WL #14828)

  • Connector/NET now supports an authentication method that is based on the Fast Identity Online (FIDO) standard. This new authentication method permits MySQL users to establish connections to a server by interacting with a device locally, rather than by providing a password (see Connector/NET Authentication). (WL #14871)

Bugs Fixed

  • The MySqlDataReader.GetFieldValue<T> method returned an exception for calls attempting to retrieve the value of a BINARY column. (Bug #33781449, Bug #106244)

  • The exception type that was returned by MySqlConnection.Open if the call failed was changed from MySqlException to AggregateException in the Connector/NET 8.0.28 release. This fix restores the exception to the original type (MySqlException). (Bug #33781445, Bug #106242)

  • When calling the GetSchema("Procedure Parameters") method of a MySqlConnection object, the returned table included column names without any rows representing the collection. (Bug #33674814, Bug #105181)

  • When comparing a date-time LINQ expression against a database date field, Connector/NET returned an invalid operation exception due to unavailable classes that are required for an application to filter using EF Core. (Bug #32965150, Bug #103436)

  • If a SELECT statement was formatted with new lines or tabs, then the related characters (\n and \t) were ignored during the query analysis and Connector/NET returned a syntax error. (Bug #21971751, Bug #78760)

  • A primary key having a column or columns of type unsigned BIGINT (unsigned 64-bit integer) was not supported when the table was used with the MySqlCommandBuilder class to generate single-table commands. (Bug #105768, Bug #33650097)

  • Although the MySqlCommand.Clone method returned a copy of the current command, the contents of the MySqlCommand.Attributes collection (MySqlAttributeCollection object) were not copied to the cloned command. (Bug #105730, Bug #33613687)