Skip to content

Latest commit

 

History

History
193 lines (132 loc) · 8.19 KB

File metadata and controls

193 lines (132 loc) · 8.19 KB

Release Notes

Preview Release 7.1.0-preview1 - 2026-04-29

This update brings the following changes since the 7.0.0 release:

Added

SqlBatch Support on .NET Framework

What Changed:

  • Added SqlBatch and related batch-command support for the .NET Framework target so the batching API is now available across the full supported platform matrix, including net462. (#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, and WorkstationId. (#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

Connection Pool Clearing Now Works With Pool v2 (Experimental)

What Changed:

  • Implemented the channel-based pool clear path so SqlConnection.ClearPool(SqlConnection) and SqlConnection.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.

Type Forwards for Authentication Abstractions

What Changed:

  • Added type forwards from the core Microsoft.Data.SqlClient assembly to public authentication-related types that were moved into Microsoft.Data.SqlClient.Extensions.Abstractions, including SqlAuthenticationMethod, SqlAuthenticationParameters, SqlAuthenticationProvider, SqlAuthenticationProviderException, and SqlAuthenticationToken. (#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 SqlBulkCopy failing on SQL Server 2016 with Invalid column name 'graph_type' by extracting graph-column metadata with dynamic SQL instead of referencing the column directly. (#3714, #4092, #4147)

  • Fixed SqlBulkCopy support for Azure Synapse Analytics dedicated SQL pools by using a Synapse-compatible column-list query path. (#4149, #4176, #4182)

  • Fixed SqlDataReader.GetFieldType() and GetProviderSpecificFieldType() to return SqlVector<float> metadata for vector float32 columns instead of byte[]. (#4104, #4105, #4152)

  • Added the missing System.Data.Common NuGet dependency for .NET Framework consumers to avoid CS0012 compile failures against newer ADO.NET surface area. (#4063, #4074)

  • Fixed a SqlDataReader streaming bug where calling IsDBNull() before reading a streamed value could skip column data. (#4082)

  • Fixed a NullReferenceException in SqlDataReader during 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