From a98d790419a919a2492d7832290393e7aa37c4f1 Mon Sep 17 00:00:00 2001 From: Priyanka Tiwari Date: Fri, 21 Aug 2026 17:58:32 +0530 Subject: [PATCH] Add release notes for 7.1.0-preview3 Adds release notes for Microsoft.Data.SqlClient 7.1.0-preview3 and its four aligned companion packages, updates the per-version README index tables, and adds the corresponding CHANGELOG entry. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c7425f3e-f6b8-439b-b74f-e25f8406fbf6 --- CHANGELOG.md | 84 +++++++++ release-notes/7.1/7.1.0-preview3.md | 173 ++++++++++++++++++ release-notes/7.1/README.md | 1 + .../Abstractions/7.1/7.1.0-preview3.md | 19 ++ .../Extensions/Abstractions/7.1/README.md | 1 + .../Extensions/Azure/7.1/7.1.0-preview3.md | 39 ++++ release-notes/Extensions/Azure/7.1/README.md | 1 + .../Internal/Logging/7.1/7.1.0-preview3.md | 22 +++ release-notes/Internal/Logging/7.1/README.md | 1 + .../7.1/7.1.0-preview3.md | 23 +++ .../AzureKeyVaultProvider/7.1/README.md | 1 + 11 files changed, 365 insertions(+) create mode 100644 release-notes/7.1/7.1.0-preview3.md create mode 100644 release-notes/Extensions/Abstractions/7.1/7.1.0-preview3.md create mode 100644 release-notes/Extensions/Azure/7.1/7.1.0-preview3.md create mode 100644 release-notes/Internal/Logging/7.1/7.1.0-preview3.md create mode 100644 release-notes/add-ons/AzureKeyVaultProvider/7.1/7.1.0-preview3.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f15b44925..13eb37139d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,90 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) > **Note:** Releases are sorted in reverse chronological order (newest first). +## [Preview Release 7.1.0-preview3] - 2026-08-26 + +This update brings the following changes since the [7.1.0-preview2](release-notes/7.1/7.1.0-preview2.md) release. +See the [full release notes](release-notes/7.1/7.1.0-preview3.md) for detailed descriptions. + +> **Important — package version alignment:** Starting with the [7.0.2](release-notes/7.0/7.0.2.md) release, the `Microsoft.Data.SqlClient` driver and its companion packages share a single aligned version. Preview 3 of the `7.1` line continues this alignment; the following packages now ship together as `7.1.0-preview3`: +> +> - `Microsoft.Data.SqlClient` +> - `Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider` +> - `Microsoft.Data.SqlClient.Extensions.Azure` +> - `Microsoft.Data.SqlClient.Extensions.Abstractions` +> - `Microsoft.Data.SqlClient.Internal.Logging` +> +> (`Microsoft.SqlServer.Server` continues to version independently and remains at `1.0.0`.) +> +> Applications that reference `Microsoft.Data.SqlClient.Extensions.Azure` must upgrade it to `7.1.0-preview3` when upgrading `Microsoft.Data.SqlClient` to `7.1.0-preview3`. +> +> **Compatibility guarantee:** All aligned assemblies ship with `FileVersion 7.1.0.x` and `AssemblyVersion 7.0.0.0`. The `AssemblyVersion` is unchanged from [7.0.2](release-notes/7.0/7.0.2.md), so upgrading from `7.0.2` to `7.1.0-preview3` does **not** require any new .NET Framework strong-name binding redirects. + +### Added + +- Added four `virtual` asynchronous counterparts to the synchronous methods on `SqlColumnEncryptionKeyStoreProvider` — `DecryptColumnEncryptionKeyAsync`, `EncryptColumnEncryptionKeyAsync`, `SignColumnMasterKeyMetadataAsync`, and `VerifyColumnMasterKeyMetadataAsync` — each accepting an optional `CancellationToken`. The default implementations delegate to the existing synchronous methods, so existing custom providers are unaffected. + ([#3673](https://github.com/dotnet/SqlClient/pull/3673)) + +- Substantially expanded `ChannelDbConnectionPool` (the opt-in pool behind `Switch.Microsoft.Data.SqlClient.UseConnectionPoolV2`) toward parity with the default pool: transaction support, broken-connection replacement, background warmup and replenishment to `Min Pool Size`, idle pruning driven by `Connection Idle Timeout`, optional connection-creation rate limiting, and metrics/tracing parity. Default pooling behavior is unchanged. + ([#4395](https://github.com/dotnet/SqlClient/pull/4395), + [#4396](https://github.com/dotnet/SqlClient/pull/4396), + [#4429](https://github.com/dotnet/SqlClient/pull/4429), + [#4452](https://github.com/dotnet/SqlClient/pull/4452), + [#4463](https://github.com/dotnet/SqlClient/pull/4463), + [#4487](https://github.com/dotnet/SqlClient/pull/4487), + [#4504](https://github.com/dotnet/SqlClient/pull/4504)) + +### Changed + +- Completed the removal of OS-specific compilation from `Microsoft.Data.SqlClient`; the driver now builds a single cross-platform assembly and the `_WINDOWS`/`_UNIX` symbols have been removed. Package structure and contents are unchanged, and Windows-only native SNI types now trim cleanly on Linux and macOS. + ([#4207](https://github.com/dotnet/SqlClient/pull/4207), + [#4465](https://github.com/dotnet/SqlClient/pull/4465)) + +- Reduced managed allocations in the async read path by restoring reuse of `PacketData` nodes via a bounded free list on `StateSnapshot`. + ([#4536](https://github.com/dotnet/SqlClient/pull/4536)) + +- Converted 119 `SqlClientEventSource` trace call sites back to parameterized format strings so no formatted string is allocated when tracing is disabled. Trace output is unchanged. + ([#4528](https://github.com/dotnet/SqlClient/pull/4528)) + +- Consolidated server capability detection into a new internal `ConnectionCapabilities` type shared by the internal connection, `SqlMetaDataFactory`, and `TdsParser`. + ([#3862](https://github.com/dotnet/SqlClient/pull/3862)) + +- Added scaffolding for a managed SSRP client in the managed SNI layer. No SSRP parsing behavior changes yet. + ([#3741](https://github.com/dotnet/SqlClient/pull/3741)) + +- Updated centrally managed dependency versions for the `net9.0` target framework to `9.0.18`, and added `System.Threading.RateLimiting` to the packaged dependency metadata. Non-`net9.0` targets keep their existing `8.0.x` pins. + ([#4507](https://github.com/dotnet/SqlClient/pull/4507)) + +- Updated the `Microsoft.Data.SqlClient.SNI` and `Microsoft.Data.SqlClient.SNI.runtime` dependencies to `7.1.0-preview3.26226.3`. + ([#4564](https://github.com/dotnet/SqlClient/pull/4564)) + +- Re-shipped `Microsoft.Data.SqlClient.Extensions.Azure` as `7.1.0-preview3`, removing obsolete `Azure.Identity` API usage with no public API or behavior change. See [release notes](release-notes/Extensions/Azure/7.1/7.1.0-preview3.md). + +- Re-shipped `Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider`, `Microsoft.Data.SqlClient.Extensions.Abstractions`, and `Microsoft.Data.SqlClient.Internal.Logging` as `7.1.0-preview3` (version alignment only, no functional changes). See release notes for [AKV](release-notes/add-ons/AzureKeyVaultProvider/7.1/7.1.0-preview3.md), [Abstractions](release-notes/Extensions/Abstractions/7.1/7.1.0-preview3.md), and [Logging](release-notes/Internal/Logging/7.1/7.1.0-preview3.md). + +### Fixed + +- Fixed Always Encrypted VSM/HGS enclave attestation not verifying that the enclave public key used to establish the session matches the key committed to by the signed attestation report. + ([#4532](https://github.com/dotnet/SqlClient/pull/4532)) + +- Fixed a `SqlConnectionFactory` timer that woke the process every 30 seconds for the lifetime of the application even when no connection pools existed, including with `Pooling=False` and after `ClearAllPools()`. + ([#4479](https://github.com/dotnet/SqlClient/pull/4479)) + +- Fixed `OverflowException` when sending large `decimal` values as a parameter with explicit `Precision` and `Scale`, which primarily affected Always Encrypted scenarios. + ([#4443](https://github.com/dotnet/SqlClient/pull/4443)) + +- Fixed a TDS stream error when passing a `DateOnly` value as a parameter with `SqlDbType.Variant`. + ([#4294](https://github.com/dotnet/SqlClient/pull/4294)) + +- Fixed `SqlConnection.AccessTokenCallback` not disabling Transparent Network IP Resolution by default, unlike `SqlConnection.AccessToken`, along with a related connection pool key defect. + ([#4520](https://github.com/dotnet/SqlClient/pull/4520)) + +- Fixed several async entry points in `SqlBulkCopy`, `SqlDataReader`, and `SqlCommand` that captured fatal exceptions such as `OutOfMemoryException` into faulted `Task`s instead of letting them propagate. + ([#4437](https://github.com/dotnet/SqlClient/pull/4437)) + +- Addressed CodeQL findings by removing SHA-1 from the portable PDB checksum algorithm map and annotating the Always Encrypted RSA PKCS#1 v1.5 signature paths. + ([#4517](https://github.com/dotnet/SqlClient/pull/4517)) + ## [Preview Release 7.1.0-preview2] - 2026-07-09 This update brings the following changes since the [7.1.0-preview1](release-notes/7.1/7.1.0-preview1.md) release. diff --git a/release-notes/7.1/7.1.0-preview3.md b/release-notes/7.1/7.1.0-preview3.md new file mode 100644 index 0000000000..3b96990e3e --- /dev/null +++ b/release-notes/7.1/7.1.0-preview3.md @@ -0,0 +1,173 @@ +# Release Notes + +## Preview Release 7.1.0-preview3 - 2026-08-26 + +This update brings the following changes since the [7.1.0-preview2](7.1.0-preview2.md) release: + +> **Important — package version alignment:** Starting with the [7.0.2](../7.0/7.0.2.md) release, the `Microsoft.Data.SqlClient` driver and its companion packages share a single aligned version. Preview 3 of the `7.1` line continues this alignment; the following packages ship together as `7.1.0-preview3`: +> +> - `Microsoft.Data.SqlClient` +> - `Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider` +> - `Microsoft.Data.SqlClient.Extensions.Azure` +> - `Microsoft.Data.SqlClient.Extensions.Abstractions` +> - `Microsoft.Data.SqlClient.Internal.Logging` +> +> (`Microsoft.SqlServer.Server` continues to version independently and remains at `1.0.0`.) +> +> Applications must reference the same versions of `Microsoft.Data.SqlClient` and its extensions for best compatibility. In particular, applications that reference `Microsoft.Data.SqlClient.Extensions.Azure` must upgrade it to `7.1.0-preview3` when upgrading `Microsoft.Data.SqlClient` to `7.1.0-preview3`. +> +> **Compatibility guarantee:** All aligned assemblies ship with `FileVersion 7.1.0.x` and `AssemblyVersion 7.0.0.0`. The `AssemblyVersion` is unchanged from [7.0.2](../7.0/7.0.2.md), so upgrading from `7.0.2` to `7.1.0-preview3` does **not** require any new .NET Framework strong-name binding redirects. + +### Added + +#### Asynchronous Key Store Provider APIs for Always Encrypted + +*What Changed:* + +- Added four `virtual` asynchronous counterparts to the existing synchronous methods on the `SqlColumnEncryptionKeyStoreProvider` abstract base class: `DecryptColumnEncryptionKeyAsync`, `EncryptColumnEncryptionKeyAsync`, `SignColumnMasterKeyMetadataAsync`, and `VerifyColumnMasterKeyMetadataAsync`. Each takes an optional `CancellationToken`. The default implementations delegate to the existing synchronous methods, so providers that do not override them continue to work unchanged. + ([#3672](https://github.com/dotnet/SqlClient/issues/3672), [#3673](https://github.com/dotnet/SqlClient/pull/3673)) + +*Who Benefits:* + +- Authors of custom column encryption key store providers — particularly those backed by network-bound key stores such as HSMs or cloud key vaults — can now implement genuinely asynchronous key operations instead of blocking a thread on synchronous I/O during query execution. + +*Impact:* + +- Purely additive. Because the new methods are `virtual` with a synchronous fallback, existing providers compile and run without modification. + +#### Connection Pool V2 Feature Completeness + +*What Changed:* + +- Substantially expanded `ChannelDbConnectionPool`, the opt-in pool implementation gated behind the `Switch.Microsoft.Data.SqlClient.UseConnectionPoolV2` AppContext switch, bringing it closer to parity with the default `WaitHandleDbConnectionPool`: + - **Transaction support** — implemented `PutObjectFromTransactedPool` and `TransactionEnded` (previously `NotImplementedException`), and reworked connection return to mirror the reference pool's deactivate-then-route behavior. ([#4487](https://github.com/dotnet/SqlClient/pull/4487)) + - **Connection replacement** — implemented replacement of broken connections during command execution, with atomic slot replacement in `ConnectionPoolSlots`. ([#4429](https://github.com/dotnet/SqlClient/pull/4429)) + - **Background warmup and replenishment** — the pool now pre-creates connections up to `Min Pool Size` on startup and replenishes automatically whenever it drops below the minimum. ([#4452](https://github.com/dotnet/SqlClient/pull/4452)) + - **Idle pruning** — the pruning window is now derived from the `Connection Idle Timeout` value rather than a hard-coded interval. Defaults are unchanged. ([#4463](https://github.com/dotnet/SqlClient/pull/4463)) + - **Connection-creation rate limiting** — an optional `ConcurrencyLimiter` can throttle new physical connection creation; when a permit is denied the caller waits for an existing connection instead of forcing another open. ([#4395](https://github.com/dotnet/SqlClient/pull/4395), [#4396](https://github.com/dotnet/SqlClient/pull/4396)) + - **Metrics and tracing parity** — the pool now emits the same pooled/free connection and soft/hard connect/disconnect counters as the default pool, and traces at comparable fidelity. ([#4504](https://github.com/dotnet/SqlClient/pull/4504)) + +*Who Benefits:* + +- Applications evaluating the V2 connection pool can now exercise transaction-enlisted workloads, broken-connection recovery, and pool warmup, and can observe the pool through the existing performance counters and EventSource traces. + +*Impact:* + +- No change to default behavior. `ChannelDbConnectionPool` is used only when `Switch.Microsoft.Data.SqlClient.UseConnectionPoolV2` is enabled; the default pool remains `WaitHandleDbConnectionPool`. +- Two counter fixes surfaced by this work apply to **both** pools: `Count` now reflects connections that actually belong to the pool rather than including in-flight reservations. + +### Changed + +#### Single Cross-Platform Build of the Driver Assembly + +*What Changed:* + +- Completed the removal of OS-specific compilation from `Microsoft.Data.SqlClient`. The native SNI interop types, enums, structs, P/Invokes and the SNI layer itself now build identically for Windows and non-Windows targets, and the `_WINDOWS`/`_UNIX` conditional compilation symbols have been removed from the driver project. The structure and contents of the produced NuGet package are unchanged. + ([#4207](https://github.com/dotnet/SqlClient/pull/4207), [#4239](https://github.com/dotnet/SqlClient/issues/4239), [#4465](https://github.com/dotnet/SqlClient/pull/4465)) + +*Who Benefits:* + +- Trimming-sensitive applications: the Windows-only native SNI types are now removed cleanly by the IL trimmer on Linux and macOS. A `ILLink.Substitutions.xml` naming defect that previously prevented `LocalAppContextSwitches.UseManagedNetworking` from being substituted for a constant is also fixed. + +*Impact:* + +- No API or packaging change. The same assembly content ships as before; only the build configuration changed. + +#### Other changes + +- Reduced managed allocations in the async read path by restoring reuse of `PacketData` linked-list nodes via a bounded free list on `StateSnapshot`, recovering an allocation regression against the 6.1.6 baseline. ([#4536](https://github.com/dotnet/SqlClient/pull/4536)) +- Converted 119 `SqlClientEventSource` trace call sites back to parameterized format strings instead of C# interpolated strings, so no formatted string is allocated when tracing is disabled. Trace output is unchanged. ([#4528](https://github.com/dotnet/SqlClient/pull/4528)) +- Consolidated server capability detection into a new internal `ConnectionCapabilities` type shared by the internal connection, `SqlMetaDataFactory`, and `TdsParser`, so metadata decisions can be driven by negotiated feature flags rather than by server version alone. ([#3862](https://github.com/dotnet/SqlClient/pull/3862)) +- Added scaffolding for a managed SSRP client in the managed SNI layer, including `PacketBuffer` and sequence-reading helpers. No SSRP parsing behavior changes yet. ([#3700](https://github.com/dotnet/SqlClient/issues/3700), [#3741](https://github.com/dotnet/SqlClient/pull/3741)) +- Updated centrally managed dependency versions for the `net9.0` target framework to `9.0.18`, and added `System.Threading.RateLimiting` to the packaged dependency metadata. Non-`net9.0` targets keep their existing `8.0.x` pins. ([#4507](https://github.com/dotnet/SqlClient/pull/4507)) +- Updated the `Microsoft.Data.SqlClient.SNI` and `Microsoft.Data.SqlClient.SNI.runtime` dependencies to `7.1.0-preview3.26226.3`. ([#4564](https://github.com/dotnet/SqlClient/pull/4564)) + +### Fixed + +- Fixed Always Encrypted VSM/HGS enclave attestation not verifying that the enclave public key used to establish the session matches the key committed to by the signed attestation report. The provider now compares `SHA-256(enclave public key)` against the report's `EnclaveData` using a fixed-time comparison, and rejects attestation when the data is missing, malformed, or mismatched. ([#4532](https://github.com/dotnet/SqlClient/pull/4532)) +- Fixed a `SqlConnectionFactory` timer that woke the process every 30 seconds for the lifetime of the application even when no connection pools existed — including with `Pooling=False` and after `ClearAllPools()`. The pruning timer is now armed on demand and disarmed once there is nothing left to prune. A missing .NET Framework unload hook was also added. ([#1881](https://github.com/dotnet/SqlClient/issues/1881), [#4479](https://github.com/dotnet/SqlClient/pull/4479)) +- Fixed `OverflowException` when sending large `decimal` values (for example `decimal.MaxValue`) as a parameter with explicit `Precision` and `Scale`, which primarily affected Always Encrypted scenarios where both must always be set. ([#1655](https://github.com/dotnet/SqlClient/issues/1655), [#4443](https://github.com/dotnet/SqlClient/pull/4443)) +- Fixed a TDS stream error when passing a `DateOnly` value as a parameter with `SqlDbType.Variant`; the required `sql_variant` write paths were missing. (net8.0/net9.0 only) ([#3953](https://github.com/dotnet/SqlClient/issues/3953), [#4294](https://github.com/dotnet/SqlClient/pull/4294)) +- Fixed `SqlConnection.AccessTokenCallback` not disabling Transparent Network IP Resolution by default, unlike `SqlConnection.AccessToken`. Also fixed a related defect in how the authentication setters build the connection pool key, and made `SspiContextProvider` mutually exclusive with token-based authentication. (net462 only for the TNIR behavior) ([#4520](https://github.com/dotnet/SqlClient/pull/4520)) +- Fixed several async entry points in `SqlBulkCopy`, `SqlDataReader.InvokeAsyncCall`, `SqlCommand.Reader`, and `SqlCommand.Xml` that captured fatal exceptions such as `OutOfMemoryException` into faulted `Task`s instead of letting them propagate. ([#4437](https://github.com/dotnet/SqlClient/pull/4437)) +- Addressed CodeQL findings by removing SHA-1 from the portable PDB checksum algorithm map and annotating the Always Encrypted RSA PKCS#1 v1.5 signature paths, which are fixed by the Always Encrypted on-the-wire format and cannot be changed without breaking interoperability with SQL Server tooling and other drivers. ([#4517](https://github.com/dotnet/SqlClient/pull/4517)) + +### Companion package release notes + +- [Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider 7.1.0-preview3](../add-ons/AzureKeyVaultProvider/7.1/7.1.0-preview3.md) +- [Microsoft.Data.SqlClient.Extensions.Azure 7.1.0-preview3](../Extensions/Azure/7.1/7.1.0-preview3.md) +- [Microsoft.Data.SqlClient.Extensions.Abstractions 7.1.0-preview3](../Extensions/Abstractions/7.1/7.1.0-preview3.md) +- [Microsoft.Data.SqlClient.Internal.Logging 7.1.0-preview3](../Internal/Logging/7.1/7.1.0-preview3.md) + +## Target Platform Support + +- .NET Framework 4.6.2+ (Windows x86, Windows x64, Windows ARM64) +- .NET 8.0+ (Windows x86, Windows x64, Windows ARM, Windows ARM64, Linux, macOS) + +### Dependencies + +#### .NET 9.0 + +- Microsoft.Bcl.Cryptography 9.0.18 +- Microsoft.Data.SqlClient.Extensions.Abstractions 7.1.0-preview3 +- Microsoft.Data.SqlClient.Internal.Logging 7.1.0-preview3 +- Microsoft.Data.SqlClient.SNI.runtime 7.1.0-preview3.26226.3 +- Microsoft.Extensions.Caching.Memory 9.0.18 +- Microsoft.IdentityModel.JsonWebTokens 8.16.0 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 8.16.0 +- Microsoft.SqlServer.Server 1.0.0 +- System.Configuration.ConfigurationManager 9.0.18 +- System.Security.Cryptography.Pkcs 9.0.18 +- System.Threading.RateLimiting 9.0.18 + +#### .NET 8.0 + +- Microsoft.Bcl.Cryptography 8.0.0 +- Microsoft.Data.SqlClient.Extensions.Abstractions 7.1.0-preview3 +- Microsoft.Data.SqlClient.Internal.Logging 7.1.0-preview3 +- Microsoft.Data.SqlClient.SNI.runtime 7.1.0-preview3.26226.3 +- Microsoft.Extensions.Caching.Memory 8.0.1 +- Microsoft.IdentityModel.JsonWebTokens 8.16.0 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 8.16.0 +- Microsoft.SqlServer.Server 1.0.0 +- System.Configuration.ConfigurationManager 8.0.1 +- System.Security.Cryptography.Pkcs 8.0.1 +- System.Threading.RateLimiting 8.0.0 + +#### .NET Standard 2.0 + +- Microsoft.Bcl.Cryptography 8.0.0 +- Microsoft.Bcl.TimeProvider 8.0.1 +- Microsoft.Data.SqlClient.Extensions.Abstractions 7.1.0-preview3 +- Microsoft.Data.SqlClient.Internal.Logging 7.1.0-preview3 +- Microsoft.Data.SqlClient.SNI.runtime 7.1.0-preview3.26226.3 +- Microsoft.Extensions.Caching.Memory 8.0.1 +- Microsoft.IdentityModel.JsonWebTokens 8.16.0 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 8.16.0 +- Microsoft.SqlServer.Server 1.0.0 +- System.Configuration.ConfigurationManager 8.0.1 +- System.Security.Cryptography.Pkcs 8.0.1 +- System.Text.Json 10.0.3 +- System.Threading.Channels 10.0.3 +- System.Threading.RateLimiting 8.0.0 + +#### .NET Framework 4.6.2+ + +- Microsoft.Bcl.Cryptography 8.0.0 +- Microsoft.Bcl.TimeProvider 8.0.1 +- Microsoft.Data.SqlClient.Extensions.Abstractions 7.1.0-preview3 +- Microsoft.Data.SqlClient.Internal.Logging 7.1.0-preview3 +- Microsoft.Data.SqlClient.SNI 7.1.0-preview3.26226.3 +- Microsoft.Extensions.Caching.Memory 8.0.1 +- Microsoft.IdentityModel.JsonWebTokens 8.16.0 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 8.16.0 +- System.Buffers 4.6.1 +- System.Data.Common 4.3.0 +- System.Diagnostics.DiagnosticSource 10.0.3 +- System.Memory 4.6.3 +- System.Runtime.InteropServices.RuntimeInformation 4.3.0 +- System.Security.Cryptography.Pkcs 8.0.1 +- System.Text.Json 10.0.3 +- System.Threading.Channels 10.0.3 +- System.Threading.RateLimiting 8.0.0 +- System.ValueTuple 4.6.2 diff --git a/release-notes/7.1/README.md b/release-notes/7.1/README.md index 843ba62b36..0b7de8156d 100644 --- a/release-notes/7.1/README.md +++ b/release-notes/7.1/README.md @@ -6,3 +6,4 @@ The following Microsoft.Data.SqlClient 7.1 releases have been shipped: |:-------------|:---------------|:----------------------------------:| | 2026-04-29 | 7.1.0-preview1 | [Release Notes](7.1.0-preview1.md) | | 2026-07-09 | 7.1.0-preview2 | [Release Notes](7.1.0-preview2.md) | +| 2026-08-26 | 7.1.0-preview3 | [Release Notes](7.1.0-preview3.md) | diff --git a/release-notes/Extensions/Abstractions/7.1/7.1.0-preview3.md b/release-notes/Extensions/Abstractions/7.1/7.1.0-preview3.md new file mode 100644 index 0000000000..c76a2af5f7 --- /dev/null +++ b/release-notes/Extensions/Abstractions/7.1/7.1.0-preview3.md @@ -0,0 +1,19 @@ +# Release Notes + +## Preview Release 7.1.0-preview3 - 2026-08-26 + +This release continues version-alignment of `Microsoft.Data.SqlClient.Extensions.Abstractions` with the core `Microsoft.Data.SqlClient` driver version (`7.1.0-preview3`). The previous release of this package was [7.1.0-preview2](7.1.0-preview2.md). + +There are no functional or API changes in this release. See the core [Microsoft.Data.SqlClient 7.1.0-preview3](../../../7.1/7.1.0-preview3.md) release notes for the driver-family changes shipped alongside this version. + +> **Version alignment:** This package's version continues to track the core `Microsoft.Data.SqlClient` driver version. See the [7.0.2 release notes](../../../7.0/7.0.2.md) for the initial alignment announcement. This assembly ships with `FileVersion 7.1.0.x`. The `AssemblyVersion 7.0.0.0` remains unchanged from the `7.0.2` release. + +## Target Platform Support + +- .NET Standard 2.0 + +### Dependencies + +#### .NET Standard 2.0 + +- Microsoft.Data.SqlClient.Internal.Logging 7.1.0-preview3 diff --git a/release-notes/Extensions/Abstractions/7.1/README.md b/release-notes/Extensions/Abstractions/7.1/README.md index 133eb71b32..9d1374bdb6 100644 --- a/release-notes/Extensions/Abstractions/7.1/README.md +++ b/release-notes/Extensions/Abstractions/7.1/README.md @@ -6,3 +6,4 @@ The following `Microsoft.Data.SqlClient.Extensions.Abstractions` | Release Date | Description | Notes | | :-- | :-- | :--: | | 2026-07-09 | 7.1.0-preview2 | [Release Notes](7.1.0-preview2.md) | +| 2026-08-26 | 7.1.0-preview3 | [Release Notes](7.1.0-preview3.md) | diff --git a/release-notes/Extensions/Azure/7.1/7.1.0-preview3.md b/release-notes/Extensions/Azure/7.1/7.1.0-preview3.md new file mode 100644 index 0000000000..8e4ce08579 --- /dev/null +++ b/release-notes/Extensions/Azure/7.1/7.1.0-preview3.md @@ -0,0 +1,39 @@ +# Release Notes + +## Preview Release 7.1.0-preview3 - 2026-08-26 + +This release removes an obsolete Azure.Identity API usage and continues version-alignment of `Microsoft.Data.SqlClient.Extensions.Azure` with the core `Microsoft.Data.SqlClient` driver version (`7.1.0-preview3`). The previous release of this package was [7.1.0-preview2](7.1.0-preview2.md). See the core [Microsoft.Data.SqlClient 7.1.0-preview3](../../../7.1/7.1.0-preview3.md) release notes for the driver-family changes shipped alongside this version. + +> **Version alignment:** This package's version continues to track the core `Microsoft.Data.SqlClient` driver version. See the [7.0.2 release notes](../../../7.0/7.0.2.md) for the initial alignment announcement. This assembly ships with `FileVersion 7.1.0.x`. The `AssemblyVersion 7.0.0.0` remains unchanged from the `7.0.2` release. + +### Changed + +- Removed the assignment to the obsolete `DefaultAzureCredentialOptions.SharedTokenCacheUsername` property in `ActiveDirectoryAuthenticationProvider`, and migrated from the obsolete `ManagedIdentityCredential(string, TokenCredentialOptions)` constructor to `ManagedIdentityCredential(ManagedIdentityCredentialOptions)`. `SharedTokenCacheCredential` is no longer part of the `DefaultAzureCredential` chain, so the removed assignment was already a no-op; the client id continues to flow through `ManagedIdentityClientId` and `WorkloadIdentityClientId`. There are no public API changes and managed-identity behavior — including system-assigned versus user-assigned selection and `AuthorityHost` propagation — is preserved exactly. + ([#4421](https://github.com/dotnet/SqlClient/pull/4421)) + +## Target Platform Support + +- .NET Standard 2.0 +- .NET Framework 4.6.2+ + +### Dependencies + +#### .NET Standard 2.0 + +- Azure.Core 1.51.1 +- Azure.Identity 1.18.0 +- Microsoft.Data.SqlClient.Extensions.Abstractions 7.1.0-preview3 +- Microsoft.Data.SqlClient.Internal.Logging 7.1.0-preview3 +- Microsoft.Extensions.Caching.Memory 8.0.1 +- Microsoft.Identity.Client 4.84.2 +- Microsoft.Identity.Client.Broker 4.84.2 + +#### .NET Framework 4.6.2+ + +- Azure.Core 1.51.1 +- Azure.Identity 1.18.0 +- Microsoft.Data.SqlClient.Extensions.Abstractions 7.1.0-preview3 +- Microsoft.Data.SqlClient.Internal.Logging 7.1.0-preview3 +- Microsoft.Extensions.Caching.Memory 8.0.1 +- Microsoft.Identity.Client 4.84.2 +- Microsoft.Identity.Client.Broker 4.84.2 diff --git a/release-notes/Extensions/Azure/7.1/README.md b/release-notes/Extensions/Azure/7.1/README.md index 3acdf3d45c..b3f93b7931 100644 --- a/release-notes/Extensions/Azure/7.1/README.md +++ b/release-notes/Extensions/Azure/7.1/README.md @@ -6,3 +6,4 @@ The following `Microsoft.Data.SqlClient.Extensions.Azure` | Release Date | Description | Notes | | :-- | :-- | :--: | | 2026-07-09 | 7.1.0-preview2 | [Release Notes](7.1.0-preview2.md) | +| 2026-08-26 | 7.1.0-preview3 | [Release Notes](7.1.0-preview3.md) | diff --git a/release-notes/Internal/Logging/7.1/7.1.0-preview3.md b/release-notes/Internal/Logging/7.1/7.1.0-preview3.md new file mode 100644 index 0000000000..0c434cb632 --- /dev/null +++ b/release-notes/Internal/Logging/7.1/7.1.0-preview3.md @@ -0,0 +1,22 @@ +# Release Notes + +## Preview Release 7.1.0-preview3 - 2026-08-26 + +> **Note:** This package is for internal use by other Microsoft.Data.SqlClient packages only +> and should not be referenced directly by application code. + +This release continues version-alignment of `Microsoft.Data.SqlClient.Internal.Logging` with the core `Microsoft.Data.SqlClient` driver version (`7.1.0-preview3`). The previous release of this package was [7.1.0-preview2](7.1.0-preview2.md). + +There are no functional or API changes in this release. See the core [Microsoft.Data.SqlClient 7.1.0-preview3](../../../7.1/7.1.0-preview3.md) release notes for the driver-family changes shipped alongside this version. + +> **Version alignment:** This package's version continues to track the core `Microsoft.Data.SqlClient` driver version. See the [7.0.2 release notes](../../../7.0/7.0.2.md) for the initial alignment announcement. This assembly ships with `FileVersion 7.1.0.x`. The `AssemblyVersion 7.0.0.0` remains unchanged from the `7.0.2` release. + +## Target Platform Support + +- .NET Standard 2.0 + +### Dependencies + +#### .NET Standard 2.0 + +- None diff --git a/release-notes/Internal/Logging/7.1/README.md b/release-notes/Internal/Logging/7.1/README.md index f0c0f8c274..25caeccaba 100644 --- a/release-notes/Internal/Logging/7.1/README.md +++ b/release-notes/Internal/Logging/7.1/README.md @@ -9,3 +9,4 @@ The following `Microsoft.Data.SqlClient.Internal.Logging` | Release Date | Description | Notes | | :-- | :-- | :--: | | 2026-07-09 | 7.1.0-preview2 | [Release Notes](7.1.0-preview2.md) | +| 2026-08-26 | 7.1.0-preview3 | [Release Notes](7.1.0-preview3.md) | diff --git a/release-notes/add-ons/AzureKeyVaultProvider/7.1/7.1.0-preview3.md b/release-notes/add-ons/AzureKeyVaultProvider/7.1/7.1.0-preview3.md new file mode 100644 index 0000000000..8289dc174b --- /dev/null +++ b/release-notes/add-ons/AzureKeyVaultProvider/7.1/7.1.0-preview3.md @@ -0,0 +1,23 @@ +# Release Notes + +## Preview Release 7.1.0-preview3 - 2026-08-26 + +This release continues version-alignment of `Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider` with the core `Microsoft.Data.SqlClient` driver version (`7.1.0-preview3`). The previous release of this package was [7.1.0-preview2](7.1.0-preview2.md). + +There are no functional or API changes in this release. See the core [Microsoft.Data.SqlClient 7.1.0-preview3](../../../7.1/7.1.0-preview3.md) release notes for the driver-family changes shipped alongside this version. + +> **Version alignment:** This package's version continues to track the core `Microsoft.Data.SqlClient` driver version. See the [7.0.2 release notes](../../../7.0/7.0.2.md) for the initial alignment announcement. This assembly ships with `FileVersion 7.1.0.x`. The `AssemblyVersion 7.0.0.0` remains unchanged from the `7.0.2` release. + +## Target Platform Support + +- .NET Standard 2.0 + +### Dependencies + +#### .NET Standard 2.0 + +- Azure.Core 1.51.1 +- Azure.Security.KeyVault.Keys 4.9.0 +- Microsoft.Data.SqlClient 7.1.0-preview3 +- Microsoft.Data.SqlClient.Internal.Logging 7.1.0-preview3 +- Microsoft.Extensions.Caching.Memory 8.0.1 diff --git a/release-notes/add-ons/AzureKeyVaultProvider/7.1/README.md b/release-notes/add-ons/AzureKeyVaultProvider/7.1/README.md index 9fda87ae8f..07fffc069b 100644 --- a/release-notes/add-ons/AzureKeyVaultProvider/7.1/README.md +++ b/release-notes/add-ons/AzureKeyVaultProvider/7.1/README.md @@ -6,3 +6,4 @@ The following `Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider` | Release Date | Description | Notes | | :-- | :-- | :--: | | 2026-07-09 | 7.1.0-preview2 | [Release Notes](7.1.0-preview2.md) | +| 2026-08-26 | 7.1.0-preview3 | [Release Notes](7.1.0-preview3.md) |