MySQL Connector/NET Release 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)
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)
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)