[v7.1.0-preview3] Release Notes - #4565
Conversation
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
There was a problem hiding this comment.
Pull request overview
Adds the draft release notes set for the 7.1.0-preview3 release across the core Microsoft.Data.SqlClient package and the aligned companion packages, and updates the release-note indexes and CHANGELOG.md to include the new preview entry.
Changes:
- Added
7.1.0-preview3release note documents for the core driver and aligned companion packages. - Updated the
7.1/README.mdindex tables to include a7.1.0-preview3row. - Added a new top entry to
CHANGELOG.mdmirroring the core release notes summary.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| release-notes/7.1/7.1.0-preview3.md | Adds the core driver release notes for 7.1.0-preview3, including feature/bugfix summaries and dependency tables. |
| release-notes/7.1/README.md | Adds 7.1.0-preview3 to the core 7.1 index table. |
| release-notes/Extensions/Azure/7.1/7.1.0-preview3.md | Adds companion package notes for Extensions.Azure (including the obsolete Azure.Identity API removal reference). |
| release-notes/Extensions/Azure/7.1/README.md | Adds 7.1.0-preview3 to the Extensions.Azure 7.1 index table. |
| release-notes/Extensions/Abstractions/7.1/7.1.0-preview3.md | Adds companion package notes for Extensions.Abstractions (version alignment only). |
| release-notes/Extensions/Abstractions/7.1/README.md | Adds 7.1.0-preview3 to the Extensions.Abstractions 7.1 index table. |
| release-notes/Internal/Logging/7.1/7.1.0-preview3.md | Adds companion package notes for Internal.Logging (version alignment only). |
| release-notes/Internal/Logging/7.1/README.md | Adds 7.1.0-preview3 to the Internal.Logging 7.1 index table. |
| release-notes/add-ons/AzureKeyVaultProvider/7.1/7.1.0-preview3.md | Adds companion package notes for AzureKeyVaultProvider (version alignment only). |
| release-notes/add-ons/AzureKeyVaultProvider/7.1/README.md | Adds 7.1.0-preview3 to the AzureKeyVaultProvider 7.1 index table. |
| CHANGELOG.md | Adds a new top-level changelog entry for 7.1.0-preview3 aligned with the core release notes. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Adds coverage for milestone items that closed after the initial draft: - #4529 leaked-connection reclamation in ChannelDbConnectionPool - #4535 SqlBulkCopy graph column alias mapping bypass - #4521 / #4496 Entra ID tenant parsing for multi-segment STSURL authorities - #4540 async key store provider APIs in the AzureKeyVaultProvider Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c485150e-f46e-4c55-8d06-e0491a10e7e8
|
|
||
| #### 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)) |
There was a problem hiding this comment.
Is this only affecting users with the new opt in for async large reads?
There was a problem hiding this comment.
No — it's the other way round. This isn't gated behind UseCompatibilityAsyncBehaviour (or any AppContext switch); the diff is confined to PacketData/StateSnapshot in TdsParserStateObject.cs and applies unconditionally. PrepareAsyncInvocation takes a snapshot on every async continuation regardless of which async path you're on.
The perf validation was actually run at the default UseOptimizedAsyncBehaviour: false, so the numbers reflect the out-of-the-box configuration: ExecuteReaderAsync goes from +120.9% allocated vs. the 6.1.6 baseline back to +0.1%, and both ExecuteReaderAsyncWithMars cases from ~+118% to ~0%.
Good catch that the note was ambiguous — I've clarified the bullet in f2db2fa.
Both are user-facing fixes merged into the preview3 milestone that were not yet captured in the release notes or CHANGELOG: - #4439: DateOnly values in sql_variant TVP columns were sent as datetime instead of date, overflowing for values outside the datetime range. - #4445: ServerCertificate pin validation was skipped when the platform reported no TLS policy errors, and an unloadable certificate file fell back to host-name validation instead of failing closed. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8c691319-4c66-40f6-a88e-b453937052f1
PR #4474 (Remove OS-Specific Builds) removed OS-specific build targets and output paths, and rewrote the MDS nuspec to source a single OS-agnostic assembly for both the win and unix runtime folders. Verified the nuspec change is src-path-only: all 52 file entries have identical target= values before and after, so the produced package layout is unchanged. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8c691319-4c66-40f6-a88e-b453937052f1
Addresses review feedback on PR #4565: the PacketData node-reuse fix is not gated behind UseCompatibilityAsyncBehaviour or any other AppContext switch, and the perf validation was measured on the default path. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 8c691319-4c66-40f6-a88e-b453937052f1
There was a problem hiding this comment.
Now that we're always packaging/releasing the entire SqlClient family together, do we still need these separate release notes for AKV, Logging, Abstractions, and Azure? Maybe they should become sections in a single family-wide release note.
Adds the release notes for the
7.1.0-preview3release. Version and SNI updates are handled separately in #4564.Fixes AB#47354
Changes
New release notes
release-notes/7.1/7.1.0-preview3.mdMicrosoft.Data.SqlClientnotesrelease-notes/Extensions/Azure/7.1/7.1.0-preview3.mdAzure.IdentityAPI removal (#4421)release-notes/Extensions/Abstractions/7.1/7.1.0-preview3.mdrelease-notes/Internal/Logging/7.1/7.1.0-preview3.mdrelease-notes/add-ons/AzureKeyVaultProvider/7.1/7.1.0-preview3.mdUpdated
7.1/README.mdindex tables, each with a7.1.0-preview3row.CHANGELOG.md, with a new top entry mirroring the core notes.Notes for reviewers
2026-08-26(the milestone due date). This needs to be corrected to the actual ship date before merge.7.1.0-preview3milestone after this PR opens will be added in a follow-up commit here before merge.Microsoft.Data.SqlClient.nuspeconmain, and reflect the9.0.18bump fornet9.0(Update central package versions #4507), the newSystem.Threading.RateLimitingdependency, and the SNI7.1.0-preview3.26226.3bump from [v7.1.0-preview3] Update SNI package reference to 7.1.0-preview3 #4564.Checklist
CHANGELOG.mdand README index tables updated