Skip to content

Releases: mysql-net/MySqlConnector

2.6.1

Choose a tag to compare

@bgrainger bgrainger released this 25 Jun 00:20
2.6.1
5802bd0
  • Fix GHSA-473q-m89c-ghf8: MitM password disclosure in zero-configuration TLS mode.
  • Fix MySqlCommand.Prepare with INSERT INTO ... RETURNING: #1652.
  • Thanks to @rusher for contributions to this release.

2.6.0

Choose a tag to compare

@bgrainger bgrainger released this 02 Jun 23:05
2.6.0
a226866
  • Add opt-in stable OpenTelemetry semantic conventions: #1435.
    • In MySqlConnector 3.0, the experimental conventions will be removed.
    • Applications should set OTEL_SEMCONV_STABILITY_OPT_IN to database or database/dup (or use WithSemanticConventionsKinds) to test the new semantic conventions.
  • Support distributed tracing by sending traceparent to MySQL Server: #1635.
  • EnableResultSetHeaderEvent is now opt-in: #1633.
  • Move AddMySqlDataSource and related APIs from MySqlConnector.DependencyInjection to MySqlConnector: #1649.
  • Improve reliability and correctness of parameter parsing and rewriting:
    • Fix termination of quoted parameters: #1627.
    • Handle all comment-start characters during SQL parsing: #1624.
    • Add stricter argument validation and checks: #1632.
  • Improve XA and transaction handling:
    • Handle more XA error codes: #1631.
    • Clear transaction when closing a database: #1623.
    • Handle missing transaction in DoCloseAsync: #729.
  • Improve data type handling:
    • Reject negative DATETIME ticks: #1630.
    • Don't detect BINARY columns as Guid: #1625.
  • Improve exception safety: #1628.
  • Suppress trimming warnings and update AOT test coverage: #1607, #1608.
  • Thanks to @markus456 and @sbomer for contributions to this release.

2.5.0

Choose a tag to compare

@bgrainger bgrainger released this 12 Nov 00:49
2.5.0
a86c07e

2.5.0

  • Support .NET 10: #1595.
  • Possibly breaking MySqlConnection.State will be set to ConnectionState.Broken when there is a network error: #1599.
    • Previously it would have been set to ConnectionState.Closed but the connection wasn't truly closed.
    • Call MySqlConnection.Close() to fully close the connection before calling Open() again.
    • Better yet, call .Dispose() (ideally with a using declaration) and create a new MySqlConnection instance to recover from failure.
  • Possibly breaking MySqlConnection.ResetConnectionAsync will consistently throw a MySqlException: #1602.
  • Implement MariaDB PARSEC authentication: #1540, #1606.
  • Support the VECTOR data type: #1549.
  • Implement COM_STMT_SEND_LONG_DATA to stream large parameter values: #943.
  • Add MySqlConnectorTracingOptions and builder APIs to configure tracing output: #1524.
  • Read Guid values from stored procedure out parameters: #1528.
  • Mark MySqlDbType with [DbProviderSpecificTypeProperty(true)]: #1557.
  • Allow loopback connections (e.g., Google Cloud SQL Proxy) to use clear-text password or public key retrieval: #1534, #1542.
  • Improve schema metadata with MariaDB by reading stored procedure metadata from mysql.proc: #1547.
  • Improve XA transaction rollback handling: #1585, #1589.
  • Free large cached payload buffers when returning sessions to the pool to reduce memory usage: #1587.
  • Suppress error-level logging when a command is canceled: #1544.
  • Fix MySqlBulkCopy auto-detected column mappings: #1568.
  • Fix Foreign Keys schema SQL syntax: #1601.
  • Fix extra roundtrip for caching_sha2_password: #1562.
  • Fix cancellation with AWS RDS Proxy: #1581.
  • Optimization: Use System.Threading.Lock for .NET 9.0+.
  • Optimization: Use PemEncoding in .NET 5.0+ and UTF-8 methods in .NET 10.0+.
  • Thanks to @djeman, @jnoordsij, @NETSphereSoft, @PatrickMNL, @petedishman, and @rusher for contributions to this release.

2.5.0-beta.1

2.5.0-beta.1 Pre-release
Pre-release

Choose a tag to compare

@bgrainger bgrainger released this 27 Oct 02:28
2.5.0-beta.1
42b981f

