MySqlConnector

MySQL Connector for .NET

MIT License

Stars
1.4K
Committers
76

Bot releases are hidden (Show)

MySqlConnector - Latest Release

Published by bgrainger 7 months ago

  • 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.
MySqlConnector -

Published by bgrainger 9 months ago

  • DLL files within the NuGet packages are now digitally signed.
  • Thanks to Devolutions for sponsoring this change.
MySqlConnector -

Published by bgrainger 9 months ago

  • 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.
MySqlConnector -

Published by bgrainger 10 months ago

  • Support COLUMN_NAME restriction for IndexColumns schema; this improves NHibernate compatibility.
MySqlConnector -

Published by bgrainger 10 months ago

  • 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.
MySqlConnector -

Published by bgrainger 11 months ago

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.
MySqlConnector -

Published by bgrainger 11 months ago

  • 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.
MySqlConnector - 2.3.0 Beta 4

Published by bgrainger 12 months ago

  • 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.
MySqlConnector -

Published by bgrainger about 1 year ago

  • 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.
MySqlConnector -

Published by bgrainger about 1 year ago

  • Respect ConnectTimeout when resetting connection: #1321.
  • Prevent connection pool falling back to an unsupported TLS version: #1349.
MySqlConnector -

Published by bgrainger over 1 year ago

  • 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.
MySqlConnector - 2.3.0 Beta 2

Published by bgrainger over 1 year ago

  • Support skipping metadata for prepared statements with MariaDB 10.6 and later: #1301.
  • Support multiple authentication methods when connecting: #1303.
  • Recycle MySqlDataReader objects: #1277.
  • 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.
  • Remove some unnecessary allocations.
  • Thanks to @gboucher90, @rusher, and @stilettk for contributions to this release.
MySqlConnector - 2.3.0 Beta 1

Published by bgrainger over 1 year ago

  • 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.
  • 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.
  • 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.
  • Fix bug that didn't copy MySqlDataSource in MySqlConnection.Clone: #1267.
MySqlConnector - 2.2.5

Published by bgrainger almost 2 years ago

  • Add support for DECIMAL UNSIGNED, fixing error in DeriveParameters: #1272.
  • Fix parsing nan as float/double value on .NET Framework.

Full Changelog: https://github.com/mysql-net/MySqlConnector/compare/2.2.4...2.2.5

MySqlConnector - 2.2.4

Published by bgrainger almost 2 years ago

MySqlConnector -

Published by bgrainger almost 2 years ago

  • 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.
MySqlConnector - 2.2.2

Published by bgrainger almost 2 years ago

  • Fix memory leak when initializing a TLS connection: #1247.
  • Fix failure to dispose objects if an exception is thrown when connecting: #1248.

Full Changelog: https://github.com/mysql-net/MySqlConnector/compare/2.2.1...2.2.2

MySqlConnector -

Published by bgrainger almost 2 years ago

  • Fix failure to load client SSL private key files: #1242.
    • Builds for .NET 6.0 and later were not affected.
MySqlConnector -

Published by bgrainger almost 2 years ago

  • 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.
MySqlConnector - 2.2.0 RC 2

Published by bgrainger almost 2 years ago

  • 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.
Badges
Extracted from project README
NuGet AppVeyor Azure Pipelines Devolutions Faithlife
Related Projects