From db08d30ce4c3900e84296a262adcca6da9a25a5c Mon Sep 17 00:00:00 2001 From: Davoud Date: Thu, 20 Jul 2023 09:33:09 -0700 Subject: [PATCH 1/3] notes --- CHANGELOG.md | 21 ++++++ release-notes/5.2/5.2.0-preview3.md | 113 ++++++++++++++++++++++++++++ release-notes/5.2/5.2.0.md | 1 + release-notes/5.2/README.md | 1 + 4 files changed, 136 insertions(+) create mode 100644 release-notes/5.2/5.2.0-preview3.md diff --git a/CHANGELOG.md b/CHANGELOG.md index be67e16358..1ce1b57e0e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,27 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +## [Preview Release 5.2.0-preview3.xxxxx.x] - 2023-07-20 + +This update brings the below changes over the previous release: + +### Added + +- Added support of the new .NET [NegotiateAuthentication](https://learn.microsoft.com/en-us/dotnet/api/system.net.security.negotiateauthentication?view=net-7.0) API for .NET 7.0 and above against SSPI token using ManagedSNI. [#2063](https://github.com/dotnet/SqlClient/pull/2063) +- Added new `AccessTokenCallBack` API to `SqlConnection`. [#1260](https://github.com/dotnet/SqlClient/pull/1260) +- Added support `SuperSocketNetLib` registry option for Encrypt on NetCore Windows. [#2047](https://github.com/dotnet/SqlClient/pull/2047) + +### Fixed + +- Fixed `SqlDataAdapter.Fill` and configurable retry logic issue on .NET Framework. [#2084](https://github.com/dotnet/SqlClient/pull/2084) +- Fixed `SqlConnectionEncryptOption` type conversion by introducing the `SqlConnectionEncryptOptionConverter` attribute using **appsettings.json** files. [#2057](https://github.com/dotnet/SqlClient/pull/2057) +- Fixed th-TH culture info issue on Managed SNI. [#2066](https://github.com/dotnet/SqlClient/pull/2066), [#2068](https://github.com/dotnet/SqlClient/pull/2068) + +### Changed + +- Removed `ignoreSniOpenTimeout` in open connection process on Windows. [#2067](https://github.com/dotnet/SqlClient/pull/2067) +- Code health improvements: [#1959](https://github.com/dotnet/SqlClient/pull/1959), [#2071](https://github.com/dotnet/SqlClient/pull/2071), [#2073](https://github.com/dotnet/SqlClient/pull/2073), [#2088](https://github.com/dotnet/SqlClient/pull/2088) + ## [Preview Release 5.2.0-preview2.23159.1] - 2023-06-08 This update brings the below changes over the previous release: diff --git a/release-notes/5.2/5.2.0-preview3.md b/release-notes/5.2/5.2.0-preview3.md new file mode 100644 index 0000000000..b63167fb79 --- /dev/null +++ b/release-notes/5.2/5.2.0-preview3.md @@ -0,0 +1,113 @@ +# Release Notes + +## [Preview Release 5.2.0-preview3.xxxxx.x] - 2023-07-20 + +This update brings the below changes over the previous release: + +### Added + +- Added support of the new .NET [NegotiateAuthentication](https://learn.microsoft.com/en-us/dotnet/api/system.net.security.negotiateauthentication?view=net-7.0) API for .NET 7.0 and above against SSPI token using ManagedSNI. [#2063](https://github.com/dotnet/SqlClient/pull/2063) +- Added new `AccessTokenCallBack` API to `SqlConnection`. [#1260](https://github.com/dotnet/SqlClient/pull/1260) [Read more](#added-new-property-accesstokencallback-to-sqlconnection) +- Added support `SuperSocketNetLib` registry option for Encrypt on NetCore Windows. [#2047](https://github.com/dotnet/SqlClient/pull/2047) + +### Fixed + +- Fixed `SqlDataAdapter.Fill` and configurable retry logic issue on .NET Framework. [#2084](https://github.com/dotnet/SqlClient/pull/2084) +- Fixed `SqlConnectionEncryptOption` type conversion by introducing the `SqlConnectionEncryptOptionConverter` attribute using **appsettings.json** files. [#2057](https://github.com/dotnet/SqlClient/pull/2057) +- Fixed th-TH culture info issue on Managed SNI. [#2066](https://github.com/dotnet/SqlClient/pull/2066), [#2068](https://github.com/dotnet/SqlClient/pull/2068) + +### Changed + +- Removed `ignoreSniOpenTimeout` in open connection process on Windows. [#2067](https://github.com/dotnet/SqlClient/pull/2067) +- Code health improvements: [#1959](https://github.com/dotnet/SqlClient/pull/1959), [#2071](https://github.com/dotnet/SqlClient/pull/2071), [#2073](https://github.com/dotnet/SqlClient/pull/2073), [#2088](https://github.com/dotnet/SqlClient/pull/2088) + +## New feature over preview release v5.2.0-preview2 + +### Added new property `AccessTokenCallBack` to SqlConnection + +SqlConnection supports `TokenCredential` authentication by introducing a new `AccessTokenCallBack` porperty as `Func>` delegate to return a federated authentication access token. + +Example usage: + +```C# + using Microsoft.Data.SqlClient; + using Azure.Identity; + + const string defaultScopeSuffix = "/.default"; + string connectionString = GetConnectionString(); + using SqlConnection connection = new SqlConnection(connectionString); + + connection.AccessTokenCallback = async (authParams, cancellationToken) => + { + var cred = new DefaultAzureCredential(); + string scope = authParams.Resource.EndsWith(defaultScopeSuffix) ? authParams.Resource : authParams.Resource + defaultScopeSuffix; + AccessToken token = await cred.GetTokenAsync(new TokenRequestContext(new[] { scope }), cancellationToken); + return new SqlAuthenticationToken(token.Token, token.ExpiresOn); + } + + connection.Open(); + Console.WriteLine("ServerVersion: {0}", connection.ServerVersion); + Console.WriteLine("State: {0}", connection.State); +``` + +## Target Platform Support + +- .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) + +### Dependencies + +#### .NET Framework + +- Microsoft.Data.SqlClient.SNI 5.1.0 +- Azure.Identity 1.8.0 +- Microsoft.Identity.Client 4.53.0 +- 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.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 6.0.0 + +#### .NET + +- Microsoft.Data.SqlClient.SNI 5.1.0 +- Azure.Identity 1.8.0 +- Microsoft.Identity.Client 4.53.0 +- Microsoft.IdentityModel.JsonWebTokens 6.24.0 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.24.0 +- Microsoft.SqlServer.Server 1.0.0 +- System.Buffers 4.5.1 +- System.Configuration.ConfigurationManager 6.0.1 +- System.Diagnostics.DiagnosticSource 6.0.0 +- System.IO 4.3.0 +- System.Runtime.Caching 6.0.0 +- System.Text.Encoding.CodePages 6.0.0 +- System.Text.Encodings.Web 6.0.0 +- System.Resources.ResourceManager 4.3.0 +- System.Security.Cryptography.Cng 5.0.0 +- System.Security.Principal.Windows 5.0.0 + +#### .NET Standard + +- Microsoft.Data.SqlClient.SNI 5.1.0 +- Azure.Identity 1.6.0 +- Microsoft.Identity.Client 4.53.0 +- 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.IO 4.3.0 +- 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.Resources.ResourceManager 4.3.0 +- System.Security.Cryptography.Cng 5.0.0 +- System.Security.Principal.Windows 5.0.0 diff --git a/release-notes/5.2/5.2.0.md b/release-notes/5.2/5.2.0.md index 6df24c30ce..08571308a7 100644 --- a/release-notes/5.2/5.2.0.md +++ b/release-notes/5.2/5.2.0.md @@ -1,4 +1,5 @@ | Release Date | Version | Notes | | :-- | :-- | :--: | +| 2023/07/20 | 5.2.0-preview3.xxxxx.x | [relese notes](5.2.0-preview3.md) | | 2023/06/08 | 5.2.0-preview2.23159.1 | [relese notes](5.2.0-preview2.md) | | 2023/04/20 | 5.2.0-preview1.23109.1 | [release notes](5.2.0-preview1.md) | diff --git a/release-notes/5.2/README.md b/release-notes/5.2/README.md index 81ca8236cd..5d70d6c7ad 100644 --- a/release-notes/5.2/README.md +++ b/release-notes/5.2/README.md @@ -4,5 +4,6 @@ The following Microsoft.Data.SqlClient 5.2 preview releases have been shipped: | Release Date | Version | Notes | | :-- | :-- | :--: | +| 2023/07/20 | 5.2.0-preview3.xxxxx.x | [relese notes](5.2.0-preview3.md) | | 2023/06/08 | 5.2.0-preview2.23159.1 | [release notes](5.2.0-preview2.md) | | 2023/04/20 | 5.2.0-preview1.23109.1 | [release notes](5.2.0-preview1.md) | From cfc5cf12deb3d199a23d903b3834b8390fb70a10 Mon Sep 17 00:00:00 2001 From: Davoud Date: Thu, 20 Jul 2023 12:41:46 -0700 Subject: [PATCH 2/3] update version --- CHANGELOG.md | 2 +- release-notes/5.2/5.2.0-preview3.md | 2 +- release-notes/5.2/5.2.0.md | 2 +- release-notes/5.2/README.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1ce1b57e0e..9fd0439480 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) -## [Preview Release 5.2.0-preview3.xxxxx.x] - 2023-07-20 +## [Preview Release 5.2.0-preview3.23201.1] - 2023-07-20 This update brings the below changes over the previous release: diff --git a/release-notes/5.2/5.2.0-preview3.md b/release-notes/5.2/5.2.0-preview3.md index b63167fb79..afec74f71f 100644 --- a/release-notes/5.2/5.2.0-preview3.md +++ b/release-notes/5.2/5.2.0-preview3.md @@ -1,6 +1,6 @@ # Release Notes -## [Preview Release 5.2.0-preview3.xxxxx.x] - 2023-07-20 +## [Preview Release 5.2.0-preview3.23201.1] - 2023-07-20 This update brings the below changes over the previous release: diff --git a/release-notes/5.2/5.2.0.md b/release-notes/5.2/5.2.0.md index 08571308a7..5d1675b7a3 100644 --- a/release-notes/5.2/5.2.0.md +++ b/release-notes/5.2/5.2.0.md @@ -1,5 +1,5 @@ | Release Date | Version | Notes | | :-- | :-- | :--: | -| 2023/07/20 | 5.2.0-preview3.xxxxx.x | [relese notes](5.2.0-preview3.md) | +| 2023/07/20 | 5.2.0-preview3.23201.1 | [relese notes](5.2.0-preview3.md) | | 2023/06/08 | 5.2.0-preview2.23159.1 | [relese notes](5.2.0-preview2.md) | | 2023/04/20 | 5.2.0-preview1.23109.1 | [release notes](5.2.0-preview1.md) | diff --git a/release-notes/5.2/README.md b/release-notes/5.2/README.md index 5d70d6c7ad..592b0a61ca 100644 --- a/release-notes/5.2/README.md +++ b/release-notes/5.2/README.md @@ -4,6 +4,6 @@ The following Microsoft.Data.SqlClient 5.2 preview releases have been shipped: | Release Date | Version | Notes | | :-- | :-- | :--: | -| 2023/07/20 | 5.2.0-preview3.xxxxx.x | [relese notes](5.2.0-preview3.md) | +| 2023/07/20 | 5.2.0-preview3.23201.1 | [relese notes](5.2.0-preview3.md) | | 2023/06/08 | 5.2.0-preview2.23159.1 | [release notes](5.2.0-preview2.md) | | 2023/04/20 | 5.2.0-preview1.23109.1 | [release notes](5.2.0-preview1.md) | From 3c17aa10af5a556972640655999f57f328c6dbda Mon Sep 17 00:00:00 2001 From: Davoud Date: Thu, 20 Jul 2023 13:24:44 -0700 Subject: [PATCH 3/3] Address comment --- CHANGELOG.md | 3 ++- release-notes/5.2/5.2.0-preview3.md | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9fd0439480..3879a07c8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,11 +18,12 @@ This update brings the below changes over the previous release: - Fixed `SqlDataAdapter.Fill` and configurable retry logic issue on .NET Framework. [#2084](https://github.com/dotnet/SqlClient/pull/2084) - Fixed `SqlConnectionEncryptOption` type conversion by introducing the `SqlConnectionEncryptOptionConverter` attribute using **appsettings.json** files. [#2057](https://github.com/dotnet/SqlClient/pull/2057) -- Fixed th-TH culture info issue on Managed SNI. [#2066](https://github.com/dotnet/SqlClient/pull/2066), [#2068](https://github.com/dotnet/SqlClient/pull/2068) +- Fixed th-TH culture info issue on Managed SNI. [#2066](https://github.com/dotnet/SqlClient/pull/2066) ### Changed - Removed `ignoreSniOpenTimeout` in open connection process on Windows. [#2067](https://github.com/dotnet/SqlClient/pull/2067) +- Enforcing ordinal for `StringComparison`. [#2068](https://github.com/dotnet/SqlClient/pull/2068) - Code health improvements: [#1959](https://github.com/dotnet/SqlClient/pull/1959), [#2071](https://github.com/dotnet/SqlClient/pull/2071), [#2073](https://github.com/dotnet/SqlClient/pull/2073), [#2088](https://github.com/dotnet/SqlClient/pull/2088) ## [Preview Release 5.2.0-preview2.23159.1] - 2023-06-08 diff --git a/release-notes/5.2/5.2.0-preview3.md b/release-notes/5.2/5.2.0-preview3.md index afec74f71f..775d95eb7f 100644 --- a/release-notes/5.2/5.2.0-preview3.md +++ b/release-notes/5.2/5.2.0-preview3.md @@ -14,11 +14,12 @@ This update brings the below changes over the previous release: - Fixed `SqlDataAdapter.Fill` and configurable retry logic issue on .NET Framework. [#2084](https://github.com/dotnet/SqlClient/pull/2084) - Fixed `SqlConnectionEncryptOption` type conversion by introducing the `SqlConnectionEncryptOptionConverter` attribute using **appsettings.json** files. [#2057](https://github.com/dotnet/SqlClient/pull/2057) -- Fixed th-TH culture info issue on Managed SNI. [#2066](https://github.com/dotnet/SqlClient/pull/2066), [#2068](https://github.com/dotnet/SqlClient/pull/2068) +- Fixed th-TH culture info issue on Managed SNI. [#2066](https://github.com/dotnet/SqlClient/pull/2066) ### Changed - Removed `ignoreSniOpenTimeout` in open connection process on Windows. [#2067](https://github.com/dotnet/SqlClient/pull/2067) +- Enforcing ordinal for `StringComparison`. [#2068](https://github.com/dotnet/SqlClient/pull/2068) - Code health improvements: [#1959](https://github.com/dotnet/SqlClient/pull/1959), [#2071](https://github.com/dotnet/SqlClient/pull/2071), [#2073](https://github.com/dotnet/SqlClient/pull/2073), [#2088](https://github.com/dotnet/SqlClient/pull/2088) ## New feature over preview release v5.2.0-preview2