MySqlConnector

MySQL Connector for .NET

MIT License

Stars
1.4K
Committers
76

Bot releases are hidden (Show)

MySqlConnector - 2.2.0 RC 1

Published by bgrainger about 2 years ago

  • Set activity tags when opening a connection fails: #1196.
MySqlConnector - 2.2.0 Beta 1

Published by bgrainger about 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.
  • 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.
  • 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.Threading.Tasks.Extensions to 4.5.4: #1144.
  • Breaking Drop support for .NET 4.5: #1209.
MySqlConnector -

Published by bgrainger about 2 years ago

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

Published by bgrainger about 2 years ago

MySqlConnector -

Published by bgrainger over 2 years ago

  • Fix NullReferenceException in MySqlConnector.Utilities.TimerQueue.Callback: #1177.
  • Support floating point infinity: #1185.
  • Thanks to @maicodio for contributions to this release.
MySqlConnector -

Published by bgrainger over 2 years ago

  • Add MySqlBulkCopy.ConflictOption setting: #1176.
  • Thanks to @klym1 for contributions to this release.
MySqlConnector -

Published by bgrainger over 2 years ago

  • Set Activity status to ERROR if an exception occurs during ExecuteReader: #1171.
  • SSL Mode = Disabled is supported as a synonym for SSL Mode = None: #1168.
    • Added MySqlSslMode.Disabled enum value.
  • MySqlAttribute implements ICloneable: #1169.
  • (Internal) Unix domain socket connection uses UnixDomainSocketEndPoint class: #1160.
  • Thanks to @qq362220083 for contributions to this release.
MySqlConnector - 2.1.8

Published by bgrainger over 2 years ago

  • Fix bug that reset MySqlCommand.LastInsertedId to -1 between commands: #1147.
  • Fix bug using MySqlBulkCopy with DateOnly and TimeOnly: #1146.

Full Changelog: https://github.com/mysql-net/MySqlConnector/compare/2.1.7...2.1.8

MySqlConnector -

Published by bgrainger over 2 years ago

  • MySqlCommand no longer automatically appends a semicolon to the user-provided CommandText: #1133.
    • This improves compatibility with Sphinx Search (SphinxQL).
  • MySqlBulkCopy supports MySqlDecimal, BigInteger, DateOnly, TimeOnly: #1143.
  • Fix InvalidOperationException when the TLS Version connection string option contains multiple values: #1138.
MySqlConnector -

Published by bgrainger over 2 years ago

  • Fix unintentional TLS downgrade: #1132.
    • To ensure the desired TLS version is used, set TlsVersion in your connection string.
  • Fix deadlock when cancelling a command: #1131.
  • Fix ArgumentException when calling GetSchema("Parameters") against MySQL 8.0: #1128.
  • Set MySqlParameter.Size in DeriveParameters: #1125.
  • Thanks to @ahydrax and @lostatredrock for contributions to this release.
MySqlConnector -

Published by bgrainger over 2 years ago

  • Speed up MySqlDataAdapter.Update when UpdateBatchSize is large: #1124.
  • Remove DO SLEEP(0) use after cancelling a query: #1115.
    • This improves compatibility with MariaDB Xpand.
  • Encode NUL bytes as \0 on the wire: #1121.
    • This improves compatibility with SingleStore.
MySqlConnector -

Published by bgrainger over 2 years ago

  • Fix InvalidOperationException if MySqlDataReader.RecordsAffected was read after calling Close() or Dispose(): #1122.
    • This was a regression introduced by #1096 in 2.1.3.
MySqlConnector -

Published by bgrainger over 2 years ago

  • Fix Use Compression = True when running under .NET 6.0: #1120.
  • Fix calculation of affected rows (the return value of ExecuteNonQuery) for compound statements: #1096.
  • Use a better FormatException message when a GUID can't be read: #1114.
  • Use cryptographic one-shot operations on .NET 5.0 and later.
  • Performance: Use SkipLocalsInit where possible.
MySqlConnector -

Published by bgrainger almost 3 years ago

  • Fix incorrect results when using prepared commands with MySQL Server 8.0.23–8.0.25: #1106.
    • Those server versions advertise support for query attributes, but do not fully support them for prepared statements.
    • The server-side bug is triggered by the client-side support for query attributes added in MySqlConnector 2.1.0.
MySqlConnector -

Published by bgrainger almost 3 years ago

  • Fix InvalidOperationException when OpenAsync is called again after being canceled: #1097.
  • Allow OpenAsync to be canceled earlier.
MySqlConnector -

