Skip to content

Releases: dotnet/SqlClient

Preview Release v5.2.0-preview1.23109.1

21 Apr 17:57
4657311

Choose a tag to compare

Pre-release

[Preview Release 5.2.0-preview1.23109.1] - 2023-04-20

This update brings the below changes over the v5.1 release:

Added

  • Added support of SqlDiagnosticListener on .NET Standard. #1931

Fixed

  • Fixed AE enclave retry logic for async queries. #1988
  • Fixed activity correlator to continue use of same GUID for connection activity. #1997
  • Fixed behavior when error class is greater than 20 on connection retry. #1953
  • Fixed error message when symmetric key decryption failed using Always Encrypted. #1948
  • Fixed TransactionScope connection issue when Enlist is enable, Pooling is disabled and network connection type is Redirect. #1960
  • Fixed TDS RPC error on large queries in SqlCommand.ExecuteReaderAsync. #1936
  • Fixed throttling of token requests by calling AcquireTokenSilent. #1925
  • Fixed Linux code coverage result in Build proj. #1950
  • Fixed NullReferenceException in GetBytesAsync. #1906
  • Fixed Transient fault handling issue with OpenAsync. #1983
  • Fixed invariant mode checks. #1917
  • Fixed GC behavior in TdsParser by adding array rental capability in TryReadPlpUnicodeChars. #1866

Changed

  • Updated Azure Identity version from 1.7.0 to 1.8.0. #1921
  • Improved parsing buffered characters in TdsParser. #1544
  • Removed reference to Microsoft.Win32.Registry since it's shipped starting with .NET 6.0. #1974
  • Added Microsoft.SqlServer.Types to verify support for SqlHierarchyId and Spatial for .NET Core. #1848
  • Code health improvements:#1943#1949#1198#1829

For detailed release notes, refer to 5.2.0-preview1.md

Stable Release v4.0.3

20 Apr 19:45
893dc7a

Choose a tag to compare

[Stable release 4.0.3] - 2023-04-20

Fixed

  • Fixed throttling of token requests by calling AcquireTokenSilent in AAD Integrated/Password flows when the account is already cached.#1995
  • Fixed TDS RPC error on large queries in SqlCommand.ExecuteReaderAsync.#1987

Stable Release v5.0.2

31 Mar 22:07
5001097

Choose a tag to compare

[Stable release 5.0.2] - 2023-03-31

Fixed

  • Fixed memory leak regression from #1785 using a DisposableTemporaryOnStack struct. #1980
  • Fixed TransactionScope connection issue when Enlist is enabled, Pooling is disabled, and Network Connection Type is set to Redirect. #1978
  • Fixed an incorrect exception when a symmetric key fails to decrypt a column using Always Encrypted. #1977
  • Fixed TDS RPC error on large queries in SqlCommand.ExecuteReaderAsync. #1976
  • Fixed deadlock when using SinglePhaseCommit with distributed transactions. #1975

For summary of all changes over v5.0.1, refer to 5.0.2.md

Stable Release v5.1.1

28 Mar 22:42
8601b68

Choose a tag to compare

[Stable release 5.1.1] - 2023-03-28

Fixed

  • Fixed an incorrect exception when a symmetric key fails to decrypt a column using Always Encrypted. #1968
  • Fixed TransactionScope connection issue when Enlist is enabled, Pooling is disabled, and Network Connection Type is set to Redirect. #1967
  • Fixed throttling of token requests by calling AcquireTokenSilent. #1966
  • Fixed TDS RPC error on large queries in SqlCommand.ExecuteReaderAsync. #1965
  • Fixed NullReferenceException in GetBytesAsync. #1964

For summary of all changes over v5.1.0, refer to 5.1.1.md

Stable Release v3.1.3

10 Mar 23:36
05473b8

Choose a tag to compare

[Stable release 3.1.3] - 2023-03-10

