Skip to content

Commit b89ac49

Browse files
authored
Prepare 6.1.0 release notes (#3508)
* Task 38022: Prepare 6.1.0 release notes - Preparing 6.1.0 release notes. * Task 38022: Prepare 6.1.0 release notes - Updated 6.1.0 release notes to summarize all changes since 6.0.2. - Kept CHANGELOG entry for 6.1.0 as-is since it is a rolling history file, not a summary file. * Task 38022: Prepare 6.1.0 release notes - Fixed typo. * Task 38022: Prepare 6.1.0 release notes - Added one last PR. - Changed anticipated release date.
1 parent 63443f4 commit b89ac49

File tree

3 files changed

+368
-1
lines changed

3 files changed

+368
-1
lines changed

CHANGELOG.md

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,75 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
66

77
# Release Notes
88

9+
## [Stable Release 6.1.0] - 2025-07-25
10+
11+
This update brings the following changes since the
12+
[6.1.0-preview2](release-notes/6.1/6.1.0-preview2.md) release:
13+
14+
### Added
15+
16+
No new features were added.
17+
18+
### Fixed
19+
20+
- Fixed missing socket error codes on non-Windows platforms.
21+
([#3475](https://github.com/dotnet/SqlClient/pull/3475))
22+
- Fixed primary/secondary server SPN handling during SSPI negotiation.
23+
([#3478](https://github.com/dotnet/SqlClient/pull/3478))
24+
- Fixed AzureKeyVaultProvider package key caching to serialize Azure key fetch
25+
operations.
26+
([#3477](https://github.com/dotnet/SqlClient/pull/3477))
27+
- Fixed a rare error related to multi-packet async text reads.
28+
([#3474](https://github.com/dotnet/SqlClient/pull/3474))
29+
- Fixed some spelling errors in the API docs.
30+
([#3500](https://github.com/dotnet/SqlClient/pull/3500))
31+
- Fixed a rare multi-packet string corruption bug.
32+
([#3513](https://github.com/dotnet/SqlClient/pull/3513))
33+
34+
### Changed
35+
36+
#### SqlDecimal type workarounds conversions
37+
38+
*What Changed:*
39+
40+
- Changed how SqlDecimal type workarounds perform conversions to meet
41+
compliance policies.
42+
([#3467](https://github.com/dotnet/SqlClient/pull/3467))
43+
44+
*Who Benefits:*
45+
46+
- Microsoft products must not use undocumented APIs on other Microsoft products.
47+
This change removes calls to undocumented APIs and replaces them with
48+
compliant API use.
49+
50+
*Impact:*
51+
52+
- These changes impose an observed 5% decrease in performance on .NET Framework.
53+
54+
#### SqlVector API improvements
55+
56+
*What Changed:*
57+
58+
- Several changes were made to the SqlVector API published in the
59+
[6.1.0-preview2](release-notes/6.1/6.1.0-preview2.md) release
60+
([#3472](https://github.com/dotnet/SqlClient/pull/3472)):
61+
- The SqlVector class was changed to a readonly struct.
62+
- The null value constructor was changed to a static `CreateNull()` method.
63+
- The `Size` property was removed.
64+
65+
*Who Benefits:*
66+
67+
- SqlVector instances gain the efficiencies of struct handling.
68+
69+
*Impact:*
70+
71+
- Early-adopter applications may require updates if they rely on the old APIs
72+
and any class-specific behaviour.
73+
974
## [Preview Release 6.1.0-preview2.25178.5] - 2025-06-27
1075

11-
This update brings the following changes since the [6.1.0-preview1](release-notes/6.1/6.1.0-preview1.md) release:
76+
This update brings the following changes since the
77+
[6.1.0-preview1](release-notes/6.1/6.1.0-preview1.md) release:
1278

1379
### Added
1480

release-notes/6.1/6.1.0.md

Lines changed: 300 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,300 @@
1+
# Release Notes
2+
3+
## Stable Release 6.1.0 - 2025-07-25
4+
5+
This update brings the following changes since the
6+
[6.0.2](../6.0/6.0.2.md) stable release:
7+
8+
### Added
9+
10+
#### Added dedicated SQL Server vector datatype support
11+
12+
*What Changed:*
13+
14+
- Optimized vector communications between MDS and SQL Server 2025, employing a
15+
custom binary format over the TDS protocol.
16+
([#3433](https://github.com/dotnet/SqlClient/pull/3433),
17+
[#3443](https://github.com/dotnet/SqlClient/pull/3443))
18+
- Reduced processing load compared to existing JSON-based vector support.
19+
- Initial support for 32-bit single-precision floating point vectors.
20+
21+
*Who Benefits:*
22+
23+
- Applications moving large vector data sets will see beneficial improvements
24+
to processing times and memory requirements.
25+
- Vector-specific APIs are ready to support future numeric representations with
26+
a consistent look-and-feel.
27+
28+
*Impact:*
29+
30+
- Reduced transmission and processing times for vector operations versus JSON
31+
using SQL Server 2025 preview:
32+
- Reads: 50x improvement
33+
- Writes: 3.3x improvement
34+
- Bulk Copy: 19x improvement
35+
- (Observed with vector column of max 1998 size, and 10,000 records for each
36+
operation.)
37+
- Improved memory footprint due to the elimination of JSON
38+
serialization/deserialization and string representation bloat.
39+
- For backwards compatibility with earlier SQL Server Vector implementations,
40+
applications may continue to use JSON strings to send/receive vector data,
41+
although they will not see any of the performance improvements noted above.
42+
43+
#### Revived .NET Standard 2.0 target support
44+
45+
*What Changed:*
46+
47+
- Support for targeting .NET Standard 2.0 has returned.
48+
([#3381](https://github.com/dotnet/SqlClient/pull/3381))
49+
- Support had previously been removed in the 6.0 release, with the
50+
[community voicing concerns](https://github.com/dotnet/SqlClient/discussions/3115).
51+
52+
*Who Benefits:*
53+
54+
- Libraries that depend on MDS may seamlessly target any of the following
55+
frameworks:
56+
- .NET Standard 2.0
57+
- .NET Framework 4.6.2 and above
58+
- .NET 8.0
59+
- .NET 9.0
60+
- Applications should continue to target runtimes.
61+
- The MDS .NET Standard 2.0 target framework support does not include an
62+
actual implementation, and cannot be used with a runtime.
63+
- An application's build/publish process should always pick the appropriate
64+
MDS .NET/.NET Framework runtime implementation.
65+
- Custom build/publish actions that incorrectly try to deploy the MDS .NET
66+
Standard 2.0 reference DLL at runtime are not supported.
67+
68+
*Impact:*
69+
70+
- Libraries targeting .NET Standard 2.0 will no longer receive warnings like
71+
this:
72+
- `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.`
73+
74+
#### Other Additions
75+
76+
- Added packet multiplexing support to improve large data read performance.
77+
([#2714](https://github.com/dotnet/SqlClient/pull/2714),
78+
[#3161](https://github.com/dotnet/SqlClient/pull/3161),
79+
[#3202](https://github.com/dotnet/SqlClient/pull/3202))
80+
- Added support for special casing with Fabric endpoints.
81+
([#3084](https://github.com/dotnet/SqlClient/pull/3084))
82+
83+
### Fixed
84+
85+
- Fixed distributed transactions to be preserved during pooled connection resets.
86+
([#3019](https://github.com/dotnet/SqlClient/pull/3019))
87+
- Fixed application crash when the `Data Source` parameter begins with a comma.
88+
([#3250](https://github.com/dotnet/SqlClient/pull/3250))
89+
- Resolved synonym count discrepancies in debug mode.
90+
([#3098](https://github.com/dotnet/SqlClient/pull/3098))
91+
- Addressed warnings for down-level SSL/TLS versions.
92+
([#3126](https://github.com/dotnet/SqlClient/pull/3126))
93+
- Fixed missing <NeutralLanguage> property.
94+
([#3325](https://github.com/dotnet/SqlClient/pull/3325))
95+
- Fixed injection of UTF-8 BOM during bulk copy.
96+
([#3399](https://github.com/dotnet/SqlClient/pull/3399))
97+
- Fixed `SqlCachedBuffer` async read edge case.
98+
([#3329](https://github.com/dotnet/SqlClient/pull/3329))
99+
- Fixed `SqlSequentialTextReader` edge case with single-byte reads.
100+
([#3383](https://github.com/dotnet/SqlClient/pull/3383))
101+
- Fixed an incorrect error message when parsing connection string `PoolBlockingPeriod`.
102+
([#3411](https://github.com/dotnet/SqlClient/pull/3411))
103+
- Added missing `ToString()` override to `SqlJson`.
104+
([#3427](https://github.com/dotnet/SqlClient/pull/3427))
105+
- Fixed missing socket error codes on non-Windows platforms.
106+
([#3475](https://github.com/dotnet/SqlClient/pull/3475))
107+
- Fixed primary/secondary server SPN handling during SSPI negotiation.
108+
([#3478](https://github.com/dotnet/SqlClient/pull/3478))
109+
- Fixed AzureKeyVaultProvider package key caching to serialize Azure key fetch
110+
operations.
111+
([#3477](https://github.com/dotnet/SqlClient/pull/3477))
112+
- Fixed a rare error related to multi-packet async text reads.
113+
([#3474](https://github.com/dotnet/SqlClient/pull/3474))
114+
- Fixed some spelling errors in the API docs.
115+
([#3500](https://github.com/dotnet/SqlClient/pull/3500))
116+
- Fixed a rare multi-packet string corruption bug.
117+
([#3513](https://github.com/dotnet/SqlClient/pull/3513))
118+
119+
### Changed
120+
121+
#### SqlDecimal type workarounds conversions
122+
123+
*What Changed:*
124+
125+
- Changed how SqlDecimal type workarounds perform conversions to meet
126+
compliance policies.
127+
([#3467](https://github.com/dotnet/SqlClient/pull/3467))
128+
129+
*Who Benefits:*
130+
131+
- Microsoft products must not use undocumented APIs on other Microsoft products.
132+
This change removes calls to undocumented APIs and replaces them with
133+
compliant API use.
134+
135+
*Impact:*
136+
137+
- These changes impose an observed 5% decrease in performance on .NET Framework.
138+
139+
#### SqlVector API improvements (since [6.1.0-preview2](6.1.0-preview2.md))
140+
141+
*What Changed:*
142+
143+
- Several changes were made to the SqlVector API published in the
144+
[6.1.0-preview2](6.1.0-preview2.md) release
145+
([#3472](https://github.com/dotnet/SqlClient/pull/3472)):
146+
- The SqlVector class was changed to a readonly struct.
147+
- The null value constructor was changed to a static `CreateNull()` method.
148+
- The `Size` property was removed.
149+
150+
*Who Benefits:*
151+
152+
- SqlVector instances gain the efficiencies of struct handling.
153+
154+
*Impact:*
155+
156+
- Early-adopter applications may require updates if they rely on the old APIs
157+
and any class-specific behaviour.
158+
159+
#### Other Changes
160+
161+
- Reduced allocations when opening a connection.
162+
([#3364](https://github.com/dotnet/SqlClient/pull/3364))
163+
- Various performance improvements related to TDS parsing.
164+
([#3337](https://github.com/dotnet/SqlClient/pull/3337),
165+
[#3377](https://github.com/dotnet/SqlClient/pull/3377),
166+
[#3422](https://github.com/dotnet/SqlClient/pull/3422))
167+
- Improved native AOT support.
168+
([#3364](https://github.com/dotnet/SqlClient/pull/3364),
169+
[#3369](https://github.com/dotnet/SqlClient/pull/3369),
170+
[#3401](https://github.com/dotnet/SqlClient/pull/3401))
171+
- Progress towards [SSPI extensibility](https://github.com/dotnet/SqlClient/issues/2253).
172+
([#2454](https://github.com/dotnet/SqlClient/pull/2454))
173+
- Progress towards [connection pooling improvements](https://github.com/dotnet/SqlClient/issues/3356).
174+
([#3352](https://github.com/dotnet/SqlClient/pull/3352),
175+
[#3396](https://github.com/dotnet/SqlClient/pull/3396))
176+
- Expanded/clarified SqlConnection's
177+
[AccessToken](https://learn.microsoft.com/en-us/dotnet/api/microsoft.data.sqlclient.sqlconnection.accesstoken) and
178+
[AccessTokenCallback](https://learn.microsoft.com/en-us/dotnet/api/microsoft.data.sqlclient.sqlconnection.accesstokencallback)
179+
documentation.
180+
([#3339](https://github.com/dotnet/SqlClient/pull/3339))
181+
- Fixed some poorly formatted tables in the API docs.
182+
([#3391](https://github.com/dotnet/SqlClient/pull/3391))
183+
- Optimized binary size for AOT.
184+
([#3091](https://github.com/dotnet/SqlClient/pull/3091))
185+
- Refined bulk copy operations to handle unmatched column names more effectively.
186+
([#3205](https://github.com/dotnet/SqlClient/pull/3205))
187+
- Enhanced `SqlBulkCopy` to explicitly identify mismatched column names.
188+
([#3183](https://github.com/dotnet/SqlClient/pull/3183))
189+
- Optimized outgoing SSPI blob handling using `IBufferWriter<byte>`.
190+
([#2452](https://github.com/dotnet/SqlClient/pull/2452))
191+
- Replaced `byte[]` with `string` for SNI to improve efficiency.
192+
([#2790](https://github.com/dotnet/SqlClient/pull/2790))
193+
- Code cleanup to remove SQL 2000 support.
194+
([#2839](https://github.com/dotnet/SqlClient/pull/2839),
195+
[#3206](https://github.com/dotnet/SqlClient/pull/3206),
196+
[#3217](https://github.com/dotnet/SqlClient/pull/3217))
197+
- Connection pool design refactor for a modular connection pool design.
198+
([#3199](https://github.com/dotnet/SqlClient/pull/3199))
199+
- Added dependency on `System.Text.Json`
200+
[8.0.5](https://www.nuget.org/packages/System.Text.Json/8.0.5) (.NET 8.0) and
201+
[9.0.5](https://www.nuget.org/packages/System.Text.Json/9.0.5) (.NET Standard 2.0, .NET 9.0)
202+
to avoid transitive vulnerabilities ([CVE-2024-43485](https://github.com/advisories/GHSA-8g4q-xg66-9fp4)).
203+
([#3403](https://github.com/dotnet/SqlClient/pull/3403))
204+
- Updated various dependencies [#3229](https://github.com/dotnet/SqlClient/pull/3229), primarily:
205+
- System.Text.Encodings.Web to v8.0.0
206+
- System.Text.Json to v8.0.5
207+
- Azure.Identity to v1.13.2
208+
- Microsoft.Identity.Model.Json.Web.Tokens to v7.7.1
209+
- Microsoft.Identity.Model.Protocols.OpenIdConnect to v7.7.1
210+
- Code merge towards a unified SqlClient project, aligning .NET Framework and .NET Core implementations.
211+
(Many PRs - see [6.1.0-preview1](6.1.0-preview1.md) and [6.1.0-preview2](6.1.0-preview2.md) for details.)
212+
- Test improvements include a new unit test project, updates to test
213+
dependencies, removal of hardcoded credentials, and improved robustness.
214+
(Many PRs - see [6.1.0-preview1](6.1.0-preview1.md) and [6.1.0-preview2](6.1.0-preview2.md) for details.)
215+
216+
## Contributors
217+
218+
We thank the following public contributors. Their efforts toward this project
219+
are very much appreciated.
220+
221+
- [edwardneal](https://github.com/edwardneal)
222+
- [ErikEJ](https://github.com/ErikEJ)
223+
- [MichelZ](https://github.com/MichelZ)
224+
- [twsouthwick](https://github.com/twsouthwick)
225+
- [Wraith2](https://github.com/Wraith2)
226+
227+
### New Contributors
228+
229+
- [BradBarnich](https://github.com/BradBarnich) made their first contribution in
230+
[#3325](https://github.com/dotnet/SqlClient/pull/3325)
231+
- [deusanyjunior](https://github.com/deusanyjunior) made their first contribution in
232+
[#3310](https://github.com/dotnet/SqlClient/pull/3310)
233+
- [emmanuel-ferdman](https://github.com/emmanuel-ferdman) made their first contribution in
234+
[#3041](https://github.com/dotnet/SqlClient/pull/3041)
235+
- [JNjenga](https://github.com/JNjenga) made their first contribution in
236+
[#3183](https://github.com/dotnet/SqlClient/pull/3183)
237+
- [MaceWindu](https://github.com/MaceWindu) made their first contribution in
238+
[#3134](https://github.com/dotnet/SqlClient/pull/3134)
239+
- [Midhunnnk](https://github.com/Midhunnnk) made their first contribution in
240+
[#3250](https://github.com/dotnet/SqlClient/pull/3250)
241+
242+
## Target Platform Support
243+
244+
- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64)
245+
- .NET 8.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS)
246+
247+
### Dependencies
248+
249+
#### .NET Standard 2.0
250+
251+
- Azure.Identity 1.13.2
252+
- Microsoft.Bcl.Cryptography 9.0.4
253+
- Microsoft.Data.SqlClient.SNI.runtime 6.0.2
254+
- Microsoft.Extensions.Caching.Memory 9.0.4
255+
- Microsoft.IdentityModel.JsonWebTokens 7.7.1
256+
- Microsoft.IdentityModel.Protocols.OpenIdConnect 7.7.1
257+
- Microsoft.SqlServer.Server 1.0.0
258+
- System.Configuration.ConfigurationManager 9.0.4
259+
- System.Security.Cryptography.Pkcs 9.0.4
260+
- System.Text.Json 9.0.5
261+
262+
#### .NET Framework 4.6.2+
263+
264+
- Azure.Identity 1.13.2
265+
- Microsoft.Bcl.Cryptography 8.0.0
266+
- Microsoft.Data.SqlClient.SNI 6.0.2
267+
- Microsoft.Extensions.Caching.Memory 8.0.1
268+
- Microsoft.IdentityModel.JsonWebTokens 7.7.1
269+
- Microsoft.IdentityModel.Protocols.OpenIdConnect 7.7.1
270+
- System.Buffers 4.5.1
271+
- System.Data.Common 4.3.0
272+
- System.Security.Cryptography.Pkcs 8.0.1
273+
- System.Text.Encodings.Web 8.0.0
274+
- System.Text.Json 8.0.5
275+
276+
#### .NET 8.0
277+
278+
- Azure.Identity 1.13.2
279+
- Microsoft.Bcl.Cryptography 8.0.0
280+
- Microsoft.Data.SqlClient.SNI.runtime 6.0.2
281+
- Microsoft.Extensions.Caching.Memory 8.0.1
282+
- Microsoft.IdentityModel.JsonWebTokens 7.7.1
283+
- Microsoft.IdentityModel.Protocols.OpenIdConnect 7.7.1
284+
- Microsoft.SqlServer.Server 1.0.0
285+
- System.Configuration.ConfigurationManager 8.0.1
286+
- System.Security.Cryptography.Pkcs 8.0.1
287+
- System.Text.Json 8.0.5
288+
289+
#### .NET 9.0
290+
291+
- Azure.Identity 1.13.2
292+
- Microsoft.Bcl.Cryptography 9.0.4
293+
- Microsoft.Data.SqlClient.SNI.runtime 6.0.2
294+
- Microsoft.Extensions.Caching.Memory 9.0.4
295+
- Microsoft.IdentityModel.JsonWebTokens 7.7.1
296+
- Microsoft.IdentityModel.Protocols.OpenIdConnect 7.7.1
297+
- Microsoft.SqlServer.Server 1.0.0
298+
- System.Configuration.ConfigurationManager 9.0.4
299+
- System.Security.Cryptography.Pkcs 9.0.4
300+
- System.Text.Json 9.0.5

release-notes/6.1/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,6 @@ The following Microsoft.Data.SqlClient 6.1 preview releases have been shipped:
44

55
| Release Date | Version | Notes |
66
| :-- | :-- | :--: |
7+
| 2025-07-25 | 6.1.0 | [Release Notes](6.1.0.md) |
78
| 2025-06-27 | 6.1.0-preview2.25178.5 | [Release Notes](6.1.0-preview2.md) |
89
| 2025-04-30 | 6.1.0-preview1.25120.4 | [Release Notes](6.1.0-preview1.md) |

0 commit comments

Comments
 (0)