Published by bgrainger almost 3 years ago

  • Opening a connection from the pool is now twice as fast: #1089.
    • This may fail with Amazon Aurora RDS; to explicitly disable this, set Pipelining = False; in the connection string.
  • Add support for query attributes: #930.
    • This requires MySQL Server 8.0.23 (or later) for regular commands, and MySQL Server 8.0.26 (or later) for prepared commands.
    • Add attributes to the MySqlCommand.Attributes collection to send them to the server when the command is executed.
  • Add MySqlDecimal support: #1070.
  • Improve MySqlDataReader.GetX exceptions for NULL values: #1092.
  • Improve detection of Azure Database for MySQL proxies: #1093.
  • Update Microsoft.SourceLink.GitHub.
  • Thanks to @ejball and @sumitdvlp for contributions to this release.

MySqlConnector.Logging.Microsoft.Extensions.Logging

  • Logger names are now prefixed with MySqlConnector. by default: #1080.
    • To return to the previous behavior, use MicrosoftExtensionsLoggingLoggerProvider(loggingFactory, omitMySqlConnectorPrefix: true).
  • Added .UseMySqlConnectorLogging() extension method to add logging easily.
MySqlConnector -

Published by bgrainger almost 3 years ago

  • Target .NET 6.0.
    • Breaking Update the MySqlBatch (experimental API) to match .NET 6.0 API changes.
    • Support DateOnly and TimeOnly structs: #963.
    • Use ZLibStream for compression: #957.
    • Use X_OR_GREATER preprocessor definitions: #958.
  • Breaking Improve MySqlBulkCopy API: #1012.
  • Breaking Remove ConnectionIdlePingTime: #1042.
    • The Connection Idle Ping Time connection string option is still accepted, but has no effect.
    • If Connection Reset = False, MySqlConnection.Open will return a pooled connection (if one is available) without testing it for liveness (by pinging the server). If the server has closed the pooled connection, MySqlConnection.Open will succeed, but the first operation on that connection will fail. Command execution should be wrapped in a try/catch/retry loop to handle this scenario.
    • Connection Reset = False improves performance but may degrade reliability; Connection Reset = True, which is the default, is still recommended for greatest reliability.
  • Breaking Change how option keys are serialized when retrieving the MySqlConnectionStringBuilder.ConnectionString property:
    • For example, User Id is now User ID, DefaultCommandTimeout is now Default Command Timeout, etc.
    • All existing connection strings are still valid, and all the previous aliases for connection string options are still accepted.
    • The primary connection string option key is listed first in the documentation at https://mysqlconnector.net/connection-options/.
  • Breaking Seal MySqlCommandBuilder and MySqlConversionException.
  • Remove netstandard1.3 and netcoreapp2.1 target frameworks: #1031, #1067.
  • Add ActivitySource for tracing: #1036.
  • Reduce default log message severity: #981.
  • Add MySqlConnection.ProvideClientCertificatesCallback, MySqlConnection.ProvidePasswordCallback, MySqlConnection.RemoteCertificateValidationCallback: #800, #976.
  • Support BigInteger as parameter value: #1069.
  • Add more values to MySqlErrorCode: #1048.
  • Make MySqlError.Code obsolete: #1011.
    • Use ErrorCode property instead.
  • Remove BackgroundConnectionResetHelper: #1013.
    • MySqlConnectionStringBuilder.DeferConnectionReset is obsolete and will always be treated as if it's true.
  • Add NuGet package READMEs: #1053.
  • Add [Category], [DefaultValue], and [Description] attributes to all MySqlConnectionStringBuilder properties.
  • Improve performance of Regex usage internally.
  • Throw an informative exception if DELIMITER is used in a SQL statement: #1010.
  • Fix MySqlConnectionStringBuilder.TryGetValue: #1030.
  • Fix incorrect value for MySqlCommand.LastInsertedId when executing multiple commands: #1026.
  • Fix bug executing stored procedures with backticks in their names: #1029.
  • Fix rare ObjectDisposedException that could be thrown when a connection timeout occurred.
MySqlConnector -

Published by bgrainger almost 3 years ago

  • Breaking Improve MySqlBulkCopy API: #1012.
  • Remove netcoreapp2.1 target framework: #1067.
  • Support BigInteger as parameter value: #1069.
  • Add MySqlConnection.PasswordProviderCallback: #800.
  • Add MySqlConnection.ProvideClientCertificatesCallback: #976.
  • Add MySqlConnection.RemoteCertificateValidationCallback: #976.
  • Add NuGet package READMEs: #1053.
  • Improve performance of Regex usage internally.
MySqlConnector -

Published by bgrainger almost 3 years ago

  • Fix bug that failed to deserialize a binary row (from a prepared statement) correctly: #1018.
MySqlConnector -

Published by bgrainger about 3 years ago

  • Update version to 2.0 due to scope of changes in the 1.4.0 beta releases.
  • Add ActivitySource for tracing: #1036.
  • Build with .NET 6.0 RC 2.
Badges
Extracted from project README
NuGet AppVeyor Azure Pipelines Devolutions Faithlife
Related Projects