Skip to content

Releases: mysql-net/MySqlConnector

2.3.0

14 Nov 18:04
2.3.0
d895afc
Compare
Choose a tag to compare
  • 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.
  • Support .NET Framework 4.8 (net48) TFM: #1355.
    • This allows TlsVersion = TLSv1.3 to be used on .NET Framework 4.8.
  • 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 configure MySqlDataSource instances.
    • Add MySqlDataSource.Name and MySqlDataSourceBuilder.UseName.
  • 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 and MySqlConnection can be registered with dependency injection by using builder.Services.AddMySqlDataSource(connectionString).
    • This also configures logging automatically.
  • Expose connection pool metrics: #491.
  • Remove COM_MULTI protocol support: #946.
  • Support ZEROFILL columns in MySqlDecimal: #1354.
  • Support higher-precision DateTime values: #1379.
  • Use ValueTask in MySqlBulkCopy API for all TFMs: #1364.
    • Breaking This changes the return type of WriteToServerAsync from Task<MySqlBulkCopyResult> to ValueTask<MySqlBulkCopyResult> on .NET Framework
  • 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 and SingleRow: #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 with CancellationToken on .NET 5.0 and later: #1291.
  • Fix cancellation when using a redirected connection: #1305.
  • Fix MySqlConnection.CloneWith for connections created from a MySqlDataSource: #1306.
  • Work around ephemeral PEM bug on Windows: #1278.
  • Reduce allocations on common code paths.
  • Fix bug when column name begins with @ in MySqlBulkCopy: #1365.
  • Ignore MySqlDbType when serializing enum values: #1384.
  • Fix bug that didn't copy MySqlDataSource in MySqlConnection.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

21 Jul 23:46
2.2.7
d4b05de
Compare
Choose a tag to compare
  • Respect ConnectTimeout when resetting connection: #1321.
  • Prevent connection pool falling back to an unsupported TLS version: #1349.

2.2.6

04 May 22:09
2.2.6
e3b1713
Compare
Choose a tag to compare
  • Ignore deadlock exception when rolling back an XA transaction: #1317.
  • Work around ephemeral PEM bug on Windows: #1278.
  • Support new MariaDB version numbers: #1259.
  • Thanks to @rusher for contributions to this release.

2.2.5

01 Jan 21:01
2.2.5
ddcd2cb
Compare
Choose a tag to compare
  • Add support for DECIMAL UNSIGNED, fixing error in DeriveParameters: #1272.
  • Fix parsing nan as float/double value on .NET Framework.

Full Changelog: 2.2.4...2.2.5

2.2.4

23 Dec 22:56
2.2.4
f218646
Compare
Choose a tag to compare
  • Fix a race condition in recovering leaked sessions: #1263.
  • Full Changelog: 2.2.3...2.2.4

2.2.3

18 Dec 21:34
2.2.3
d864625
Compare
Choose a tag to compare
  • 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 the DataTable returned from GetSchema.
  • Minor performance improvements.
    • Remove FormatInvariant internal helper method: #1253.
    • Eliminate temporary byte array when getting real server version.
  • Thanks to @neuecc for contributions to this release.

2.2.2

06 Dec 04:18
2.2.2
da20515
Compare
Choose a tag to compare
  • Fix memory leak when initializing a TLS connection: #1247.
  • Fix failure to dispose objects if an exception is thrown when connecting: #1248.

Full Changelog: 2.2.1...2.2.2

2.2.1

21 Nov 00:22
2.2.1
3efc015
Compare
Choose a tag to compare
  • Fix failure to load client SSL private key files: #1242.
    • Builds for .NET 6.0 and later were not affected.

2.2.0

08 Nov 16:59
2.2.0
004ec9e
Compare
Choose a tag to compare
  • Support .NET 7.0.
    • Add MySqlDataSource, an implementation of DbDataSource for MySQL: #1208.
    • Use source-generated regular expressions.
    • Use UTF-8 literals to perform UTF-8 conversion at compile-time instead of runtime.
  • 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 from MySqlConnection.DisposeAsync: #1235.
  • Use ValueTask instead of ValueTask<int>: #1233.
    • Breaking This changes the return type of MySqlConnection.ResetConnectionAsync for netstandard2.0, net461, net471.
  • 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

26 Aug 14:54
2.1.13
e826461
Compare
Choose a tag to compare
  • 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.