Skip to content

Releases: mysql-net/MySqlConnector

2.3.7

22 Apr 14:03
2.3.7
72ee684
Compare
Choose a tag to compare
  • Fix NullReferenceException in MySqlDataReader.ActivateResultSet and MySqlDataReader.DisposeAsync: #1459.
    • This bug likely also caused "Packet received out-of-order" errors.
    • This was introduced in 2.3.0.
  • Fix rare NullReferenceException in ServerSession during cancellation: #1472.
  • Fix Foreign Keys schema not being generated asynchronously.

2.3.6

20 Mar 18:29
2.3.6
033abea
Compare
Choose a tag to compare
  • Fix VerifyCA incompatibility with AWS Aurora: #1462.
  • Verify that the server's root certificate is present (in the list of provided CA certificates) when using the SslCa connection string option and SslMode is VerifyCA or VerifyFull.
  • Optimization: Use pipelining to begin a transaction: #1286.
    • Use Pipelining = False; in your connection string to disable this optimization if there are compatibility issues.
  • Optimization: cache START TRANSACTION payloads.
  • Add transaction logging: #1411.
  • Fix incompatibility with MySQL Server 5.1: #1445.
    • This fixes a regression introduced in 2.3.0.
  • Thanks to @CRC32EX, @dlenski, and @rbanks54 for documentation contributions in this release.

2.3.5

21 Jan 16:31
2.3.5
5f83534
Compare
Choose a tag to compare
  • DLL files within the NuGet packages are now digitally signed.
  • Thanks to Devolutions for sponsoring this change.

2.3.4

14 Jan 15:36
2.3.4
0cad51c
Compare
Choose a tag to compare
  • Unify Application Name connection string option and MySqlDataSourceBuilder.UseName: #1434.
  • Remove TLS version fallback code: #1409.
  • Fix ArgumentOutOfRangeException in TimerQueue.Add: #1424.
  • Fix InvalidCastException when using stored procedures with MySQL 5.0: #1431.
  • Fix hang when disposing MySqlDataSource twice on .NET Framework.
  • Thanks to @SolacomYongYao for contributions to this release.

2.3.3

19 Dec 14:36
2.3.3
5a05ef2
Compare
Choose a tag to compare
  • Support COLUMN_NAME restriction for IndexColumns schema; this improves NHibernate compatibility.

2.3.2

18 Dec 19:45
2.3.2
65a73fc
Compare
Choose a tag to compare
  • Add Foreign Keys, Indexes, Index Columns schemas: #1419.
  • Fix exception when server doesn't send expected metadata: #1398.
  • Clear activity tags when retrying TLS: #1405.
  • Use underlying enum type when writing binary parameters: #1421.
  • Avoid retrying TLS negotiation when a non-recoverable exception occurs.
  • Thanks to @daebo01, @eaexo, and @trejjam for contributions to this release.

2.3.1

17 Nov 00:39
2.3.1
413b4bb
Compare
Choose a tag to compare

MySqlConnector

  • Add db.client.connections.timeouts counter to metrics: #1392.
  • Allow empty schemaRestrictions array to be passed to GetSchema: #1394.
  • Use higher-resolution timestamps for duration metrics: #1395.
  • Possibly Breaking Use seconds as the units for duration metrics; change type to double: #1396.
  • Thanks to @Thorium for contributions to this release.

MySqlConnector.DependencyInjection

  • Add AddKeyedMySqlDataSource to support keyed services: #1391.
  • Update Microsoft.Extensions.DependencyInjection.Abstractions dependency to 8.0.0.

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.3.0 Beta 4

04 Nov 21:06
2.3.0-beta.4
d40fe25
Compare
Choose a tag to compare
2.3.0 Beta 4 Pre-release
Pre-release
  • 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.
  • Expose connection pool metrics: #491.
  • Support .NET Framework 4.8 (net48) TFM: #1355.
    • This allows TlsVersion = TLSv1.3 to be used on .NET Framework 4.8.
  • Remove COM_MULTI protocol support: #946.
  • Reduce allocations on common code paths.
  • Support ZEROFILL columns in MySqlDecimal: #1354.
  • Support higher-precision DateTime values: #1379.
  • Use ValueTask in MySqlBulkCopy API for all TFMs: #1364.
  • Fix bug when column name begins with @ in MySqlBulkCopy: #1365.
  • Ignore MySqlDbType when serializing enum values: #1384.
  • Thanks to @stilettk for contributions to this release.

2.3.0-beta.3

30 Jul 14:30
2.3.0-beta.3
7ae44e3
Compare
Choose a tag to compare
2.3.0-beta.3 Pre-release
Pre-release
  • Fix version parsing for MariaDB 11.0 and later: #1311.
  • Support per-query variables for CommandBehavior.SchemaOnly and SingleRow: #1312.
  • Perform XA rollback when preparing a transaction fails: #1348.
  • Implement faster parsing for result sets with multiple rows: #1330.
  • Add MySqlDataSource.Name and MySqlDataSourceBuilder.UseName.
  • 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.
  • Thanks to @rusher, @JackBOBO, and @Kielek for contributions to this release.