MySQL Connector/NET 8.0.24 has been released

Dear MySQL users,

MySQL Connector/NET 8.0.24 is the latest General Availability release
of the MySQL Connector/NET 8.0 series. This version supports .NET 5.0
and the X DevAPI, which enables application developers to write code
that combines the strengths of the relational and document models
using a modern, NoSQL-like syntax that does not assume previous
experience writing traditional SQL.

To learn more about how to write applications using the X DevAPI, see

http://dev.mysql.com/doc/x-devapi-userguide/en/

For more information about how the X DevAPI is implemented in
Connector/NET, see

http://dev.mysql.com/doc/dev/connector-net

NuGet packages provide functionality at a project level. To get the
full set of features available in Connector/NET such as availability
in the GAC, integration with Visual Studio’s Entity Framework Designer
and integration with MySQL for Visual Studio, installation through the
MySQL Installer or the stand-alone MSI is required.

Please note that the X DevAPI requires at least MySQL Server version
8.0 or higher with the X Plugin enabled. For general documentation
about how to get started using MySQL as a document store, see

http://dev.mysql.com/doc/refman/8.0/en/document-store.html

To download MySQL Connector/NET 8.0.24, see

http://dev.mysql.com/downloads/connector/net/

Installation instructions can be found at

https://dev.mysql.com/doc/connector-net/en/connector-net-installation.html

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

Functionality Added or Changed

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

   * Improved server disconnection handling of X Protocol
     connections 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.

   * 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.

   * 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 clients running macOS.

   * 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 OCI 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.

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)

   * A data table declared using valid database.table syntax
     within an Entity Framework model could have extra
     database names in the generated query (for example,
     database.database.table). (Bug #32358174, Bug #101236)

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

On Behalf of Oracle/MySQL Engineering Team,
Tvarita Jain