Skip to content

[deps] DbOps: Update Microsoft.Data.SqlClient to v6#5744

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/microsoft.data.sqlclient-6.x
Open

[deps] DbOps: Update Microsoft.Data.SqlClient to v6#5744
renovate[bot] wants to merge 1 commit intomainfrom
renovate/microsoft.data.sqlclient-6.x

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Apr 28, 2025

This PR contains the following updates:

Package Change Age Confidence
Microsoft.Data.SqlClient (source) 5.2.26.1.4 age confidence

Release Notes

dotnet/sqlclient (Microsoft.Data.SqlClient)

v6.1.4

This update brings the following changes since the 6.1.3 release:

Fixed
  • Fixed NullReferenceException issue with SqlDataAdapter when processing batch scenarios where certain SQL RPC calls may not include system parameters.
    (#​3877)
  • Fixed connection pooling issue where extra connection deactivation was causing active connection counts to go negative.
    (#​3776)
Added
AppContext Switch for enabling MultiSubnetFailover

What Changed:

  • Added new AppContext switch Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefault to set MultiSubnetFailover=true by default in connection string.
    (#​3851)

Who Benefits:

  • Applications that need MultiSubnetFailover enabled globally without modifying connection strings.

Impact:

  • Applications can now enable MultiSubnetFailover globally using one of the following methods:
// In application code
AppContext.SetSwitch("Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefault", true);
// In runtimeconfig.json
{
  "configProperties": {
    "Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefault": true
  }
}
<!-- In App.Config -->
<runtime>
  <AppContextSwitchOverrides value="Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefault=true" />
</runtime>
Changed
  • Optimized SqlStatistics execution timing by using Environment.TickCount instead of more expensive timing mechanisms.
    (#​3830)
  • Updated dependencies (#​3843):
    • .NET Framework 4.6.2:
      • Azure.Core 1.47.1 -> 1.50.0
      • Azure.Identity 1.14.2 -> 1.17.1
      • Microsoft.Identity.Client 4.80.0 - Added
      • System.Buffers 4.5.1 -> 4.6.1
      • System.Diagnostics.DiagnosticSource 8.0.1 - Added
      • System.IdentityModel.Tokens.Jwt 7.7.1 - Added
      • System.Memory 4.6.3 - Added
      • System.Text.Json 8.0.5 -> 8.0.6
      • System.Text.RegularExpressions 4.3.1 - Added
      • Microsoft.Bcl.Cryptography - Removed
      • System.Text.Encodings.Web - Removed
    • .NET 8.0:
      • Azure.Core 1.47.1 -> 1.50.0
      • Azure.Identity 1.14.2 -> 1.17.1
      • Microsoft.Identity.Client 4.80.0 - Added
      • System.Diagnostics.DiagnosticSource 8.0.1 - Added
      • System.IdentityModel.Tokens.Jwt 7.7.1 - Added
      • Microsoft.Bcl.Cryptography - Removed
      • System.Text.Json - Removed
    • .NET 9.0:
      • Azure.Core 1.47.1 -> 1.50.0
      • Azure.Identity 1.14.2 -> 1.17.1
      • Microsoft.Extensions.Caching.Memory 9.0.4 -> 9.0.11
      • Microsoft.Identity.Client 4.80.0 - Added
      • System.Configuration.ConfigurationManager 9.0.4 -> 9.0.11
      • System.Diagnostics.DiagnosticSource 9.0.11 - Added
      • System.IdentityModel.Tokens.Jwt 7.7.1 - Added
      • System.Security.Cryptography.Pkcs 9.0.4 -> 9.0.11
      • Microsoft.Bcl.Cryptography - Removed
      • System.Text.Json - Removed
    • .NET Standard 2.0:
      • Azure.Core 1.47.1 -> 1.50.0
      • Azure.Identity 1.14.2 -> 1.17.1
      • Microsoft.Extensions.Caching.Memory 9.0.4 -> 8.0.1
      • Microsoft.Identity.Client 4.80.0 - Added
      • System.Configuration.ConfigurationManager 9.0.4 -> 8.0.1
      • System.Diagnostics.DiagnosticSource 8.0.1 - Added
      • System.IdentityModel.Tokens.Jwt 7.7.1 - Added
      • System.Security.Cryptography.Pkcs 9.0.4 -> 8.0.1
      • System.Text.Json 9.0.5 -> 8.0.6
      • Microsoft.Bcl.Cryptography - Removed

v6.1.3

This update includes the following changes since the 6.1.2 release:

Added
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 #​3702.

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:
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
  • Fixed an issue to ensure reliable metrics initialization during startup,
    preventing missed telemetry when EventSource is enabled early.
    (#​3718)

v6.1.2

This update includes the following changes since the 6.1.1 release:

Fixed
  • Fixed an issue where initializing PerformanceCounters would throw System.InvalidOperationException #​3629
  • Fixed an issue where a Custom SqlClientAuthenticationProvider was being overwritten by default implementation. #​3651
  • Fixed a concurrency issue in connection pooling where the number of active connections could be lower than the configured maximum pool size. #​3653

v6.1.1

This update includes the following changes since the 6.1.0 release:

Fixed
  • Reverted changes related to improving partial packet detection, fixup, and replay functionality. This revert addresses regressions introduced in 6.1.0. (#​3556)
  • Applied reference assembly corrections supporting vector, fixed JSON tests, and ensured related tests are enabled. #​3562
  • Fixed SqlVector<T>.Null API signature in Reference assembly. #​3521
Changed
  • Upgraded Azure.Identity and other dependencies to newer versions. (#​3538) (#​3552)

v6.1.0

This update brings the following changes since the
6.1.0-preview2 release:

Added

No new features were added.

Fixed
  • Fixed missing socket error codes on non-Windows platforms.
    (#​3475)
  • Fixed primary/secondary server SPN handling during SSPI negotiation.
    (#​3478)
  • Fixed AzureKeyVaultProvider package key caching to serialize Azure key fetch
    operations.
    (#​3477)
  • Fixed a rare error related to multi-packet async text reads.
    (#​3474)
  • Fixed some spelling errors in the API docs.
    (#​3500)
  • Fixed a rare multi-packet string corruption bug.
    (#​3513)
Changed
SqlDecimal type workarounds conversions

What Changed:

  • Changed how SqlDecimal type workarounds perform conversions to meet
    compliance policies.
    (#​3467)

Who Benefits:

  • Microsoft products must not use undocumented APIs on other Microsoft products.
    This change removes calls to undocumented APIs and replaces them with
    compliant API use.

Impact:

  • These changes impose an observed 5% decrease in performance on .NET Framework.
SqlVector API improvements

What Changed:

  • Several changes were made to the SqlVector API published in the
    6.1.0-preview2 release
    (#​3472):
    • The SqlVector class was changed to a readonly struct.
    • The null value constructor was changed to a static CreateNull() method.
    • The Size property was removed.

Who Benefits:

  • SqlVector instances gain the efficiencies of struct handling.

Impact:

  • Early-adopter applications may require updates if they rely on the old APIs
    and any class-specific behaviour.

v6.0.5

This update brings the below changes over the previous stable release:

Fixed
  • Fixed NullReferenceException issue with SqlDataAdapter when processing batch scenarios where certain SQL RPC calls may not include system parameters.
    (#​3878)
Added

What Changed:

  • Added new AppContext switch Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefault to set MultiSubnetFailover=true by default in connection string.
    (#​3852)

Who Benefits:

  • Applications that need MultiSubnetFailover enabled globally without modifying connection strings.

Impact:

  • Applications can now enable MultiSubnetFailover globally using one of the following methods:
// In application code
AppContext.SetSwitch("Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefault", true);
// In runtimeconfig.json
{
  "configProperties": {
    "Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefault": true
  }
}
<!-- In App.Config -->
<runtime>
  <AppContextSwitchOverrides value="Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefault=true" />
</runtime>
Changed
  • Updated dependencies (#​3840):
    • .NET Framework 4.6.2:

      • Azure.Core 1.50.0 - Added
      • Azure.Identity 1.14.2 -> 1.17.1
      • Microsoft.Identity.Client 4.80.0 - Added
      • Microsoft.IdentityModel.JsonWebTokens 7.5.0 -> 7.7.1
      • Microsoft.IdentityModel.Protocols.OpenIdConnect 7.5.0 -> 7.7.1
      • System.Buffers 4.5.1 -> 4.6.1
      • System.Text.Json 8.0.5 -> 8.0.6
      • Microsoft.Bcl.Cryptography - Removed
      • System.Text.Encodings.Web - Removed
    • .NET 8.0:

      • Azure.Core 1.50.0 - Added
      • Azure.Identity 1.14.2 -> 1.17.1
      • Microsoft.Identity.Client 4.80.0 - Added
      • Microsoft.IdentityModel.JsonWebTokens 7.5.0 -> 7.7.1
      • Microsoft.IdentityModel.Protocols.OpenIdConnect 7.5.0 -> 7.7.1
      • Microsoft.Bcl.Cryptography - Removed
      • System.Text.Json - Removed
    • .NET 9.0:

      • Azure.Core 1.50.0 - Added
      • Azure.Identity 1.14.2 -> 1.17.1
      • Microsoft.Extensions.Caching.Memory 9.0.4 -> 9.0.11
      • Microsoft.Identity.Client 4.80.0 - Added
      • Microsoft.IdentityModel.JsonWebTokens 7.5.0 -> 7.7.1
      • Microsoft.IdentityModel.Protocols.OpenIdConnect 7.5.0 -> 7.7.1
      • Microsoft.Bcl.Cryptography - Removed
      • System.Text.Json - Removed

v6.0.4

This update brings the below changes over the previous stable release:

Added
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 #​3703.

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:
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.

v6.0.3

This update brings the below changes over the previous stable release:

Fixed
  • Fixed an issue where a Custom SqlClientAuthenticationProvider was being overwritten by default implementation. #​3652
  • Fixed a concurrency issue in connection pooling where the number of active connections could be lower than the configured maximum pool size. #​3654
Changed
  • Updated MSAL usage as per code compliance requirements #​3360
  • Updated SqlDecimal implementation to improve code compliance #​3466
  • Updated Azure.Identity and related dependencies #​3553

v6.0.2

This update brings the following changes since the
6.1.0-preview1 release:

Added
Added dedicated SQL Server vector datatype support

What Changed:

  • Optimized vector communications between MDS and SQL Server 2025, employing a
    custom binary format over the TDS protocol.
    (#​3433,
    #​3443)
  • Reduced processing load compared to existing JSON-based vector support.
  • Initial support for 32-bit single-precision floating point vectors.

Who Benefits:

  • Applications moving large vector data sets will see beneficial improvements
    to processing times and memory requirements.
  • Vector-specific APIs are ready to support future numeric representations with
    a consistent look-and-feel.

Impact:

  • Reduced transmission and processing times for vector operations versus JSON
    using SQL Server 2025 preview:
    • Reads: 50x improvement
    • Writes: 3.3x improvement
    • Bulk Copy: 19x improvement
    • (Observed with vector column of max 1998 size, and 10,000 records for each
      operation.)
  • Improved memory footprint due to the elimination of JSON
    serialization/deserialization and string representation bloat.
  • For backwards compatibility with earlier SQL Server Vector implementations,
    applications may continue to use JSON strings to send/receive vector data,
    although they will not see any of the performance improvements noted above.
Revived .NET Standard 2.0 target support

What Changed:

Who Benefits:

  • Libraries that depend on MDS may seamlessly target any of the following
    frameworks:
    • .NET Standard 2.0
    • .NET Framework 4.6.2 and above
    • .NET 8.0
    • .NET 9.0
  • Applications should continue to target runtimes.
    • The MDS .NET Standard 2.0 target framework support does not include an
      actual implementation, and cannot be used with a runtime.
    • An application's build/publish process should always pick the appropriate
      MDS .NET/.NET Framework runtime implementation.
    • Custom build/publish actions that incorrectly try to deploy the MDS .NET
      Standard 2.0 reference DLL at runtime are not supported.

Impact:

  • Libraries targeting .NET Standard 2.0 will no longer receive warnings like
    this:
    • warning NU1701: Package 'Microsoft.Data.SqlClient 6.0.2' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1' instead of the project target framework '.NETStandard,Version=v2.0'. This package may not be fully compatible with your project.
Fixed
  • Fixed missing <NeutralLanguage> property.
    (#​3325)
  • Fixed injection of UTF-8 BOM during bulk copy.
    (#​3399)
  • Fixed SqlCachedBuffer async read edge case.
    (#​3329)
  • Fixed SqlSequentialTextReader edge case with single-byte reads.
    (#​3383)
  • Fixed an incorrect error message when parsing connection string PoolBlockingPeriod.
    (#​3411)
  • Added missing ToString() override to SqlJson.
    (#​3427)
Changed

v6.0.1

This update brings the below changes over the previous release:

Fixed
  • Fixed reference assembly definitions for SqlClientDiagnostic APIs #​3097
  • Fixed issue with down-level SSL/TLS version warnings #​3126
Changed
  • Dependency changes
    • Updated SNI dependency Microsoft.Data.SqlClient.SNI and Microsoft.Data.SqlClient.SNI.runtime to 6.0.2 #​3116 #​3117

v6.0.0

No changes since the last preview release

v5.2.3

This update brings the following changes since the 5.2.2 release:

Fixed
  • Fixed possible NullPointerException during socket receive (PR #​3284)
  • Fixed inconsistencies between source and reference projects (PR #​3124)
  • Adjusted retry logic to allow errors with negative numbers to be considered transient (PR #​3185)
Changed

Configuration

📅 Schedule: Branch creation - "every 2nd week starting on the 2 week of the year before 4am on Monday" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from a team April 28, 2025 00:59
@bitwarden-bot bitwarden-bot changed the title [deps] DbOps: Update Microsoft.Data.SqlClient to v6 [PM-20792] [deps] DbOps: Update Microsoft.Data.SqlClient to v6 Apr 28, 2025
@bitwarden-bot
Copy link

Internal tracking:

@codecov
Copy link

codecov bot commented Apr 28, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 57.45%. Comparing base (0ad7a10) to head (687f041).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #5744   +/-   ##
=======================================
  Coverage   57.45%   57.45%           
=======================================
  Files        2032     2032           
  Lines       89415    89415           
  Branches     7951     7951           
=======================================
+ Hits        51369    51371    +2     
+ Misses      36203    36201    -2     
  Partials     1843     1843           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@renovate renovate bot changed the title [PM-20792] [deps] DbOps: Update Microsoft.Data.SqlClient to v6 [deps] DbOps: Update Microsoft.Data.SqlClient to v6 Apr 28, 2025
@renovate renovate bot force-pushed the renovate/microsoft.data.sqlclient-6.x branch from b6eedd1 to 99a7be0 Compare May 3, 2025 00:45
@renovate renovate bot force-pushed the renovate/microsoft.data.sqlclient-6.x branch 2 times, most recently from b8c38b5 to 332db2b Compare August 5, 2025 02:48
@renovate renovate bot force-pushed the renovate/microsoft.data.sqlclient-6.x branch 2 times, most recently from edcdac2 to 2147831 Compare August 13, 2025 13:28
@renovate renovate bot force-pushed the renovate/microsoft.data.sqlclient-6.x branch 2 times, most recently from 99f2ff4 to 98ce80a Compare August 24, 2025 10:50
@renovate renovate bot force-pushed the renovate/microsoft.data.sqlclient-6.x branch 2 times, most recently from 0dcfa3c to 285f2c5 Compare October 15, 2025 04:14
@renovate renovate bot force-pushed the renovate/microsoft.data.sqlclient-6.x branch from 285f2c5 to ccead54 Compare October 21, 2025 13:47
@renovate renovate bot force-pushed the renovate/microsoft.data.sqlclient-6.x branch from ccead54 to 260a04f Compare November 10, 2025 15:34
@renovate renovate bot force-pushed the renovate/microsoft.data.sqlclient-6.x branch 2 times, most recently from e40f8aa to c481b50 Compare November 19, 2025 23:35
@renovate renovate bot force-pushed the renovate/microsoft.data.sqlclient-6.x branch from c481b50 to bbf9eee Compare January 14, 2026 23:20
@renovate renovate bot force-pushed the renovate/microsoft.data.sqlclient-6.x branch from bbf9eee to 06bed65 Compare January 22, 2026 21:25
@renovate renovate bot force-pushed the renovate/microsoft.data.sqlclient-6.x branch from 06bed65 to 6596182 Compare February 2, 2026 15:45
@renovate renovate bot force-pushed the renovate/microsoft.data.sqlclient-6.x branch from 6596182 to b81be07 Compare February 12, 2026 12:16
@renovate renovate bot force-pushed the renovate/microsoft.data.sqlclient-6.x branch 2 times, most recently from 2282ba4 to 043d7ef Compare February 24, 2026 14:22
@renovate renovate bot force-pushed the renovate/microsoft.data.sqlclient-6.x branch from 043d7ef to 687f041 Compare March 13, 2026 13:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant