@@ -6,97 +6,149 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
66
77# Release Notes
88
9- ## [ Preiew Release 6.1.0-preview2.TODO] - 2025-06-26
9+ ## [ Preiew Release 6.1.0-preview2.TODO] - 2025-06-27
1010
1111This update brings the following changes since the [ 6.1.0-preview1] ( release-notes/6.1/6.1.0-preview1.md ) release:
1212
1313### Added
1414
15- - Revived .NET Standard 2.0 target support.
16- [ #3381 ] ( https://github.com/dotnet/SqlClient/pull/3381 )
17- - Added dedicated SQL Server vector datatype support.
18- - Added ` ToString() ` override to ` SqlJson ` .
19- [ #3427 ] ( https://github.com/dotnet/SqlClient/pull/3427 )
15+ #### Added dedicated SQL Server vector datatype support
16+
17+ * What Changed:*
18+
19+ - Optimized vector communications between MDS and SQL Server 2025, employing a
20+ custom binary format over the TDS protocol.
21+ ([ #3433 ] ( https://github.com/dotnet/SqlClient/pull/3433 ) ,
22+ [ #3443 ] ( https://github.com/dotnet/SqlClient/pull/3443 ) )
23+ - Reduced processing load compared to existing JSON-based vector support.
24+ - Initial support for 32-bit single-precision floating point vectors.
25+
26+ * Who Benefits:*
27+
28+ - Applications moving large vector data sets will see beneficial improvements
29+ to processing times and memory requirements.
30+ - Vector-specific APIs are ready to support future numeric representations with
31+ a consistent look-and-feel.
32+
33+ * Impact:*
34+
35+ - Reduced transmission and processing times for vector operations versus JSON
36+ using SQL Server 2025 preview:
37+ - Reads: 50x improvement
38+ - Writes: 3.3x improvement
39+ - Bulk Copy: 19x improvement
40+ - (Observed with vector column of max 1998 size, and 10,000 records for each
41+ operation.)
42+ - Improved memory footprint due to the elimination of JSON
43+ serialization/deserialization and string representation bloat.
44+ - For backwards compatibility with earlier SQL Server Vector implementations,
45+ applications may continue to use JSON strings to send/receive vector data,
46+ although they will not see any of the performance improvements noted above.
47+
48+ #### Revived .NET Standard 2.0 target support
49+
50+ * What Changed:*
51+
52+ - Support for targeting .NET Standard 2.0 has returned.
53+ ([ #3381 ] ( https://github.com/dotnet/SqlClient/pull/3381 ) )
54+ - Support had previously been removed in the 6.0 release, with the
55+ [ community voicing concerns] ( https://github.com/dotnet/SqlClient/discussions/3115 ) .
56+
57+ * Who Benefits:*
58+
59+ - Applications or libraries that depend on MDS may seamlessly target any of
60+ the following frameworks:
61+ - .NET Standard 2.0
62+ - .NET Framework 4.6.2 and above
63+ - .NET 8.0
64+ - .NET 9.0
65+
66+ * Impact:*
67+
68+ - Applications or libraries targeting .NET Standard 2.0 will no longer
69+ receive warnings like this:
70+ - ` 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. `
2071
2172### Fixed
2273
2374- Fixed missing < ; NeutralLanguage> ; property.
24- [ #3325 ] ( https://github.com/dotnet/SqlClient/pull/3325 )
75+ ( [ #3325 ] ( https://github.com/dotnet/SqlClient/pull/3325 ) )
2576- Fixed injection of UTF-8 BOM during bulk copy.
26- [ #3399 ] ( https://github.com/dotnet/SqlClient/pull/3399 )
77+ ( [ #3399 ] ( https://github.com/dotnet/SqlClient/pull/3399 ) )
2778- Fixed ` SqlCachedBuffer ` async read edge case.
28- [ #3329 ] ( https://github.com/dotnet/SqlClient/pull/3329 )
79+ ( [ #3329 ] ( https://github.com/dotnet/SqlClient/pull/3329 ) )
2980- Fixed ` SqlSequentialTextReader ` edge case with single-byte reads.
30- [ #3383 ] ( https://github.com/dotnet/SqlClient/pull/3383 )
81+ ( [ #3383 ] ( https://github.com/dotnet/SqlClient/pull/3383 ) )
3182- Fixed an incorrect error message when parsing connection string ` PoolBlockingPeriod ` .
32- [ #3411 ] ( https://github.com/dotnet/SqlClient/pull/3411 )
83+ ([ #3411 ] ( https://github.com/dotnet/SqlClient/pull/3411 ) )
84+ - Added missing ` ToString() ` override to ` SqlJson ` .
85+ ([ #3427 ] ( https://github.com/dotnet/SqlClient/pull/3427 ) )
3386
3487### Changed
3588
3689- Reduced allocations when opening a connection.
37- [ #3364 ] ( https://github.com/dotnet/SqlClient/pull/3364 )
90+ ( [ #3364 ] ( https://github.com/dotnet/SqlClient/pull/3364 ) )
3891- Various performance improvements related to TDS parsing.
39- [ #3337 ] ( https://github.com/dotnet/SqlClient/pull/3337 )
40- [ #3377 ] ( https://github.com/dotnet/SqlClient/pull/3377 )
41- [ #3422 ] ( https://github.com/dotnet/SqlClient/pull/3422 )
92+ ( [ #3337 ] ( https://github.com/dotnet/SqlClient/pull/3337 ) ,
93+ [ #3377 ] ( https://github.com/dotnet/SqlClient/pull/3377 ) ,
94+ [ #3422 ] ( https://github.com/dotnet/SqlClient/pull/3422 ) )
4295- Improved native AOT support.
43- [ #3364 ] ( https://github.com/dotnet/SqlClient/pull/3364 )
44- [ #3369 ] ( https://github.com/dotnet/SqlClient/pull/3369 )
45- [ #3401 ] ( https://github.com/dotnet/SqlClient/pull/3401 )
46- - Progress towards SSPI extensibility
47- [ Issue #2253 ] ( https://github.com/dotnet/SqlClient/issues/2253 ) .
48- [ #2454 ] ( https://github.com/dotnet/SqlClient/pull/2454 )
49- - Progress towards connection pooling improvements
50- [ Issue #3356 ] ( https://github.com/dotnet/SqlClient/issues/3356 ) .
51- [ #3352 ] ( https://github.com/dotnet/SqlClient/pull/3352 )
52- [ #3396 ] ( https://github.com/dotnet/SqlClient/pull/3396 )
96+ ([ #3364 ] ( https://github.com/dotnet/SqlClient/pull/3364 ) ,
97+ [ #3369 ] ( https://github.com/dotnet/SqlClient/pull/3369 ) ,
98+ [ #3401 ] ( https://github.com/dotnet/SqlClient/pull/3401 ) )
99+ - Progress towards [ SSPI extensibility] ( https://github.com/dotnet/SqlClient/issues/2253 ) .
100+ ([ #2454 ] ( https://github.com/dotnet/SqlClient/pull/2454 ) )
101+ - Progress towards [ connection pooling improvements] ( https://github.com/dotnet/SqlClient/issues/3356 ) .
102+ ([ #3352 ] ( https://github.com/dotnet/SqlClient/pull/3352 ) ,
103+ [ #3396 ] ( https://github.com/dotnet/SqlClient/pull/3396 ) )
53104- Expanded/clarified SqlConnection's
54105 [ AccessToken] ( https://learn.microsoft.com/en-us/dotnet/api/microsoft.data.sqlclient.sqlconnection.accesstoken ) and
55106 [ AccessTokenCallback] ( https://learn.microsoft.com/en-us/dotnet/api/microsoft.data.sqlclient.sqlconnection.accesstokencallback )
56107 documentation.
57- [ #3339 ] ( https://github.com/dotnet/SqlClient/pull/3339 )
108+ ( [ #3339 ] ( https://github.com/dotnet/SqlClient/pull/3339 ) )
58109- Fixed some poorly formatted tables in the API docs.
59- [ #3391 ] ( https://github.com/dotnet/SqlClient/pull/3391 )
110+ ( [ #3391 ] ( https://github.com/dotnet/SqlClient/pull/3391 ) )
60111- Code merge towards a unified SqlClient project, aligning .NET Framework and
61112 .NET Core implementations.
62- [ #3262 ] ( https://github.com/dotnet/SqlClient/pull/3262 )
63- [ #3291 ] ( https://github.com/dotnet/SqlClient/pull/3291 )
64- [ #3305 ] ( https://github.com/dotnet/SqlClient/pull/3305 )
65- [ #3306 ] ( https://github.com/dotnet/SqlClient/pull/3306 )
66- [ #3310 ] ( https://github.com/dotnet/SqlClient/pull/3310 )
67- [ #3323 ] ( https://github.com/dotnet/SqlClient/pull/3323 )
68- [ #3326 ] ( https://github.com/dotnet/SqlClient/pull/3326 )
69- [ #3335 ] ( https://github.com/dotnet/SqlClient/pull/3335 )
70- [ #3338 ] ( https://github.com/dotnet/SqlClient/pull/3338 )
71- [ #3340 ] ( https://github.com/dotnet/SqlClient/pull/3340 )
72- [ #3341 ] ( https://github.com/dotnet/SqlClient/pull/3341 )
73- [ #3343 ] ( https://github.com/dotnet/SqlClient/pull/3343 )
74- [ #3345 ] ( https://github.com/dotnet/SqlClient/pull/3345 )
75- [ #3353 ] ( https://github.com/dotnet/SqlClient/pull/3353 )
76- [ #3355 ] ( https://github.com/dotnet/SqlClient/pull/3355 )
77- [ #3368 ] ( https://github.com/dotnet/SqlClient/pull/3368 )
78- [ #3373 ] ( https://github.com/dotnet/SqlClient/pull/3373 )
79- [ #3376 ] ( https://github.com/dotnet/SqlClient/pull/3376 )
80- [ #3388 ] ( https://github.com/dotnet/SqlClient/pull/3388 )
81- [ #3389 ] ( https://github.com/dotnet/SqlClient/pull/3389 )
82- [ #3393 ] ( https://github.com/dotnet/SqlClient/pull/3393 )
83- [ #3405 ] ( https://github.com/dotnet/SqlClient/pull/3405 )
84- [ #3414 ] ( https://github.com/dotnet/SqlClient/pull/3414 )
85- [ #3416 ] ( https://github.com/dotnet/SqlClient/pull/3416 )
86- [ #3417 ] ( https://github.com/dotnet/SqlClient/pull/3417 )
87- [ #3420 ] ( https://github.com/dotnet/SqlClient/pull/3420 )
88- [ #3431 ] ( https://github.com/dotnet/SqlClient/pull/3431 )
113+ ([ #3262 ] ( https://github.com/dotnet/SqlClient/pull/3262 ) ,
114+ [ #3291 ] ( https://github.com/dotnet/SqlClient/pull/3291 ) ,
115+ [ #3305 ] ( https://github.com/dotnet/SqlClient/pull/3305 ) ,
116+ [ #3306 ] ( https://github.com/dotnet/SqlClient/pull/3306 ) ,
117+ [ #3310 ] ( https://github.com/dotnet/SqlClient/pull/3310 ) ,
118+ [ #3323 ] ( https://github.com/dotnet/SqlClient/pull/3323 ) ,
119+ [ #3326 ] ( https://github.com/dotnet/SqlClient/pull/3326 ) ,
120+ [ #3335 ] ( https://github.com/dotnet/SqlClient/pull/3335 ) ,
121+ [ #3338 ] ( https://github.com/dotnet/SqlClient/pull/3338 ) ,
122+ [ #3340 ] ( https://github.com/dotnet/SqlClient/pull/3340 ) ,
123+ [ #3341 ] ( https://github.com/dotnet/SqlClient/pull/3341 ) ,
124+ [ #3343 ] ( https://github.com/dotnet/SqlClient/pull/3343 ) ,
125+ [ #3345 ] ( https://github.com/dotnet/SqlClient/pull/3345 ) ,
126+ [ #3353 ] ( https://github.com/dotnet/SqlClient/pull/3353 ) ,
127+ [ #3355 ] ( https://github.com/dotnet/SqlClient/pull/3355 ) ,
128+ [ #3368 ] ( https://github.com/dotnet/SqlClient/pull/3368 ) ,
129+ [ #3373 ] ( https://github.com/dotnet/SqlClient/pull/3373 ) ,
130+ [ #3376 ] ( https://github.com/dotnet/SqlClient/pull/3376 ) ,
131+ [ #3388 ] ( https://github.com/dotnet/SqlClient/pull/3388 ) ,
132+ [ #3389 ] ( https://github.com/dotnet/SqlClient/pull/3389 ) ,
133+ [ #3393 ] ( https://github.com/dotnet/SqlClient/pull/3393 ) ,
134+ [ #3405 ] ( https://github.com/dotnet/SqlClient/pull/3405 ) ,
135+ [ #3414 ] ( https://github.com/dotnet/SqlClient/pull/3414 ) ,
136+ [ #3416 ] ( https://github.com/dotnet/SqlClient/pull/3416 ) ,
137+ [ #3417 ] ( https://github.com/dotnet/SqlClient/pull/3417 ) ,
138+ [ #3420 ] ( https://github.com/dotnet/SqlClient/pull/3420 ) ,
139+ [ #3431 ] ( https://github.com/dotnet/SqlClient/pull/3431 ) ,
140+ [ #3438 ] ( https://github.com/dotnet/SqlClient/pull/3438 ) )
89141- Test improvements include a new unit test project, updates to test
90142 dependencies, removal of hardcoded credentials, and improved robustness.
91- [ #3204 ] ( https://github.com/dotnet/SqlClient/pull/3204 )
92- [ #3379 ] ( https://github.com/dotnet/SqlClient/pull/3379 )
93- [ #3380 ] ( https://github.com/dotnet/SqlClient/pull/3380 )
94- [ #3402 ] ( https://github.com/dotnet/SqlClient/pull/3402 )
143+ ( [ #3204 ] ( https://github.com/dotnet/SqlClient/pull/3204 ) ,
144+ [ #3379 ] ( https://github.com/dotnet/SqlClient/pull/3379 ) ,
145+ [ #3380 ] ( https://github.com/dotnet/SqlClient/pull/3380 ) , )
146+ [ #3402 ] ( https://github.com/dotnet/SqlClient/pull/3402 )
95147- Added dependency on ` System.Text.Json `
96148 [ 8.0.5] ( https://www.nuget.org/packages/System.Text.Json/8.0.5 ) (.NET 8.0) and
97149 [ 9.0.5] ( https://www.nuget.org/packages/System.Text.Json/9.0.5 ) (.NET Standard 2.0, .NET 9.0)
98150 to avoid transitive vulnerabilities ([ CVE-2024 -43485] ( https://github.com/advisories/GHSA-8g4q-xg66-9fp4 ) ).
99- [ #3403 ] ( https://github.com/dotnet/SqlClient/pull/3403 )
151+ ( [ #3403 ] ( https://github.com/dotnet/SqlClient/pull/3403 ) )
100152
101153## [ Preview Release 6.1.0-preview1.25120.4] - 2025-04-30
102154
0 commit comments