mysql-net/MySqlConnector
### [`v2.1.8`](https://togithub.com/mysql-net/MySqlConnector/releases/2.1.8)
[Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/2.1.7...2.1.8)
- Fix bug that reset `MySqlCommand.LastInsertedId` to `-1` between commands: [#1147](https://togithub.com/mysql-net/MySqlConnector/issues/1147).
- Fix bug using `MySqlBulkCopy` with `DateOnly` and `TimeOnly`: [#1146](https://togithub.com/mysql-net/MySqlConnector/issues/1146).
**Full Changelog**: https://github.com/mysql-net/MySqlConnector/compare/2.1.7...2.1.8
### [`v2.1.7`](https://togithub.com/mysql-net/MySqlConnector/releases/2.1.7)
[Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/2.1.6...2.1.7)
- `MySqlCommand` no longer automatically appends a semicolon to the user-provided `CommandText`: [#1133](https://togithub.com/mysql-net/MySqlConnector/issues/1133).
- This improves compatibility with Sphinx Search (SphinxQL).
- `MySqlBulkCopy` supports `MySqlDecimal`, `BigInteger`, `DateOnly`, `TimeOnly`: [#1143](https://togithub.com/mysql-net/MySqlConnector/issues/1143).
- Fix `InvalidOperationException` when the `TLS Version` connection string option contains multiple values: [#1138](https://togithub.com/mysql-net/MySqlConnector/issues/1138).
### [`v2.1.6`](https://togithub.com/mysql-net/MySqlConnector/releases/2.1.6)
[Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/2.1.5...2.1.6)
- Fix unintentional TLS downgrade: [#1132](https://togithub.com/mysql-net/MySqlConnector/issues/1132).
- To ensure the desired TLS version is used, set `TlsVersion` in your connection string.
- Fix deadlock when cancelling a command: [#1131](https://togithub.com/mysql-net/MySqlConnector/issues/1131).
- Fix `ArgumentException` when calling `GetSchema("Parameters")` against MySQL 8.0: [#1128](https://togithub.com/mysql-net/MySqlConnector/issues/1128).
- Set `MySqlParameter.Size` in `DeriveParameters`: [#1125](https://togithub.com/mysql-net/MySqlConnector/issues/1125).
- Thanks to [@ahydrax](https://togithub.com/ahydrax) and [@lostatredrock](https://togithub.com/lostatredrock) for contributions to this release.
### [`v2.1.5`](https://togithub.com/mysql-net/MySqlConnector/releases/2.1.5)
[Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/2.1.4...2.1.5)
- Speed up `MySqlDataAdapter.Update` when `UpdateBatchSize` is large: [#1124](https://togithub.com/mysql-net/MySqlConnector/issues/1124).
- Remove `DO SLEEP(0)` use after cancelling a query: [#1115](https://togithub.com/mysql-net/MySqlConnector/issues/1115).
- This improves compatibility with MariaDB Xpand.
- Encode NUL bytes as `\0` on the wire: [#1121](https://togithub.com/mysql-net/MySqlConnector/issues/1121).
- This improves compatibility with SingleStore.
### [`v2.1.4`](https://togithub.com/mysql-net/MySqlConnector/releases/2.1.4)
[Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/2.1.3...2.1.4)
- Fix `InvalidOperationException` if `MySqlDataReader.RecordsAffected` was read after calling `Close()` or `Dispose()`: [#1122](https://togithub.com/mysql-net/MySqlConnector/issues/1122).
- This was a regression introduced by [#1096](https://togithub.com/mysql-net/MySqlConnector/issues/1096) in [2.1.3](https://togithub.com/mysql-net/MySqlConnector/releases/tag/2.1.3).
### [`v2.1.3`](https://togithub.com/mysql-net/MySqlConnector/releases/2.1.3)
[Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/2.1.2...2.1.3)
- Fix `Use Compression = True` when running under .NET 6.0: [#1120](https://togithub.com/mysql-net/MySqlConnector/issues/1120).
- Fix calculation of affected rows (the return value of `ExecuteNonQuery`) for compound statements: [#1096](https://togithub.com/mysql-net/MySqlConnector/issues/1096).
- Use a better `FormatException` message when a GUID can't be read: [#1114](https://togithub.com/mysql-net/MySqlConnector/issues/1114).
- Use cryptographic one-shot operations on .NET 5.0 and later.
- Performance: Use `SkipLocalsInit` where possible.
### [`v2.1.2`](https://togithub.com/mysql-net/MySqlConnector/releases/2.1.2)
[Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/2.1.1...2.1.2)
- Fix incorrect results when using prepared commands with MySQL Server 8.0.23–8.0.25: [#1106](https://togithub.com/mysql-net/MySqlConnector/issues/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](https://togithub.com/mysql-net/MySqlConnector/releases/tag/2.1.0).
### [`v2.1.1`](https://togithub.com/mysql-net/MySqlConnector/releases/2.1.1)
[Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/2.1.0...2.1.1)
- Fix `InvalidOperationException` when `OpenAsync` is called again after being canceled: [#1097](https://togithub.com/mysql-net/MySqlConnector/issues/1097).
- Allow `OpenAsync` to be canceled earlier.
### [`v2.1.0`](https://togithub.com/mysql-net/MySqlConnector/releases/2.1.0)
[Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/2.0.0...2.1.0)
- Opening a connection from the pool is now twice as fast: [#1089](https://togithub.com/mysql-net/MySqlConnector/issues/1089).
- This may fail with Amazon Aurora RDS; to explicitly disable this, set `Pipelining = False;` in the connection string.
- Add support for [query attributes](https://dev.mysql.com/doc/refman/8.0/en/query-attributes.html): [#930](https://togithub.com/mysql-net/MySqlConnector/issues/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](https://togithub.com/mysql-net/MySqlConnector/issues/1070).
- Improve `MySqlDataReader.GetX` exceptions for `NULL` values: [#1092](https://togithub.com/mysql-net/MySqlConnector/issues/1092).
- Improve detection of Azure Database for MySQL proxies: [#1093](https://togithub.com/mysql-net/MySqlConnector/issues/1093).
- Update Microsoft.SourceLink.GitHub.
- Thanks to [@ejball](https://togithub.com/ejball) and [@sumitdvlp](https://togithub.com/sumitdvlp) for contributions to this release.
#### MySqlConnector.Logging.Microsoft.Extensions.Logging
- Logger names are now prefixed with `MySqlConnector.` by default: [#1080](https://togithub.com/mysql-net/MySqlConnector/issues/1080).
- To return to the previous behavior, use `MicrosoftExtensionsLoggingLoggerProvider(loggingFactory, omitMySqlConnectorPrefix: true)`.
- Added `.UseMySqlConnectorLogging()` extension method to add logging easily.
### [`v2.0.0`](https://togithub.com/mysql-net/MySqlConnector/releases/2.0.0)
[Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/1.3.14...2.0.0)
- Target .NET 6.0.
- **Breaking** Update the `MySqlBatch` (experimental API) to match .NET 6.0 API changes.
- Support `DateOnly` and `TimeOnly` structs: [#963](https://togithub.com/mysql-net/MySqlConnector/issues/963).
- Use `ZLibStream` for compression: [#957](https://togithub.com/mysql-net/MySqlConnector/issues/957).
- Use `X_OR_GREATER` preprocessor definitions: [#958](https://togithub.com/mysql-net/MySqlConnector/issues/958).
- **Breaking** Improve `MySqlBulkCopy` API: [#1012](https://togithub.com/mysql-net/MySqlConnector/issues/1012).
- **Breaking** Remove `ConnectionIdlePingTime`: [#1042](https://togithub.com/mysql-net/MySqlConnector/issues/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](https://togithub.com/mysql-net/MySqlConnector/issues/1031), [#1067](https://togithub.com/mysql-net/MySqlConnector/issues/1067).
- Add `ActivitySource` for tracing: [#1036](https://togithub.com/mysql-net/MySqlConnector/issues/1036).
- Reduce default log message severity: [#981](https://togithub.com/mysql-net/MySqlConnector/issues/981).
- Add `MySqlConnection.ProvideClientCertificatesCallback`, `MySqlConnection.ProvidePasswordCallback`, `MySqlConnection.RemoteCertificateValidationCallback`: [#800](https://togithub.com/mysql-net/MySqlConnector/issues/800), [#976](https://togithub.com/mysql-net/MySqlConnector/issues/976).
- Support `BigInteger` as parameter value: [#1069](https://togithub.com/mysql-net/MySqlConnector/issues/1069).
- Add more values to `MySqlErrorCode`: [#1048](https://togithub.com/mysql-net/MySqlConnector/issues/1048).
- Make `MySqlError.Code` obsolete: [#1011](https://togithub.com/mysql-net/MySqlConnector/issues/1011).
- Use `ErrorCode` property instead.
- Remove `BackgroundConnectionResetHelper`: [#1013](https://togithub.com/mysql-net/MySqlConnector/issues/1013).
- `MySqlConnectionStringBuilder.DeferConnectionReset` is obsolete and will always be treated as if it's `true`.
- Add NuGet package READMEs: [#1053](https://togithub.com/mysql-net/MySqlConnector/issues/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](https://togithub.com/mysql-net/MySqlConnector/issues/1010).
- Fix `MySqlConnectionStringBuilder.TryGetValue`: [#1030](https://togithub.com/mysql-net/MySqlConnector/issues/1030).
- Fix incorrect value for `MySqlCommand.LastInsertedId` when executing multiple commands: [#1026](https://togithub.com/mysql-net/MySqlConnector/issues/1026).
- Fix bug executing stored procedures with backticks in their names: [#1029](https://togithub.com/mysql-net/MySqlConnector/issues/1029).
- Fix rare `ObjectDisposedException` that could be thrown when a connection timeout occurred.
Configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR contains the following updates:
1.3.14
->2.1.8
Release Notes
mysql-net/MySqlConnector
### [`v2.1.8`](https://togithub.com/mysql-net/MySqlConnector/releases/2.1.8) [Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/2.1.7...2.1.8) - Fix bug that reset `MySqlCommand.LastInsertedId` to `-1` between commands: [#1147](https://togithub.com/mysql-net/MySqlConnector/issues/1147). - Fix bug using `MySqlBulkCopy` with `DateOnly` and `TimeOnly`: [#1146](https://togithub.com/mysql-net/MySqlConnector/issues/1146). **Full Changelog**: https://github.com/mysql-net/MySqlConnector/compare/2.1.7...2.1.8 ### [`v2.1.7`](https://togithub.com/mysql-net/MySqlConnector/releases/2.1.7) [Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/2.1.6...2.1.7) - `MySqlCommand` no longer automatically appends a semicolon to the user-provided `CommandText`: [#1133](https://togithub.com/mysql-net/MySqlConnector/issues/1133). - This improves compatibility with Sphinx Search (SphinxQL). - `MySqlBulkCopy` supports `MySqlDecimal`, `BigInteger`, `DateOnly`, `TimeOnly`: [#1143](https://togithub.com/mysql-net/MySqlConnector/issues/1143). - Fix `InvalidOperationException` when the `TLS Version` connection string option contains multiple values: [#1138](https://togithub.com/mysql-net/MySqlConnector/issues/1138). ### [`v2.1.6`](https://togithub.com/mysql-net/MySqlConnector/releases/2.1.6) [Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/2.1.5...2.1.6) - Fix unintentional TLS downgrade: [#1132](https://togithub.com/mysql-net/MySqlConnector/issues/1132). - To ensure the desired TLS version is used, set `TlsVersion` in your connection string. - Fix deadlock when cancelling a command: [#1131](https://togithub.com/mysql-net/MySqlConnector/issues/1131). - Fix `ArgumentException` when calling `GetSchema("Parameters")` against MySQL 8.0: [#1128](https://togithub.com/mysql-net/MySqlConnector/issues/1128). - Set `MySqlParameter.Size` in `DeriveParameters`: [#1125](https://togithub.com/mysql-net/MySqlConnector/issues/1125). - Thanks to [@ahydrax](https://togithub.com/ahydrax) and [@lostatredrock](https://togithub.com/lostatredrock) for contributions to this release. ### [`v2.1.5`](https://togithub.com/mysql-net/MySqlConnector/releases/2.1.5) [Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/2.1.4...2.1.5) - Speed up `MySqlDataAdapter.Update` when `UpdateBatchSize` is large: [#1124](https://togithub.com/mysql-net/MySqlConnector/issues/1124). - Remove `DO SLEEP(0)` use after cancelling a query: [#1115](https://togithub.com/mysql-net/MySqlConnector/issues/1115). - This improves compatibility with MariaDB Xpand. - Encode NUL bytes as `\0` on the wire: [#1121](https://togithub.com/mysql-net/MySqlConnector/issues/1121). - This improves compatibility with SingleStore. ### [`v2.1.4`](https://togithub.com/mysql-net/MySqlConnector/releases/2.1.4) [Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/2.1.3...2.1.4) - Fix `InvalidOperationException` if `MySqlDataReader.RecordsAffected` was read after calling `Close()` or `Dispose()`: [#1122](https://togithub.com/mysql-net/MySqlConnector/issues/1122). - This was a regression introduced by [#1096](https://togithub.com/mysql-net/MySqlConnector/issues/1096) in [2.1.3](https://togithub.com/mysql-net/MySqlConnector/releases/tag/2.1.3). ### [`v2.1.3`](https://togithub.com/mysql-net/MySqlConnector/releases/2.1.3) [Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/2.1.2...2.1.3) - Fix `Use Compression = True` when running under .NET 6.0: [#1120](https://togithub.com/mysql-net/MySqlConnector/issues/1120). - Fix calculation of affected rows (the return value of `ExecuteNonQuery`) for compound statements: [#1096](https://togithub.com/mysql-net/MySqlConnector/issues/1096). - Use a better `FormatException` message when a GUID can't be read: [#1114](https://togithub.com/mysql-net/MySqlConnector/issues/1114). - Use cryptographic one-shot operations on .NET 5.0 and later. - Performance: Use `SkipLocalsInit` where possible. ### [`v2.1.2`](https://togithub.com/mysql-net/MySqlConnector/releases/2.1.2) [Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/2.1.1...2.1.2) - Fix incorrect results when using prepared commands with MySQL Server 8.0.23–8.0.25: [#1106](https://togithub.com/mysql-net/MySqlConnector/issues/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](https://togithub.com/mysql-net/MySqlConnector/releases/tag/2.1.0). ### [`v2.1.1`](https://togithub.com/mysql-net/MySqlConnector/releases/2.1.1) [Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/2.1.0...2.1.1) - Fix `InvalidOperationException` when `OpenAsync` is called again after being canceled: [#1097](https://togithub.com/mysql-net/MySqlConnector/issues/1097). - Allow `OpenAsync` to be canceled earlier. ### [`v2.1.0`](https://togithub.com/mysql-net/MySqlConnector/releases/2.1.0) [Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/2.0.0...2.1.0) - Opening a connection from the pool is now twice as fast: [#1089](https://togithub.com/mysql-net/MySqlConnector/issues/1089). - This may fail with Amazon Aurora RDS; to explicitly disable this, set `Pipelining = False;` in the connection string. - Add support for [query attributes](https://dev.mysql.com/doc/refman/8.0/en/query-attributes.html): [#930](https://togithub.com/mysql-net/MySqlConnector/issues/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](https://togithub.com/mysql-net/MySqlConnector/issues/1070). - Improve `MySqlDataReader.GetX` exceptions for `NULL` values: [#1092](https://togithub.com/mysql-net/MySqlConnector/issues/1092). - Improve detection of Azure Database for MySQL proxies: [#1093](https://togithub.com/mysql-net/MySqlConnector/issues/1093). - Update Microsoft.SourceLink.GitHub. - Thanks to [@ejball](https://togithub.com/ejball) and [@sumitdvlp](https://togithub.com/sumitdvlp) for contributions to this release. #### MySqlConnector.Logging.Microsoft.Extensions.Logging - Logger names are now prefixed with `MySqlConnector.` by default: [#1080](https://togithub.com/mysql-net/MySqlConnector/issues/1080). - To return to the previous behavior, use `MicrosoftExtensionsLoggingLoggerProvider(loggingFactory, omitMySqlConnectorPrefix: true)`. - Added `.UseMySqlConnectorLogging()` extension method to add logging easily. ### [`v2.0.0`](https://togithub.com/mysql-net/MySqlConnector/releases/2.0.0) [Compare Source](https://togithub.com/mysql-net/MySqlConnector/compare/1.3.14...2.0.0) - Target .NET 6.0. - **Breaking** Update the `MySqlBatch` (experimental API) to match .NET 6.0 API changes. - Support `DateOnly` and `TimeOnly` structs: [#963](https://togithub.com/mysql-net/MySqlConnector/issues/963). - Use `ZLibStream` for compression: [#957](https://togithub.com/mysql-net/MySqlConnector/issues/957). - Use `X_OR_GREATER` preprocessor definitions: [#958](https://togithub.com/mysql-net/MySqlConnector/issues/958). - **Breaking** Improve `MySqlBulkCopy` API: [#1012](https://togithub.com/mysql-net/MySqlConnector/issues/1012). - **Breaking** Remove `ConnectionIdlePingTime`: [#1042](https://togithub.com/mysql-net/MySqlConnector/issues/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](https://togithub.com/mysql-net/MySqlConnector/issues/1031), [#1067](https://togithub.com/mysql-net/MySqlConnector/issues/1067). - Add `ActivitySource` for tracing: [#1036](https://togithub.com/mysql-net/MySqlConnector/issues/1036). - Reduce default log message severity: [#981](https://togithub.com/mysql-net/MySqlConnector/issues/981). - Add `MySqlConnection.ProvideClientCertificatesCallback`, `MySqlConnection.ProvidePasswordCallback`, `MySqlConnection.RemoteCertificateValidationCallback`: [#800](https://togithub.com/mysql-net/MySqlConnector/issues/800), [#976](https://togithub.com/mysql-net/MySqlConnector/issues/976). - Support `BigInteger` as parameter value: [#1069](https://togithub.com/mysql-net/MySqlConnector/issues/1069). - Add more values to `MySqlErrorCode`: [#1048](https://togithub.com/mysql-net/MySqlConnector/issues/1048). - Make `MySqlError.Code` obsolete: [#1011](https://togithub.com/mysql-net/MySqlConnector/issues/1011). - Use `ErrorCode` property instead. - Remove `BackgroundConnectionResetHelper`: [#1013](https://togithub.com/mysql-net/MySqlConnector/issues/1013). - `MySqlConnectionStringBuilder.DeferConnectionReset` is obsolete and will always be treated as if it's `true`. - Add NuGet package READMEs: [#1053](https://togithub.com/mysql-net/MySqlConnector/issues/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](https://togithub.com/mysql-net/MySqlConnector/issues/1010). - Fix `MySqlConnectionStringBuilder.TryGetValue`: [#1030](https://togithub.com/mysql-net/MySqlConnector/issues/1030). - Fix incorrect value for `MySqlCommand.LastInsertedId` when executing multiple commands: [#1026](https://togithub.com/mysql-net/MySqlConnector/issues/1026). - Fix bug executing stored procedures with backticks in their names: [#1029](https://togithub.com/mysql-net/MySqlConnector/issues/1029). - Fix rare `ObjectDisposedException` that could be thrown when a connection timeout occurred.Configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by WhiteSource Renovate. View repository job log here.