Fixed

  • Fixed throttling of token requests by calling AcquireTokenSilent in AAD Integrated/Password flows when the account is already cached.#1926
  • Fixed TDS RPC error on large queries in SqlCommand.ExecuteReaderAsync.#1939

For summary of all changes over v3.1.2, refer to 3.1.3.md

Stable Release v3.1.2

03 Feb 20:34
16c4f55

Choose a tag to compare

[Stable release 3.1.2] - 2023-02-03

Added

  • Added Windows ARM64 support when targeting .NET Framework. #1908

Fixed

  • Fixed thread safety of transient error list in configurable retry logic. #1911
  • Fixed deadlock when using SinglePhaseCommit with distributed transactions. #1912
  • Fixed Default UTF8 collation conflict. #1910
  • Added CommandText length validation when using stored procedure command types. #1909

For summary of all changes over v3.1.1, refer to 3.1.2.md

Stable Release v5.1.0

19 Jan 21:55
0156df2

Choose a tag to compare

Breaking changes

Added

  • Added support for .NET 6.0. #1704
  • Added support for DateOnly and TimeOnly for SqlParameter value and GetFieldValue. #1813
  • Added support for TLS 1.3 on .NET Core and native SNI. #1821
  • Added ServerCertificate setting for Encrypt=Mandatory or Encrypt=Strict. #1822
  • Added Windows ARM64 support when targeting .NET Framework. #1828

Fixed

  • Fixed thread safety of transient error list in configurable retry logic. #1882
  • Fixed deadlock when using SinglePhaseCommit with distributed transactions. #1801
  • Fixed Dedicated Admin Connections (DAC) to localhost in managed SNI #1865
  • Fixed memory leak regression from #1781 using a DisposableTemporaryOnStack struct. #1818
  • Fixed ReadAsync() behavior to register Cancellation token action before streaming results. #1781
  • Fixed NullReferenceException when assigning null to SqlConnectionStringBuilder.Encrypt. #1778
  • Fixed missing HostNameInCertificate property in .NET Framework Reference Project. #1776
  • Fixed async deadlock issue when sending attention fails due to network failure. #1766
  • Fixed failed connection requests in ConnectionPool in case of PoolBlock. #1768
  • Fixed hang on infinite timeout and managed SNI. #1742
  • Fixed Default UTF8 collation conflict. #1739

Changed

  • Updated Microsoft.Data.SqlClient.SNI (.NET Framework dependency) and Microsoft.Data.SqlClient.SNI.runtime (.NET Core/Standard dependency) version to 5.1.0. #1889 which includes fix for AppDomain crash in issue #1418, TLS 1.3 Support, removal of ARM32 binaries, and support for the ServerCertificate option. #1822 Read more
  • Reverted "Excluding unsupported TLS protocols" for issue #1151 (i.e. removed Switch.Microsoft.Data.SqlClient.EnableSecureProtocolsByOS) by adding support for TLS 1.3. #1824
  • Changed the SqlConnectionEncryptOption string parser to public. #1771
  • Converted ExecuteNonQueryAsync to use async context object. #1692
  • Code health improvements #1867 #1849 #1812 #1520 #1604 #1598 #1595 #1443

For summary of all changes over v5.0, refer to 5.1.0.md

Preview Release 5.1.0-preview2.22314.2

11 Nov 00:14
db73b4b

Choose a tag to compare

Pre-release

[Preview Release 5.1.0-preview2.22314.2] - 2022-11-10

This update brings the below changes over the previous release:

Breaking changes over preview release v5.1.0-preview1

  • Add support for .NET 6.0 and Dropped support for .NET Core 3.1. #1704 #1823

Added

  • Added support for DateOnly and TimeOnly for SqlParameter value and GetFieldValue. #1813
  • Added support for TLS 1.3 for .NET Core and SNI Native. #1821
  • Added ServerCertificate support for Encrypt=Mandatory or Encrypt=Strict. #1822
  • Added Windows ARM64 support when targeting .NET Framework. #1828

