Documentation Home
MySQL Connector/NET Release Notes
Related Documentation Download these Release Notes
PDF (US Ltr) - 0.8Mb
PDF (A4) - 0.8Mb


MySQL Connector/NET Release Notes  /  Changes in MySQL Connector/NET Version 8.x  /  Changes in MySQL Connector/NET 8.0.24 (2021-04-20, General Availability)

Changes in MySQL Connector/NET 8.0.24 (2021-04-20, General Availability)

Deprecation and Removal Notes

  • The IgnorePrepare connection-string option was deprecated in the Connector/NET 8.0.23 release and removed in the Connector/NET 8.0.24 release.

    The removed option instructed Connector/NET to ignore all calls to MySqlCommand.Prepare() that were made using the classic MySQL protocol. (Bug #31872906)

Functionality Added or Changed

  • Improved server disconnection handling of an X Protocol connection now creates a log entry and returns an error message, as needed, after Connector/NET receives a connection-close notice from the server. Connector/NET detects three new types of warning notices.

    Connection idle notice.  This notice applies to a server connection that remains idle for longer than the relevant timeout setting. Connector/NET closes the connection when it receives the notice in an active session or while a new session is being created. An attempt to use the invalid session returns the “Connection closed. Reason: connection idle too long” error message.

    Server shutdown notice.  If a connection-close notice is received in a session as a result of a server shutdown, Connector/NET terminates the session with the "Connection closed. Reason: server shutdown" error message. All other sessions that are connected to the same endpoint are removed from the pool, if connection pooling is used.

    Connection killed notice.  If the connection being killed from another client session, Connector/NET closes the connection when it receives the notice in an active session or while a new session is being created. An attempt to use the invalid session returns the “Connection closed. Reason: connection killed by a different session” error message.

    (WL #14208)

  • If a classic MySQL protocol connection experiences a server timeout, Connector/NET now reports more precise disconnection information to affected .NET applications when the server provides improved error messages. (WL #14393)

  • Previously, Connector/NET added client support for the MySQL Enterprise Edition SASL LDAP authentication plugin with SCRAM-SHA-1 and SCRAM-SHA-256 as authentication methods. Connector/NET now also supports GSSAPI/Kerberos as an alternative authentication method for classic MySQL protocol connections. SASL-based LDAP authentication does not apply to .NET applications running macOS. (WL #14210)

  • The SSH Tunneling (port forwarding) feature, which was added to support MySQL products in making secure connections on Windows, is no longer needed by other products. Now, using an alternative such as Oracle Cloud Infrastructure or SSH.NET to create a tunnel is preferred. The related connection options (SshHostName, SshKeyFile, SshPassPhrase, SshPassword, SshPort, and SshUserName) are no longer valid when making Connector/NET connections, starting with this release. (WL #14562)

Bugs Fixed

  • Pound symbols in JSON columns were interpreted improperly when using accent-sensitive collation. (Bug #32429236)

  • Several data types could not be mapped by running Scaffold-DbContext on valid MySQL tables. This fix upgrades Microsoft Entity Framework libraries to the latest and also adds all previously excluded mappings to the EFCore and EFCore5 projects. (Bug #32424742, Bug #102381)

  • Constructing a regular expression for each read diminished the performance of Connector/NET. This fix limits the construction to one instance, which now is reused. (Bug #32386454, Bug #101714)

  • Incomplete GUID mapping in the Entity Framework Core implementation caused an error when the Contains method was used to filter records. (Bug #32173133, Bug #93398)

  • Additional error codes now prevent unexpected exceptions after a query. Thanks to Stanislav Revin for the patch. (Bug #32150115, Bug #101592)

  • An exception was thrown if any CHAR(36) columns containing a NULL value were referenced in a query. New validation now checks for NULL values when the MySqlDbType member is Guid. (Bug #32049837, Bug #101252)