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.28 (2022-01-18, General Availability)

Changes in MySQL Connector/NET 8.0.28 (2022-01-18, General Availability)

Deprecation and Removal Notes

  • The TLSv1 and TLSv1.1 connection protocols were previously deprecated in Connector/NET 8.0.26 and support for them is removed starting with this release. Connections can be made using the more-secure TLSv1.2 and TLSv1.3 protocols. (WL #14811)

Functionality Added or Changed

  • Connector/NET now supports .NET 6 and continues to support a range of frameworks (see Connector/NET Versions). (WL #14734)

  • Connector/NET now fully supports EF Core 6.0 for applications that target .NET 6 exclusively. Applications that target .NET Framework (or any .NET Standard version) cannot use this feature. (WL #14735)

  • .NET applications now can establish connections using multifactor authentication, such that up to three passwords can be specified at connect time. The new Password1, Password2, and Password3 connection options are available for specifying the first, second, and third multifactor authentication passwords, respectively. Password1 is a synonym for the existing Password option. (WL #14653)

Bugs Fixed

  • An insert query could emit a malformed communication packet error. To prevent the error, Connector/NET now omits unnecessary parameters when handling query attributes. (Bug #33380176)

  • A multihost connection attempt could fail with the first host, emit an error message, and then succeed with the next host. This fix omits the initial error message to streamline the connection behavior. (Bug #30581109)

  • Connector/NET did not support the utf8mb3 character set, which could cause compatibility issues with other software components. (Bug #105516, Bug #33556024)

  • When reading zero time values from TIME NOT NULL columns, the data reader could return a NULL value instead of zero, causing subsequent GetTimeSpan() calls to fail. Now, if Connector/NET encounters NULL when reading the column value, it resets the value to zero time ('00:00:00'). (Bug #105209, Bug #33470147)

  • Microseconds specified in a time-span value were calculated incorrectly for prepared statements. (Bug #103801, Bug #32933120)

  • Connector/NET now uses the C# languageā€™s implicit conversion to an enumeration when it creates a parameter with a value equal to zero. (Bug #101253, Bug #32050204)

    References: This issue is a regression of: Bug #25573071.

  • Attempts to execute the GetStream method of the MySqlDataReader class returned only exceptions. Now, the GetStream(int i) method implementation returns the expected result for BINARY and GUID type columns. (Bug #93374, Bug #28980953)

  • The calculation used to determine the length of connection attribute values could produce the wrong format in MySQL login packets. (Bug #92789, Bug #28824591)

  • A complete IConvertible implementation for the MySqlDateTime class was missing from the .NET provider. (Bug #82661, Bug #24495619)

  • Default values being used could cause type inconsistencies when Connector/NET created a parameter. This fix modifies the MySqlParameter constructor to set DbType and MySqlDbType as strings. (Bug #81586, Bug #23343947)

  • Batch inserts that exceeded the max_allowed_packet value were not processed and skipping the insert attempt did not emit an error. (Bug #80693, Bug #22913833)

  • A call to MySqlConnection::GetSchema("IndexColumns") unexpectedly retrieved a NULL value and emitted an error when the database included a full-text index. (Bug #75301, Bug #20266825)

  • When Connector/NET cloned a parameter, the SourceColumnNullMapping property was copied with the wrong value. (Bug #74533, Bug #20056757)

  • When performing a batched insert using MySqlDataAdapter, the MySqlCommand.GetCommandTextForBatching() method queried @@sql_mode for each insert. This fix eliminates the redundant actions and modifies the behavior to use the sql_mode property, which is obtained at the beginning of the connection. (Bug #71626, Bug #20328929)