MySQL Connector/NET Release Notes  /  Changes in MySQL Connector/Net 6.6  /  Changes in MySQL Connector/NET 6.6.4 (2012-10-19, Release Candidate)

Changes in MySQL Connector/NET 6.6.4 (2012-10-19, Release Candidate)

Continued improvements and fixes to the 6.6 feature set. In particular, enhancements to partial trust support allow hosting services to deploy applications without installing the Connector/Net library in the GAC. This is the first release candidate for the 6.6 series.

Functionality Added or Changed

  • The medium trust support using the MySQLClientPermissions class is now more flexible: in addition to the original deployment method, where the library is installed in the Global Assembly Cache (GAC), you can also install the library within a bin or lib folder inside the project or solution. When the library is deployed somewhere other than the GAC, the only protocol supported is TCP/IP. Existing applications that use the library installed in the GAC must now include an extra connection option, includesecurityasserts=true. For details, see Working with Partial Trust / Medium Trust. (Bug #14668820, Bug #65036, WL #2925)

Bugs Fixed

  • Since Connector/NET 6.5, TIMESTAMP values have been returned as DateTime objects with a kind property of Local rather than Unspecified. MySqlDataReader.GetDateTime() should have returned a date with a kind property of UTC when the time_zone connection property was utc. With this fix, if time_zone is UTC, Kind is also UTC; otherwise, Kind is Local.

    To work with multiple servers with different timezones, change the time_zone setting to UTC in all MySqlConnection objects. For example, if you issue the command:

    set @@GLOBAL.time_zone = '+0:00',

    then every new connection you open, or the current connection if you close and reopen it, will use the new client time zone. With this fix, you will not have to change system_time_zone of any of your servers. Connector/NET checks if client time zone differs from UTC by running a query like:

    select timediff( curtime(), utc_time() )

    where a return value of zero hours means UTC is being used for time_zone.

    With Kind = UTC, you can use .NET standard APIs to translate between time zones for frontend applications when required. (Bug #14740705, Bug #66964)

  • When an application starts up, creates a connection, and then goes idle after a single database operation, the connections are now cleaned up more quickly: typically after an idle time of 3 minutes rather than 6 minutes. This optimization is especially useful for applications on low-traffic sites. (Bug #14652624, Bug #66472)