From 26b0f3506083eef26b9e87925c93c7e3e3f32375 Mon Sep 17 00:00:00 2001 From: Johnny Pham Date: Mon, 8 Jun 2020 12:28:28 -0700 Subject: [PATCH 01/18] Set up CI with Azure Pipelines [skip ci] --- azure-pipelines.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 azure-pipelines.yml diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 0000000000..2020209994 --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,3 @@ +- task: CmdLine@2 + inputs: + script: 'SET' \ No newline at end of file From 3da84f8b0139f549561022e107741e5bf5b7c7a5 Mon Sep 17 00:00:00 2001 From: Johnny Pham Date: Mon, 8 Jun 2020 14:03:26 -0700 Subject: [PATCH 02/18] Delete azure-pipelines.yml --- azure-pipelines.yml | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 azure-pipelines.yml diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index 2020209994..0000000000 --- a/azure-pipelines.yml +++ /dev/null @@ -1,3 +0,0 @@ -- task: CmdLine@2 - inputs: - script: 'SET' \ No newline at end of file From d02b69c55c2ccb45c5bc65af7121b781d30c93b9 Mon Sep 17 00:00:00 2001 From: Johnny Pham Date: Mon, 8 Jun 2020 12:28:28 -0700 Subject: [PATCH 03/18] Set up CI with Azure Pipelines [skip ci] --- azure-pipelines.yml | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 azure-pipelines.yml diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 0000000000..2020209994 --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,3 @@ +- task: CmdLine@2 + inputs: + script: 'SET' \ No newline at end of file From 896caa151d55c67ff7f18b7ce32d4cc2eec425ca Mon Sep 17 00:00:00 2001 From: Johnny Pham Date: Mon, 8 Jun 2020 14:03:26 -0700 Subject: [PATCH 04/18] Delete azure-pipelines.yml --- azure-pipelines.yml | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 azure-pipelines.yml diff --git a/azure-pipelines.yml b/azure-pipelines.yml deleted file mode 100644 index 2020209994..0000000000 --- a/azure-pipelines.yml +++ /dev/null @@ -1,3 +0,0 @@ -- task: CmdLine@2 - inputs: - script: 'SET' \ No newline at end of file From 6fe976c5e3d4241dc226a2259cd0ad3d29205bba Mon Sep 17 00:00:00 2001 From: Johnny Pham <23270162+johnnypham@users.noreply.github.com> Date: Thu, 22 Oct 2020 16:53:13 -0700 Subject: [PATCH 05/18] release notes for 2.1.0-preview2 --- CHANGELOG.md | 19 +++ release-notes/2.1/2.1.0-preview2.md | 190 ++++++++++++++++++++++++++++ release-notes/2.1/2.1.md | 1 + release-notes/2.1/README.md | 1 + 4 files changed, 211 insertions(+) create mode 100644 release-notes/2.1/2.1.0-preview2.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f11549b0f..ba013c203e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,25 @@ 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 2.1.0-preview2.20235.2] - 2020-10-21 + +### Added +- Added support for Azure Active Directory Managed Identity authentication [#730](https://github.com/dotnet/SqlClient/pull/730) +- Added support to use a user-defined application client ID when using Active Directory authentication [#740](https://github.com/dotnet/SqlClient/pull/740) +- Added "Command Timeout" connection string property to set a default timeout for all commands executed with the connection [#722](https://github.com/dotnet/SqlClient/pull/722) +- Added support for Always Encrypted on all supported platforms for .NET Standard 2.0 [#756](https://github.com/dotnet/SqlClient/pull/756) + +### Fixed +- Fixed unobserved exception issue when a timeout occurs before a task completes with an exception [#688](https://github.com/dotnet/SqlClient/pull/688) + +### Changes +- Updated Microsoft.Data.SqlClient.SNI (.NET Framework dependency) and Microsoft.Data.SqlClient.SNI.runtime (.NET Core/Standard dependency) version to v2.1.1 with removed symbols, which are now published to Microsoft Symbols Server [#764](https://github.com/dotnet/SqlClient/pull/764) +- Updated Microsoft.Identity.Client dependency version to v4.21.1 [#765](https://github.com/dotnet/SqlClient/pull/765) +- Performance improvements when establishing an encrypted channel by removing sync over async method calls [#541](https://github.com/dotnet/SqlClient/pull/541) +- Performance improvements in `TdsParser` by replacing heap-allocated arrays with Spans [#667](https://github.com/dotnet/SqlClient/pull/667) +- Moved common files to shared folder between .NET Framework and .NET Core implementation [#734](https://github.com/dotnet/SqlClient/pull/734) [#753](https://github.com/dotnet/SqlClient/pull/753) + + ## [Stable Release 2.0.1] - 2020-08-25 ### Added diff --git a/release-notes/2.1/2.1.0-preview2.md b/release-notes/2.1/2.1.0-preview2.md new file mode 100644 index 0000000000..d0a49c9add --- /dev/null +++ b/release-notes/2.1/2.1.0-preview2.md @@ -0,0 +1,190 @@ +# Release Notes + +## Microsoft.Data.SqlClient 2.1.0-preview2.20235.1 released 21 October 2020 + +This update brings the below changes over the previous release: + +### Added +- Added support for Azure Active Directory Managed Identity authentication [#730](https://github.com/dotnet/SqlClient/pull/730) [[Read more](#Azure-Active-Directory-Managed-Identity-authentication)] +- Added support to use a user-defined application client ID when using Active Directory authentication [#740](https://github.com/dotnet/SqlClient/pull/740) [Read more](#Azure-Active-Directory-authentication-using-an-application-client-ID) +- Added "Command Timeout" connection string property to set a default timeout for all commands executed with the connection [#722](https://github.com/dotnet/SqlClient/pull/722) [[Read more](#Data-Classification-v2-support)] +- Added support for Always Encrypted on all supported platforms for .NET Standard 2.0 [#756](https://github.com/dotnet/SqlClient/pull/756) [[Read more](#Always-Encrypted-support-for-.NET-Standard-2.0)] + +### Fixed +- Fixed unobserved exception issue when a timeout occurs before a task completes with an exception [#688](https://github.com/dotnet/SqlClient/pull/688) + +### Changes +- Updated Microsoft.Data.SqlClient.SNI (.NET Framework dependency) and Microsoft.Data.SqlClient.SNI.runtime (.NET Core/Standard dependency) version to v2.1.1 with removed symbols, which are now published to Microsoft Symbols Server [#764](https://github.com/dotnet/SqlClient/pull/764) [[Read more](#Removal-of-symbols-from-Native-SNI)] +- Updated Microsoft.Identity.Client dependency version to v4.21.1 [#765](https://github.com/dotnet/SqlClient/pull/765) +- Performance improvements when establishing an encrypted channel by removing sync over async method calls [#541](https://github.com/dotnet/SqlClient/pull/541) +- Performance improvements in `TdsParser` by replacing heap-allocated arrays with Spans [#667](https://github.com/dotnet/SqlClient/pull/667) +- Moved common files to shared folder between .NET Framework and .NET Core implementation [#734](https://github.com/dotnet/SqlClient/pull/734) [#753](https://github.com/dotnet/SqlClient/pull/753) + +## New features over Preview release v2.1.0-preview1 + +### Azure Active Directory Managed Identity authentication +This preview release provides support for Azure Active Directory authentication using [managed identities](https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview). + +The following authentication mode keywords are supported: +- Active Directory Managed Identity +- Active Directory MSI (for cross MS SQL drivers compatibility) + +Connection string examples: + +`// For System Assigned Managed Identity` +`"Server:{serverURL}; Authentication=Active Directory MSI; Initial Catalog={db};"` + +`// For System Assigned Managed Identity` +`"Server:{serverURL}; Authentication=Active Directory Managed Identity; Initial Catalog={db};"` + +`// For User Assigned Managed Identity` +`"Server:{serverURL}; Authentication=Active Directory MSI; User Id={ObjectIdOfManagedIdentity}; Initial Catalog={db};"` + +// For User Assigned Managed Identity` +``"Server:{serverURL}; Authentication=Active Directory Managed Identity; User Id={ObjectIdOfManagedIdentity}; Initial Catalog={db};"` + + +### Azure Active Directory authentication using an application client ID +This preview release provides support for passing a user-defined application client ID to the Microsoft Authentication Library, which will be used when authenticating with Azure Active Directory. + +The following new APIs are introduced: + +1. A new constructor has been introduced in ActiveDirectoryAuthenticationProvider: +*[Applies to all .NET Platforms (.NET Framework, .NET Core and .NET Standard)]* +```csharp +public ActiveDirectoryAuthenticationProvider(string applicationClientId) +``` + +Usage: +```csharp +string APP_CLIENT_ID = ""; +SqlAuthenticationProvider customAuthProvider = new ActiveDirectoryAuthenticationProvider(APP_CLIENT_ID); +SqlAuthenticationProvider.SetProvider(SqlAuthenticationMethod.ActiveDirectoryInteractive, customAuthProvider); + +using (SqlConnection sqlConnection = new SqlConnection("") +{ + sqlConnection.Open(); +} +``` + +2. A new configuration property has been introduced under `SqlAuthenticationProviderConfigurationSection` and `SqlClientAuthenticationProviderConfigurationSection`: +*[Applies to .NET Framework and .NET Core]* + +```csharp +internal class SqlAuthenticationProviderConfigurationSection : ConfigurationSection +{ + ... + [ConfigurationProperty("applicationClientId", IsRequired = false)] + public string ApplicationClientId => this["applicationClientId"] as string; +} + +// Inheritance +internal class SqlClientAuthenticationProviderConfigurationSection : SqlAuthenticationProviderConfigurationSection +{ ... } +``` + +Usage: +```xml + + +
+ + + + + + + + +
+ + + +``` + +### "Command Timeout" connection string property +This preview release introduces the "Command Timeout" connection string property to override the default 30 second command timeout. The timeout for individual commands can be overridden using the `CommandTimeout` property. + +Connection string examples: + +`"Server:{serverURL}; Initial Catalog={db}; Integrated Security=true; Command Timeout=60"` + +### Always Encrypted support for .NET Standard 2.0 +This preview release extends support for Always Encrypted on the following platforms: + +| Target Framework | Platform | New Feature support | +|------------------|----------|----| +| .NET Framework v4.6+ | Windows | *No changes* | +| .NET Core 2.1+ | All Operating Systems | *No changes* | +| .NET Standard 2.0 | All Operating Systems | Yes, Support on All Operating Systems (without enclaves) | +| .NET Standard 2.1+ | All Operating Systems | *No changes* | + +### Removal of symbols from Native SNI +We've removed the symbols introduced in [v2.0.0](https://www.nuget.org/packages/Microsoft.Data.SqlClient.SNI/2.0.0) from [Microsoft.Data.SqlClient.SNI.runtime](https://www.nuget.org/packages/Microsoft.Data.SqlClient.SNI.runtime) NuGet starting with [v2.1.1](https://www.nuget.org/packages/Microsoft.Data.SqlClient.SNI.runtime/2.1.1). The public symbols are now published to Microsoft Symbols Server for tools like BinSkim that require access to public symbols. + +## Target Platform Support + +- .NET Framework 4.6+ (Windows x86, Windows x64) +- .NET Core 2.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) + +### Dependencies + +#### .NET Framework + +- Microsoft.Data.SqlClient.SNI 2.1.1 +- Microsoft.Identity.Client 4.21.1 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 5.6.0 +- Microsoft.IdentityModel.JsonWebTokens 5.6.0 + +#### .NET Core 2.1 + +- Microsoft.Data.SqlClient.SNI.runtime 2.1.1 +- Microsoft.Win32.Registry 4.7.0 +- System.Security.Principal.Windows 4.7.0 +- System.Text.Encoding.CodePages 4.7.0 +- System.Diagnostics.DiagnosticSource 4.7.0 +- System.Configuration.ConfigurationManager 4.7.0 +- System.Runtime.Caching 4.7.0 +- Microsoft.Identity.Client 4.21.1 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 5.6.0 +- Microsoft.IdentityModel.JsonWebTokens 5.6.0 + +#### .NET Core 3.1 + +- Microsoft.Data.SqlClient.SNI.runtime 2.1.1 +- Microsoft.Win32.Registry 4.7.0 +- System.Security.Principal.Windows 4.7.0 +- System.Text.Encoding.CodePages 4.7.0 +- System.Diagnostics.DiagnosticSource 4.7.0 +- System.Configuration.ConfigurationManager 4.7.0 +- System.Runtime.Caching 4.7.0 +- Microsoft.Identity.Client 4.21.1 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 5.6.0 +- Microsoft.IdentityModel.JsonWebTokens 5.6.0 + +#### .NET Standard 2.0 + +- Microsoft.Data.SqlClient.SNI.runtime 2.1.1 +- Microsoft.Win32.Registry 4.7.0 +- System.Buffers 4.5.1 +- System.Memory 4.5.4 +- System.Security.Principal.Windows 4.7.0 +- System.Text.Encoding.CodePages 4.7.0 +- Microsoft.Identity.Client 4.21.1 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 5.6.0 +- Microsoft.IdentityModel.JsonWebTokens 5.6.0 + +#### .NET Standard 2.1 + +- Microsoft.Data.SqlClient.SNI.runtime 2.1.1 +- Microsoft.Win32.Registry 4.7.0 +- System.Buffers 4.5.1 +- System.Memory 4.5.4 +- System.Security.Principal.Windows 4.7.0 +- System.Text.Encoding.CodePages 4.7.0 +- Microsoft.Identity.Client 4.21.1 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 5.6.0 +- Microsoft.IdentityModel.JsonWebTokens 5.6.0 diff --git a/release-notes/2.1/2.1.md b/release-notes/2.1/2.1.md index 67805fbbfa..547290f3f3 100644 --- a/release-notes/2.1/2.1.md +++ b/release-notes/2.1/2.1.md @@ -4,4 +4,5 @@ The following Microsoft.Data.SqlClient 2.1 preview releases have been shipped: | Release Date | Version | Notes | | :-- | :-- | :--: | +| 2020/08/21 | 2.1.0-preview2.20235.1 | [release notes](2.1.0-preview2.md) | | 2020/08/21 | 2.1.0-preview1.20235.1 | [release notes](2.1.0-preview1.md) | diff --git a/release-notes/2.1/README.md b/release-notes/2.1/README.md index 67805fbbfa..547290f3f3 100644 --- a/release-notes/2.1/README.md +++ b/release-notes/2.1/README.md @@ -4,4 +4,5 @@ The following Microsoft.Data.SqlClient 2.1 preview releases have been shipped: | Release Date | Version | Notes | | :-- | :-- | :--: | +| 2020/08/21 | 2.1.0-preview2.20235.1 | [release notes](2.1.0-preview2.md) | | 2020/08/21 | 2.1.0-preview1.20235.1 | [release notes](2.1.0-preview1.md) | From 15aa865f352eae5fc92e7fb378d839fe140b6fda Mon Sep 17 00:00:00 2001 From: Johnny Pham <23270162+johnnypham@users.noreply.github.com> Date: Thu, 22 Oct 2020 17:15:50 -0700 Subject: [PATCH 06/18] typos --- CHANGELOG.md | 12 ++++---- release-notes/2.1/2.1.0-preview2.md | 45 +++++++++++++++-------------- 2 files changed, 30 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba013c203e..4cbd096465 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,18 +8,18 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ### Added - Added support for Azure Active Directory Managed Identity authentication [#730](https://github.com/dotnet/SqlClient/pull/730) -- Added support to use a user-defined application client ID when using Active Directory authentication [#740](https://github.com/dotnet/SqlClient/pull/740) -- Added "Command Timeout" connection string property to set a default timeout for all commands executed with the connection [#722](https://github.com/dotnet/SqlClient/pull/722) +- Added support to provide a user-defined application client ID when using Active Directory authentication [#740](https://github.com/dotnet/SqlClient/pull/740) +- Added the "Command Timeout" connection string property to set a default timeout for all commands executed with the connection [#722](https://github.com/dotnet/SqlClient/pull/722) - Added support for Always Encrypted on all supported platforms for .NET Standard 2.0 [#756](https://github.com/dotnet/SqlClient/pull/756) ### Fixed -- Fixed unobserved exception issue when a timeout occurs before a task completes with an exception [#688](https://github.com/dotnet/SqlClient/pull/688) +- Fixed unobserved exception issue when a timeout occurs before a faulted task completes with an exception [#688](https://github.com/dotnet/SqlClient/pull/688) ### Changes -- Updated Microsoft.Data.SqlClient.SNI (.NET Framework dependency) and Microsoft.Data.SqlClient.SNI.runtime (.NET Core/Standard dependency) version to v2.1.1 with removed symbols, which are now published to Microsoft Symbols Server [#764](https://github.com/dotnet/SqlClient/pull/764) -- Updated Microsoft.Identity.Client dependency version to v4.21.1 [#765](https://github.com/dotnet/SqlClient/pull/765) +- Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `v2.1.1` with removed symbols, which are now published to Microsoft Symbols Server [#764](https://github.com/dotnet/SqlClient/pull/764) +- Updated `Microsoft.Identity.Client` dependency version to `v4.21.1` [#765](https://github.com/dotnet/SqlClient/pull/765) - Performance improvements when establishing an encrypted channel by removing sync over async method calls [#541](https://github.com/dotnet/SqlClient/pull/541) -- Performance improvements in `TdsParser` by replacing heap-allocated arrays with Spans [#667](https://github.com/dotnet/SqlClient/pull/667) +- Performance improvements by replacing heap-allocated arrays with Spans [#667](https://github.com/dotnet/SqlClient/pull/667) - Moved common files to shared folder between .NET Framework and .NET Core implementation [#734](https://github.com/dotnet/SqlClient/pull/734) [#753](https://github.com/dotnet/SqlClient/pull/753) diff --git a/release-notes/2.1/2.1.0-preview2.md b/release-notes/2.1/2.1.0-preview2.md index d0a49c9add..3b0ea81a41 100644 --- a/release-notes/2.1/2.1.0-preview2.md +++ b/release-notes/2.1/2.1.0-preview2.md @@ -6,18 +6,18 @@ This update brings the below changes over the previous release: ### Added - Added support for Azure Active Directory Managed Identity authentication [#730](https://github.com/dotnet/SqlClient/pull/730) [[Read more](#Azure-Active-Directory-Managed-Identity-authentication)] -- Added support to use a user-defined application client ID when using Active Directory authentication [#740](https://github.com/dotnet/SqlClient/pull/740) [Read more](#Azure-Active-Directory-authentication-using-an-application-client-ID) -- Added "Command Timeout" connection string property to set a default timeout for all commands executed with the connection [#722](https://github.com/dotnet/SqlClient/pull/722) [[Read more](#Data-Classification-v2-support)] -- Added support for Always Encrypted on all supported platforms for .NET Standard 2.0 [#756](https://github.com/dotnet/SqlClient/pull/756) [[Read more](#Always-Encrypted-support-for-.NET-Standard-2.0)] +- Added support to provide a user-defined application client ID when using Active Directory authentication [#740](https://github.com/dotnet/SqlClient/pull/740) [[Read more](#Azure-Active-Directory-authentication-using-an-application-client-ID)] +- Added the "Command Timeout" connection string property to set a default timeout for all commands executed with the connection [#722](https://github.com/dotnet/SqlClient/pull/722) [[Read more](#Command-Timeout-connection-string-property)] +- Added support for Always Encrypted on all supported platforms for .NET Standard 2.0 [#756](https://github.com/dotnet/SqlClient/pull/756) [[Read more](#Increased-support-for-Always-Encrypted)] ### Fixed - Fixed unobserved exception issue when a timeout occurs before a task completes with an exception [#688](https://github.com/dotnet/SqlClient/pull/688) ### Changes -- Updated Microsoft.Data.SqlClient.SNI (.NET Framework dependency) and Microsoft.Data.SqlClient.SNI.runtime (.NET Core/Standard dependency) version to v2.1.1 with removed symbols, which are now published to Microsoft Symbols Server [#764](https://github.com/dotnet/SqlClient/pull/764) [[Read more](#Removal-of-symbols-from-Native-SNI)] -- Updated Microsoft.Identity.Client dependency version to v4.21.1 [#765](https://github.com/dotnet/SqlClient/pull/765) +- Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `v2.1.1` with removed symbols, which are now published to Microsoft Symbols Server [#764](https://github.com/dotnet/SqlClient/pull/764) [[Read more](#Removal-of-symbols-from-Native-SNI)] +- Updated `Microsoft.Identity.Client` dependency version to `v4.21.1` [#765](https://github.com/dotnet/SqlClient/pull/765) - Performance improvements when establishing an encrypted channel by removing sync over async method calls [#541](https://github.com/dotnet/SqlClient/pull/541) -- Performance improvements in `TdsParser` by replacing heap-allocated arrays with Spans [#667](https://github.com/dotnet/SqlClient/pull/667) +- Performance improvements by replacing heap-allocated arrays with Spans [#667](https://github.com/dotnet/SqlClient/pull/667) - Moved common files to shared folder between .NET Framework and .NET Core implementation [#734](https://github.com/dotnet/SqlClient/pull/734) [#753](https://github.com/dotnet/SqlClient/pull/753) ## New features over Preview release v2.1.0-preview1 @@ -31,17 +31,19 @@ The following authentication mode keywords are supported: Connection string examples: -`// For System Assigned Managed Identity` -`"Server:{serverURL}; Authentication=Active Directory MSI; Initial Catalog={db};"` +```cs +// For System Assigned Managed Identity +"Server:{serverURL}; Authentication=Active Directory MSI; Initial Catalog={db};" -`// For System Assigned Managed Identity` -`"Server:{serverURL}; Authentication=Active Directory Managed Identity; Initial Catalog={db};"` +// For System Assigned Managed Identity +"Server:{serverURL}; Authentication=Active Directory Managed Identity; Initial Catalog={db};" -`// For User Assigned Managed Identity` -`"Server:{serverURL}; Authentication=Active Directory MSI; User Id={ObjectIdOfManagedIdentity}; Initial Catalog={db};"` +// For User Assigned Managed Identity +"Server:{serverURL}; Authentication=Active Directory MSI; User Id={ObjectIdOfManagedIdentity}; Initial Catalog={db};" -// For User Assigned Managed Identity` -``"Server:{serverURL}; Authentication=Active Directory Managed Identity; User Id={ObjectIdOfManagedIdentity}; Initial Catalog={db};"` +// For User Assigned Managed Identity +"Server:{serverURL}; Authentication=Active Directory Managed Identity; User Id={ObjectIdOfManagedIdentity}; Initial Catalog={db};" +``` ### Azure Active Directory authentication using an application client ID @@ -50,7 +52,7 @@ This preview release provides support for passing a user-defined application cli The following new APIs are introduced: 1. A new constructor has been introduced in ActiveDirectoryAuthenticationProvider: -*[Applies to all .NET Platforms (.NET Framework, .NET Core and .NET Standard)]* +_[Applies to all .NET Platforms (.NET Framework, .NET Core and .NET Standard)]_ ```csharp public ActiveDirectoryAuthenticationProvider(string applicationClientId) ``` @@ -68,7 +70,7 @@ using (SqlConnection sqlConnection = new SqlConnection("") ``` 2. A new configuration property has been introduced under `SqlAuthenticationProviderConfigurationSection` and `SqlClientAuthenticationProviderConfigurationSection`: -*[Applies to .NET Framework and .NET Core]* +_[Applies to .NET Framework and .NET Core]_ ```csharp internal class SqlAuthenticationProviderConfigurationSection : ConfigurationSection @@ -105,25 +107,26 @@ Usage: ``` ### "Command Timeout" connection string property -This preview release introduces the "Command Timeout" connection string property to override the default 30 second command timeout. The timeout for individual commands can be overridden using the `CommandTimeout` property. +This preview release introduces the "Command Timeout" connection string property to override the default of 30 seconds. The timeout for individual commands can be overridden using the `CommandTimeout` property. Connection string examples: `"Server:{serverURL}; Initial Catalog={db}; Integrated Security=true; Command Timeout=60"` -### Always Encrypted support for .NET Standard 2.0 +### Increased support for Always Encrypted This preview release extends support for Always Encrypted on the following platforms: | Target Framework | Platform | New Feature support | |------------------|----------|----| | .NET Framework v4.6+ | Windows | *No changes* | -| .NET Core 2.1+ | All Operating Systems | *No changes* | -| .NET Standard 2.0 | All Operating Systems | Yes, Support on All Operating Systems (without enclaves) | -| .NET Standard 2.1+ | All Operating Systems | *No changes* | +| .NET Core 2.1+ | All operating systems | *No changes* | +| .NET Standard 2.0 | All operating systems | Yes, support on all operating systems (without enclaves) | +| .NET Standard 2.1+ | All operating systems | *No changes* | ### Removal of symbols from Native SNI We've removed the symbols introduced in [v2.0.0](https://www.nuget.org/packages/Microsoft.Data.SqlClient.SNI/2.0.0) from [Microsoft.Data.SqlClient.SNI.runtime](https://www.nuget.org/packages/Microsoft.Data.SqlClient.SNI.runtime) NuGet starting with [v2.1.1](https://www.nuget.org/packages/Microsoft.Data.SqlClient.SNI.runtime/2.1.1). The public symbols are now published to Microsoft Symbols Server for tools like BinSkim that require access to public symbols. + ## Target Platform Support - .NET Framework 4.6+ (Windows x86, Windows x64) From e528bc04f45fd5815b2df597d980dfa3caed6c49 Mon Sep 17 00:00:00 2001 From: Johnny Pham <23270162+johnnypham@users.noreply.github.com> Date: Thu, 22 Oct 2020 17:20:28 -0700 Subject: [PATCH 07/18] Update 2.1.0-preview2.md --- release-notes/2.1/2.1.0-preview2.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/release-notes/2.1/2.1.0-preview2.md b/release-notes/2.1/2.1.0-preview2.md index 3b0ea81a41..2781b4298c 100644 --- a/release-notes/2.1/2.1.0-preview2.md +++ b/release-notes/2.1/2.1.0-preview2.md @@ -51,8 +51,9 @@ This preview release provides support for passing a user-defined application cli The following new APIs are introduced: -1. A new constructor has been introduced in ActiveDirectoryAuthenticationProvider: +1. A new constructor has been introduced in ActiveDirectoryAuthenticationProvider:\ _[Applies to all .NET Platforms (.NET Framework, .NET Core and .NET Standard)]_ + ```csharp public ActiveDirectoryAuthenticationProvider(string applicationClientId) ``` @@ -69,7 +70,7 @@ using (SqlConnection sqlConnection = new SqlConnection("") } ``` -2. A new configuration property has been introduced under `SqlAuthenticationProviderConfigurationSection` and `SqlClientAuthenticationProviderConfigurationSection`: +2. A new configuration property has been introduced under `SqlAuthenticationProviderConfigurationSection` and `SqlClientAuthenticationProviderConfigurationSection`:\ _[Applies to .NET Framework and .NET Core]_ ```csharp From 752c6ad7032624fbb5db898bb5ef774cc1f57f8a Mon Sep 17 00:00:00 2001 From: Johnny Pham <23270162+johnnypham@users.noreply.github.com> Date: Fri, 23 Oct 2020 13:33:56 -0700 Subject: [PATCH 08/18] add fix --- CHANGELOG.md | 1 + release-notes/2.1/2.1.0-preview2.md | 1 + 2 files changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4cbd096465..085b50696a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ### Fixed - Fixed unobserved exception issue when a timeout occurs before a faulted task completes with an exception [#688](https://github.com/dotnet/SqlClient/pull/688) +- Fixed an issue where driver continues to prompt for credentials when using Azure Active Directory authentication [#770](https://github.com/dotnet/SqlClient/pull/770) ### Changes - Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `v2.1.1` with removed symbols, which are now published to Microsoft Symbols Server [#764](https://github.com/dotnet/SqlClient/pull/764) diff --git a/release-notes/2.1/2.1.0-preview2.md b/release-notes/2.1/2.1.0-preview2.md index 2781b4298c..951da118e3 100644 --- a/release-notes/2.1/2.1.0-preview2.md +++ b/release-notes/2.1/2.1.0-preview2.md @@ -12,6 +12,7 @@ This update brings the below changes over the previous release: ### Fixed - Fixed unobserved exception issue when a timeout occurs before a task completes with an exception [#688](https://github.com/dotnet/SqlClient/pull/688) +- Fixed an issue where driver continues to prompt for credentials when using Azure Active Directory authentication [#770](https://github.com/dotnet/SqlClient/pull/770) ### Changes - Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `v2.1.1` with removed symbols, which are now published to Microsoft Symbols Server [#764](https://github.com/dotnet/SqlClient/pull/764) [[Read more](#Removal-of-symbols-from-Native-SNI)] From e53c0cf682be9cb14b78aaea4854de6efb124c05 Mon Sep 17 00:00:00 2001 From: Johnny Pham <23270162+johnnypham@users.noreply.github.com> Date: Fri, 23 Oct 2020 13:39:04 -0700 Subject: [PATCH 09/18] update date --- CHANGELOG.md | 2 +- release-notes/2.1/2.1.0-preview2.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 085b50696a..1bf2971ddd 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 2.1.0-preview2.20235.2] - 2020-10-21 +## [Preview Release 2.1.0-preview2.20235.2] - 2020-10-23 ### Added - Added support for Azure Active Directory Managed Identity authentication [#730](https://github.com/dotnet/SqlClient/pull/730) diff --git a/release-notes/2.1/2.1.0-preview2.md b/release-notes/2.1/2.1.0-preview2.md index 951da118e3..104e82d100 100644 --- a/release-notes/2.1/2.1.0-preview2.md +++ b/release-notes/2.1/2.1.0-preview2.md @@ -1,6 +1,6 @@ # Release Notes -## Microsoft.Data.SqlClient 2.1.0-preview2.20235.1 released 21 October 2020 +## Microsoft.Data.SqlClient 2.1.0-preview2.20235.1 released 23 October 2020 This update brings the below changes over the previous release: From 40a749803a2356992907fb912e683557a223d0ef Mon Sep 17 00:00:00 2001 From: Johnny Pham <23270162+johnnypham@users.noreply.github.com> Date: Fri, 23 Oct 2020 13:38:45 -0700 Subject: [PATCH 10/18] Update release-notes/2.1/2.1.0-preview2.md Co-authored-by: David Engel --- release-notes/2.1/2.1.0-preview2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-notes/2.1/2.1.0-preview2.md b/release-notes/2.1/2.1.0-preview2.md index 104e82d100..96c35aa1d8 100644 --- a/release-notes/2.1/2.1.0-preview2.md +++ b/release-notes/2.1/2.1.0-preview2.md @@ -109,7 +109,7 @@ Usage: ``` ### "Command Timeout" connection string property -This preview release introduces the "Command Timeout" connection string property to override the default of 30 seconds. The timeout for individual commands can be overridden using the `CommandTimeout` property. +This preview release introduces the "Command Timeout" connection string property to override the default of 30 seconds. The timeout for individual commands can be overridden using the `CommandTimeout` property on the SqlCommand. Connection string examples: From 457474f66e8a0396d8c6ce7d4b9e7995803d36c6 Mon Sep 17 00:00:00 2001 From: Johnny Pham <23270162+johnnypham@users.noreply.github.com> Date: Fri, 23 Oct 2020 13:43:56 -0700 Subject: [PATCH 11/18] Update CHANGELOG.md Co-authored-by: Cheena Malhotra --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1bf2971ddd..30f9cd5875 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,7 +17,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) - Fixed an issue where driver continues to prompt for credentials when using Azure Active Directory authentication [#770](https://github.com/dotnet/SqlClient/pull/770) ### Changes -- Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `v2.1.1` with removed symbols, which are now published to Microsoft Symbols Server [#764](https://github.com/dotnet/SqlClient/pull/764) +- Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `v2.1.1` and removed symbols from `Microsoft.Data.SqlClient.SNI.runtime`, which are now published to Microsoft Symbols Server [#764](https://github.com/dotnet/SqlClient/pull/764) - Updated `Microsoft.Identity.Client` dependency version to `v4.21.1` [#765](https://github.com/dotnet/SqlClient/pull/765) - Performance improvements when establishing an encrypted channel by removing sync over async method calls [#541](https://github.com/dotnet/SqlClient/pull/541) - Performance improvements by replacing heap-allocated arrays with Spans [#667](https://github.com/dotnet/SqlClient/pull/667) From f60668e0c4ed00b02b068c628ab5d82fd72d2ebd Mon Sep 17 00:00:00 2001 From: Johnny Pham <23270162+johnnypham@users.noreply.github.com> Date: Fri, 23 Oct 2020 13:44:14 -0700 Subject: [PATCH 12/18] Update release-notes/2.1/2.1.0-preview2.md Co-authored-by: Cheena Malhotra --- release-notes/2.1/2.1.0-preview2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-notes/2.1/2.1.0-preview2.md b/release-notes/2.1/2.1.0-preview2.md index 96c35aa1d8..cfb32737cc 100644 --- a/release-notes/2.1/2.1.0-preview2.md +++ b/release-notes/2.1/2.1.0-preview2.md @@ -15,7 +15,7 @@ This update brings the below changes over the previous release: - Fixed an issue where driver continues to prompt for credentials when using Azure Active Directory authentication [#770](https://github.com/dotnet/SqlClient/pull/770) ### Changes -- Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `v2.1.1` with removed symbols, which are now published to Microsoft Symbols Server [#764](https://github.com/dotnet/SqlClient/pull/764) [[Read more](#Removal-of-symbols-from-Native-SNI)] +- Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `v2.1.1` and removed symbols from `Microsoft.Data.SqlClient.SNI.runtime`, which are now published to Microsoft Symbols Server [#764](https://github.com/dotnet/SqlClient/pull/764) [[Read more](#Removal-of-symbols-from-Native-SNI)] - Updated `Microsoft.Identity.Client` dependency version to `v4.21.1` [#765](https://github.com/dotnet/SqlClient/pull/765) - Performance improvements when establishing an encrypted channel by removing sync over async method calls [#541](https://github.com/dotnet/SqlClient/pull/541) - Performance improvements by replacing heap-allocated arrays with Spans [#667](https://github.com/dotnet/SqlClient/pull/667) From 98f13065b7e88170ec0d7b5394f68632708a9a11 Mon Sep 17 00:00:00 2001 From: Johnny Pham <23270162+johnnypham@users.noreply.github.com> Date: Fri, 23 Oct 2020 13:44:26 -0700 Subject: [PATCH 13/18] Update release-notes/2.1/2.1.0-preview2.md Co-authored-by: Cheena Malhotra --- release-notes/2.1/2.1.0-preview2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-notes/2.1/2.1.0-preview2.md b/release-notes/2.1/2.1.0-preview2.md index cfb32737cc..1e08749a09 100644 --- a/release-notes/2.1/2.1.0-preview2.md +++ b/release-notes/2.1/2.1.0-preview2.md @@ -24,7 +24,7 @@ This update brings the below changes over the previous release: ## New features over Preview release v2.1.0-preview1 ### Azure Active Directory Managed Identity authentication -This preview release provides support for Azure Active Directory authentication using [managed identities](https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview). +This preview release introduces support for Azure Active Directory authentication using [managed identities](https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/overview). The following authentication mode keywords are supported: - Active Directory Managed Identity From d7c0765e9960fce1aa0f966f41e249bf817171b8 Mon Sep 17 00:00:00 2001 From: Johnny Pham <23270162+johnnypham@users.noreply.github.com> Date: Fri, 23 Oct 2020 13:44:33 -0700 Subject: [PATCH 14/18] Update release-notes/2.1/2.1.0-preview2.md Co-authored-by: Cheena Malhotra --- release-notes/2.1/2.1.0-preview2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-notes/2.1/2.1.0-preview2.md b/release-notes/2.1/2.1.0-preview2.md index 1e08749a09..a53c5ae122 100644 --- a/release-notes/2.1/2.1.0-preview2.md +++ b/release-notes/2.1/2.1.0-preview2.md @@ -48,7 +48,7 @@ Connection string examples: ### Azure Active Directory authentication using an application client ID -This preview release provides support for passing a user-defined application client ID to the Microsoft Authentication Library, which will be used when authenticating with Azure Active Directory. +This preview release introduces support for passing a user-defined application client ID to the Microsoft Authentication Library, which will be used when authenticating with Azure Active Directory. The following new APIs are introduced: From 6fa3ea4bdfc09d8c4645c6c4f1aa4c53c80eb63d Mon Sep 17 00:00:00 2001 From: Johnny Pham <23270162+johnnypham@users.noreply.github.com> Date: Fri, 23 Oct 2020 13:44:54 -0700 Subject: [PATCH 15/18] Update release-notes/2.1/2.1.md Co-authored-by: Cheena Malhotra --- release-notes/2.1/2.1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-notes/2.1/2.1.md b/release-notes/2.1/2.1.md index 547290f3f3..46ab4143e6 100644 --- a/release-notes/2.1/2.1.md +++ b/release-notes/2.1/2.1.md @@ -4,5 +4,5 @@ The following Microsoft.Data.SqlClient 2.1 preview releases have been shipped: | Release Date | Version | Notes | | :-- | :-- | :--: | -| 2020/08/21 | 2.1.0-preview2.20235.1 | [release notes](2.1.0-preview2.md) | +| 2020/10/23 | 2.1.0-preview2.20235.1 | [release notes](2.1.0-preview2.md) | | 2020/08/21 | 2.1.0-preview1.20235.1 | [release notes](2.1.0-preview1.md) | From 2ade16ab9d3646ff251c44a647fc11f0c0b7eb92 Mon Sep 17 00:00:00 2001 From: Johnny Pham <23270162+johnnypham@users.noreply.github.com> Date: Fri, 23 Oct 2020 13:45:00 -0700 Subject: [PATCH 16/18] Update release-notes/2.1/README.md Co-authored-by: Cheena Malhotra --- release-notes/2.1/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-notes/2.1/README.md b/release-notes/2.1/README.md index 547290f3f3..46ab4143e6 100644 --- a/release-notes/2.1/README.md +++ b/release-notes/2.1/README.md @@ -4,5 +4,5 @@ The following Microsoft.Data.SqlClient 2.1 preview releases have been shipped: | Release Date | Version | Notes | | :-- | :-- | :--: | -| 2020/08/21 | 2.1.0-preview2.20235.1 | [release notes](2.1.0-preview2.md) | +| 2020/10/23 | 2.1.0-preview2.20235.1 | [release notes](2.1.0-preview2.md) | | 2020/08/21 | 2.1.0-preview1.20235.1 | [release notes](2.1.0-preview1.md) | From f802def8e27d745ccbfb3a015f12453f7385c2ca Mon Sep 17 00:00:00 2001 From: Johnny Pham <23270162+johnnypham@users.noreply.github.com> Date: Fri, 23 Oct 2020 17:08:38 -0700 Subject: [PATCH 17/18] update version --- CHANGELOG.md | 2 +- release-notes/2.1/2.1.0-preview2.md | 2 +- release-notes/2.1/2.1.md | 2 +- release-notes/2.1/README.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 30f9cd5875..8f3244cabe 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 2.1.0-preview2.20235.2] - 2020-10-23 +## [Preview Release 2.1.0-preview2.20297.7] - 2020-10-23 ### Added - Added support for Azure Active Directory Managed Identity authentication [#730](https://github.com/dotnet/SqlClient/pull/730) diff --git a/release-notes/2.1/2.1.0-preview2.md b/release-notes/2.1/2.1.0-preview2.md index a53c5ae122..17c8e4be42 100644 --- a/release-notes/2.1/2.1.0-preview2.md +++ b/release-notes/2.1/2.1.0-preview2.md @@ -1,6 +1,6 @@ # Release Notes -## Microsoft.Data.SqlClient 2.1.0-preview2.20235.1 released 23 October 2020 +## Microsoft.Data.SqlClient 2.1.0-preview2.20297.7 released 23 October 2020 This update brings the below changes over the previous release: diff --git a/release-notes/2.1/2.1.md b/release-notes/2.1/2.1.md index 46ab4143e6..572179ea3e 100644 --- a/release-notes/2.1/2.1.md +++ b/release-notes/2.1/2.1.md @@ -4,5 +4,5 @@ The following Microsoft.Data.SqlClient 2.1 preview releases have been shipped: | Release Date | Version | Notes | | :-- | :-- | :--: | -| 2020/10/23 | 2.1.0-preview2.20235.1 | [release notes](2.1.0-preview2.md) | +| 2020/10/23 | 2.1.0-preview2.20297.7 | [release notes](2.1.0-preview2.md) | | 2020/08/21 | 2.1.0-preview1.20235.1 | [release notes](2.1.0-preview1.md) | diff --git a/release-notes/2.1/README.md b/release-notes/2.1/README.md index 46ab4143e6..572179ea3e 100644 --- a/release-notes/2.1/README.md +++ b/release-notes/2.1/README.md @@ -4,5 +4,5 @@ The following Microsoft.Data.SqlClient 2.1 preview releases have been shipped: | Release Date | Version | Notes | | :-- | :-- | :--: | -| 2020/10/23 | 2.1.0-preview2.20235.1 | [release notes](2.1.0-preview2.md) | +| 2020/10/23 | 2.1.0-preview2.20297.7 | [release notes](2.1.0-preview2.md) | | 2020/08/21 | 2.1.0-preview1.20235.1 | [release notes](2.1.0-preview1.md) | From 3bc29db96c20e55db2aed7d14c5d6404c4f65904 Mon Sep 17 00:00:00 2001 From: Johnny Pham <23270162+johnnypham@users.noreply.github.com> Date: Fri, 23 Oct 2020 17:19:09 -0700 Subject: [PATCH 18/18] add pr773 --- CHANGELOG.md | 2 +- release-notes/2.1/2.1.0-preview2.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f3244cabe..28464418f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) - Added support for Always Encrypted on all supported platforms for .NET Standard 2.0 [#756](https://github.com/dotnet/SqlClient/pull/756) ### Fixed -- Fixed unobserved exception issue when a timeout occurs before a faulted task completes with an exception [#688](https://github.com/dotnet/SqlClient/pull/688) +- Fixed unobserved exception issue when a timeout occurs before a faulted task completes with an exception [#688](https://github.com/dotnet/SqlClient/pull/688) [#773](https://github.com/dotnet/SqlClient/pull/773) - Fixed an issue where driver continues to prompt for credentials when using Azure Active Directory authentication [#770](https://github.com/dotnet/SqlClient/pull/770) ### Changes diff --git a/release-notes/2.1/2.1.0-preview2.md b/release-notes/2.1/2.1.0-preview2.md index 17c8e4be42..315445730b 100644 --- a/release-notes/2.1/2.1.0-preview2.md +++ b/release-notes/2.1/2.1.0-preview2.md @@ -11,7 +11,7 @@ This update brings the below changes over the previous release: - Added support for Always Encrypted on all supported platforms for .NET Standard 2.0 [#756](https://github.com/dotnet/SqlClient/pull/756) [[Read more](#Increased-support-for-Always-Encrypted)] ### Fixed -- Fixed unobserved exception issue when a timeout occurs before a task completes with an exception [#688](https://github.com/dotnet/SqlClient/pull/688) +- Fixed unobserved exception issue when a timeout occurs before a faulted task completes with an exception [#688](https://github.com/dotnet/SqlClient/pull/688) [#773](https://github.com/dotnet/SqlClient/pull/773) - Fixed an issue where driver continues to prompt for credentials when using Azure Active Directory authentication [#770](https://github.com/dotnet/SqlClient/pull/770) ### Changes