- 
Connector/NET now supports Entity Framework Core 3.1.1 on all platforms with NET Standard 2.0 support. Microsoft Entity Framework Core 3.1.1 is not compatible with the previous versions of EF Core and those previous versions (2.1, 2.0, 1.1) are not supported by this release of Connector/NET (see Entity Framework Core Support). In addition, the MySql.Data.EntityFrameworkCore.DesignNuGet package is deprecated and the functionality provided by that package now is merged with theMySql.Data.EntityFrameworkCorepackage. (WL #13793)
- Connector/NET now provides compression of X Protocol payload data, which can be configured using the new - Compressionconnection option. The option is set to- preferredmode by default to compress the payload data if the MySQL server instance also supports compression. For a description of each option value, see Options for X Protocol Only. (WL #12980)
- 
Document Store: Connector/NET now provides JSON schema validation for a collection to enforce a certain structure that documents must adhere to before they are permitted to be inserted or updated. Schema validation is performed by the server, which returns an error message if a document in a collection does not match the schema definition or if the server does not support validation. The existing Schema.CreateCollectionmethod now is overloaded and can be used to pass aCreateCollectionOptionsobject with a schema definition to a MySQL server. TheReuseExistingObjectparameter of the original method is set as an option withinCreateCollectionOptionswhen using the new overloaded method. The level of enforcement (offorstrict,strictby default) and schema definition are specified using thevalidationoption, for example:var collOptions = CreateCollectionOptions() { reuseExistingObject = false, validation = Validation() { level = ValidationLevel.Strict, schema = "{\"id\": \"http://json-schema.org/geo\"," + "\"$schema\": \"http://json-schema.org/draft-06/schema#\"," + " \"description\": \"A geographical coordinate\"," + " \"type\": \"object\"," + " \"properties\": {" + " \"latitude\": {" + " \"type\": \"number\"" + " }," + " \"longitude\": {" + " \"type\": \"number\"" + " }" + " }," + " \"required\": [\"latitude\", \"longitude\"]" + " }" } }; var coll = schema.CreateCollection("longlang", collOptions);In addition, a new method permits the schema validation of an existing collection to be reset. The Schema.ModifyCollectionmethod passes aModifyCollectionOptionsobject to the server. Thevalidationcollection option must include either a modifiedlevelvalue orschemavalue (or both), for example:var collOptions = ModifyCollectionOptions() { validation = Validation() { level = ValidationLevel.Off } }; var coll = schema.ModifyCollection("longlang", collOptions);The ReuseExistingObjectoption is not supported for modifications and returns an error message if it is used. (WL #13007)
- A connection made to a named server with multiple DNS entries pointing to different IP addresses for the same server generated an exception. Now, only the first element is returned when multiple elements are found. (Bug #30970949, Bug #97448) 
- The - MySQL.DataNuGet package for Connector/NET 8.0.19 included an unsigned version of- Ubiety.Dns.Core.dll, which produced an exception when loaded. (Bug #30798305, Bug #98204)
- Scaffolding a MySQL database with EF Core 3.0 was not implemented by Connector/NET and the connector returned an exception in response to its use. Support for EF Core 3.1.1 in this release adds scaffolding capabilities. (Bug #30677382, Bug #98011) 
- The - get_infomethod was not included in any of the Entity Framework Core versions (1.1, 2.0, and 2.1) that Connector/NET supported. Connector/NET now supports EF Core 3.1.1 and implements the- MySql.Data.EntityFrameworkCore.Infrastructure.MySQLOptionsExtension.Internal.get_infomethod. (Bug #30347893, Bug #96990)
- The - MySqlDbType.JSONtype when used as a parameter in a prepared statement produced code errors. Connector/NET now interprets- MySqlDbType.JSONas- MySqlDbType.VarChar. No code changes are required to specify a JSON column. (Bug #29959124, Bug #95984)
- Blank spaces mixed with values in the - IN()list of a- SELECTstatement generated an error. (Bug #29838254)
- An attempt to read the record of a model class defined to correspond to a MySQL table with a property of type - bool?(nullable Boolean), using the EF Core database context, returned an error message. (Bug #29833103, Bug #93028)
- Access to the - MySqlDataReaderobject was restricted when the parent- MySqlCommandobject was closed. This fix modifies- MySqlCommand.Dispose()to no longer call the- ResetReadermethod. (Bug #27441433, Bug #89159)