Skip to content

Stable release v5.2.0

Compare
Choose a tag to compare
@JRahnama JRahnama released this 28 Feb 18:04
· 213 commits to main since this release
faf9b95

[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