Releases: dotnet/SqlClient
Releases · dotnet/SqlClient
Preview Release v2.1.0-preview2.20297.7
Added
- Added support for Azure Active Directory Managed Identity authentication #730
- Added support to provide a user-defined application client ID when using Active Directory authentication #740
- Added the "Command Timeout" connection string property to set a default timeout for all commands executed with the connection #722
- Added support for Always Encrypted on all supported platforms for .NET Standard 2.0 #756
Fixed
- Fixed unobserved exception issue when a timeout occurs before a faulted task completes with an exception #688 #773
- Fixed an issue where driver continues to prompt for credentials when using Azure Active Directory authentication #770
Changes
- Updated
Microsoft.Data.SqlClient.SNI(.NET Framework dependency) andMicrosoft.Data.SqlClient.SNI.runtime(.NET Core/Standard dependency) version tov2.1.1and removed symbols fromMicrosoft.Data.SqlClient.SNI.runtime, which are now published to Microsoft Symbols Server #764 - Updated
Microsoft.Identity.Clientdependency version tov4.21.1#765 - Performance improvements when establishing an encrypted channel by removing sync over async method calls #541
- Performance improvements by replacing heap-allocated arrays with Spans #667
- Moved common files to shared folder between .NET Framework and .NET Core implementation #734 #753
For detailed release notes, see 2.1.0-preview2.md
Hotfix & Stable Release v2.0.1
Added
- Added support for a new Configuration Section,
SqlClientAuthenticationProviders(duplicate of existingSqlAuthenticationProviders), to allow co-existence of configurations for both drivers, "System.Data.SqlClient" and "Microsoft.Data.SqlClient" #701
Fixed
- Fixed pooled connection re-use on access token expiry issue when using Active Directory authentication modes #639
- Fixed transient fault handling for Pooled connections #638
- Fixed Enclave session cache issue with Azure Database #628
- Reverted changes to return empty DataTable from GetSchemaTable to return null as before. #697
- Fixed configuration section collision issue with System.Data.SqlClient type #701
- Fixed blank error message [HTTP Provider] issues due to unexpected pre-login failures when using Native SNI. Fixed with Microsoft.Data.SqlClient.SNI v2.0.1 and Microsoft.Data.SqlClient.SNI.runtime v2.0.1 release versions.
Preview Release v2.1.0-preview1.20235.1
Added
- Added support for Always Encrypted with secure enclaves on Unix for .NET Core 2.1+ and on all supported platforms for .NET Standard 2.1+ #676
- Added support for Azure Active Directory Device Code Flow authentication #597
- Added new APIs to enable customizations for "Active Directory Interactive" authentication experience #597
- Added Sensitivity Rank support in Sensitivity Classification information #626
- Added support to obtain
ServerProcessId()(SPID) information on an activeSqlConnectioninstance #660 - Added support for a new Configuration Section,
SqlClientAuthenticationProviders(duplicate of existingSqlAuthenticationProviders), to allow co-existence of configurations for both drivers, "System.Data.SqlClient" and "Microsoft.Data.SqlClient" #702 - Added TraceLogging in Native SNI to extend
SqlClientEventSourcesupport #650 - Updated Microsoft.Data.SqlClient.SNI (.NET Framework dependency) and Microsoft.Data.SqlClient.SNI.runtime (.NET Core/Standard dependency) version to v2.1.0 with trace logging implementation #705
Fixed
- Fixed Enclave session cache issue with Azure Database #686
- Fixed pooled connection re-use on access token expiry issue when using Active Directory authentication modes #635
- Fixed transient fault handling for Pooled connections #637
- Fixed SPN generation issue when no port is provided #629
- Fixed missing null checks for
SqlErrorsinSqlExceptionfor .NET Framework implementation #698
Changes
- Performance improvements by fixing unnecessary allocations with EventSource implementation #684
- Reverted changes to return empty DataTable from GetSchemaTable to return null as before. #696
- Removed multiple
CacheConnectionStringPropertiescalls when settingConnectionStringproperties #683 - Code Improvements by only checking inexact match when no exact match is found for an embedded resource #668
- Changed
_SqlMetaDatato lazy initialize hidden column map #521 - Renamed internal string resource file and helpers for .NET Core implementation #671
- Performance improvements by reworking
ExecuteReaderAsyncto minimize allocations #528 - Performance improvements by moving
DataReadercaches to internal connection #499 - Moved common files to shared folder between .NET Framework and .NET Core implementation #618 #625
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 InteractiveandActive Directory Service Principalauthentication mode for .NET Core and .NET Standard #560 - Added support for
Active Directory Service Principalauthentication mode for .NET Framework #560 - Added support for optional
ORDERhints inSqlBulkCopyfor improved performance #540
Fixed
- Fixed
SqlSequentialStreammultipacket 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
applicationintentconnection string property issue #585
Changes
- Raise warning message when insecure TLS protocols are in use #591
Breaking Changes
- Modified enclave provider interface
SqlColumnEncryptionEnclaveProviderto 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
SqlClientMetaDataCollectionNamesexposed 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
SqlBulkCopyto work with database columns containing metadata about data classification #568 - Fixed unsafe cast in
SqlExceptionforSerializationEntry.Value - Fixed null reference exceptions in
SqlDelegatedTransactionmethods #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.dllfiles previously downloaded to thebin\x64andbin\x86folders are now namedMicrosoft.Data.SqlClient.SNI.x64.dllandMicrosoft.Data.SqlClient.SNI.x86.dlland will be downloaded to thebindirectory, 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.dllor 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
SqlConnectionOverridesAPIs 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
RowCopiedproperty 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
RowsCopiedproperty inSqlBulkCopyto 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.FindLiveReaderContextobjects #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
Passwordpersistence 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
ArrayListtoList<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 emptyDataTableinstead 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