This update brings the below changes over the previous release:
Thanks to the following public contributors. Their efforts toward this project are very much appreciated.
- Fixed
ReadAsync()behavior to register Cancellation token action before streaming results. #1781 - Fixed
NullReferenceExceptionwhen assigningnulltoSqlConnectionStringBuilder.Encrypt. #1778 - Fixed missing
HostNameInCertificateproperty 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
- Updated
Microsoft.Data.SqlClient.SNI(.NET Framework dependency) andMicrosoft.Data.SqlClient.SNI.runtime(.NET Core/Standard dependency) version to5.1.0-preview1.22278.1. #1787 which includes TLS 1.3 Support and fix for AppDomain crash in issue #1418 - Changed the
SqlConnectionEncryptOptionstring parser to public. #1771 - Converted
ExecuteNonQueryAsyncto use async context object. #1692 - Code health improvements #1604 #1598 #1595 #1443
- When using
Encrypt=Strictwith 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 aSystem.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 statementAppContext.SetSwitch("Switch.Microsoft.Data.SqlClient.UseManagedNetworkingOnWindows", true);to use TLS v1.3 or disabling TLS 1.3 from the registry by assigning0to the followingHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client\Enabledregistry key and it'll use TLS v1.2 for the connection. This will be fixed in a future release.
- .NET Framework 4.6.2+ (Windows x86, Windows x64)
- .NET Core 3.1+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS)
- .NET Standard 2.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS)
- Microsoft.Data.SqlClient.SNI 5.1.0.preview1.22278.1
- Azure.Identity 1.6.0
- Microsoft.Identity.Client 4.45.0
- Microsoft.IdentityModel.JsonWebTokens 6.21.0
- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.21.0
- System.Buffers 4.5.1
- System.Configuration.ConfigurationManager 5.0.0
- System.IO 4.3.0
- System.Runtime.InteropServices.RuntimeInformation 4.3.0
- System.Security.Cryptography.Algorithms 4.3.1
- System.Security.Cryptography.Primitives 4.3.0
- System.Text.Encoding.Web 4.7.2
- Microsoft.Data.SqlClient.SNI 5.1.0.preview1.22278.1
- Azure.Identity 1.6.0
- Microsoft.Identity.Client 4.45.0
- Microsoft.IdentityModel.JsonWebTokens 6.21.0
- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.21.0
- Microsoft.SqlServer.Server 1.0.0
- Microsoft.Win32.Registry 5.0.0
- System.Buffers 4.5.1
- System.Configuration.ConfigurationManager 5.0.0
- System.Diagnostics.DiagnosticSource 5.0.0
- System.IO 4.3.0
- System.Runtime.Caching 5.0.0
- System.Text.Encoding.CodePages 5.0.0
- System.Text.Encodings.Web 4.7.2
- System.Resources.ResourceManager 4.3.0
- System.Security.Cryptography.Cng 5.0.0
- System.Security.Principal.Windows 5.0.0
- Microsoft.Data.SqlClient.SNI 5.1.0.preview1.22278.1
- Azure.Identity 1.6.0
- Microsoft.Identity.Client 4.45.0
- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.21.0
- Microsoft.IdentityModel.JsonWebTokens 6.21.0
- Microsoft.SqlServer.Server 1.0.0
- Microsoft.Win32.Registry 5.0.0
- System.Buffers 4.5.1
- System.Configuration.ConfigurationManager 5.0.0
- System.IO 4.3.0
- System.Runtime.Caching 5.0.0
- System.Text.Encoding.CodePages 5.0.0
- System.Text.Encodings.Web 4.7.2
- System.Runtime.Loader 4.3.0
- System.Resources.ResourceManager 4.3.0
- System.Security.Cryptography.Cng 5.0.0
- System.Security.Principal.Windows 5.0.0