From 1d4432992273bb21c80877af4d1c160244061d53 Mon Sep 17 00:00:00 2001 From: Cheena Malhotra Date: Fri, 1 May 2020 10:26:18 -0700 Subject: [PATCH 1/2] Release Notes for 2.0.0 preview3 --- CHANGELOG.md | 24 +++++++ release-notes/2.0/2.0.0-preview3.md | 99 +++++++++++++++++++++++++++++ release-notes/2.0/2.0.md | 1 + release-notes/2.0/README.md | 1 + 4 files changed, 125 insertions(+) create mode 100644 release-notes/2.0/2.0.0-preview3.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c71fe5d10..674bcf6cca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,30 @@ 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.0.0-preview3.20122.2] - 2020-05-01 + +### Added +- Allowed passing username with Active Directory Interactive Authentication in .NET Framework [#492](https://github.com/dotnet/SqlClient/pull/492) +- Allow large UDT buffers for .NET Framework [#456](https://github.com/dotnet/SqlClient/pull/456) +- Added "Transaction Id" and "Client Version" in Diagnostic Source traces [#515](https://github.com/dotnet/SqlClient/pull/515) +- Added new `SqlConnectionOverrides` APIs to perform `SqlConnection.Open()` with fail fast option [#463](https://github.com/dotnet/SqlClient/pull/463) + +### Fixed +- Addressed MARS TDS Header errors by reverting changes to make `SqlDataReader.ReadAsync()` non-blocking [#547](https://github.com/dotnet/SqlClient/pull/547) +- Fixed driver behavior to not perform enlistment of pooled connection in aborted transaction [#543](https://github.com/dotnet/SqlClient/pull/543) +- Fixed wrong application domain selected when starting `SqlDependencyListener` [#410](https://github.com/dotnet/SqlClient/pull/410) +- Added missing refs for `RowCopied` property in `SqlBulkCopy` [#508](https://github.com/dotnet/SqlClient/pull/508) + +### Changes +- Improved performance by removing unwanted method calls in Event Source tracing [#506](https://github.com/dotnet/SqlClient/pull/506) +- Removed Diagnostic Source and Configuration Manager dependencies from .NET Standard DLL [#535](https://github.com/dotnet/SqlClient/pull/535) +- Removed redundant calls to `DbConnectionPoolKey.GetType()` [#512](https://github.com/dotnet/SqlClient/pull/512) + +### Breaking Changes +- Updated driver to perform decimal scale rounding to match SQL Server behavior [#470](https://github.com/dotnet/SqlClient/pull/470) +- Renamed App Context switch that enables Managed SNI on Windows for .NET Core and .NET Standard [#548](https://github.com/dotnet/SqlClient/pull/548) + + ## [Stable Release 1.1.2] - 2020-04-15 ### Added diff --git a/release-notes/2.0/2.0.0-preview3.md b/release-notes/2.0/2.0.0-preview3.md new file mode 100644 index 0000000000..180cebc67f --- /dev/null +++ b/release-notes/2.0/2.0.0-preview3.md @@ -0,0 +1,99 @@ +# Release Notes + +## Microsoft.Data.SqlClient 2.0.0-preview3.20122.2 released 1 May 2020 + +This update brings the below changes over the previous release: + +### Added +- Allowed passing username with Active Directory Interactive Authentication in .NET Framework [#492](https://github.com/dotnet/SqlClient/pull/492) +- Allow large UDT buffers for .NET Framework [#456](https://github.com/dotnet/SqlClient/pull/456) +- Added "Transaction Id" and "Client Version" in Diagnostic Source traces [#515](https://github.com/dotnet/SqlClient/pull/515) +- Added new `SqlConnectionOverrides` APIs to perform `SqlConnection.Open()` with fail fast option [#463](https://github.com/dotnet/SqlClient/pull/463) + +### Fixed +- Addressed MARS TDS Header errors by reverting changes to make `SqlDataReader.ReadAsync()` non-blocking [#547](https://github.com/dotnet/SqlClient/pull/547) +- Fixed driver behavior to not perform enlistment of pooled connection in aborted transaction [#543](https://github.com/dotnet/SqlClient/pull/543) +- Fixed wrong application domain selected when starting `SqlDependencyListener` [#410](https://github.com/dotnet/SqlClient/pull/410) +- Added missing refs for `RowCopied` property in `SqlBulkCopy` [#508](https://github.com/dotnet/SqlClient/pull/508) + +### Changes +- Improved performance by removing unwanted method calls in Event Source tracing [#506](https://github.com/dotnet/SqlClient/pull/506) +- Removed Diagnostic Source and Configuration Manager dependencies from .NET Standard DLL [#535](https://github.com/dotnet/SqlClient/pull/535) +- Removed redundant calls to `DbConnectionPoolKey.GetType()` [#512](https://github.com/dotnet/SqlClient/pull/512) + +### Breaking Changes +- Updated driver to perform decimal scale rounding to match SQL Server behavior [#470](https://github.com/dotnet/SqlClient/pull/470) +- Renamed App Context switch that enables Managed SNI on Windows for .NET Core and .NET Standard [#548](https://github.com/dotnet/SqlClient/pull/548) + + +### Enabling decimal truncation behavior conditionally +Starting v2.0.0-preview3, the decimal data scale will be rounded by driver by default as done by SQL Server. +For backwards compatibility, you can set [AppContext](https://docs.microsoft.com/en-us/dotnet/api/system.appcontext?view=netframework-4.8) switch "Switch.Microsoft.Data.SqlClient.TruncateScaledDecimal" to "true". + +To set the switch from app startup, specify: + +```cs +AppContext.SetSwitch("Switch.Microsoft.Data.SqlClient.TruncateScaledDecimal", true); +``` + +### Enabling Managed networking on Windows +This release introduces renamed AppContext switch "Switch.Microsoft.Data.SqlClient.UseManagedNetworkingOnWindows" that enables the use of Managed SNI on Windows for testing and debugging purposes. This switch will toggle the driver's behavior to use Managed SNI in .NET Core 2.1+ and .NET Standard 2.0+ projects on Windows. + +To set the switch from app startup, specify: + +```cs +AppContext.SetSwitch("Switch.Microsoft.Data.SqlClient.UseManagedNetworkingOnWindows", true); +``` + +## Target Platform Support + +- .NET Framework 4.6+ +- .NET Core 2.1+ (Windows x86, Windows x64, Linux, macOS) +- .NET Standard 2.0+ (Windows x86, Windows x64, Linux, macOS) + +### Dependencies + +#### .NET Framework + +- Microsoft.Data.SqlClient.SNI 1.1.0+ +- Microsoft.Identity.Client 3.0.8 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 5.6.0 +- Microsoft.IdentityModel.JsonWebTokens 5.6.0 + +#### .NET Core 2.1 + +- runtime.native.System.Data.SqlClient.sni 4.4.0 +- 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.7.1 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 5.6.0 +- Microsoft.IdentityModel.JsonWebTokens 5.6.0 + +#### .NET Core 3.1 + +- runtime.native.System.Data.SqlClient.sni 4.4.0 +- 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.7.1 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 5.6.0 +- Microsoft.IdentityModel.JsonWebTokens 5.6.0 + +#### .NET Standard + +- runtime.native.System.Data.SqlClient.sni 4.4.0 +- Microsoft.Win32.Registry 4.7.0 +- System.Buffers 4.5.0 +- System.Memory 4.5.3 +- System.Security.Principal.Windows 4.7.0 +- System.Text.Encoding.CodePages 4.7.0 +- Microsoft.Identity.Client 4.7.1 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 5.6.0 +- Microsoft.IdentityModel.JsonWebTokens 5.6.0 diff --git a/release-notes/2.0/2.0.md b/release-notes/2.0/2.0.md index 7b48fdeedf..d8d9a839a5 100644 --- a/release-notes/2.0/2.0.md +++ b/release-notes/2.0/2.0.md @@ -6,3 +6,4 @@ The following Microsoft.Data.SqlClient 2.0 preview releases have been shipped: | :-- | :-- | :--: | | 2020/01/21 | 2.0.0-preview1.20021.1 | [release notes](2.0.0-preview1.md) | | 2020/03/24 | 2.0.0-preview2.20084.1 | [release notes](2.0.0-preview2.md) | +| 2020/05/01 | 2.0.0-preview3.20122.2 | [release notes](2.0.0-preview3.md) | diff --git a/release-notes/2.0/README.md b/release-notes/2.0/README.md index 7b48fdeedf..d8d9a839a5 100644 --- a/release-notes/2.0/README.md +++ b/release-notes/2.0/README.md @@ -6,3 +6,4 @@ The following Microsoft.Data.SqlClient 2.0 preview releases have been shipped: | :-- | :-- | :--: | | 2020/01/21 | 2.0.0-preview1.20021.1 | [release notes](2.0.0-preview1.md) | | 2020/03/24 | 2.0.0-preview2.20084.1 | [release notes](2.0.0-preview2.md) | +| 2020/05/01 | 2.0.0-preview3.20122.2 | [release notes](2.0.0-preview3.md) | From 2bd4f682c4c4c382179a6b7a99e3ab587acaab0a Mon Sep 17 00:00:00 2001 From: Cheena Malhotra Date: Fri, 1 May 2020 11:39:23 -0700 Subject: [PATCH 2/2] Apply suggestions from code review Co-authored-by: David Engel --- CHANGELOG.md | 6 +++--- release-notes/2.0/2.0.0-preview3.md | 16 ++++++++-------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 674bcf6cca..6f280ae723 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ## [Preview Release 2.0.0-preview3.20122.2] - 2020-05-01 ### Added -- Allowed passing username with Active Directory Interactive Authentication in .NET Framework [#492](https://github.com/dotnet/SqlClient/pull/492) +- Allow passing username with Active Directory Interactive Authentication in .NET Framework [#492](https://github.com/dotnet/SqlClient/pull/492) - Allow large UDT buffers for .NET Framework [#456](https://github.com/dotnet/SqlClient/pull/456) - Added "Transaction Id" and "Client Version" in Diagnostic Source traces [#515](https://github.com/dotnet/SqlClient/pull/515) - Added new `SqlConnectionOverrides` APIs to perform `SqlConnection.Open()` with fail fast option [#463](https://github.com/dotnet/SqlClient/pull/463) @@ -20,12 +20,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ### Changes - Improved performance by removing unwanted method calls in Event Source tracing [#506](https://github.com/dotnet/SqlClient/pull/506) -- Removed Diagnostic Source and Configuration Manager dependencies from .NET Standard DLL [#535](https://github.com/dotnet/SqlClient/pull/535) +- Removed Diagnostic Source and Configuration Manager dependencies from .NET Standard implementation [#535](https://github.com/dotnet/SqlClient/pull/535) - Removed redundant calls to `DbConnectionPoolKey.GetType()` [#512](https://github.com/dotnet/SqlClient/pull/512) ### Breaking Changes - Updated driver to perform decimal scale rounding to match SQL Server behavior [#470](https://github.com/dotnet/SqlClient/pull/470) -- Renamed App Context switch that enables Managed SNI on Windows for .NET Core and .NET Standard [#548](https://github.com/dotnet/SqlClient/pull/548) +- Standardized App Context switch name that enables Managed SNI on Windows for .NET Core and .NET Standard (break only applies to 2.0 preview releases that introduced the switch) [#548](https://github.com/dotnet/SqlClient/pull/548) ## [Stable Release 1.1.2] - 2020-04-15 diff --git a/release-notes/2.0/2.0.0-preview3.md b/release-notes/2.0/2.0.0-preview3.md index 180cebc67f..4817b63302 100644 --- a/release-notes/2.0/2.0.0-preview3.md +++ b/release-notes/2.0/2.0.0-preview3.md @@ -5,7 +5,7 @@ This update brings the below changes over the previous release: ### Added -- Allowed passing username with Active Directory Interactive Authentication in .NET Framework [#492](https://github.com/dotnet/SqlClient/pull/492) +- Allow passing username with Active Directory Interactive Authentication in .NET Framework [#492](https://github.com/dotnet/SqlClient/pull/492) - Allow large UDT buffers for .NET Framework [#456](https://github.com/dotnet/SqlClient/pull/456) - Added "Transaction Id" and "Client Version" in Diagnostic Source traces [#515](https://github.com/dotnet/SqlClient/pull/515) - Added new `SqlConnectionOverrides` APIs to perform `SqlConnection.Open()` with fail fast option [#463](https://github.com/dotnet/SqlClient/pull/463) @@ -18,28 +18,28 @@ This update brings the below changes over the previous release: ### Changes - Improved performance by removing unwanted method calls in Event Source tracing [#506](https://github.com/dotnet/SqlClient/pull/506) -- Removed Diagnostic Source and Configuration Manager dependencies from .NET Standard DLL [#535](https://github.com/dotnet/SqlClient/pull/535) +- Removed Diagnostic Source and Configuration Manager dependencies from .NET Standard implementation [#535](https://github.com/dotnet/SqlClient/pull/535) - Removed redundant calls to `DbConnectionPoolKey.GetType()` [#512](https://github.com/dotnet/SqlClient/pull/512) ### Breaking Changes - Updated driver to perform decimal scale rounding to match SQL Server behavior [#470](https://github.com/dotnet/SqlClient/pull/470) -- Renamed App Context switch that enables Managed SNI on Windows for .NET Core and .NET Standard [#548](https://github.com/dotnet/SqlClient/pull/548) +- Standardized App Context switch that enables Managed SNI on Windows for .NET Core and .NET Standard (break only applies to 2.0 preview releases that introduced the switch) [#548](https://github.com/dotnet/SqlClient/pull/548) ### Enabling decimal truncation behavior conditionally -Starting v2.0.0-preview3, the decimal data scale will be rounded by driver by default as done by SQL Server. -For backwards compatibility, you can set [AppContext](https://docs.microsoft.com/en-us/dotnet/api/system.appcontext?view=netframework-4.8) switch "Switch.Microsoft.Data.SqlClient.TruncateScaledDecimal" to "true". +Starting with v2.0.0-preview3, the decimal data scale will be rounded by the driver by default as is done by SQL Server. +For backwards compatibility, you can set the [AppContext](https://docs.microsoft.com/en-us/dotnet/api/system.appcontext?view=netframework-4.8) switch "Switch.Microsoft.Data.SqlClient.TruncateScaledDecimal" to "true". -To set the switch from app startup, specify: +To set the switch at application startup, specify: ```cs AppContext.SetSwitch("Switch.Microsoft.Data.SqlClient.TruncateScaledDecimal", true); ``` ### Enabling Managed networking on Windows -This release introduces renamed AppContext switch "Switch.Microsoft.Data.SqlClient.UseManagedNetworkingOnWindows" that enables the use of Managed SNI on Windows for testing and debugging purposes. This switch will toggle the driver's behavior to use Managed SNI in .NET Core 2.1+ and .NET Standard 2.0+ projects on Windows. +This release introduces the renamed AppContext switch "Switch.Microsoft.Data.SqlClient.UseManagedNetworkingOnWindows" that enables the use of Managed SNI instead of native SNI on Windows for testing and debugging purposes. This switch will toggle the driver's behavior to use Managed SNI in .NET Core 2.1+ and .NET Standard 2.0+ projects on Windows. -To set the switch from app startup, specify: +To set the switch at application startup, specify: ```cs AppContext.SetSwitch("Switch.Microsoft.Data.SqlClient.UseManagedNetworkingOnWindows", true);