Skip to content

Releases: dotnet/SqlClient

Preview Release 6.0.0-preview3.24332.3

28 Nov 01:20
c0bc846
Compare
Choose a tag to compare
Pre-release

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

Preview Release v6.0.0-preview2.24304.8

30 Oct 20:17
Compare
Choose a tag to compare
Pre-release

Added

Fixed

  • 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 to LoginWithFailover 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

Changed

New Contributors

For detailed release notes, refer to 6.0.0-preview2.md

Preview Release v6.0.0-preview1.24240.8

28 Aug 17:51
9573da2
Compare
Choose a tag to compare
Pre-release

[Preview Release 6.0.0-preview1.24240.8] - 2024-08-27

This update brings the below changes over the 5.2 release:

Breaking Changes

  • Removed support for .NET Standard. #2386
  • Removed UWP (uap) references. #2483

Added

  • Added TokenCredential object to take advantage of token caching in ActiveDirectoryAuthenticationProvider. #2380
  • Added DateOnly and TimeOnly support to DataTable as a structured parameter. #2258
  • Added Microsoft.Data.SqlClient.Diagnostics.SqlClientDiagnostic type in .NET. #2226
  • Added scope trace for GenerateSspiClientContext. #2497, #2725

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 for ASSEMBLYPROPERTY 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 include AccessTokenCallback. #2525
  • Fixed issue with DateTimeOffset in table-valued parameters, which was introduced in 5.2. #2453
  • Fixed ArgumentNullException on SqlDataRecord.GetValue when using user-defined data type on .NET. #2448
  • Fixed SqlBuffer and SqlGuild 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

Changed

  • Updated Microsoft.Data.SqlClient.SNI version to 6.0.0-preview1.24226.4. #2772
  • Improved access to SqlAuthenticationProviderManager.Instance and avoid early object initiation. #2636
  • Removed undocumented properties of Azure.Identity in ActiveDirectoryAuthenticationProvider. #2562
  • Replaced System.Runtime.Caching with Microsoft.Extensions.Caching.Memory. #2493
  • Updated EnableOptimizedParameterBinding to only accept text mode commands. #2417
  • Updated Azure.Identity version from 1.10.3 to 1.11.4. #2577
  • Updated Azure.Core version from 1.35.0 to 1.38.0. #2462
  • Updated Azure.Security.KeyVault.Keys version from 4.4.0 to 4.5.0. #2462
  • Updated Microsoft.IdentityModel.JsonWebTokens and Microsoft.IdentityModel.Protocols.OpenIdConnect from 6.35.0 to 7.5.0. #2429
  • Removed direct dependency to Microsoft.Identity.Client to take the transient dependecy through Azure.Identity. #2577
  • Removed unnecessary references Microsoft.Extensions.Caching.Memory and System.Security.Cryptography.Cng after removing .NET Standard. #2577
  • Improved memory allocation when reader opened by CommandBehavior.SequentialAccess over the big string columns. #2356
  • Improved SSPI by consolidating the context generation to single abstraction and using memory/span for SSPI generation. #2255, #2447
  • Reverted the #2281 code changes on ManagedSNI. #2395
  • Updated assembly version to 6.0.0.0. #2382
  • Code health improvements: #2366, #2369, #2381, #2390, #2392, #2403, #2410, #2413, #2425, #2428, #2440, #2443, #2450, #2466, #2486, #2521, #2522, #2533, #2552, #2560, #2726, #2751, #2811

For detailed release notes, refer to 6.0.0-preview1.md

Stable release v5.1.6

28 Aug 16:37
cec5dd8
Compare
Choose a tag to compare

[Stable release 5.1.6] - 2024-08-27

Fixed

  • Fixed Transient fault handling issue with OpenAsync. #1983 #2508
  • Fixed AcquireTokenAsync timeout handling for edge cases in ActiveDirectoryAuthenticationProvider. #2706
  • Fixed pending data with SqlDataReader against an encrypted column. #2618 #2818

Changed

Stable release v5.2.2

28 Aug 16:38
a985927
Compare
Choose a tag to compare

[Stable release 5.2.2] - 2024-08-27

