Preview Release v7.1.0-preview1
Pre-release
Pre-release
This update brings the following changes since the 7.0.0 release:
Added
SqlBatch Support on .NET Framework
What Changed:
- Added
SqlBatchand related batch-command support for the .NET Framework target so the batching API is now available across the full supported platform matrix, includingnet462. (#3926)
Who Benefits:
- Applications that target .NET Framework but also want to use the newer batching APIs no longer need a separate implementation strategy from .NET 8/9 applications.
- Libraries that multi-target .NET Framework and modern .NET can use a more consistent data-access surface area.
Impact:
SqlBatch,SqlBatchCommand, and the related execution methods are now usable on .NET Framework builds in addition to .NET.
Cross-Driver Connection-String Synonym Alignment
What Changed:
- Added additional accepted connection-string synonyms for better compatibility with other SQL Server drivers and existing connection-string conventions. Newly accepted synonyms include
ColumnEncryption,ConnectTimeout,FailoverPartner,PacketSize, andWorkstationId. (#4192)
Who Benefits:
- Applications migrating connection strings from other SQL Server drivers or shared infrastructure can reuse more existing keywords without rewriting them first.
Impact:
- Existing canonical keywords continue to work unchanged; this preview simply accepts more equivalent aliases during parsing.
Changed
Type Forwards for Authentication Abstractions
What Changed:
- Added type forwards from the core
Microsoft.Data.SqlClientassembly to public authentication-related types that were moved intoMicrosoft.Data.SqlClient.Extensions.Abstractions, includingSqlAuthenticationMethod,SqlAuthenticationParameters,SqlAuthenticationProvider,SqlAuthenticationProviderException, andSqlAuthenticationToken. (#4067, #4117)
Who Benefits:
- Applications and libraries compiled against earlier package layouts retain binary compatibility when those authentication types are resolved from the core assembly name.
Impact:
- No application code changes are required; the type forwards preserve existing compiled references.
User Agent Feature Extension Enabled by Default
What Changed:
- Enabled the User Agent TDS feature extension by default and removed the opt-in requirement to toggle it through
Switch.Microsoft.Data.SqlClient.EnableUserAgent. (#4124, #4154)
Who Benefits:
- Operators and diagnostic tooling gain more consistent client-identification metadata during connection establishment without extra application configuration.
Impact:
- User-agent metadata is now always sent during login. Applications that previously enabled the switch explicitly can remove that configuration with no functional loss.
Other changes
- Reduced allocations when sending large string values to SQL Server. (#4072)
- Internal source-build and packaging consolidation updates: (#4033, #4068, #4204)
Fixed
- Fixed
SqlBulkCopyfailing on SQL Server 2016 withInvalid column name 'graph_type'by extracting graph-column metadata with dynamic SQL instead of referencing the column directly. (#3714, #4092, #4147) - Fixed
SqlBulkCopysupport for Azure Synapse Analytics dedicated SQL pools by using a Synapse-compatible column-list query path. (#4149, #4176, #4182) - Fixed
SqlDataReader.GetFieldType()andGetProviderSpecificFieldType()to returnSqlVector<float>metadata for vector float32 columns instead ofbyte[]. (#4104, #4105, #4152) - Added the missing
System.Data.CommonNuGet dependency for .NET Framework consumers to avoidCS0012compile failures against newer ADO.NET surface area. (#4063, #4074) - Fixed a
SqlDataReaderstreaming bug where callingIsDBNull()before reading a streamed value could skip column data. (#4082) - Fixed a
NullReferenceExceptioninSqlDataReaderduring specific reader state transitions. (#4159)
Target Platform Support
- .NET Framework 4.6.2+ (Windows x86, Windows x64, Windows ARM64)
- .NET 8.0+ (Windows x86, Windows x64, Windows ARM, Windows ARM64, Linux, macOS)
Dependencies
.NET 9.0
- Microsoft.Bcl.Cryptography 9.0.13
- Microsoft.Data.SqlClient.Extensions.Abstractions 1.0.0
- Microsoft.Data.SqlClient.Internal.Logging 1.0.0
- Microsoft.Data.SqlClient.SNI.runtime 6.0.2
- Microsoft.Extensions.Caching.Memory 9.0.13
- Microsoft.IdentityModel.JsonWebTokens 8.16.0
- Microsoft.IdentityModel.Protocols.OpenIdConnect 8.16.0
- Microsoft.SqlServer.Server 1.0.0
- System.Configuration.ConfigurationManager 9.0.13
- System.Security.Cryptography.Pkcs 9.0.13
.NET 8.0
- Microsoft.Bcl.Cryptography 8.0.0
- Microsoft.Data.SqlClient.Extensions.Abstractions 1.0.0
- Microsoft.Data.SqlClient.Internal.Logging 1.0.0
- Microsoft.Data.SqlClient.SNI.runtime 6.0.2
- Microsoft.Extensions.Caching.Memory 8.0.1
- Microsoft.IdentityModel.JsonWebTokens 8.16.0
- Microsoft.IdentityModel.Protocols.OpenIdConnect 8.16.0
- Microsoft.SqlServer.Server 1.0.0
- System.Configuration.ConfigurationManager 8.0.1
- System.Security.Cryptography.Pkcs 8.0.1
.NET Standard 2.0
- Microsoft.Bcl.Cryptography 8.0.0
- Microsoft.Data.SqlClient.Extensions.Abstractions 1.0.0
- Microsoft.Data.SqlClient.Internal.Logging 1.0.0
- Microsoft.Data.SqlClient.SNI.runtime 6.0.2
- Microsoft.Extensions.Caching.Memory 8.0.1
- Microsoft.IdentityModel.JsonWebTokens 8.16.0
- Microsoft.IdentityModel.Protocols.OpenIdConnect 8.16.0
- Microsoft.SqlServer.Server 1.0.0
- System.Configuration.ConfigurationManager 8.0.1
- System.Security.Cryptography.Pkcs 8.0.1
- System.Text.Json 10.0.3
- System.Threading.Channels 10.0.3
.NET Framework 4.6.2+
- Microsoft.Bcl.Cryptography 8.0.0
- Microsoft.Data.SqlClient.Extensions.Abstractions 1.0.0
- Microsoft.Data.SqlClient.Internal.Logging 1.0.0
- Microsoft.Data.SqlClient.SNI 6.0.2
- Microsoft.Extensions.Caching.Memory 8.0.1
- Microsoft.IdentityModel.JsonWebTokens 8.16.0
- Microsoft.IdentityModel.Protocols.OpenIdConnect 8.16.0
- System.Buffers 4.6.1
- System.Data.Common 4.3.0
- System.Diagnostics.DiagnosticSource 10.0.3
- System.Memory 4.6.3
- System.Runtime.InteropServices.RuntimeInformation 4.3.0
- System.Security.Cryptography.Pkcs 8.0.1
- System.Text.Json 10.0.3
- System.Threading.Channels 10.0.3
- System.ValueTuple 4.6.2