MySQL Connector/Net 1.0.9 has been released. MySQL Connector/Net is an all-managed ADO.Net provider for MySQL. This release is suitable for use in production environments and with any version of MySQL.
It is now available in source and binary form from the Connector/Net download pages at http://dev.mysql.com/downloads/connector/net/1.0.html and mirror sites (note that not all mirror sites may be up to date at this point of time - if you can't find this version on some mirror, please try again later or choose another download site.)
This release includes many bug fixes along with the following enhancements/changes:
* Implemented a stored procedure cache. By default, the connector caches the metadata for the last 25 procedures that are seen. You can change the number of procedures that are cached by using the 'procedure cache=<size>' connection string setting. You can disable the procedure cache by setting a zero size.
* Shared memory connections now work as expected.
* Queries containing a large number of parameters now run many times faster than before. As an example of the performance gains seen, an internal testing app that needed more than 30 minutes to execute using 1.0.7, completes in less than 8 seconds using 1.0.9.
* We are no longer providing binaries compiled with .NET 1.0 or 2.0 with this branch of the connector. We are doing this for a couple of reasons. First, we believe the vast majority of our users are using .NET 1.1 or 2.0 so not shipping 1.0 binaries reduces our testing workload while affecting a small number of developers. Also, any user building applications with .NET Framework 2.0 should use our new 5.0 product which fully implements the ADO.Net interfaces.
* ICSharpCode ZipLib is no longer used by the connector and is no longer being distributed with it.
* The installer will continue registering the assembly into the Global Assembly Cache. Any user that does not want this behavior is encouraged to download our no-installer packages.
* Turned MySqlPoolManager into a static class and added a static constructor to avoid any race conditions related to initializing the hash table.
* Added 'Ignore Prepare' connection string option for disabling prepared statements application-wide. This was added because we found that server-side prepared statements did not always work as expected. Using this option, a user can continue to use existing code that calls Prepare() while having that call emulated in a non-prepared way. The default for this option is true.
* A nicer exception is displayed if you have added a parameter without the parameter marker.
* Improved CommandBuilder.DeriveParameters to first try and use the procedure cache before querying for the stored procedure metadata.
* Return parameters created with DeriveParameters now have the name RETURN_VALUE.
* Fixed problem with parameter name hashing where the hashes were not getting updated when parameters were removed from the collection. This could cause "item has already been added to the hash" errors.
* Fixed problem where pooled connections that are added back to the idle pool may be still in the closed state.
* Fixed problem where SingleRow and SchemaOnly behaviors now work correctly when calling stored procedures or using server-side prepared statements.
Thank you for checking out this release of Connector/Net.