Releases: mysql-net/MySqlConnector
Releases Β· mysql-net/MySqlConnector
2.4.0 Beta 2
- Remove end-of-life .NET 7 target framework.
- Users who wish to use
DbDataSource
need to target .NET 8.0 or later.
- Users who wish to use
- 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
- 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
inMySqlConnection.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
- Fix
NullReferenceException
inMySqlDataReader.ActivateResultSet
andMySqlDataReader.DisposeAsync
: #1459.- This bug likely also caused "Packet received out-of-order" errors.
- This was introduced in 2.3.0.
- Fix rare
NullReferenceException
inServerSession
during cancellation: #1472. - Fix
Foreign Keys
schema not being generated asynchronously.
2.3.6
- 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 andSslMode
isVerifyCA
orVerifyFull
. - Optimization: Use pipelining to begin a transaction: #1286.
- Use
Pipelining = False;
in your connection string to disable this optimization if there are compatibility issues.
- Use
- 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
- DLL files within the NuGet packages are now digitally signed.
- Thanks to Devolutions for sponsoring this change.
2.3.4
- Unify
Application Name
connection string option andMySqlDataSourceBuilder.UseName
: #1434. - Remove TLS version fallback code: #1409.
- Fix
ArgumentOutOfRangeException
inTimerQueue.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
2.3.2
- 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
MySqlConnector
- Add
db.client.connections.timeouts
counter to metrics: #1392. - Allow empty
schemaRestrictions
array to be passed toGetSchema
: #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
- 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.
- Mark some serialization APIs as
- Support .NET Framework 4.8 (
net48
) TFM: #1355.- This allows
TlsVersion = TLSv1.3
to be used on .NET Framework 4.8.
- This allows
- 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 configureMySqlDataSource
instances. - Add
MySqlDataSource.Name
andMySqlDataSourceBuilder.UseName
.
- This provides a single place to configure a MySQL connection and makes it easier to register
- 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
andMySqlConnection
can be registered with dependency injection by usingbuilder.Services.AddMySqlDataSource(connectionString)
.- This also configures logging automatically.
- Expose connection pool metrics: #491.
- Remove
COM_MULTI
protocol support: #946. - Support
ZEROFILL
columns inMySqlDecimal
: #1354. - Support higher-precision
DateTime
values: #1379. - Use
ValueTask
inMySqlBulkCopy
API for all TFMs: #1364.- Breaking This changes the return type of
WriteToServerAsync
fromTask<MySqlBulkCopyResult>
toValueTask<MySqlBulkCopyResult>
on .NET Framework
- Breaking This changes the return type of
- 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
andSingleRow
: #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 withCancellationToken
on .NET 5.0 and later: #1291. - Fix cancellation when using a redirected connection: #1305.
- Fix
MySqlConnection.CloneWith
for connections created from aMySqlDataSource
: #1306. - Work around ephemeral PEM bug on Windows: #1278.
- Reduce allocations on common code paths.
- Fix bug when column name begins with
@
inMySqlBulkCopy
: #1365. - Ignore
MySqlDbType
when serializing enum values: #1384. - Fix bug that didn't copy
MySqlDataSource
inMySqlConnection.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.