Fixed

  • Fixed AcquireTokenAsync timeout handling for edge cases in ActiveDirectoryAuthenticationProvider. #2650
  • Fixed issue with Socket.Connect in managed SNI. #2779
  • Fixed path for AssemblyAttributes in obj folder causing NET 8.0 assembly to appear in NET 6.0 dll. #2789
  • Fixed SSPI retry negotiation with default port in .NET. #2815
  • Fixed ArgumentNullException on SqlDataRecord.GetValue when using user-defined data type on .NET. #2816
  • Fixed pending data with SqlDataReader against an encrypted column. #2817

Changed

  • Upgraded Azure.Identity version from 1.11.3 to 1.11.4 #2648 to address CVE-2024-35255.
  • Upgraded Microsoft.Identity.Client version from 4.60.0 to 4.61.3 #2648 to address CVE-2024-35255.
  • Added caching to TokenCredential objects to take advantage of token caching. #2775

Stable release v4.0.6

28 Aug 16:39
212fdd0
Compare
Choose a tag to compare

[Stable release 4.0.6] - 2024-08-21

Fixed

  • Fixed connection to unsubscribe from transaction completion events before returning it to the connection pool #2301 #2435
  • Fixed AcquireTokenAsync timeout handling for edge cases in ActiveDirectoryAuthenticationProvider #2707

Changed

Stable release v3.1.7

21 Aug 22:21
Compare
Choose a tag to compare

[Stable release 3.1.7] - 2024-08-20

Fixed

  • Fixed connection to unsubscribe from transaction completion events before returning it to the connection pool. #2301 #2434
  • Fixed AcquireTokenAsync timeout handling for edge cases in ActiveDirectoryAuthenticationProvider. #2709
  • Fixed the signing issue with Microsoft.Data.SqlClient assembly. #2789

Changed

  • Updated Microsoft.Data.SqlClient.SNI version 3.0.1 to 3.0.2 #2676 which includes the fix for AppDomain crashing in issue #1418 and various code refactors.
  • Code health improvements: #2147, #2515, #2517 addresses CVE-2019-0545, #2539

Stable release v5.2.1

31 May 21:55
7af2438
Compare
Choose a tag to compare

[Stable release 5.2.1] - 2024-05-31

Fixed

  • Fixed connection errors on Linux when Data Source property contains both named instance and port #2436
  • Fixed SqlConnection.FireInfoMessageEventOnUserErrors when set to true throws an exception #2505
  • Fixed exception when using DATETIMEOFFSET(n) in a TVP if n is 1, 2, 3, or 4 #2506
  • Reverted PR #1983 which caused connection failure delays when using OpenAsync #2507
  • Fixed SqlConnection.Clone() to include AccessTokenCallback #2527

Changed

  • Upgraded Azure.Identity version from 1.10.3 to 1.11.3 #2492, #2528
  • Upgraded Microsoft.Identity.Client version from 4.56.0 to 4.60.3 #2492
  • Code Health improvements: #2467

Stable release v5.2.0

28 Feb 18:04
faf9b95
Compare
Choose a tag to compare

[Stable release 5.2.0] - 2024-02-28

Added

  • Added a new AccessTokenCallBack API to SqlConnection. #1260
  • Added SqlBatch support on .NET 6+ #1825, #2223,#2371, #2373
  • Added support of SqlDiagnosticListener on .NET Standard. #1931
  • Added new property RowsCopied64 to SqlBulkCopy. #2004
  • Added support for the SuperSocketNetLib registry option for Encrypt on .NET on Windows. #2047
  • Added the ability to generate debugging symbols in a separate package file #2137
  • Added Workload Identity authentication support #2159, #2264
  • Added support for Big Endian systems #2170
  • Added support for Georgian collation #2194
  • Added Localization support on .NET #2210
  • Added .NET 8 support #2230
  • Added explicit version for major .NET version dependencies on System.Runtime.Caching 8.0.0, System.Configuration.ConfigurationManager 8.0.0, and System.Diagnostics.
  • DiagnosticSource 8.0.0 #2303