2.5.0 Beta 1

  • Support .NET 10: #1595.
  • Possibly breaking MySqlConnection.State will be set to ConnectionState.Broken when there is a network error: #1599.
    • Previously it would have been set to ConnectionState.Closed but the connection wasn't truly closed.
    • Call MySqlConnection.Close() to fully close the connection before calling Open() again.
    • Better yet, call .Dispose() (ideally with a using declaration) and create a new MySqlConnection instance to recover from failure.
  • Possibly breaking MySqlConnection.ResetConnectionAsync will consistently throw a MySqlException: #1602.
  • Implement MariaDB PARSEC authentication: #1540.
  • Support the VECTOR data type: #1549.
  • Implement COM_STMT_SEND_LONG_DATA to stream large parameter values: #943.
  • Add MySqlConnectorTracingOptions and builder APIs to configure tracing output: #1524.
  • Read Guid values from stored procedure out parameters: #1528.
  • Mark MySqlDbType with [DbProviderSpecificTypeProperty(true)]: #1557.
  • Allow loopback connections (e.g., Google Cloud SQL Proxy) to use clear-text password or public key retrieval: #1534, #1542.
  • Improve schema metadata with MariaDB by reading stored procedure metadata from mysql.proc: #1547.
  • Improve XA transaction rollback handling: #1585, #1589.
  • Free large cached payload buffers when returning sessions to the pool to reduce memory usage: #1587.
  • Suppress error-level logging when a command is canceled: #1544.
  • Fix MySqlBulkCopy auto-detected column mappings: #1568.
  • Fix Foreign Keys schema SQL syntax: #1601.
  • Fix extra roundtrip for caching_sha2_password: #1562.
  • Fix cancellation with AWS RDS Proxy: #1581.
  • Optimization: Use System.Threading.Lock for .NET 9.0+.
  • Optimization: Use PemEncoding in .NET 5.0+ and UTF-8 methods in .NET 10.0+.
  • Thanks to @djeman, @jnoordsij, @NETSphereSoft, @PatrickMNL, @petedishman, and @rusher for contributions to this release.

2.4.0

Choose a tag to compare

@bgrainger bgrainger released this 12 Nov 21:00
2.4.0
76f8c51
  • Support .NET 9.0.
  • Possibly breaking Mark MySqlConnectorLogManager.Provider as [Obsolete]: #1397.
  • Possibly breaking Remove end-of-life .NET 7 target framework.
    • Users who wish to use DbDataSource need to target .NET 8.0 or later.
  • Possibly breaking Update dependencies:
    • Microsoft.Extensions.Logging.Abstractions from 7.0.1 to 8.0.2.
    • System.Diagnostics.DiagnosticSource from 7.0.2 to 8.0.1.
  • Support trimming and native AOT: #1265.
  • Add MySqlDataSourceBuilder.UseConnectionOpenedCallback: #1508.
  • Add MySqlDbColumn.TableName: #1521.
  • Support zero-configuration SSL with MariaDB: #1500.
  • Support SET data type in functions: #1491.
  • Remove TABLESPACES schema: #1477.
  • Rewrite server redirection logic based on latest MariaDB specification: #1499.
  • Change variable name for better server compatibility: #1502.
  • Performance: Avoid SET NAMES commands when not necessary: #1497.
  • Fix "Can't replace active reader": #1469.
  • Fix potential NullReferenceException in MySqlConnection.Cancel: #1506.
  • Fix InvalidOperationException in FinishQuerying: #1341.
  • Provide logger to new MySqlConnection: #1510.
  • Use correct hostname when cancelling query: #1514.
  • Thanks to @AlexKerman and @rusher for contributions to this release.

2.4.0 Beta 2

2.4.0 Beta 2 Pre-release
Pre-release

Choose a tag to compare

@bgrainger bgrainger released this 20 Oct 04:48
2.4.0-beta.2
7b9a76e
  • Remove end-of-life .NET 7 target framework.
    • Users who wish to use DbDataSource need to target .NET 8.0 or later.
  • Fix "Can't replace active reader": #1469.
  • Update dependencies:
    • Microsoft.Extensions.Logging.Abstractions from 7.0.1 to 8.0.2.
    • System.Diagnostics.DiagnosticSource from 7.0.2 to 8.0.1.

2.4.0 Beta 1

2.4.0 Beta 1 Pre-release
Pre-release

Choose a tag to compare

@bgrainger bgrainger released this 13 Oct 23:55
2.4.0-beta.1
d41e473
  • Support .NET 9.0.
  • Support zero-configuration SSL with MariaDB: #1500.
  • Add MySqlDataSourceBuilder.UseConnectionOpenedCallback: #1508.
  • Rewrite server redirection logic based on latest MariaDB specification: #1499.
  • Support SET data type in functions: #1491.
  • Performance: Avoid SET NAMES commands when not necessary: #1497.
  • Fix potential NullReferenceException in MySqlConnection.Cancel: #1506.
  • Provide logger to new MySqlConnection: #1510.
  • Use correct hostname when cancelling query: #1514.
  • Remove TABLESPACES schema: #1477.
  • Change variable name for better server compatibility: #1502.
  • Thanks to @rusher for contributions to this release.

2.3.7

Choose a tag to compare

@bgrainger bgrainger released this 22 Apr 14:03
2.3.7
72ee684
  • 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

Choose a tag to compare

@bgrainger bgrainger released this 20 Mar 18:29
2.3.6
033abea
  • 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

Choose a tag to compare

@bgrainger bgrainger released this 21 Jan 16:31
2.3.5
5f83534
  • DLL files within the NuGet packages are now digitally signed.
  • Thanks to Devolutions for sponsoring this change.