Skip to content

Releases: mysql-net/MySqlConnector

2.1.2

23 Dec 03:33
2.1.2
bce3051
Compare
Choose a tag to compare
  • 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

21 Dec 20:43
2.1.1
91a4111
Compare
Choose a tag to compare
  • Fix InvalidOperationException when OpenAsync is called again after being canceled: #1097.
  • Allow OpenAsync to be canceled earlier.

2.1.0

28 Nov 07:31
2.1.0
dbadd12
Compare
Choose a tag to compare
  • 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.
  • 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 for NULL 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).
  • Added .UseMySqlConnectorLogging() extension method to add logging easily.

2.0.0

09 Nov 15:58
2.0.0
5928b23
Compare
Choose a tag to compare
  • Target .NET 6.0.
    • Breaking Update the MySqlBatch (experimental API) to match .NET 6.0 API changes.
    • Support DateOnly and TimeOnly structs: #963.
    • Use ZLibStream for compression: #957.
    • Use X_OR_GREATER preprocessor definitions: #958.
  • 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.
  • Breaking Change how option keys are serialized when retrieving the MySqlConnectionStringBuilder.ConnectionString property:
    • For example, User Id is now User ID, DefaultCommandTimeout is now Default 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/.
  • Breaking Seal MySqlCommandBuilder and MySqlConversionException.
  • Remove netstandard1.3 and netcoreapp2.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.
  • Remove BackgroundConnectionResetHelper: #1013.
    • MySqlConnectionStringBuilder.DeferConnectionReset is obsolete and will always be treated as if it's true.
  • Add NuGet package READMEs: #1053.
  • Add [Category], [DefaultValue], and [Description] attributes to all MySqlConnectionStringBuilder 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

03 Nov 22:59
2.0.0-rc.1
68b30bb
Compare
Choose a tag to compare
2.0.0-rc.1 Pre-release
Pre-release
  • 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

20 Oct 12:21
1.3.14
e82f18f
Compare
Choose a tag to compare
  • Fix bug that failed to deserialize a binary row (from a prepared statement) correctly: #1018.

2.0.0-beta.5

16 Oct 22:25
2.0.0-beta.5
338ccb4
Compare
Choose a tag to compare
2.0.0-beta.5 Pre-release
Pre-release
  • 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

02 Oct 18:08
1.4.0-beta.4
f58a90c
Compare
Choose a tag to compare
1.4.0-beta.4 Pre-release
Pre-release
  • 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.
  • 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

02 Oct 17:09
1.3.13
e00ce09
Compare
Choose a tag to compare
  • Remove inner exception for UnableToConnectToHost exception: #1035.
  • Reword "recovering leaked sessions" log message.

1.4.0-beta.3

11 Sep 02:05
1.4.0-beta.3
e428a18
Compare
Choose a tag to compare
1.4.0-beta.3 Pre-release
Pre-release
  • Breaking Remove netstandard1.3 target framework: #1031.
  • Breaking Seal MySqlCommandBuilder and MySqlConversionException.
  • Fix incorrect value for MySqlCommand.LastInsertedId when executing multiple commands: #1026.
  • Add [Category], [DefaultValue], and [Description] attributes to all MySqlConnectionStringBuilder properties.
  • Fix MySqlConnectionStringBuilder.TryGetValue: #1030.
  • Breaking Change how option keys are serialized when retrieving the MySqlConnectionStringBuilder.ConnectionString property:
    • For example, User Id is now User ID, DefaultCommandTimeout is now Default 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/.