Releases: mysql-net/MySqlConnector
Releases · mysql-net/MySqlConnector
2.1.4
2.1.3
- Fix
Use Compression = Truewhen running under .NET 6.0: #1120. - Fix calculation of affected rows (the return value of
ExecuteNonQuery) for compound statements: #1096. - Use a better
FormatExceptionmessage when a GUID can't be read: #1114. - Use cryptographic one-shot operations on .NET 5.0 and later.
- Performance: Use
SkipLocalsInitwhere possible.
2.1.2
- Fix incorrect results when using prepared commands with MySQL Server 8.0.23–8.0.25: #1106.
- Those server versions advertise support for query attributes, but do not fully support them for prepared statements.
- The server-side bug is triggered by the client-side support for query attributes added in MySqlConnector 2.1.0.
2.1.1
2.1.0
- Opening a connection from the pool is now twice as fast: #1089.
- This may fail with Amazon Aurora RDS; to explicitly disable this, set
Pipelining = False;in the connection string.
- This may fail with Amazon Aurora RDS; to explicitly disable this, set
- Add support for query attributes: #930.
- This requires MySQL Server 8.0.23 (or later) for regular commands, and MySQL Server 8.0.26 (or later) for prepared commands.
- Add attributes to the
MySqlCommand.Attributescollection to send them to the server when the command is executed.
- Add
MySqlDecimalsupport: #1070. - Improve
MySqlDataReader.GetXexceptions forNULLvalues: #1092. - Improve detection of Azure Database for MySQL proxies: #1093.
- Update Microsoft.SourceLink.GitHub.
- Thanks to @ejball and @sumitdvlp for contributions to this release.
MySqlConnector.Logging.Microsoft.Extensions.Logging
- Logger names are now prefixed with
MySqlConnector.by default: #1080.- To return to the previous behavior, use
MicrosoftExtensionsLoggingLoggerProvider(loggingFactory, omitMySqlConnectorPrefix: true).
- To return to the previous behavior, use
- Added
.UseMySqlConnectorLogging()extension method to add logging easily.
2.0.0
- Target .NET 6.0.
- Breaking Improve
MySqlBulkCopyAPI: #1012. - Breaking Remove
ConnectionIdlePingTime: #1042.- The
Connection Idle Ping Timeconnection string option is still accepted, but has no effect. - If
Connection Reset = False,MySqlConnection.Openwill return a pooled connection (if one is available) without testing it for liveness (by pinging the server). If the server has closed the pooled connection,MySqlConnection.Openwill succeed, but the first operation on that connection will fail. Command execution should be wrapped in a try/catch/retry loop to handle this scenario. Connection Reset = Falseimproves performance but may degrade reliability;Connection Reset = True, which is the default, is still recommended for greatest reliability.
- The
- Breaking Change how option keys are serialized when retrieving the
MySqlConnectionStringBuilder.ConnectionStringproperty:- For example,
User Idis nowUser ID,DefaultCommandTimeoutis nowDefault Command Timeout, etc. - All existing connection strings are still valid, and all the previous aliases for connection string options are still accepted.
- The primary connection string option key is listed first in the documentation at https://mysqlconnector.net/connection-options/.
- For example,
- Breaking Seal
MySqlCommandBuilderandMySqlConversionException. - Remove
netstandard1.3andnetcoreapp2.1target frameworks: #1031, #1067. - Add
ActivitySourcefor tracing: #1036. - Reduce default log message severity: #981.
- Add
MySqlConnection.ProvideClientCertificatesCallback,MySqlConnection.ProvidePasswordCallback,MySqlConnection.RemoteCertificateValidationCallback: #800, #976. - Support
BigIntegeras parameter value: #1069. - Add more values to
MySqlErrorCode: #1048. - Make
MySqlError.Codeobsolete: #1011.- Use
ErrorCodeproperty instead.
- Use
- Remove
BackgroundConnectionResetHelper: #1013.MySqlConnectionStringBuilder.DeferConnectionResetis obsolete and will always be treated as if it'strue.
- Add NuGet package READMEs: #1053.
- Add
[Category],[DefaultValue], and[Description]attributes to allMySqlConnectionStringBuilderproperties. - Improve performance of Regex usage internally.
- Throw an informative exception if
DELIMITERis used in a SQL statement: #1010. - Fix
MySqlConnectionStringBuilder.TryGetValue: #1030. - Fix incorrect value for
MySqlCommand.LastInsertedIdwhen executing multiple commands: #1026. - Fix bug executing stored procedures with backticks in their names: #1029.
- Fix rare
ObjectDisposedExceptionthat could be thrown when a connection timeout occurred.
2.0.0-rc.1
- Breaking Improve
MySqlBulkCopyAPI: #1012. - Remove
netcoreapp2.1target framework: #1067. - Support
BigIntegeras parameter value: #1069. - Add
MySqlConnection.PasswordProviderCallback: #800. - Add
MySqlConnection.ProvideClientCertificatesCallback: #976. - Add
MySqlConnection.RemoteCertificateValidationCallback: #976. - Add NuGet package READMEs: #1053.
- Improve performance of
Regexusage internally.
1.3.14
2.0.0-beta.5
- Update version to 2.0 due to scope of changes in the 1.4.0 beta releases.
- Add
ActivitySourcefor tracing: #1036. - Build with .NET 6.0 RC 2.
1.4.0-beta.4
- Breaking Remove
ConnectionIdlePingTime: #1042.- The
Connection Idle Ping Timeconnection string option is still accepted, but has no effect. - If
Connection Reset = False,MySqlConnection.Openwill return a pooled connection (if one is available) without testing it for liveness (by pinging the server). This improves performance but may degrade reliability. (Connection Reset = True, which is the default, is still recommended for greatest reliability.) - If the server has closed the pooled connection,
MySqlConnection.Openwill succeed, but the first operation on that connection will fail. Command execution should be wrapped in a try/catch/retry loop to handle this scenario.
- The
- Add more values to
MySqlErrorCode: #1048. - Fix bug executing stored procedures with backticks in their names: #1029.
- Remove inner exception for
UnableToConnectToHostexception: #1035. - Fix rare
ObjectDisposedExceptionthat could be thrown when a connection timeout occurred. - Reword "recovering leaked sessions" log message.