Releases: mysql-net/MySqlConnector
Releases · mysql-net/MySqlConnector
2.3.0
- Support .NET 8.0.
- Mark some serialization APIs as
[Obsolete]
. - Implement
DbBatchCommand.CreateParameter
: #1352. - Optimizations: Use
IUtf8SpanFormattable
,Ascii.FromUtf16
,Guid(bigEndian: true)
constructor, argument-throwing helpers, etc.
- Mark some serialization APIs as
- Support .NET Framework 4.8 (
net48
) TFM: #1355.- This allows
TlsVersion = TLSv1.3
to be used on .NET Framework 4.8.
- This allows
- Drop support for .NET 4.6.1 and .NET Core 3.1: #636, #1273.
- .NET 4.6.1 support ended on 26 April 2022, and .NET Core 3.1 on 13 December 2022.
- The minimum supported versions are now .NET Framework 4.6.2 and .NET 6.0, although other frameworks should be supported via
netstandard2.0
.
MySqlDataSource
is now available for all TFMs, not just .NET 7.0: #1269.- This provides a single place to configure a MySQL connection and makes it easier to register
MySqlConnection
with dependency injection. - Add
MySqlDataSourceBuilder
class to configureMySqlDataSource
instances. - Add
MySqlDataSource.Name
andMySqlDataSourceBuilder.UseName
.
- This provides a single place to configure a MySQL connection and makes it easier to register
- Microsoft.Extensions.Logging is now used as the core logging abstraction: #1110.
MySqlConnectorLogManager.Provider
can still be used to add a logging destination, but it is now deprecated.- Use
MySqlDataSourceBuilder.UseLoggerFactory
to configure logging.
- Add new MySqlConnector.DependencyInjection package: #1271.
MySqlDataSource
andMySqlConnection
can be registered with dependency injection by usingbuilder.Services.AddMySqlDataSource(connectionString)
.- This also configures logging automatically.
- Expose connection pool metrics: #491.
- Remove
COM_MULTI
protocol support: #946. - Support
ZEROFILL
columns inMySqlDecimal
: #1354. - Support higher-precision
DateTime
values: #1379. - Use
ValueTask
inMySqlBulkCopy
API for all TFMs: #1364.- Breaking This changes the return type of
WriteToServerAsync
fromTask<MySqlBulkCopyResult>
toValueTask<MySqlBulkCopyResult>
on .NET Framework
- Breaking This changes the return type of
- Support skipping metadata for prepared statements with MariaDB 10.6 and later: #1301.
- Support multiple authentication methods when connecting: #1303.
- Support per-query variables for
CommandBehavior.SchemaOnly
andSingleRow
: #1312. - Recycle
MySqlDataReader
objects: #1277. - Perform XA rollback when preparing a transaction fails: #1348.
- Implement faster parsing for result sets with multiple rows: #1330.
- Optimize parameter encoding for ASCII strings: #1296.
- Use
TcpClient.ConnectAsync
overload withCancellationToken
on .NET 5.0 and later: #1291. - Fix cancellation when using a redirected connection: #1305.
- Fix
MySqlConnection.CloneWith
for connections created from aMySqlDataSource
: #1306. - Work around ephemeral PEM bug on Windows: #1278.
- Reduce allocations on common code paths.
- Fix bug when column name begins with
@
inMySqlBulkCopy
: #1365. - Ignore
MySqlDbType
when serializing enum values: #1384. - Fix bug that didn't copy
MySqlDataSource
inMySqlConnection.Clone
: #1267. - Fix version parsing for MariaDB 11.0 and later: #1311.
- Fix potential error in reallocating an internal buffer when writing ASCII text.
- Update handling of
ActivityStatus
to latest conventions: #1334. - Reduce overhead of
CommandTimeout
: #1338. - Reword end-of-stream message to be more generic: #1383.
- Thanks to @gboucher90, @JackBOBO, @Kielek, @rusher, and @stilettk for contributions to this release.
2.2.7
2.2.6
2.2.5
2.2.4
2.2.3
- Avoid renormalizing parameter names when executing a prepared command: #1252.
- Fix "Unknown column SRS_ID" error in
GetSchema
: #1258. - Use a standardized value for the
TableName
property of theDataTable
returned fromGetSchema
. - Minor performance improvements.
- Remove
FormatInvariant
internal helper method: #1253. - Eliminate temporary byte array when getting real server version.
- Remove
- Thanks to @neuecc for contributions to this release.
2.2.2
2.2.1
2.2.0
- Support .NET 7.0.
- Add
MySqlDataSource
, an implementation ofDbDataSource
for MySQL: #1208. - Use source-generated regular expressions.
- Use UTF-8 literals to perform UTF-8 conversion at compile-time instead of runtime.
- Add
- Breaking Drop support for .NET 4.5: #1209.
- Add
DNS Check Interval
connection string option: #1201. - Support restrictions in
MySqlConnection.GetSchema
.- Schema collections are code-generated: #1190.
- Use user-provided callbacks when opening new connection to
KILL QUERY
: #1179. - Set activity tags when opening a connection fails: #1196.
- Raise
Component.Disposed
event fromMySqlConnection.DisposeAsync
: #1235. - Use
ValueTask
instead ofValueTask<int>
: #1233.- Breaking This changes the return type of
MySqlConnection.ResetConnectionAsync
fornetstandard2.0
,net461
,net471
.
- Breaking This changes the return type of
- Possibly Breaking Normalize the order of keys in the connection string returned by
MySqlConnectionStringBuilder.ConnectionString
: #1217. - Possibly Breaking Update dependencies.
- Update System.Diagnostics.DiagnosticSource to 6.0.0.
- Update System.Memory to 4.5.5.
- Update System.Threading.Tasks.Extensions to 4.5.4: #1144.
2.1.13
- Swallow (but log) exceptions in
MySqlDataReader.Dispose(Async)
: #1154. - Add
MySqlDataReader.GetBytes(string)
: #1197. - Eliminate allocation in
OnStatementBegin
: #1207. - Thanks to @CorentinPtrl and @iamcarbon for contributions to this release.