This update includes the following changes over the 5.0 release:
Thanks to the following public contributors. Their efforts toward this project are very much appreciated.
- Added support for .NET 6.0. #1704
- Added support for
DateOnly
andTimeOnly
forSqlParameter
value andGetFieldValue
. #1813 - Added support for TLS 1.3 on .NET Core and native SNI. #1821
- Added
ServerCertificate
setting forEncrypt=Mandatory
orEncrypt=Strict
. #1822 Read more - Added Windows ARM64 support when targeting .NET Framework. #1828
- 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 assigningnull
toSqlConnectionStringBuilder.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
- Updated
Microsoft.Data.SqlClient.SNI
(.NET Framework dependency) andMicrosoft.Data.SqlClient.SNI.runtime
(.NET Core/Standard dependency) version to5.1.0
. #1889 which includes fix for AppDomain crash in issue #1418, TLS 1.3 Support, removal of ARM32 binaries, and support for theServerCertificate
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
The default value of the ServerCertificate
connection setting is an empty string. When Encrypt
is set to Mandatory
or Strict
, ServerCertificate
can be used to specify a path on the file system to a certificate file to match against the SQL Server's TLS/SSL certificate. For this to be valid, the certificate specified must be an exact match. The accepted certificate formats are PEM
, DER
, and CER
. Here is an example:
"Data Source=...;Encrypt=Strict;ServerCertificate=C:\\certificates\\server.cer"
- .NET Framework 4.6.2+ (Windows x86, Windows x64)
- .NET 6.0+ (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
- Azure.Identity 1.7.0
- Microsoft.Identity.Client 4.47.2
- Microsoft.IdentityModel.JsonWebTokens 6.24.0
- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.24.0
- System.Buffers 4.5.1
- System.Configuration.ConfigurationManager 6.0.1
- System.Runtime.InteropServices.RuntimeInformation 4.3.0
- System.Text.Encoding.Web 6.0.0
- Microsoft.Data.SqlClient.SNI.runtime 5.1.0
- Azure.Identity 1.7.0
- Microsoft.Identity.Client 4.47.2
- Microsoft.IdentityModel.JsonWebTokens 6.24.0
- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.24.0
- Microsoft.SqlServer.Server 1.0.0
- System.Configuration.ConfigurationManager 6.0.1
- System.Diagnostics.DiagnosticSource 6.0.0
- System.Runtime.Caching 6.0.0
- System.Text.Encoding.CodePages 6.0.0
- System.Text.Encodings.Web 6.0.0
- System.Security.Cryptography.Cng 5.0.0
- System.Security.Principal.Windows 5.0.0
- Microsoft.Data.SqlClient.SNI.runtime 5.1.0
- Azure.Identity 1.7.0
- Microsoft.Identity.Client 4.47.2
- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.24.0
- Microsoft.IdentityModel.JsonWebTokens 6.24.0
- Microsoft.SqlServer.Server 1.0.0
- Microsoft.Win32.Registry 5.0.0
- System.Buffers 4.5.1
- System.Configuration.ConfigurationManager 6.0.1
- System.Runtime.Caching 6.0.0
- System.Text.Encoding.CodePages 6.0.0
- System.Text.Encodings.Web 6.0.0
- System.Runtime.Loader 4.3.0
- System.Security.Cryptography.Cng 5.0.0
- System.Security.Principal.Windows 5.0.0