Preview Release 6.1.0-preview2
Pre-release
Pre-release
·
147 commits
to main
since this release
Preview Release 6.1.0-preview2.25178.5 - 2025-06-27
This update brings the following changes since the 6.1.0-preview1 release:
Added
Added dedicated SQL Server vector datatype support
What Changed:
- Optimized vector communications between MDS and SQL Server 2025, employing a custom binary format over the TDS protocol. (#3433, #3443)
- Reduced processing load compared to existing JSON-based vector support.
- Initial support for 32-bit single-precision floating point vectors.
Who Benefits:
- Applications moving large vector data sets will see beneficial improvements to processing times and memory requirements.
- Vector-specific APIs are ready to support future numeric representations with a consistent look-and-feel.
Impact:
- Reduced transmission and processing times for vector operations versus JSON using SQL Server 2025 preview:
- Reads: 50x improvement
- Writes: 3.3x improvement
- Bulk Copy: 19x improvement
- (Observed with vector column of max 1998 size, and 10,000 records for each operation.)
- Improved memory footprint due to the elimination of JSON serialization/deserialization and string representation bloat.
- For backwards compatibility with earlier SQL Server Vector implementations, applications may continue to use JSON strings to send/receive vector data, although they will not see any of the performance improvements noted above.
Revived .NET Standard 2.0 target support
What Changed:
- Support for targeting .NET Standard 2.0 has returned. (#3381)
- Support had previously been removed in the 6.0 release, with the [community voicing concerns] (#3115).
Who Benefits:
- Libraries that depend on MDS may seamlessly target any of the following frameworks:
- .NET Standard 2.0
- .NET Framework 4.6.2 and above
- .NET 8.0
- .NET 9.0
- Applications should continue to target runtimes.
- The MDS .NET Standard 2.0 target framework support does not include an actual implementation, and cannot be used with a runtime.
- An application's build/publish process should always pick the appropriate MDS .NET/.NET Framework runtime implementation.
- Custom build/publish actions that incorrectly try to deploy the MDS .NET Standard 2.0 reference DLL at runtime are not supported.
Impact:
- Libraries targeting .NET Standard 2.0 will no longer receive warnings like this:
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.
Fixed
- Fixed missing <NeutralLanguage> property. (#3325)
- Fixed injection of UTF-8 BOM during bulk copy. (#3399)
- Fixed
SqlCachedBufferasync read edge case. (#3329) - Fixed
SqlSequentialTextReaderedge case with single-byte reads. (#3383) - Fixed an incorrect error message when parsing connection string
PoolBlockingPeriod. (#3411) - Added missing
ToString()override toSqlJson. (#3427)
Changed
- Reduced allocations when opening a connection. (#3364)
- Various performance improvements related to TDS parsing. (#3337, #3377, #3422)
- Improved native AOT support. (#3364, #3369, #3401)
- Progress towards SSPI extensibility. (#2454)
- Progress towards connection pooling improvements. (#3352, #3396)
- Expanded/clarified SqlConnection's AccessToken and AccessTokenCallback documentation. (#3339)
- Fixed some poorly formatted tables in the API docs. (#3391)
- Code merge towards a unified SqlClient project, aligning .NET Framework and .NET Core implementations. (#3262, #3291, #3305, #3306, #3310, #3323, #3326, #3335,
#3338, #3340, #3341, #3343, #3345, #3353, #3355, #3368, #3373, #3376, #3388, #3389, #3393, #3405, #3414, #3416, #3417, #3420, #3431, #3438) - Test improvements include a new unit test project, updates to test dependencies, removal of hardcoded credentials, and improved robustness. (#3204, #3379, #3380, #3402)
- Added dependency on
System.Text.Json8.0.5 (.NET 8.0) and 9.0.5 (.NET Standard 2.0, .NET 9.0) to avoid transitive vulnerabilities (CVE-2024-43485). (#3403)
Contributors
We thank the following public contributors. Their efforts toward this project
are very much appreciated.
New Contributors
- BradBarnich made their first contribution in #3325
- deusanyjunior made their first contribution in #3310
Target Platform Support
- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64)
- .NET 8.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS)
Dependencies
.NET Standard 2.0
- Azure.Identity 1.13.2
- Microsoft.Bcl.Cryptography 9.0.4
- Microsoft.Data.SqlClient.SNI.runtime 6.0.2
- Microsoft.Extensions.Caching.Memory 9.0.4
- Microsoft.IdentityModel.JsonWebTokens 7.7.1
- Microsoft.IdentityModel.Protocols.OpenIdConnect 7.7.1
- Microsoft.SqlServer.Server 1.0.0
- System.Configuration.ConfigurationManager 9.0.4
- System.Security.Cryptography.Pkcs 9.0.4
- System.Text.Json 9.0.5
.NET Framework 4.6.2+
- Azure.Identity 1.13.2
- Microsoft.Bcl.Cryptography 8.0.0
- Microsoft.Data.SqlClient.SNI 6.0.2
- Microsoft.Extensions.Caching.Memory 8.0.1
- Microsoft.IdentityModel.JsonWebTokens 7.7.1
- Microsoft.IdentityModel.Protocols.OpenIdConnect 7.7.1
- System.Buffers 4.5.1
- System.Data.Common 4.3.0
- System.Security.Cryptography.Pkcs 8.0.1
- System.Text.Encodings.Web 8.0.0
- System.Text.Json 8.0.5
.NET 8.0
- Azure.Identity 1.13.2
- Microsoft.Bcl.Cryptography 8.0.0
- Microsoft.Data.SqlClient.SNI.runtime 6.0.2
- Microsoft.Extensions.Caching.Memory 8.0.1
- Microsoft.IdentityModel.JsonWebTokens 7.7.1
- Microsoft.IdentityModel.Protocols.OpenIdConnect 7.7.1
- Microsoft.SqlServer.Server 1.0.0
- System.Configuration.ConfigurationManager 8.0.1
- System.Security.Cryptography.Pkcs 8.0.1
- System.Text.Json 8.0.5
.NET 9.0
- Azure.Identity 1.13.2
- Microsoft.Bcl.Cryptography 9.0.4
- Microsoft.Data.SqlClient.SNI.runtime 6.0.2
- Microsoft.Extensions.Caching.Memory 9.0.4
- Microsoft.IdentityModel.JsonWebTokens 7.7.1
- Microsoft.IdentityModel.Protocols.OpenIdConnect 7.7.1
- Microsoft.SqlServer.Server 1.0.0
- System.Configuration.ConfigurationManager 9.0.4
- System.Security.Cryptography.Pkcs 9.0.4
- System.Text.Json 9.0.5