Releases: dotnet/SqlClient
Releases · dotnet/SqlClient
Stable Release v2.0.0
Added
- Added internal driver support to provide resiliency to DNS failures #594
- Added support for
Active Directory Integrated
,Active Directory Interactive
andActive Directory Service Principal
authentication mode for .NET Core and .NET Standard #560 - Added support for
Active Directory Service Principal
authentication mode for .NET Framework #560 - Added support for optional
ORDER
hints inSqlBulkCopy
for improved performance #540
Fixed
- Fixed
SqlSequentialStream
multipacket read stalling issue in .NET Core #603 - Fixed code page issue for Kazakh collation in SQL Server #584
- Fixed stalled application issues when end of stream is reached #577
- Fixed driver behavior to not throw exception for invalid configuration file #573
- Fixed Object null reference issue when failover partner is set #588
- Fixed
applicationintent
connection string property issue #585
Changes
- Raise warning message when insecure TLS protocols are in use #591
Breaking Changes
- Modified enclave provider interface
SqlColumnEncryptionEnclaveProvider
to be internal #602 - This change is not likely to impact customer applications since secure enclaves is a relatively new feature and they would have had to implement their own enclave provider, which is not a trivial task. - Updated
SqlClientMetaDataCollectionNames
exposed constants by removing non-existing constants and adding new to the metadata collection #580
For summary of all changes over v1.1, refer 2.0.0.md
Preview Release v2.0.0-preview4.20142.4
Added
- Microsoft.Data.SqlClient (.NET Core and .NET Standard) on Windows is now dependent on Microsoft.Data.SqlClient.SNI.runtime, replacing the previous dependency on runtime.native.System.Data.SqlClient.SNI #570
- The new Microsoft.Data.SqlClient.SNI.runtime dependency adds support for the ARM platform along with the already supported platforms ARM64, x64 and x86 on Windows #570
- Improved driver performance by introducing managed packet recycling #389
Fixed
- Fixed
SqlBulkCopy
to work with database columns containing metadata about data classification #568 - Fixed unsafe cast in
SqlException
forSerializationEntry.Value
- Fixed null reference exceptions in
SqlDelegatedTransaction
methods #563
Changes
- Standardized connection string properties for enhanced user experience #534
- Improved performance by reducing eventsource tracing related to allocations from TVP write methods #557 #564
Breaking Changes
- For .NET Framework applications consuming Microsoft.Data.SqlClient, the
SNI.dll
files previously downloaded to thebin\x64
andbin\x86
folders are now namedMicrosoft.Data.SqlClient.SNI.x64.dll
andMicrosoft.Data.SqlClient.SNI.x86.dll
and will be downloaded to thebin
directory, to support auto-loading in the application process #570. This change is not going to impact client applications unless a direct reference has been made toSNI.dll
or the x86 and x64 folders. - New connection string synonyms replace old inconsistent properties when fetching connection string from
SqlConnectionStringBuilder
#534
For detailed release notes, refer 2.0.0-preview4.md
Hotfix & Stable Release v1.1.3
Preview Release v2.0.0-preview3.20122.2
Added
- Allow passing username with Active Directory Interactive Authentication in .NET Framework #492
- Allow large UDT buffers for .NET Framework #456
- Added "Transaction Id" and "Client Version" in Diagnostic Source traces #515
- Added new
SqlConnectionOverrides
APIs to performSqlConnection.Open()
with fail fast option #463
Fixed
- Addressed MARS TDS Header errors by reverting changes to make
SqlDataReader.ReadAsync()
non-blocking #547 - Fixed driver behavior to not perform enlistment of pooled connection in aborted transaction #543
- Fixed wrong application domain selected when starting
SqlDependencyListener
#410 - Added missing refs for
RowCopied
property inSqlBulkCopy
#508
Changes
- Improved performance by removing unwanted method calls in Event Source tracing #506
- Removed Diagnostic Source and Configuration Manager dependencies from .NET Standard implementation #535
- Removed redundant calls to
DbConnectionPoolKey.GetType()
#512
Breaking Changes
- Updated driver to perform decimal scale rounding to match SQL Server behavior #470
- Standardized App Context switch that enables Managed SNI on Windows for .NET Core and .NET Standard (break only applies to 2.0 preview releases that introduced the switch) #548
For more details and breaking changes, refer here
Hotfix & Stable Release v1.1.2
Preview Release v2.0.0-preview2.20084.1
Added
- Added support for capturing EventSource traces in .NET Framework, .NET Core, and .NET Standard applications #399 #461 #479 #483 #484
- Added support for Cross-platform TCP Keep Alive applicable to .NET Core 3.1+ applications #395
- Added support for enabling Managed networking implementation on Windows applicable to .NET Core and .NET Standard applications #477
- Added
RowsCopied
property inSqlBulkCopy
to expose count of copied rows #409 - Added "NeutralResourcesLanguage" attribute for .NET Framework assembly #433
- Added caching for invariant culture check result #376
- Added cached
SqlReferenceCollection.FindLiveReaderContext
objects #380
Fixed
- Fixed Access Token behavior in connection pool to perform string comparison #443
- Fixed concurrent connection speed issues when connecting with Azure Active Directory Authentication modes in .NET Core #466
- Fixed issues with
Password
persistence in Connection String #453
Changes
- Updated all driver assemblies to be CLS Compliant #396
- Updated Bulk Copy error messages to also include Column, Row and non-encrypted Data information #437
- Updated error messages for "Always Encrypted - Secure Enclaves" to handle 'Attestation Protocol' and fixed typos #421 #397
- Removed sync over async in
SNINpHandle.EnableSsl
#474 - Changed non-generic
ArrayList
toList<T>
inSqlBulkCopy
#457 - Multiple performance improvements #377 #378 #379
Breaking Changes
- The driver will now perform Server Certificate validation when TLS encryption is enforced by the target Server, which is the default for Azure connections #391
SqlDataReader.GetSchemaTable()
now returns an emptyDataTable
instead of returningnull
#419
For more details and breaking changes, refer here
[AzureKeyVaultProvider] Stable Release v1.1.1
Changes
- Correction required due to providing incorrect endpoint address
Hotfix & Stable Release v1.1.1
Preview Release v2.0.0-preview1.20021.1
Added
- Added support to allow large UDT buffer size (upto
Int.MaxValue
) as supported by SQL Server starting TDS 7.3 #340
Fixed
- Fixed issues with
SqlCommandSet
not working with Byte Array parameters #360 - Fixed Statement command cancellation in Managed SNI #248 - Ported dotnet/corefx#38271
- Fixed zero connection timeout issue in Managed SNI #332
- Fixed "DataType" metadata information for TinyInt datatype to be
System.Byte
#338 - Fixed driver behavior to use
CancellationTokenResource
only for non-infinite timeout and cleanup after usage #339 - Fixed
ConnectionTime
andClientConnectionId
reported bySqlStatistics
when connection is closed #341 - Fixed deadlock issues by reverting async changes to
SNIPacket
#349
Changes
- Improved performance of Managed SNI by removing double fetch of domain name #366
- Improved performance of Async Method Allocations in Managed SNI #328
- Improved performance of Managed SNI by enhancing utilization of resources #173 - Ported dotnet/corefx#35363 and dotnet/corefx#40732
- Improved performance of Managed SNI RPC Parameter Usage #209 - Ported dotnet/corefx#34049
- Changed enclave key map to be lazy initialized #372
- Changed
Recieve()
andReceiveAsync()
implementation to receive null packets on failure #350 - Changed
EnclaveProviderBase
caching implementation to support Async Scenarios (Introduces breaking changes) #346
For more details and breaking changes, refer here.
Stable Release v1.1.0
Added
- Added support for |DataDirectory| macro in
AttachDBFilename
for .NET Core client #284
Fixed
- Fixed connection resiliency check #310
- Fixed
SNIPacket.ReadFromStreamAsync
to not consume sameValueTask
twice #295 - Fixed driver behavior to not send Attention signal for successful Bulk Copy operation #308
- Fixed driver behavior to abort connection when encountering
SqlException
onSqlTransaction.Commit
#299 - Fixed driver behavior to not throw exception on invalid app.config files #319