Skip to content

Bump Microsoft.Data.SqlClient to 7.0.1 (+ Extensions.Azure for Entra)#895

Merged
erikdarlingdata merged 1 commit intodevfrom
feature/sqlclient-7.0.1
Apr 25, 2026
Merged

Bump Microsoft.Data.SqlClient to 7.0.1 (+ Extensions.Azure for Entra)#895
erikdarlingdata merged 1 commit intodevfrom
feature/sqlclient-7.0.1

Conversation

@erikdarlingdata
Copy link
Copy Markdown
Owner

Summary

Major-version bump of Microsoft.Data.SqlClient from 6.1.4 → 7.0.1. The breaking change in 7.0 is that Azure/Entra dependencies were split out of the core package — anything using SqlAuthenticationMethod.ActiveDirectory* now requires the separate Microsoft.Data.SqlClient.Extensions.Azure package, or it throws at runtime (compile still succeeds, so the regression is silent without it).

We use ActiveDirectoryInteractive in five places (Dashboard/Lite/Installer.Core), so this PR adds Microsoft.Data.SqlClient.Extensions.Azure 1.0.0 to those projects. Pure-SQL-auth projects (Installer, Installer.Tests) get the SqlClient bump only.

7.0.1 specifically (not 7.0.0): patches a SqlBulkCopy regression against SQL 2016 — we don't use SqlBulkCopy, but no reason to land on 7.0.0.

Why this is low-risk for us

  • All connection-string builders already set Encrypt explicitly (the only behavioral default flip in recent SqlClient history) — no silent change.
  • SqlClient 7.0 still supports SQL Server 2012+, so 2016/2017/2019/2022/2025 stay reachable.
  • No usage of SqlBulkCopy, SqlDependency, ColumnEncryption, custom SqlAuthenticationProvider, or ServerCertificateValidationCallback.
  • No source code changes — packaging only.

Test plan

  • All six projects build clean (Dashboard, Lite, Installer, Installer.Core, InstallerGui, Installer.Tests, Lite.Tests)
  • Installer.Tests: 46/46 passing (exercises real SqlClient against test SQL servers)
  • Lite.Tests: 257/257 passing (exercises real SqlClient)
  • Dashboard launches, stays running
  • Lite launches, stays running, resumes collection
  • Manual: add a SQL 2016 server with Encrypt=Mandatory, TrustServerCertificate=true and confirm a collection cycle completes
  • Manual: add an Entra MFA server in both Dashboard and Lite — this is where a missing Extensions.Azure would silently regress
  • Manual: run Installer end-to-end against a fresh database

🤖 Generated with Claude Code

SqlClient 7.0 split Azure/Entra dependencies out of the core package, so
projects with Entra-Interactive auth paths (ActiveDirectoryInteractive)
also need the new Microsoft.Data.SqlClient.Extensions.Azure helper to
keep MFA login working at runtime.

Bumps to 7.0.1 across:
- Dashboard (+ Extensions.Azure 1.0.0)
- Lite (+ Extensions.Azure 1.0.0)
- Installer.Core (+ Extensions.Azure 1.0.0; transitive via Installer/InstallerGui/Installer.Tests)
- InstallerGui (+ Extensions.Azure 1.0.0)
- Installer (no Extensions.Azure — no Entra path)
- Installer.Tests (no Extensions.Azure — no Entra path)

Connection strings already set Encrypt explicitly everywhere, so the
4.0-era default flip is a no-op for this repo. SQL Server 2012+ remains
supported (so all of 2016/2017/2019/2022/2025 stay reachable).

Verified:
- All six projects build clean
- Installer.Tests: 46/46 passing against real SQL
- Lite.Tests: 257/257 passing against real SQL
- Dashboard and Lite launch and stay running

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@erikdarlingdata erikdarlingdata force-pushed the feature/sqlclient-7.0.1 branch from 69830e2 to 90907b4 Compare April 25, 2026 15:15
@erikdarlingdata erikdarlingdata merged commit 7c642d6 into dev Apr 25, 2026
3 checks passed
@erikdarlingdata erikdarlingdata deleted the feature/sqlclient-7.0.1 branch April 25, 2026 15:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant