From b0f4965e35f3fb44a8da4a7f276b5ce33e53b6f4 Mon Sep 17 00:00:00 2001 From: Paul Medynski <31868385+paulmedynski@users.noreply.github.com> Date: Fri, 7 Nov 2025 14:52:30 -0400 Subject: [PATCH 1/6] User Story 40114: Release activities for v5.1.8 - Adding release notes for MDS v5.1.8. --- release-notes/5.1/5.1.8.md | 83 +++++++++++++++++++++++++++++++++++++ release-notes/5.1/README.md | 1 + release-notes/README.md | 2 +- 3 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 release-notes/5.1/5.1.8.md diff --git a/release-notes/5.1/5.1.8.md b/release-notes/5.1/5.1.8.md new file mode 100644 index 0000000000..d8e792b3f0 --- /dev/null +++ b/release-notes/5.1/5.1.8.md @@ -0,0 +1,83 @@ +# Release Notes + +## Microsoft.Data.SqlClient 5.1.8 - November 12, 2025 + +This update brings the following changes since the [5.1.7](5.1.7.md) release: + +### Fixed + +- Fixed a bulk copy bug that incorrectly prepended a UTF-8 Byte-Order-Marker + when processing row data. + ([#3716](https://github.com/dotnet/SqlClient/pull/3617)) +- Fixed Basic Availability Group failover to ignore server-supplied failover + host and use connection string host based on a new AppContext switch. + ([#3704](https://github.com/dotnet/SqlClient/pull/3704)) + +### Changed + +- Modernized creation of `Microsoft.Identity.Client.PublicClientApplication` + instances to use its builder pattern. + ([#3367](https://github.com/dotnet/SqlClient/pull/3367)) +- Replaced use of undocumented .NET Framework internals when reading `SqlDecimal` values. + ([#3465](https://github.com/dotnet/SqlClient/pull/3465)) +- Back-ported several test and pipeline changes to stabilize CI and Official pipelines. + ([#3599](https://github.com/dotnet/SqlClient/pull/3599), + [#3494](https://github.com/dotnet/SqlClient/pull/3494), + [#3591](https://github.com/dotnet/SqlClient/pull/3591), + [#3204](https://github.com/dotnet/SqlClient/pull/3204), + [#3542](https://github.com/dotnet/SqlClient/pull/3542)) + +## 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 + +- Azure.Identity 1.11.4 +- Microsoft.Data.SqlClient.SNI 5.1.2 +- Microsoft.Identity.Client 4.61.3 +- Microsoft.IdentityModel.JsonWebTokens 6.35.0 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0 +- System.Buffers 4.5.1 +- System.Configuration.ConfigurationManager 6.0.1 +- System.Runtime.InteropServices.RuntimeInformation 4.3.0 +- System.Text.Encoding.Web 6.0.1 +- System.Text.Json 6.0.11 + +### .NET + +- Azure.Identity 1.11.4 +- Microsoft.Data.SqlClient.SNI 5.1.2 +- Microsoft.Identity.Client 4.61.3 +- Microsoft.IdentityModel.JsonWebTokens 6.35.0 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0 +- Microsoft.SqlServer.Server 1.0.0 +- System.Configuration.ConfigurationManager 6.0.1 +- System.Diagnostics.DiagnosticSource 6.0.1 +- System.Runtime.Caching 6.0.0 +- System.Text.Encoding.CodePages 6.0.0 +- System.Text.Encodings.Web 6.0.1 +- System.Security.Cryptography.Cng 5.0.0 +- System.Security.Principal.Windows 5.0.0 + +### .NET Standard + +- Azure.Identity 1.11.4 +- Microsoft.Data.SqlClient.SNI 5.1.2 +- Microsoft.Identity.Client 4.61.3 +- Microsoft.IdentityModel.JsonWebTokens 6.35.0 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.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.Runtime.Caching 6.0.0 +- System.Text.Encoding.CodePages 6.0.0 +- System.Text.Encodings.Web 6.0.1 +- System.Runtime.Loader 4.3.0 +- System.Security.Cryptography.Cng 5.0.0 +- System.Security.Principal.Windows 5.0.0 diff --git a/release-notes/5.1/README.md b/release-notes/5.1/README.md index 27ed889b2a..cfae1a8695 100644 --- a/release-notes/5.1/README.md +++ b/release-notes/5.1/README.md @@ -4,6 +4,7 @@ The following Microsoft.Data.SqlClient 5.1 stable releases have been shipped: | Release Date | Version | Notes | | :-- | :-- | :--: | +| 2025/11/12 | 5.1.8 | [release notes](5.1.8.md) | | 2025/04/25 | 5.1.7 | [release notes](5.1.7.md) | | 2024/08/27 | 5.1.6 | [release notes](5.1.6.md) | | 2024/01/29 | 5.1.5 | [release notes](5.1.5.md) | diff --git a/release-notes/README.md b/release-notes/README.md index f2d7c0b452..c74a1bd0dc 100644 --- a/release-notes/README.md +++ b/release-notes/README.md @@ -1,6 +1,6 @@ # Microsoft.Data.SqlClient Release Notes -The latest stable release is [Microsoft.Data.SqlClient 6.0](6.0). +The latest stable release is [Microsoft.Data.SqlClient 6.1](6.1). ## Release Information From 958fed9f5272da4a1d19a5a979f2ef0290443c22 Mon Sep 17 00:00:00 2001 From: Paul Medynski <31868385+paulmedynski@users.noreply.github.com> Date: Mon, 10 Nov 2025 19:21:39 -0400 Subject: [PATCH 2/6] User Story 40114: Release activities for v5.1.8 - Updated NuGet package dependencies. - Added to the CHANGELOG. --- CHANGELOG.md | 27 +++++++++++++++++++++++++++ release-notes/5.1/5.1.8.md | 17 ++++++++++------- 2 files changed, 37 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f8c69434f9..35481a8971 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -827,6 +827,33 @@ This update brings the below changes over the previous release: - Added Microsoft.SqlServer.Types to verify support for SqlHierarchyId and Spatial for .NET Core. [#1848](https://github.com/dotnet/SqlClient/pull/1848) - Code health improvements:[#1943](https://github.com/dotnet/SqlClient/pull/1943)[#1949](https://github.com/dotnet/SqlClient/pull/1949)[#1198](https://github.com/dotnet/SqlClient/pull/1198)[#1829](https://github.com/dotnet/SqlClient/pull/1829) +## [Stable release 5.1.8] - 2025-11-12 + +This update brings the following changes since the [5.1.7](release-notes/5.1/5.1.7.md) release: + +### Fixed + +- Fixed a bulk copy bug that incorrectly prepended a UTF-8 Byte-Order-Marker + when processing row data. + ([#3617](https://github.com/dotnet/SqlClient/pull/3617)) +- Fixed Basic Availability Group failover to ignore server-supplied failover + host and use connection string host based on a new AppContext switch. + ([#3704](https://github.com/dotnet/SqlClient/pull/3704)) + +### Changed + +- Modernized creation of `Microsoft.Identity.Client.PublicClientApplication` + instances to use its builder pattern. + ([#3367](https://github.com/dotnet/SqlClient/pull/3367)) +- Replaced use of undocumented .NET Framework internals when reading `SqlDecimal` values. + ([#3465](https://github.com/dotnet/SqlClient/pull/3465)) +- Back-ported several test and pipeline changes to stabilize CI and Official pipelines. + ([#3599](https://github.com/dotnet/SqlClient/pull/3599), + [#3494](https://github.com/dotnet/SqlClient/pull/3494), + [#3591](https://github.com/dotnet/SqlClient/pull/3591), + [#3204](https://github.com/dotnet/SqlClient/pull/3204), + [#3542](https://github.com/dotnet/SqlClient/pull/3542)) + ## [Stable release 5.1.7] - 2025-04-25 This update brings the following changes since the 5.1.6 release: diff --git a/release-notes/5.1/5.1.8.md b/release-notes/5.1/5.1.8.md index d8e792b3f0..88bd9b4b33 100644 --- a/release-notes/5.1/5.1.8.md +++ b/release-notes/5.1/5.1.8.md @@ -8,7 +8,7 @@ This update brings the following changes since the [5.1.7](5.1.7.md) release: - Fixed a bulk copy bug that incorrectly prepended a UTF-8 Byte-Order-Marker when processing row data. - ([#3716](https://github.com/dotnet/SqlClient/pull/3617)) + ([#3617](https://github.com/dotnet/SqlClient/pull/3617)) - Fixed Basic Availability Group failover to ignore server-supplied failover host and use connection string host based on a new AppContext switch. ([#3704](https://github.com/dotnet/SqlClient/pull/3704)) @@ -37,9 +37,10 @@ This update brings the following changes since the [5.1.7](5.1.7.md) release: ### .NET Framework -- Azure.Identity 1.11.4 +- Azure.Core 1.45.0 +- Azure.Identity 1.12.1 - Microsoft.Data.SqlClient.SNI 5.1.2 -- Microsoft.Identity.Client 4.61.3 +- Microsoft.Identity.Client 4.78.0 - Microsoft.IdentityModel.JsonWebTokens 6.35.0 - Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0 - System.Buffers 4.5.1 @@ -50,9 +51,10 @@ This update brings the following changes since the [5.1.7](5.1.7.md) release: ### .NET -- Azure.Identity 1.11.4 +- Azure.Core 1.45.0 +- Azure.Identity 1.12.1 - Microsoft.Data.SqlClient.SNI 5.1.2 -- Microsoft.Identity.Client 4.61.3 +- Microsoft.Identity.Client 4.78.0 - Microsoft.IdentityModel.JsonWebTokens 6.35.0 - Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0 - Microsoft.SqlServer.Server 1.0.0 @@ -66,9 +68,10 @@ This update brings the following changes since the [5.1.7](5.1.7.md) release: ### .NET Standard -- Azure.Identity 1.11.4 +- Azure.Core 1.45.0 +- Azure.Identity 1.12.1 - Microsoft.Data.SqlClient.SNI 5.1.2 -- Microsoft.Identity.Client 4.61.3 +- Microsoft.Identity.Client 4.78.0 - Microsoft.IdentityModel.JsonWebTokens 6.35.0 - Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0 - Microsoft.SqlServer.Server 1.0.0 From 8a319b15a38fdd78fe49524808c8bc9d5289e83d Mon Sep 17 00:00:00 2001 From: Paul Medynski <31868385+paulmedynski@users.noreply.github.com> Date: Tue, 11 Nov 2025 10:16:00 -0400 Subject: [PATCH 3/6] User Story 40114: Release activities for v5.1.8 - Added entry for dependency updates. --- CHANGELOG.md | 6 ++++++ release-notes/5.1/5.1.8.md | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 35481a8971..6ecb6f1887 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -853,6 +853,12 @@ This update brings the following changes since the [5.1.7](release-notes/5.1/5.1 [#3591](https://github.com/dotnet/SqlClient/pull/3591), [#3204](https://github.com/dotnet/SqlClient/pull/3204), [#3542](https://github.com/dotnet/SqlClient/pull/3542)) +- Updated the following dependencies + ([#3754](https://github.com/dotnet/SqlClient/pull/3754)): + - Azure.Core 1.45.0 + (Avoids transitive [vulnerability](https://github.com/Azure/azure-sdk-for-net/issues/44817)) + - Azure.Identity 1.12.1 + - Microsoft.Identity.Client 4.78.0 ## [Stable release 5.1.7] - 2025-04-25 diff --git a/release-notes/5.1/5.1.8.md b/release-notes/5.1/5.1.8.md index 88bd9b4b33..c0a93ccc67 100644 --- a/release-notes/5.1/5.1.8.md +++ b/release-notes/5.1/5.1.8.md @@ -26,6 +26,13 @@ This update brings the following changes since the [5.1.7](5.1.7.md) release: [#3591](https://github.com/dotnet/SqlClient/pull/3591), [#3204](https://github.com/dotnet/SqlClient/pull/3204), [#3542](https://github.com/dotnet/SqlClient/pull/3542)) +- Updated the following dependencies + ([#3754](https://github.com/dotnet/SqlClient/pull/3754)): + - Azure.Core 1.45.0 + (Avoids transitive [vulnerability](https://github.com/Azure/azure-sdk-for-net/issues/44817)) + - Azure.Identity 1.12.1 + - Microsoft.Identity.Client 4.78.0 + ## Target Platform Support From bb5cbd1abd5a005314dd071e8199248086f8fbf2 Mon Sep 17 00:00:00 2001 From: Paul Medynski <31868385+paulmedynski@users.noreply.github.com> Date: Thu, 13 Nov 2025 12:56:42 -0400 Subject: [PATCH 4/6] Updated dependencies based on what we actually use. --- release-notes/5.1/5.1.8.md | 71 +++++++++++++++++++++++--------------- 1 file changed, 43 insertions(+), 28 deletions(-) diff --git a/release-notes/5.1/5.1.8.md b/release-notes/5.1/5.1.8.md index c0a93ccc67..479e4ba1cc 100644 --- a/release-notes/5.1/5.1.8.md +++ b/release-notes/5.1/5.1.8.md @@ -1,38 +1,35 @@ # Release Notes -## Microsoft.Data.SqlClient 5.1.8 - November 12, 2025 +## Microsoft.Data.SqlClient 5.1.8 - November 14, 2025 This update brings the following changes since the [5.1.7](5.1.7.md) release: +### Added + +- Added Basic Availability Group failover to ignore server-supplied failover + host and use connection string host based on a new AppContext switch. + ([#3704](https://github.com/dotnet/SqlClient/pull/3704)) + ### Fixed - Fixed a bulk copy bug that incorrectly prepended a UTF-8 Byte-Order-Marker when processing row data. ([#3617](https://github.com/dotnet/SqlClient/pull/3617)) -- Fixed Basic Availability Group failover to ignore server-supplied failover - host and use connection string host based on a new AppContext switch. - ([#3704](https://github.com/dotnet/SqlClient/pull/3704)) ### Changed - Modernized creation of `Microsoft.Identity.Client.PublicClientApplication` instances to use its builder pattern. ([#3367](https://github.com/dotnet/SqlClient/pull/3367)) -- Replaced use of undocumented .NET Framework internals when reading `SqlDecimal` values. +- Replaced use of undocumented .NET Framework internals when reading + `SqlDecimal` values. ([#3465](https://github.com/dotnet/SqlClient/pull/3465)) -- Back-ported several test and pipeline changes to stabilize CI and Official pipelines. - ([#3599](https://github.com/dotnet/SqlClient/pull/3599), - [#3494](https://github.com/dotnet/SqlClient/pull/3494), - [#3591](https://github.com/dotnet/SqlClient/pull/3591), - [#3204](https://github.com/dotnet/SqlClient/pull/3204), - [#3542](https://github.com/dotnet/SqlClient/pull/3542)) - Updated the following dependencies ([#3754](https://github.com/dotnet/SqlClient/pull/3754)): - - Azure.Core 1.45.0 + - Azure.Core 1.41.0 (Avoids transitive [vulnerability](https://github.com/Azure/azure-sdk-for-net/issues/44817)) - Azure.Identity 1.12.1 - - Microsoft.Identity.Client 4.78.0 - + - Microsoft.Identity.Client 4.76.0 ## Target Platform Support @@ -44,41 +41,39 @@ This update brings the following changes since the [5.1.7](5.1.7.md) release: ### .NET Framework -- Azure.Core 1.45.0 +- Azure.Core 1.41.0 - Azure.Identity 1.12.1 - Microsoft.Data.SqlClient.SNI 5.1.2 -- Microsoft.Identity.Client 4.78.0 +- Microsoft.Identity.Client 4.76.0 - Microsoft.IdentityModel.JsonWebTokens 6.35.0 - Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0 - System.Buffers 4.5.1 -- System.Configuration.ConfigurationManager 6.0.1 -- System.Runtime.InteropServices.RuntimeInformation 4.3.0 - System.Text.Encoding.Web 6.0.1 - System.Text.Json 6.0.11 -### .NET +### .NET 6.0 -- Azure.Core 1.45.0 +- Azure.Core 1.41.0 - Azure.Identity 1.12.1 -- Microsoft.Data.SqlClient.SNI 5.1.2 -- Microsoft.Identity.Client 4.78.0 +- Microsoft.Data.SqlClient.SNI.runtime 5.1.2 +- Microsoft.Identity.Client 4.76.0 - Microsoft.IdentityModel.JsonWebTokens 6.35.0 - Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0 - Microsoft.SqlServer.Server 1.0.0 - System.Configuration.ConfigurationManager 6.0.1 - System.Diagnostics.DiagnosticSource 6.0.1 - System.Runtime.Caching 6.0.0 +- System.Security.Permissions 6.0.0 +- System.Security.Principal.Windows 5.0.0 - System.Text.Encoding.CodePages 6.0.0 - System.Text.Encodings.Web 6.0.1 -- System.Security.Cryptography.Cng 5.0.0 -- System.Security.Principal.Windows 5.0.0 -### .NET Standard +### .NET Standard 2.0 -- Azure.Core 1.45.0 +- Azure.Core 1.41.0 - Azure.Identity 1.12.1 -- Microsoft.Data.SqlClient.SNI 5.1.2 -- Microsoft.Identity.Client 4.78.0 +- Microsoft.Data.SqlClient.SNI.runtime 5.1.2 +- Microsoft.Identity.Client 4.76.0 - Microsoft.IdentityModel.JsonWebTokens 6.35.0 - Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0 - Microsoft.SqlServer.Server 1.0.0 @@ -86,8 +81,28 @@ This update brings the following changes since the [5.1.7](5.1.7.md) release: - System.Buffers 4.5.1 - System.Configuration.ConfigurationManager 6.0.1 - System.Runtime.Caching 6.0.0 +- System.Runtime.Loader 4.3.0 +- System.Security.Cryptography.Cng 5.0.0 +- System.Security.Permissions 6.0.0 +- System.Security.Principal.Windows 5.0.0 - System.Text.Encoding.CodePages 6.0.0 - System.Text.Encodings.Web 6.0.1 + +### .NET Standard 2.1 + +- Azure.Core 1.41.0 +- Azure.Identity 1.12.1 +- Microsoft.Data.SqlClient.SNI.runtime 5.1.2 +- Microsoft.Identity.Client 4.76.0 +- Microsoft.IdentityModel.JsonWebTokens 6.35.0 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.35.0 +- Microsoft.SqlServer.Server 1.0.0 +- Microsoft.Win32.Registry 5.0.0 +- System.Configuration.ConfigurationManager 6.0.1 +- System.Runtime.Caching 6.0.0 - System.Runtime.Loader 4.3.0 - System.Security.Cryptography.Cng 5.0.0 +- System.Security.Permissions 6.0.0 - System.Security.Principal.Windows 5.0.0 +- System.Text.Encoding.CodePages 6.0.0 +- System.Text.Encodings.Web 6.0.1 From 76e17ee07eba03444ff99512d459cf1dafebbdf9 Mon Sep 17 00:00:00 2001 From: Paul Medynski <31868385+paulmedynski@users.noreply.github.com> Date: Thu, 13 Nov 2025 13:24:59 -0400 Subject: [PATCH 5/6] Updated CHANGELOG to match release notes. --- CHANGELOG.md | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ecb6f1887..1aef817326 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -831,34 +831,32 @@ This update brings the below changes over the previous release: This update brings the following changes since the [5.1.7](release-notes/5.1/5.1.7.md) release: +### Added + +- Added Basic Availability Group failover to ignore server-supplied failover + host and use connection string host based on a new AppContext switch. + ([#3704](https://github.com/dotnet/SqlClient/pull/3704)) + ### Fixed - Fixed a bulk copy bug that incorrectly prepended a UTF-8 Byte-Order-Marker when processing row data. ([#3617](https://github.com/dotnet/SqlClient/pull/3617)) -- Fixed Basic Availability Group failover to ignore server-supplied failover - host and use connection string host based on a new AppContext switch. - ([#3704](https://github.com/dotnet/SqlClient/pull/3704)) ### Changed - Modernized creation of `Microsoft.Identity.Client.PublicClientApplication` instances to use its builder pattern. ([#3367](https://github.com/dotnet/SqlClient/pull/3367)) -- Replaced use of undocumented .NET Framework internals when reading `SqlDecimal` values. +- Replaced use of undocumented .NET Framework internals when reading + `SqlDecimal` values. ([#3465](https://github.com/dotnet/SqlClient/pull/3465)) -- Back-ported several test and pipeline changes to stabilize CI and Official pipelines. - ([#3599](https://github.com/dotnet/SqlClient/pull/3599), - [#3494](https://github.com/dotnet/SqlClient/pull/3494), - [#3591](https://github.com/dotnet/SqlClient/pull/3591), - [#3204](https://github.com/dotnet/SqlClient/pull/3204), - [#3542](https://github.com/dotnet/SqlClient/pull/3542)) - Updated the following dependencies ([#3754](https://github.com/dotnet/SqlClient/pull/3754)): - - Azure.Core 1.45.0 + - Azure.Core 1.41.0 (Avoids transitive [vulnerability](https://github.com/Azure/azure-sdk-for-net/issues/44817)) - Azure.Identity 1.12.1 - - Microsoft.Identity.Client 4.78.0 + - Microsoft.Identity.Client 4.76.0 ## [Stable release 5.1.7] - 2025-04-25 From 95f92c0db70f372d195c5eaa7228a03b1d5cc50a Mon Sep 17 00:00:00 2001 From: Paul Medynski <31868385+paulmedynski@users.noreply.github.com> Date: Thu, 13 Nov 2025 13:34:22 -0400 Subject: [PATCH 6/6] Shamelessly stole Apoorv's BAG failover description from the 6.0.4 release notes. --- CHANGELOG.md | 26 ++++++++++++++++++++++---- release-notes/5.1/5.1.8.md | 24 +++++++++++++++++++++--- 2 files changed, 43 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1aef817326..a7afe535e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -827,15 +827,33 @@ This update brings the below changes over the previous release: - Added Microsoft.SqlServer.Types to verify support for SqlHierarchyId and Spatial for .NET Core. [#1848](https://github.com/dotnet/SqlClient/pull/1848) - Code health improvements:[#1943](https://github.com/dotnet/SqlClient/pull/1943)[#1949](https://github.com/dotnet/SqlClient/pull/1949)[#1198](https://github.com/dotnet/SqlClient/pull/1198)[#1829](https://github.com/dotnet/SqlClient/pull/1829) -## [Stable release 5.1.8] - 2025-11-12 +## [Stable release 5.1.8] - 2025-11-14 This update brings the following changes since the [5.1.7](release-notes/5.1/5.1.7.md) release: ### Added -- Added Basic Availability Group failover to ignore server-supplied failover - host and use connection string host based on a new AppContext switch. - ([#3704](https://github.com/dotnet/SqlClient/pull/3704)) +#### App Context Switch for Ignoring Server-Provided Failover Partner + +*What Changed:* + +- A new app context switch `Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner` was introduced to let the client ignore server-provided failover partner info in Basic Availability Groups (BAGs). When the switch is enabled, only the failover partner specified in the connection string is used; server-supplied partner values are skipped. This context switch was introduced in PR [#3704](https://github.com/dotnet/SqlClient/pull/3704). + +*Who Benefits:* + +- Applications connecting to SQL Server BAGs using TCP and custom ports, especially where the server's provided partner name lacks the protocol, host, or port. This avoids connection failures when the server-provided partner is incompatible or incomplete. +- Teams who manage availability groups and rely on client-side control of failover behavior in heterogeneous networking environments. + +*Impact:* + +- If your environment might be affected (i.e., you operate a BAG with custom ports, or have experienced failures after failover), you can enable the new switch in your application: + +```c# +AppContext.SetSwitch("Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner", true); +``` + +- Then, ensure your connection string includes your preferred failover partner (with correct `tcp:host,port`) so that the client uses that instead of the server's suggestion. +- Without enabling this, by default, the client continues to prefer the server-provided partner, maintaining backwards compatibility. ### Fixed diff --git a/release-notes/5.1/5.1.8.md b/release-notes/5.1/5.1.8.md index 479e4ba1cc..2a4b9e654a 100644 --- a/release-notes/5.1/5.1.8.md +++ b/release-notes/5.1/5.1.8.md @@ -6,9 +6,27 @@ This update brings the following changes since the [5.1.7](5.1.7.md) release: ### Added -- Added Basic Availability Group failover to ignore server-supplied failover - host and use connection string host based on a new AppContext switch. - ([#3704](https://github.com/dotnet/SqlClient/pull/3704)) +#### App Context Switch for Ignoring Server-Provided Failover Partner + +*What Changed:* + +- A new app context switch `Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner` was introduced to let the client ignore server-provided failover partner info in Basic Availability Groups (BAGs). When the switch is enabled, only the failover partner specified in the connection string is used; server-supplied partner values are skipped. This context switch was introduced in PR [#3704](https://github.com/dotnet/SqlClient/pull/3704). + +*Who Benefits:* + +- Applications connecting to SQL Server BAGs using TCP and custom ports, especially where the server's provided partner name lacks the protocol, host, or port. This avoids connection failures when the server-provided partner is incompatible or incomplete. +- Teams who manage availability groups and rely on client-side control of failover behavior in heterogeneous networking environments. + +*Impact:* + +- If your environment might be affected (i.e., you operate a BAG with custom ports, or have experienced failures after failover), you can enable the new switch in your application: + +```c# +AppContext.SetSwitch("Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner", true); +``` + +- Then, ensure your connection string includes your preferred failover partner (with correct `tcp:host,port`) so that the client uses that instead of the server's suggestion. +- Without enabling this, by default, the client continues to prefer the server-provided partner, maintaining backwards compatibility. ### Fixed