Changed

  • Improved parsing buffered characters in TdsParser. #1544
  • Added Microsoft.SqlServer.Types to verify support for SqlHierarchyId and Spatial for .NET Core. #1848
  • Moved to new System.Data.SqlTypes APIs on .NET 7 and up. #1934 and #1981
  • Removed reference to Microsoft.Win32.Registry since it's shipped starting with .NET 6.0. #1974
  • Changed UseOneSecFloorInTimeoutCalculationDuringLogin App Context switch default to true and extended its effect to .NET and .NET Standard. #2012
  • Updated Microsoft.Identity.Client version from 4.47.2 to 4.53.0. #2031, #2055
  • Switched to the new .NET NegotiateAuthentication API on .NET 7.0 and above for SSPI token negotiation using Managed SNI. #2063
  • Removed ignoreSniOpenTimeout in open connection process on Windows. #2067
  • Enforce explicit ordinal for internal StringComparison operations. #2068
  • Improved error messages when validating server certificates in managed SNI (Linux/macOS) #2060
  • Improved CPU usage when AppContext switches are in use #2227
  • Upgraded Azure.Identity dependency version to 1.10.3 to address CVE-2023-36414, #2189
  • Changed Microsoft.IdentityModel.JsonWebTokens and Microsoft.IdentityModel.Protocols.OpenIdConnect version 6.24.0 to 6.35.0 #2290 to address CVE-2024-21319
  • Updated Microsoft.Data.SqlClient.SNI (.NET Framework dependency) and Microsoft.Data.SqlClient.SNI.runtime (.NET/.NET Standard dependency) version to v5.2.0. #2363, which includes removing dead code and addressing static analysis warnings
  • Code health improvements: #1198, #1829, #1943, #1949, #1959, #1985, #2071, #2073, #2088, #2091, #2098, #2121, #2122, #2132, #2136, #2144, #2147, #2157, #2164, #2166, #2168, #2186, #2254, #2288, #2305, #2317

Fixed

  • Fixed Always Encrypted secure enclave retry logic for async queries. #1988
  • Fixed activity correlator to continue use of same GUID for connection activity. #1997
  • Fixed behavior when error class is greater than 20 on connection retry. #1953
  • Fixed error message when symmetric key decryption failed using Always Encrypted. #1948
  • Fixed TransactionScope connection issue when Enlist is enable, Pooling is disabled and network connection type is Redirect. #1960
  • Fixed TDS RPC error on large queries in SqlCommand.ExecuteReaderAsync. #1936
  • Fixed throttling of token requests by calling AcquireTokenSilent. #1925
  • Fixed Linux code coverage result in Build proj. #1950
  • Fixed NullReferenceException in GetBytesAsync. #1906
  • Fixed Transient fault handling issue with OpenAsync. #1983
  • Fixed invariant mode checks. #1917
  • Fixed GC behavior in TdsParser by adding array rental capability in TryReadPlpUnicodeChars. #1866
  • Fixed socket synchronization issue during connect in managed SNI. #1029
  • Fixed issue with SqlConnectionStringBuilder property indexer not supporting non-string values. #2018
  • Fixed SqlDataAdapter.Fill and configurable retry logic issue on .NET Framework. #2084
  • Fixed SqlConnectionEncryptOption type conversion by introducing the SqlConnectionEncryptOptionConverter attribute when using appsettings.json files. #2057
  • Fixed th-TH culture info issue on Managed SNI. #2066
  • Fixed an issue when using the Authentication option, but not encrypting on .NET Framework where the server certificate was being incorrectly validated #2224
  • Fixed a deadlock problem for distributed transactions when on .NET #2161
  • Fixed an issue with connecting to named instances on named pipes in managed SNI (Linux/macOS) #2142
  • Fixed LocalDb connection issue with an invalid source when using managed SNI #2129
  • Fixed an AccessViolationException when using a SQL Express user instance #2101
  • Fixed a metadata query issue when connecting to Azure SQL Edge #2099
  • Fixed file version information for .NET and .NET Standard binaries #2093
  • Fixed the SPN sent for a named instance when using Kerberos authentication on Linux/macOS #2240
  • Fixed connection to unsubscribe from transaction completion events before returning it to the connection pool #2301
  • Fixed InvalidCastException when reading an Always Encrypted date or time column #2275
  • Fixed token caching to prevent expired access tokens from being reused in a connection pool #2273

[AzureKeyVaultProvider] Stable Release v5.1.0

02 Feb 20:12
507e8dd
Compare
Choose a tag to compare

Changed

  • Changed Microsoft.Data.SqlClient version 3.0.0 to 5.1.5 #2330
  • Changed Azure.Core version 1.6.0 to 1.35.0 #2330
  • Changed Azure.Security.KeyVault.Keys 4.0.3 to 4.5.0 #2330
  • Changed Microsoft.Extensions.Caching.Memory 5.0.0 to 8.0.0 for .Net 8.0 and 6.0.1 for other Target frameworks #2330