This update brings the following changes since the 7.0.0 release:
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.
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.
What Changed:
- Implemented the channel-based pool clear path so
SqlConnection.ClearPool(SqlConnection)andSqlConnection.ClearAllPools()now work correctly when the newer pool v2 implementation is active. (#4194)
Who Benefits:
- Applications that rely on pool clearing after failover, credential rotation, or server-side configuration changes now get the same semantics regardless of which internal pool implementation is active.
Impact:
- Idle pooled connections are closed immediately during a clear operation, while in-use connections are invalidated and discarded when returned to the pool.
Please Note: Connection Pooling v2 is still experiemental.
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.
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.
-
Reduced allocations when sending large string values to SQL Server. (#4072)
-
Internal source-build and packaging consolidation updates: (#4033, #4068, #4204)
-
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)
- .NET Framework 4.6.2+ (Windows x86, Windows x64, Windows ARM64)
- .NET 8.0+ (Windows x86, Windows x64, Windows ARM, Windows ARM64, Linux, macOS)
- 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
- 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
- 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
- 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