-
Notifications
You must be signed in to change notification settings - Fork 292
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Release notes for v2.1.0-preview2 (#772)
* Set up CI with Azure Pipelines [skip ci] * Delete azure-pipelines.yml * Set up CI with Azure Pipelines [skip ci] * Delete azure-pipelines.yml * release notes for 2.1.0-preview2 * typos * Update 2.1.0-preview2.md * add fix * update date * Update release-notes/2.1/2.1.0-preview2.md Co-authored-by: David Engel <dengel1012@gmail.com> * Update CHANGELOG.md Co-authored-by: Cheena Malhotra <v-chmalh@microsoft.com> * Update release-notes/2.1/2.1.0-preview2.md Co-authored-by: Cheena Malhotra <v-chmalh@microsoft.com> * Update release-notes/2.1/2.1.0-preview2.md Co-authored-by: Cheena Malhotra <v-chmalh@microsoft.com> * Update release-notes/2.1/2.1.0-preview2.md Co-authored-by: Cheena Malhotra <v-chmalh@microsoft.com> * Update release-notes/2.1/2.1.md Co-authored-by: Cheena Malhotra <v-chmalh@microsoft.com> * Update release-notes/2.1/README.md Co-authored-by: Cheena Malhotra <v-chmalh@microsoft.com> * update version * add pr773 Co-authored-by: David Engel <dengel1012@gmail.com> Co-authored-by: Cheena Malhotra <v-chmalh@microsoft.com>
- Loading branch information
1 parent
635f38b
commit b48de5d
Showing
4 changed files
with
217 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,195 @@ | ||
# Release Notes | ||
|
||
## Microsoft.Data.SqlClient 2.1.0-preview2.20297.7 released 23 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 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 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 | ||
- 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) | ||
- 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 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 | ||
- Active Directory MSI (for cross MS SQL drivers compatibility) | ||
|
||
Connection string examples: | ||
|
||
```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 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 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: | ||
|
||
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 = "<GUID>"; | ||
SqlAuthenticationProvider customAuthProvider = new ActiveDirectoryAuthenticationProvider(APP_CLIENT_ID); | ||
SqlAuthenticationProvider.SetProvider(SqlAuthenticationMethod.ActiveDirectoryInteractive, customAuthProvider); | ||
|
||
using (SqlConnection sqlConnection = new SqlConnection("<connection_string>") | ||
{ | ||
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 | ||
<configuration> | ||
<configSections> | ||
<section name="SqlClientAuthenticationProviders" | ||
type="Microsoft.Data.SqlClient.SqlClientAuthenticationProviderConfigurationSection, Microsoft.Data.SqlClient" /> | ||
</configSections> | ||
<SqlClientAuthenticationProviders applicationClientId ="<GUID>" /> | ||
</configuration> | ||
|
||
<!--or--> | ||
|
||
<configuration> | ||
<configSections> | ||
<section name="SqlAuthenticationProviders" | ||
type="Microsoft.Data.SqlClient.SqlAuthenticationProviderConfigurationSection, Microsoft.Data.SqlClient" /> | ||
</configSections> | ||
<SqlAuthenticationProviders applicationClientId ="<GUID>" /> | ||
</configuration> | ||
``` | ||
|
||
### "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 on the SqlCommand. | ||
|
||
Connection string examples: | ||
|
||
`"Server:{serverURL}; Initial Catalog={db}; Integrated Security=true; Command Timeout=60"` | ||
|
||
### 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* | | ||
|
||
### 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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters