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.11 (2018-04-19, General Availability)

Changes in MySQL Connector/NET 8.0.11 (2018-04-19, General Availability)

Functionality Added or Changed

  • Document Store: Connector/NET now supports the NOWAIT and SKIP_LOCKED locking options introduced in the MySQL 8.0 release series (see SELECT Statement). The following changes were made to the Connector/NET API:

    • The LockContention enumeration (with values Default=0, NoWait=1 and SkipLocked=2) was added. The Default enumeration member represents the previous behavior of waiting for the row locks to be released.

    • The existing LockShared() and LockExclusive() method signatures were modified to include the new LockContention parameter. Both methods are members of the MySqlX.XDevAPI.CRUD.FindStatement and MySqlX.XDevAPI.Relational.TableSelectStatement classes.

    • Usage examples:

      // Default behavior – waits for the row locks to release
      LockShared()
      LockShared(LockContention.Default)
      
      LockExclusive()
      LockExclusive(LockContention.Default)
      
      // New – fails if the rows are locked
      LockShared(LockContention.NoWait)
      LockExclusive(LockContention.NoWait)
      
      // New – succeeds excluding the locked rows from the result
      LockShared(LockContention.SkipLocked)
      LockExclusive(LockContention.SkipLocked)

    (WL #11307)

  • Document Store: Previously, when documents without an _id attribute were added to a collection, Connector/NET automatically generated IDs for them. Now the server generates the _id attribute, unless a document already contains one. The generated IDs resulting from a document-add operation can be obtained using the new Result.GeneratedIds property, which returns a list.

    This capability requires a MySQL 8.0 GA server. If the server does not support document ID generation, the document-add operation returns an error indicating that document IDs were missing.

    Incompatibility: The GeneratedIds property replaces the DocumentId and DocumentIds properties, which are now removed. (WL #11421)

  • Document Store: Support for the SHA256_MEMORY authentication mechanism was added to enable non-PLAIN insecure connections (without SSL) for user accounts with caching_sha2_password, which is the default authentication plugin introduced in the MySQL 8.0 release series. The changes related to this support include:

    • New synonyms for the auth connection string option: authentication and authentication mode (see Options for X Protocol Only).

    • A new authentication mode for the MySqlAuthenticationMode enumeration: SHA256_MEMORY. In addition, the Default member now has a new synonym: Auto=0.

    • A new class: MySql.Data.MySqlClient.Authentication.Sha256MemoryAuthenticationPlugin.

    (WL #11624)

  • Support was added for the new caching_sha2_password padding mechanism introduced in the MySQL 8.0 release series. The new padding mechanism is enabled when all of the following conditions apply:

    • The user account is set with the caching_sha2_password authentication plugin.

    • SSL is disabled explicitly (SslMode=none).

    • The AllowPublicKeyRetrieval connection option is enabled (AllowPublicKeyRetrieval=true).

    When enabled, the new padding mechanism is used to encode the password during RSA key encryption, which applies the correct padding to match the server. (WL #11618)

Bugs Fixed

  • Attempting to open the MySQL Web Configuration Tool, with Connector/NET and MySQL for Visual Studio prerequisites installed properly, displayed an error message instead of opening the tool. (Bug #27457398, Bug #88544)

  • Connector/NET could not be installed with NuGet packages from Microsoft Visual Studio 2015. (Bug #27251839, Bug #88838)

  • When a decimal column was defined with a scale of zero, such as DECIMAL(8, 0), the value of the NumericPrecision field returned by the MySqlDataReader.GetSchemaTable method was lower by one. For example, it returned 7 instead of 8 as expected. (Bug #26954812, Bug #88058)

  • The data table returned by the MySqlDataReader.GetSchemaTable method had an inaccurate value of zero assigned to the ColumnSize field for LONGTEXT and LONGBLOB data types, and also indicated that the IsLong field value was false when it should have returned true. (Bug #26876592, Bug #87876)

  • The MySqlDataReader.GetSchemaTable method returned different column-size values when used with different character sets. (Bug #26876582, Bug #87868)

  • Support for making a secure connection to a server configured to use TLSv1.2 was limited by external factors. (Bug #25689154)

  • Connection strings that included TLS/SSL connection parameters in URI type-string format generated an exception instead of making a connection with the X Protocol. (Bug #24510329)

  • Attempting to generate an Entity Framework model from a MySQL 5.7 database using either EF5 or EF6 produced an exception that prevented the operation from generating the expected model. (Bug #22173048, Bug #79163)