Skip to content

Commit d7a71f6

Browse files
authored
User Story 38734: Add 6.0.2 context to 7.0.0-P1 Release Notes (#3633)
1 parent d2be2be commit d7a71f6

File tree

1 file changed

+230
-2
lines changed

1 file changed

+230
-2
lines changed

release-notes/7.0/7.0.0-preview1.md

Lines changed: 230 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
## Preview Release 7.0.0-preview1.25257.1 - 2025-09-12
44

5+
## Changes Since [6.1.0](../6.1/6.1.0.md)
6+
57
This update brings the following changes since the [6.1.0](../6.1/6.1.0.md)
68
release:
79

@@ -62,6 +64,219 @@ release:
6264
- Updated `Azure.Identity` dependency to v1.14.2.
6365
([#3538](https://github.com/dotnet/SqlClient/pull/3538))
6466

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

67282
We thank the following public contributors. Their efforts toward this project
@@ -70,13 +285,26 @@ are very much appreciated.
70285
- [edwardneal](https://github.com/edwardneal)
71286
- [emmanuel-ferdman](https://github.com/emmanuel-ferdman)
72287
- [ErikEJ](https://github.com/ErikEJ)
288+
- [MichelZ](https://github.com/MichelZ)
73289
- [twsouthwick](https://github.com/twsouthwick)
74290
- [Wraith2](https://github.com/Wraith2)
75291

76292
### New Contributors
77293

78-
- [frankbuckley](https://github.com/frankbuckley) made their first contribution
79-
in [#3521](https://github.com/dotnet/SqlClient/pull/3521)
294+
- [BradBarnich](https://github.com/BradBarnich) made their first contribution in
295+
[#3325](https://github.com/dotnet/SqlClient/pull/3325)
296+
- [deusanyjunior](https://github.com/deusanyjunior) made their first contribution in
297+
[#3310](https://github.com/dotnet/SqlClient/pull/3310)
298+
- [emmanuel-ferdman](https://github.com/emmanuel-ferdman) made their first contribution in
299+
[#3041](https://github.com/dotnet/SqlClient/pull/3041)
300+
- [frankbuckley](https://github.com/frankbuckley) made their first contribution in
301+
[#3521](https://github.com/dotnet/SqlClient/pull/3521)
302+
- [JNjenga](https://github.com/JNjenga) made their first contribution in
303+
[#3183](https://github.com/dotnet/SqlClient/pull/3183)
304+
- [MaceWindu](https://github.com/MaceWindu) made their first contribution in
305+
[#3134](https://github.com/dotnet/SqlClient/pull/3134)
306+
- [Midhunnnk](https://github.com/Midhunnnk) made their first contribution in
307+
[#3250](https://github.com/dotnet/SqlClient/pull/3250)
80308

81309
## Target Platform Support
82310

0 commit comments

Comments
 (0)