Releases: mysql-net/MySqlConnector
Releases · mysql-net/MySqlConnector
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.Attributes
collection to send them to the server when the command is executed.
- Add
MySqlDecimal
support: #1070. - Improve
MySqlDataReader.GetX
exceptions forNULL
values: #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
MySqlBulkCopy
API: #1012. - Breaking Remove
ConnectionIdlePingTime
: #1042.- The
Connection Idle Ping Time
connection string option is still accepted, but has no effect. - If
Connection Reset = False
,MySqlConnection.Open
will 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.Open
will 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 = False
improves 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.ConnectionString
property:- For example,
User Id
is nowUser ID
,DefaultCommandTimeout
is 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
MySqlCommandBuilder
andMySqlConversionException
. - Remove
netstandard1.3
andnetcoreapp2.1
target frameworks: #1031, #1067. - Add
ActivitySource
for tracing: #1036. - Reduce default log message severity: #981.
- Add
MySqlConnection.ProvideClientCertificatesCallback
,MySqlConnection.ProvidePasswordCallback
,MySqlConnection.RemoteCertificateValidationCallback
: #800, #976. - Support
BigInteger
as parameter value: #1069. - Add more values to
MySqlErrorCode
: #1048. - Make
MySqlError.Code
obsolete: #1011.- Use
ErrorCode
property instead.
- Use
- Remove
BackgroundConnectionResetHelper
: #1013.MySqlConnectionStringBuilder.DeferConnectionReset
is obsolete and will always be treated as if it'strue
.
- Add NuGet package READMEs: #1053.
- Add
[Category]
,[DefaultValue]
, and[Description]
attributes to allMySqlConnectionStringBuilder
properties. - Improve performance of Regex usage internally.
- Throw an informative exception if
DELIMITER
is used in a SQL statement: #1010. - Fix
MySqlConnectionStringBuilder.TryGetValue
: #1030. - Fix incorrect value for
MySqlCommand.LastInsertedId
when executing multiple commands: #1026. - Fix bug executing stored procedures with backticks in their names: #1029.
- Fix rare
ObjectDisposedException
that could be thrown when a connection timeout occurred.
2.0.0-rc.1
- Breaking Improve
MySqlBulkCopy
API: #1012. - Remove
netcoreapp2.1
target framework: #1067. - Support
BigInteger
as parameter value: #1069. - Add
MySqlConnection.PasswordProviderCallback
: #800. - Add
MySqlConnection.ProvideClientCertificatesCallback
: #976. - Add
MySqlConnection.RemoteCertificateValidationCallback
: #976. - Add NuGet package READMEs: #1053.
- Improve performance of
Regex
usage 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
ActivitySource
for tracing: #1036. - Build with .NET 6.0 RC 2.
1.4.0-beta.4
- Breaking Remove
ConnectionIdlePingTime
: #1042.- The
Connection Idle Ping Time
connection string option is still accepted, but has no effect. - If
Connection Reset = False
,MySqlConnection.Open
will 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.Open
will 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
UnableToConnectToHost
exception: #1035. - Fix rare
ObjectDisposedException
that could be thrown when a connection timeout occurred. - Reword "recovering leaked sessions" log message.
1.3.13
1.4.0-beta.3
- Breaking Remove
netstandard1.3
target framework: #1031. - Breaking Seal
MySqlCommandBuilder
andMySqlConversionException
. - Fix incorrect value for
MySqlCommand.LastInsertedId
when executing multiple commands: #1026. - Add
[Category]
,[DefaultValue]
, and[Description]
attributes to allMySqlConnectionStringBuilder
properties. - Fix
MySqlConnectionStringBuilder.TryGetValue
: #1030. - Breaking Change how option keys are serialized when retrieving the
MySqlConnectionStringBuilder.ConnectionString
property:- For example,
User Id
is nowUser ID
,DefaultCommandTimeout
is 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,