Releases: dotnet/SqlClient
[AzureKeyVaultProvider] Stable Release v6.1.1
This update brings below changes over the previous stable releases.
Fixed
- Fixed AzureKeyVaultProvider package key caching to serialize Azure key fetch
operations. (#3477)
Changed
- Marked AKV provider as trimmable and enabled AOT support. (#3401)
- Changed Microsoft.Data.SqlClient version range to
[6.1.1,7.0.0)
. (#3569)
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 Framework
- Azure.Core 1.47.1
- Azure.Security.KeyVault.Keys 4.7.0
- Microsoft.Data.SqlClient 6.1.1
- Microsoft.Extensions.Caching.Memory 8.0.1
.NET 8.0
- Azure.Core 1.47.1
- Azure.Security.KeyVault.Keys 4.7.0
- Microsoft.Data.SqlClient 6.1.1
- Microsoft.Extensions.Caching.Memory 8.0.1
.NET 9.0
- Azure.Core 1.47.1
- Azure.Security.KeyVault.Keys 4.7.0
- Microsoft.Data.SqlClient 6.1.1
- Microsoft.Extensions.Caching.Memory 9.0.4
Stable Release v6.1.1
This update includes the following changes since the 6.1.0 release:
Fixed
- Reverted changes related to improving partial packet detection, fixup, and replay functionality. This revert addresses regressions introduced in 6.1.0. (#3556)
- Applied reference assembly corrections supporting vector, fixed JSON tests, and ensured related tests are enabled. #3562
- Fixed
SqlVector<T>.Null
API signature in Reference assembly. #3521
Changed
[Delisted] Stable Release v6.1.0
Release Notes
Warning
This release version is delisted from NuGet.org and is no longer supported.
It contains critical bugs that make it unsuitable for use.
Stable Release 6.1.0 - 2025-07-25
This update brings the following changes since the 6.0.2 stable 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.
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.
Other Additions
- Added packet multiplexing support to improve large data read performance. (#2714, #3161, #3202)
- Added support for special casing with Fabric endpoints. (#3084)
Fixed
- Fixed distributed transactions to be preserved during pooled connection resets. (#3019)
- Fixed application crash when the
Data Source
parameter begins with a comma. (#3250) - Resolved synonym count discrepancies in debug mode. (#3098)
- Addressed warnings for down-level SSL/TLS versions. (#3126)
- Fixed missing <NeutralLanguage> property. (#3325)
- Fixed injection of UTF-8 BOM during bulk copy. (#3399)
- Fixed
SqlCachedBuffer
async read edge case. (#3329) - Fixed
SqlSequentialTextReader
edge case with single-byte reads. (#3383) - Fixed an incorrect error message when parsing connection string
PoolBlockingPeriod
. (#3411) - Added missing
ToString()
override toSqlJson
. (#3427) - Fixed missing socket error codes on non-Windows platforms. (#3475)
- Fixed primary/secondary server SPN handling during SSPI negotiation. (#3478)
- Fixed AzureKeyVaultProvider package key caching to serialize Azure key fetch operations. (#3477)
- Fixed a rare error related to multi-packet async text reads. (#3474)
- Fixed some spelling errors in the API docs. (#3500)
- Fixed a rare multi-packet string corruption bug. (#3513)
Changed
SqlDecimal type workarounds conversions
What Changed:
- Changed how SqlDecimal type workarounds perform conversions to meet compliance policies. (#3467)
Who Benefits:
- Microsoft products must not use undocumented APIs on other Microsoft products. This change removes calls to undocumented APIs and replaces them with compliant API use.
Impact:
- These changes impose an observed 5% decrease in performance on .NET Framework.
SqlVector API improvements (since 6.1.0-preview2)
What Changed:
- Several changes were made to the SqlVector API published in the 6.1.0-preview2 release (#3472):
- The SqlVector class was changed to a readonly struct.
- The null value constructor was changed to a static
CreateNull()
method. - The
Size
property was removed.
Who Benefits:
- SqlVector instances gain the efficiencies of struct handling.
Impact:
- Early-adopter applications may require updates if they rely on the old APIs and any class-specific behaviour.
Other Changes
- 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)
- Optimized binary size for AOT. (#3091)
- Refined bulk copy operations to handle unmatched column names more effectively. (#3205)
- Enhanced
SqlBulkCopy
to explicitly identify mismatched column names. (#3183) - Optimized outgoing SSPI blob handling using
IBufferWriter<byte>
. (#2452) - Replaced
byte[]
withstring
for SNI to improve efficiency. (#2790) - Code cleanup to remove SQL 2000 support. (#2839, #3206, #3217)
- Connection pool design refactor for a modular connection pool design. (#3199)
- Added dependency on
System.Text.Json
8.0.5 (.NET 8.0) and 9.0.5 (.NET Standard 2.0, .NET 9.0) to avoid transitive vulnerabilities (CVE-2024-43485). (#3403) - Updated various dependencies #3229, primarily:
- System.Text.Encodings.Web to v8.0.0
- System.Text.Json to v8.0.5
- Azure.Identity to v1.13.2
- Microsoft.Identity.Model.Json.Web.Tokens to v7.7.1
- Microsoft.Identity.Model.Protocols.OpenIdConnect to v7.7.1
- Code merge towards a unified SqlClient project, ali...
Preview Release 6.1.0-preview2
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
SqlCachedBuffer
async read edge case. (#3329) - Fixed
SqlSequentialTextReader
edge 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.Json
8.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.OpenIdCon...
Preview Release v6.1.0-preview1
This update brings the following changes over the previous release:
Added
- Added packet multiplexing support to improve large data read performance. #2714 #3161 #3202
- Added support for special casing with Fabric endpoints. #3084
Fixed
- Fixed distributed transactions to be preserved during pooled connection resets. #3019.
- Fixed application crash when the
Data Source
parameter begins with a comma. #3250. - Resolved synonym count discrepancies in debug mode. #3098.
- Addressed warnings for down-level SSL/TLS versions. #3126.
Changed
- Optimized binary size for AOT. #3091
- Refined bulk copy operations to handle unmatched column names more effectively. #3205.
- Enhanced
SqlBulkCopy
to explicitly identify mismatched column names. #3183. - Optimized outgoing SSPI blob handling using
IBufferWriter<byte>
. #2452. - Replaced
byte[]
withstring
for SNI to improve efficiency. #2790. - Code cleanup to remove SQL 2000 support #2839, #3206, #3217,
- Connection pool design refactor for a modular connection pool design #3199
- Updated various dependencies #3229, primarily:
- System.Text.Encodings.Web to v8.0.0
- System.Text.Json to v8.0.5
- Azure.Identity to v1.13.2
- Microsoft.Identity.Model.Json.Web.Tokens to v7.7.1
- Microsoft.Identity.Model.Protocols.OpenIdConnect to v7.7.1
- Code merge towards a unified SqlClient project, aligning .NET Framework and .NET Core implementations. (#2957, #2963, #2984, #2982, #3023, #3015, #2967, #3164, #3163, #3171, #3182, #3179, #3156, #3213, #3232, #3236, #3231, #3241, #3246, #3247, #3222, #3255, #3254, #3259, #3264, #3256, #3251, #3275, #3277, #3263, #3292, #3208).
- Test improvements include updates to test references, removal of hardcoded certificates, improved stability, and better coverage (#3041, #3034, #3130, #3128, #3181, #3060, #3184, #3033, #3186, #3025, #3230, #3237, #3059, #3061).
New Contributors
- @emmanuel-ferdman made their first contribution in #3041
- @MaceWindu made their first contribution in #3134
- @JNjenga made their first contribution in #3183
- @Midhunnnk made their first contribution in #3250
Stable release v5.2.3
This update brings the following changes since the 5.2.2 release:
Fixed
- Fixed possible
NullPointerException
during socket receive (PR #3284) - Fixed inconsistencies between source and reference projects (PR #3124)
- Adjusted retry logic to allow errors with negative numbers to be considered transient (PR #3185)
Changed
- Updated the following dependencies:
- System.Private.Uri 4.3.2 - Avoid transitive CVE-2019-0820 (PR #3076)
- Microsoft.Extensions.Caching.Memory 6.0.1 to 6.0.3 - Avoid CVE-2024-43483 (PR #3280)
Stable Release v5.1.7
This update brings the following changes since the 5.1.6 release:
Fixed
- Fixed possible
NullPointerException
during socket receive (PR #3285) - Fixed inconsistencies between source and reference projects (PR #3180)
Changed
- Updated the following dependencies:
- Microsoft.Data.SqlClient.SNI 5.1.1 to 5.1.2 for .NET Framework on Windows (PR #3294)
- Microsoft.Data.SqlClient.SNI.runtime 5.1.1 to 5.1.2 for .NET on Windows (PR #3294)
- Microsoft.Extensions.Caching.Memory 6.0.1 to 6.0.3 - Avoid CVE-2024-43483 (PR #3068)
- Microsoft.Extensions.Hosting 6.0.0 to 6.0.1 - Avoid transitive dependency on vulnerable System.Text.Json 6.0.0 (PR #3207)
- System.Private.Uri 4.3.2 - Avoid transitive CVE-2019-0820 (PR #3077)
- System.Text.Encodings.Web 6.0.0 to 6.0.1 - Avoid transitive downgrade for .NET Framework targets (PR #3279)
- System.Text.Json 6.0.11 - Avoid transitive dependencies on older vulnerable versions for .NET Framework targets (PR #3279)
Stable Release v6.0.2
This update brings the below changes over the previous release:
Fixed
- Fixed possible
NullPointerException
during socket receive #3283 - Fixed reference assembly definitions for SqlJson APIs #3169
- Fixed an error reading the output parameter of type JSON while executing stored procedure #3173
Changed
- Updated the below dependencies:
- Updated Microsoft.Bcl.Cryptography from 9.0.0 to 9.0.4 for .NET 9 targeted dll. #3281
- Updated Microsoft.Extensions.Caching.Memory from 9.0.0 to 9.0.4 for .NET 9 targeted dll. #3281
- Updated System.Configuration.ConfigurationManager from 9.0.0 to 9.0.4 for .NET 9 targeted dll. #3281
- Updated System.Security.Cryptography.Pkcs from 9.0.0 to 9.0.4 for .NET 9 targeted dll. #3281
Stable Release v6.0.1
Released to NuGet.org on 2025-01-23
Breaking Changes
- Removed support for .NET Standard. #2386
- Removed support for .NET 6 #2927
- Removed UWP (UAP) references. #2483
- Removed SQL 2000 client-side debugging support for .NET Framework #2981, #2940
Added
JSON Support
JSON data type support is now available in Microsoft.Data.SqlClient v6.0. This release introduces SqlJson
type available as an extension to System.Data.SqlDbTypes
:
using System;
using System.Data.SqlTypes;
using System.Text.Json;
namespace Microsoft.Data.SqlTypes
{
/// <summary>
/// Represents the JSON data type in SQL Server.
/// </summary>
public class SqlJson : INullable
{
/// <summary>
/// Parameterless constructor. Initializes a new instance of the SqlJson class which
/// represents a null JSON value.
/// </summary>
public SqlJson() { }
/// <summary>
/// Takes a <see cref="string"/> as input and initializes a new instance of the SqlJson class.
/// </summary>
/// <param name="jsonString"></param>
public SqlJson(string jsonString) { }
/// <summary>
/// Takes a <see cref="JsonDocument"/> as input and initializes a new instance of the SqlJson class.
/// </summary>
/// <param name="jsonDoc"></param>
public SqlJson(JsonDocument jsonDoc) { }
/// <inheritdoc/>
public bool IsNull => throw null;
/// <summary>
/// Represents a null instance of the <see cref="SqlJson"/> type.
/// </summary>
public static SqlJson Null { get { throw null; } }
/// <summary>
/// Gets the string representation of the Json content of this <see cref="SqlJson" /> instance.
/// </summary>
public string Value { get ; }
}
}
The JSON data type supports reading, writing, streaming, and performing bulk copy operations.
Introducing SqlClientDiagnostics
SqlClientDiagnostic
is now available as a strongly-typed collection of key-value pairs that can be captured by consuming applications.
// Class that provides strongly-typed collection of key-value pairs for SqlClient diagnostic objects.
public abstract class SqlClientDiagnostic : System.Collections.Generic.IReadOnlyList<System.Collections.Generic.KeyValuePair<string, object>>
{
// A guid value used to correlate before, after and error events.
public System.Guid OperationId;
// The name of the operation.
public string Operation;
// The timestamp of the event.
public long Timestamp;
// The number of elements in the collection.
public int Count;
// The element at the specified index in the read-only list.
public System.Collections.Generic.KeyValuePair<string, object> this[int index];
// An enumerator that can be used to iterate through the collection.
public System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<string, object>> GetEnumerator();
}
Added Support for Connection Overrides in OpenAsync()
API
The default behavior of SqlConnection.OpenAsync()
can be overridden to disable the ten-second delay and automatic connection retries triggered by transient errors.
using(SqlConnection sqlConnection = new SqlConnection("Data Source=(local);Integrated Security=true;Initial Catalog=AdventureWorks;"))
{
await sqlConnection.OpenAsync(SqlConnectionOverrides.OpenWithoutRetry, cancellationToken);
}
Other Additions
- Added support for .NET 9 #2946
- Added localization in Czech, Polish, and Turkish #2987
- Added
TokenCredential
object to take advantage of token caching inActiveDirectoryAuthenticationProvider
. #2380 - Added support for using
DateOnly
andTimeOnly
inDataTable
andSqlDataRecord
structured parameters. #2258 - Added scope trace for
GenerateSspiClientContext
. #2497, #2725 - Added readme to NuGet package #2826
- Enabled NuGet package auditing via NuGet.org audit source #3024
- Added missing SqlCommand_BeginExecuteReader code sample #3009
Fixed
- Fixed
Socket.Connect
timeout issue caused by thread starvation. #2777 - Fixed pending data with
SqlDataReader
against an encrypted column. #2618 - Fixed Entra authentication when using infinite connection timeout in
ActiveDirectoryAuthenticationProvider
. #2651 - Fixed
GetSchema
by excluding unsupported engines due to lack of support forASSEMBLYPROPERTY
function. #2593 - Fixed SSPI retry negotiation with default port in .NET. #2559
- Fixed assembly path in .NET 8.0 and
.AssemblyAttributes
. #2550 - Fixed certificate chain validation. #2487
- Fixed clone of
SqlConnection
to includeAccessTokenCallback
. #2525 - Fixed issue with
DateTimeOffset
in table-valued parameters, which was introduced in 5.2. #2453 - Fixed
ArgumentNullException
onSqlDataRecord.GetValue
when using user-defined data type on .NET. #2448 - Fixed
SqlBuffer
andSqlGuid
when it's null. #2310 - Fixed
SqlBulkCopy.WriteToServer
state in a consecutive calls. #2375 - Fixed null reference exception with
SqlConnection.FireInfoMessageEventOnUserErrors
after introducing the batch command. #2399 - Fixed scale serialization when explicitly set to 0 #2411
- Fixed issue blocking
GetSchema
commands from being enrolled into the current transaction #2876 - Adjusted retry logic to allow errors with negative numbers to be considered transient #2896
- Fixed string formatting in
OutOfMemory
exceptions #2797 - Increased routing attempts to 10 in netcore for
LoginNoFailover
and added routing support toLoginWithFailover
to standardize routing behavior between netcore and netfx #2873 - Restructured documentation into XML format so that it displays correctly in Visual Studio #2836, #2822, #2834, #2851, #2863, #2864, #2865, #2869, #2871, #2837, #2821
- Fixed cleanup behavior when column decryption fails. Prevents leaving stale data on the wire for pooled connections #2843, #2825
- Reverted default value of
UseMinimumLoginTimeout
context switch to 'true' #2419 - Added missing
DynamicallyAccessedMembers
attributes in .NET Runtime reference assemblies. #2946 - Synchronized dependencies of reference assemblies with runtime assemblies #2878
- Fixed lazy initialization of the
_SqlMetaData
hidden column map for .NET Framework #2964 - Fixed reference assembly definitions for SqlClientDiagnostic APIs #3097
- Fixed issue with down-level SSL/TLS version warnings #3126
Changed
- Dependency changes
- Added dependency on
Microsoft.Bcl.Cryptography:9.0.0
#2946 - Added dependency on
System.Security.Cryptography.Pkcs:9.0.0
to address SYSLIB0057#2946 - Added dependency on
System.Text.Json
8.0.5
for .NET 8+ and6.0.10
for other versions #2921 - Removed dependency on
Microsoft.Extensions.Caching.Memory
andSystem.Security.Cryptography.Cng
, which were unnecessary after removing .NET Standard. #2577 - Removed dependency on
System.Text.Json
from .NET 8+ #2930
...
- Added dependency on
Preview Release 6.0.0-preview3.24332.3
Breaking Changes
- Dropped support for .NET 6 #2927
- Removed SQL 2000 client-side debugging support for .NET Framework #2981, #2940
Added
- Enabled NuGet package auditing via NuGet.org audit source #3024
- Added support for .NET 9 #2946
- Added dependency on System.Security.Cryptography.Pkcs:9.0.0 to address SYSLIB0057#2946
- Added dependency on Microsoft.Bcl.Cryptography:9.0.0 #2946
- Added missing SqlCommand_BeginExecuteReader code sample #3009
- Added support for SqlConnectionOverrides in OpenAsync() API #2433
- Added localization in Czech, Polish, and Turkish #2987
Fixed
- Reverted default value of UseMinimumLoginTimeout context switch to 'true' #2419
- Added missing DynamicallyAccessedMembers attributes in .NET Runtime reference assemblies. #2946
- Synchronized dependencies of Reference Assemblies with Runtime assemblies #2878
- Fixed lazy initialization of the _SqlMetaData hidden column map for .NET Framework #2964
Changed
- Updated Microsoft.Extensions.Caching.Memory to 9.0.0 for all frameworks #2946
- Updated System.Configuration.ConfigurationManager to 9.0.0 #2946
- Updated docs to use absolute links #2949
- Removed System.Text.Json dependency from .NET 8 #2930
Contributors
Thanks to the following public contributors. Their efforts toward this project are very much appreciated.
For detailed release notes, refer to 6.0.0-preview3.md