Fixed

  • Fixed memory leak regression from #1781 using a DisposableTemporaryOnStack struct. #1818

Changed

  • Updated Microsoft.Data.SqlClient.SNI (.NET Framework dependency) and Microsoft.Data.SqlClient.SNI.runtime (.NET Core/Standard dependency) version to 5.1.0-preview2.22311.2. #1831 which includes the fix for the TLS 1.3 timeout and double handshake issue, removal of ARM32 binaries, and support for the ServerCertificate option. #1822
  • Reverted "Excluding unsupported TLS protocols" for issue #1151 (i.e. removed Switch.Microsoft.Data.SqlClient.EnableSecureProtocolsByOS) by adding support for TLS 1.3. #1824
  • Code health improvements #1812 #1520

For detailed release notes, refer to 5.1.0-preview2.md

Preview Release v5.1.0-preview1.22279.3

19 Oct 20:25
02daa6f

Choose a tag to compare

Pre-release

[Preview Release 5.1.0-preview1.22279.3] - 2022-10-19

This update brings the below changes over the stable release v5.0.0:

Fixed

  • Fixed ReadAsync() behavior to register Cancellation token action before streaming results. #1781
  • Fixed NullReferenceException when assigning null to SqlConnectionStringBuilder.Encrypt. #1778
  • Fixed missing HostNameInCertificate property in .NET Framework Reference Project. #1776
  • Fixed async deadlock issue when sending attention fails due to network failure. #1766
  • Fixed failed connection requests in ConnectionPool in case of PoolBlock. #1768
  • Fixed hang on infinite timeout and managed SNI. #1742
  • Fixed Default UTF8 collation conflict. #1739

Changed

  • Updated Microsoft.Data.SqlClient.SNI (.NET Framework dependency) and Microsoft.Data.SqlClient.SNI.runtime (.NET Core/Standard dependency) version to 5.1.0-preview1.22278.1. #1787 which includes TLS 1.3 Support and fix for AppDomain crash in issue #1418
  • Changed the SqlConnectionEncryptOption string parser to public. #1771
  • Converted ExecuteNonQueryAsync to use async context object. #1692
  • Code health improvements #1604 #1598 #1595 #1443

Known issues

  • When using Encrypt=Strict with TLS v1.3, the TLS handshake occurs twice on initial connection on .NET Framework due to a timeout during the TLS handshake and a retry helper re-establishes the connection; however, on .NET Core, it will throw a System.ComponentModel.Win32Exception (258): The wait operation timed out. and is being investigated. If you're using Microsoft.Data.SqlClient with .NET Core on Windows 11, you will need to enable the managed SNI on Windows context switch using following statement AppContext.SetSwitch("Switch.Microsoft.Data.SqlClient.UseManagedNetworkingOnWindows", true); to use TLS v1.3 or disabling TLS 1.3 from the registry by assigning 0 to the following HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client\Enabled registry key and it'll use TLS v1.2 for the connection. This will be fixed in a future release.

For detailed release notes, refer to 5.1.0-preview1.md

Stable Release v5.0.1

11 Oct 19:01
711b72c

Choose a tag to compare

Fixed

  • Fixed missing HostNameInCertificate connection string property in .NET Framework. #1782
  • Fixed async deadlock issue when sending attention fails due to network failure. #1783
  • Fixed Null Reference Exception on assigning null to SqlConnectionStringBuilder.Encrypt. #1784
  • Fixed ReadAsync() behavior to register Cancellation token action before streaming results. #1785
  • Fixed hang on infinite timeout and managed SNI. #1798
  • Fixed Default UTF8 collation conflict. #1799

Changed

  • Updated Microsoft.Data.SqlClient.SNI (.NET Framework dependency) and Microsoft.Data.SqlClient.SNI.runtime (.NET Core/Standard dependency) version to 5.0.1 #1795, which includes the fix for AppDomain crash in issue #1418.