MySQL Connector/NET Release Notes

2.11 Changes in MySQL Connector/NET 8.0.8 (2017-07-10, Development Milestone)

MySQL Connectors and other MySQL client tools and applications now synchronize the first digit of their version number with the (highest) MySQL server version they support. For example, MySQL Connector/NET 8.0.12 would be designed to support all features of MySQL server version 8 (or lower). This change makes it easy and intuitive to decide which client version to use for which server version.

MySQL Connector/NET 8.0.8 is the first release to use the new numbering. It is the successor to MySQL Connector/NET 7.0.7.

Functionality Added or Changed

  • X DevAPI: The format of document ID values generated when adding documents to a collection has changed. It is still a string of 32 hexadecimal digits based on UUID, but the order of digits was changed to match the requirement of a stable ID prefix.

  • All connections created using MySQL Connector/NET now are encrypted by default. Also, the Ssl-Enable connection option has been replaced by Ssl-Mode. Permitted Ssl-Mode values are None, Required (the default), VerifyCA, and VerifyFull.

    With this change, a non-SSL enabled server now requires the Ssl-Mode option be set to None explicitly in the connection string or the connection will fail.

  • X DevAPI: It is no longer permitted to pass an empty search condition, such as the NULL value or an empty string, to the Collection.Modify and Collection.Remove methods.

  • X DevAPI: The NodeSession class has been renamed to Session and the MySQLX.GetNodeSession method has been renamed to MySQLX.GetSession. Also, the XSession class has been removed.

  • X DevAPI: When creating a new connection, multiple hosts now can be specified as part of the connection string, which will try each host until a successful connection is established or all elements from the host list have been tried. The following connection-string formats are supported:

    var mySession = MySQLX.GetSession(
      "mysqlx://dbuser:password@[" +
      "localhost:33060," +
      "192.1.10.10:33060," +
      "[2001:db8:85a3:8d3:1319:8a2e:370:7348]:33060" +
      "]"
    );
    
    var mySession = MySQLX.GetSession(
      "user=dbuser;" +
      "password=dbpassword;" +
      "server=" +
      "192.1.10.10," +
      "server.example.com," +
      "localhost;" +
      "port=33060;"
    );
    

Bugs Fixed

  • EF Core: The Database First feature did not support the following data types: BINARY, VARBINARY, MEDIUMBLOB, LONGBLOB, SET, DATE, TIME, and YEAR. (Bug #25493209)

  • EF Core: Database First support produced an error when the existing MySQL database included one or more views. (Bug #25493086)

  • EF Core: Using System.ComponentModel.DataAnnotations.Schema.TableAttribute to initialize a new class instance that specified the name of an existing MySQL table produced incorrect mappings of table and column names. (Bug #25394223, Bug #84423)