Skip to content

Preview Release v5.1.0-preview1.22279.3

Pre-release
Pre-release
Compare
Choose a tag to compare
@DavoudEshtehari DavoudEshtehari released this 19 Oct 20:25
· 492 commits to main since this release
02daa6f

[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