MySQL Connector/NET 8.0.21 has been released

Dear MySQL users,

MySQL Connector/NET 8.0.21 is the latest General Availability release of
the MySQL Connector/NET 8.0 series. This version supports .NET Core 3.1
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/index.html. 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.21, 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.21 (2020-07-13, General
Availability)

Functionality Added or Changed

     * The following ciphers and algorithms are deprecated for
       SSH connections made using Connector/NET:
       Encryptions

          + 3des-cbc
       Key Exchange Algorithms

          + diffie-hellman-group14-sha1

          + diffie-hellman-group-exchange-sha1
       Message Authentication Codes

          + hmac-ripemd160

          + hmac-sha1

          + hmac-sha1-96
       (Bug #31030347)

Bugs Fixed

     * Connector/NET returned an error when the name of a
       database or stored procedure contained one or more period
       characters. Now, names with this format can be used when the name
       is enclosed properly between grave accent (`) symbols; for
       example, `db_1.2.3.45678`. (Bug #31237338, Bug #99371)

     * An error was generated when the database name within a
       connection string that was passed to MySQL 5.6 or MySQL 5.7 did
       not match the casing used to search a related stored procedure.
       (Bug #31173265)

     * In Connector/NET 8.0.19, calling new
       MySqlConnection(null) returned NullReferenceException, rather
       than returning an object with a ConnectionString property equal
       to String.Empty as the previous versions of Connector/NET did.
       This fix restores the earlier behavior. (Bug #30791289,
       Bug #98322)

     * An expected empty result set generated by executing
       MySQLDataReader for a stored procedure instead returned a data
       table containing the @_cnet_param_value column. This fix
       eliminates an internal error that affected the result set and now
       GetSchemaTable() returns a null value as expected.
       (Bug #30444429, Bug #97300)

     * The BLOB type was inferred internally when a value or
       object of type MySqlGeometry was used in different situations,
       which caused to server to return either zero matching rows or an
       exception. (Bug #30169716, Bug #96499, Bug #30169715, Bug #96498)

     * Attempts to execute a function or stored procedure
       returned a null exception unexpectedly when the caller was not
       the creator of the routine. This fix introduces a mechanism to
       manage null values for these cases, permits the granting of
       privilege to SHOW_ROUTINE, and revises SqlNullValueException to
       identify when a user account lacks adequate permission to access
       a routine. (Bug #30029732, Bug #96143)

     * Columns of type BIGINT in a table that was loaded using
       MySqlDataReader did not include the UNSIGNED flag, even though
       UNSIGNED was specified in the CREATE TABLE statement. An
       exception was generated if the value of such a column exceeded
       2147483647. (Bug #29802379, Bug #95382)

     * The microseconds value in the return results was set to
       zero consistently when SqlCommand.Prepare() was called for a
       SELECT statement with a TIME(n) column. This fix revises the way
       the value is produced to ensure accurate results. (Bug #28393733,
       Bug #91770)

     * The isolation level set for a transaction did not revert
       to using the session value after the transaction finished.
       (Bug #26035791, Bug #86263)

     * A valid call made to the
       MySqlSimpleRoleProvider.AddUsersToRoles method failed to execute
       because it violated the foreign key constraint. This fix removes
       an error from the code that gets the role ID. Thanks to Stein
       Setvik for the patch. (Bug #25046352, Bug #83657)

     * The absence of a target schema in the generated WHERE
       statement produced during an Entity Framework migration caused an
       error when the identical table was present in multiple databases.
       This fix adds the table_schema column to the generated SQL query.
       (Bug #23291095, Bug #72424)

On Behalf of Oracle/MySQL Release Engineering Team,
Nawaz Nazeer Ahamed