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