-
Notifications
You must be signed in to change notification settings - Fork 315
Release notes for v2.1.0-preview2 #772
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
33 commits
Select commit
Hold shift + click to select a range
13857f2
Merge pull request #2 from dotnet/master
b807d0b
Merge remote-tracking branch 'upstream/master'
johnnypham 26b0f35
Set up CI with Azure Pipelines
3da84f8
Delete azure-pipelines.yml
9b49213
Merge remote-tracking branch 'upstream/master'
johnnypham d02b69c
Set up CI with Azure Pipelines
896caa1
Delete azure-pipelines.yml
0c04741
Merge branch 'master' of https://github.com/johnnypham/SqlClient
johnnypham 035ef3d
Merge remote-tracking branch 'upstream/master'
johnnypham d1dc8bb
Merge remote-tracking branch 'upstream/master'
johnnypham acbb0a5
Merge remote-tracking branch 'upstream/master'
johnnypham 0d61d6b
Merge remote-tracking branch 'upstream/master'
johnnypham b5ba60d
Merge remote-tracking branch 'upstream/master'
johnnypham d642bbd
Merge remote-tracking branch 'upstream/master'
johnnypham 28d8850
Merge remote-tracking branch 'upstream/master'
johnnypham 2f7016d
Merge remote-tracking branch 'upstream/master'
johnnypham 978116b
Merge remote-tracking branch 'upstream/master'
johnnypham 834e536
Merge remote-tracking branch 'upstream/master'
johnnypham 4e6da28
Merge remote-tracking branch 'upstream/master'
johnnypham 6fe976c
release notes for 2.1.0-preview2
johnnypham 15aa865
typos
johnnypham e528bc0
Update 2.1.0-preview2.md
johnnypham 752c6ad
add fix
johnnypham e53c0cf
update date
johnnypham 40a7498
Update release-notes/2.1/2.1.0-preview2.md
johnnypham 457474f
Update CHANGELOG.md
johnnypham f60668e
Update release-notes/2.1/2.1.0-preview2.md
johnnypham 98f1306
Update release-notes/2.1/2.1.0-preview2.md
johnnypham d7c0765
Update release-notes/2.1/2.1.0-preview2.md
johnnypham 6fa3ea4
Update release-notes/2.1/2.1.md
johnnypham 2ade16a
Update release-notes/2.1/README.md
johnnypham f802def
update version
johnnypham 3bc29db
add pr773
johnnypham File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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 hidden or 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 hidden or 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 hidden or 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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.