Skip to content

Releases: dotnet/SqlClient

Preview Release v4.0.0-preview3.21293.2

20 Oct 23:55
2d44537

Choose a tag to compare

Pre-release

Breaking changes over preview release v4.0.0-preview2

  • Dropped support for .NET Core 2.1 #1272
  • [.NET Framework] Exception will not be thrown if a User ID is provided in the connection string when using Active Directory Integrated authentication #1359

Added

  • Add GetFieldValueAsync<T> and GetFieldValue<T> support for XmlReader, TextReader, Stream #1019

Fixed

  • Fixed FormatException when opening a connection with event tracing enabled #1291
  • Fixed improper initialization of ActiveDirectoryAuthenticationProvider #1328
  • Fixed MissingMethodException when accessing SqlAuthenticationParameters.ConnectionTimeout #1336
  • Fixed data corruption issues by reverting changes to async cancellations #1352
  • Fixed performance degradation by reverting changes to MARS state machine #1357
  • Fixed bug where environment variables are ignored when using Active Directory Default authentication #1360

Changed

  • Removed attributes for classes used in Microsoft.VSDesigner due to lack of support for Microsoft.Data.SqlClient #1296
  • Disable encryption when connecting to SQL LocalDB #1312
  • Various code health and performance improvements. See milestone for more info.

For detailed release notes, refer 4.0.0-preview3.md

Hotfix & Stable Release v3.0.1

24 Sep 21:40
9daae24

Choose a tag to compare

Fixed

  • Fixed async thread blocking issues on SqlConnection.Open() for active directory authentication modes. #1270
  • Fixed unknown transaction state issues when promoting delegated transaction. 1247
  • Fixed issue with connection encryption to ensure connections fail when encryption is required. #1233 Read more
  • Fixed bug with LegacyRowVersionNullBehavior App Context switch. #1246
  • Fixed recursive calls to RetryLogicProvider when calling SqlCommand.ExecuteScalarAsync. #1245
  • Fixed async deadlock scenarios in web contexts with configurable retry logic provider. #1245
  • Fixed deadlock in transaction using .NET Framework. #1243
  • Fixed issue where connection goes to unusable state. #1238

Preview Release v4.0.0-preview2.21264.2

21 Sep 22:02
249b4ea

Choose a tag to compare

Pre-release

Breaking changes over preview release v4.0.0-preview1

  • Removed Configurable Retry Logic safety switch. #1254

Added

  • Added support for SqlFileStream on Windows using .NET Standard 2.0 and above. #1240
  • Added support for localdb shared instance using managed SNI. #1237

Fixed

  • Fixed .NET decimal conversion from SqlDecimal. #1179
  • Fixed Event Source changes on TryBeginExecuteEvent and WriteEndExecuteEvent to address the failure on other MS products such as OpenTelemetry and Application Insight. #1258
  • Fixed command's async cancellation. #956
  • Fixed deadlock in transaction using .NET Framework. #1242
  • Fixed unknown transaction state issues when prompting delegated transaction. 1216

Changed

For detailed release notes, refer 4.0.0-preview2.md

Hotfix & Stable Release v2.1.4

21 Sep 00:52
a3e82a5

Choose a tag to compare

Fixed

  • Fixed issue with connection encryption to ensure connections fail when encryption is required. #1232
  • Fixed issue where connection goes to unusable state. #1239

Preview Release v4.0.0-preview1.21237.2

25 Aug 19:37
593fe72

Choose a tag to compare

Pre-release

Breaking changes over stable release 3.0.0

  • Changed Encrypt connection string property to be true by default. #1210
  • The driver now throws SqlException replacing AggregateException for active directory authentication modes. #1213
  • Dropped obsolete Asynchronous Processing connection property from .NET Framework. #1148

Added

  • Added SqlCommand.EnableOptimizedParameterBinding property that when enabled increases performance for commands with very large numbers of parameters. #1041
  • Included 42108 and 42109 error codes to retriable transient errors list. #1215
  • Added new App Context switch to use OS enabled client protocols only. #1168
  • Added PoolBlockingPeriod connection property support in .NET Standard. #1181
  • Added support for SqlDataReader.GetColumnSchema() in .NET Standard. #1181
  • Added PropertyGrid support with component model annotations to SqlConnectionStringBuilder properties for .NET Core. #1152

Fixed

  • Fixed issue with connectivity when TLS 1.3 is enabled on client and server. #1168
  • Fixed issue with connection encryption to ensure connections fail when encryption is required. #1210
  • Fixed issue where connection goes to unusable state. #1128
  • Fixed recursive calls to RetryLogicProvider when calling SqlCommand.ExecuteScalarAsync. #1220
  • Fixed async deadlock scenarios in web contexts with configurable retry logic provider. #1220
  • Fixed EntryPointNotFoundException in InOutOfProcHelper constructor. #1120
  • Fixed async thread blocking issues on SqlConnection.Open() for active directory authentication modes. #1213
  • Fixed driver behavior for Always Encrypted with secure enclaves to not fail when no user parameters have been provided. #1115
  • Fixed bug with LegacyRowVersionNullBehavior App Context switch. #1182
  • Fixed issues in Strings.resx file containing error messages. #1136 #1178

Changed

  • Updated error code to match with Windows when certificate validation fails in non-Windows client environments. #1130
  • Removed designer attributes from SqlCommand and SqlDataAdapter. #1132
  • Updated configurable retry logic default retriable error list. #1125
  • Improved performance by changing SqlParameter bool fields to flags. #1064
  • Improved performance by implementing static delegates. #1060
  • Optimized async method allocations in .NET Framework by porting changes from .NET Core. #1084
  • Various code improvements #902 #925 #933 #934 #1024 #1057 #1122 #1133 #1134 #1141 #1187 #1188 #1223 #1225 #1226

For detailed release notes, refer 4.0.0-preview1.md

[AzureKeyVaultProvider] Stable Release v3.0.0

14 Jun 22:03
c99ce8d

Choose a tag to compare

Added

  • Introduces column encryption key caching support #1056

Breaking Changes

  • Microsoft.Data.SqlClient dependency version upgraded to v3.0.0+ #1111

For detailed notes, refer to 3.0.0.md

Stable Release v3.0.0

09 Jun 19:14
8908b92

Choose a tag to compare

Added

  • Added support for column encryption key caching when the server supports retrying queries that require enclave computations #1062
  • Added support for configurable retry logic configuration file in .NET Standard #1090

Changed

  • Updated Microsoft.Data.SqlClient.SNI (.NET Framework dependency) and Microsoft.Data.SqlClient.SNI.runtime (.NET Core/Standard dependency) version to v3.0.0 #1102
  • Improved event counter display information #1091

Breaking Changes

  • Modified column encryption key store provider registrations to give built-in system providers precedence over providers registered on connection and command instances. #1101

For summary of all changes over v2.1, refer to 3.0.0.md

Hotfix & Stable Release v2.1.3

21 May 19:32
f59df96

Choose a tag to compare

Fixed

  • Fixed wrong data blended with transactions in .NET Core by marking a connection as doomed if the transaction completes or aborts while there is an open result set #1051
  • Fixed race condition issues between SinglePhaseCommit and TransactionEnded events #1049

Preview Release v3.0.0-preview3.21140.5

20 May 23:21
294c452

Choose a tag to compare

Pre-release

Added

  • Added support for "Active Directory Default" authentication mode #1043
  • Added support for connection-level and command-level registration of custom key store providers to enable multi-tenant applications to control key store access #1045 #1056 #1078
  • Added IP address preference support for TCP connections #1015

Fixed

  • Fixed corrupted connection issue when an exception occurs during RPC execution with TVP types #1068
  • Fixed race condition issues between SinglePhaseCommit and TransactionEnded events #1042

Changed

  • Updated error messages for enclave exceptions to include a link to a troubleshooting guide. #994
  • Changes to share common files between projects #1022 #1038 #1040 #1033 #1028 #1039

For detailed release notes, refer 3.0.0-preview3.md

Preview Release v3.0.0-preview2.21106.5

16 Apr 23:42
1d4522a

Choose a tag to compare

Pre-release

Breaking Changes over preview release v3.0.0-preview1

  • User Id connection property now requires Client Id instead of Object Id for User-Assigned Managed Identity #1010
  • SqlDataReader now returns a DBNull value instead of an empty byte[]. Legacy behavior can be enabled by setting AppContext switch Switch.Microsoft.Data.SqlClient.LegacyRowVersionNullBehavior #998

Added

  • Microsoft.Data.SqlClient now depends on Azure.Identity library to acquire token for "Active Directory Managed Identity/MSI" and "Active Directory Service Principal" authentication modes. #1010
  • Upgraded Native SNI dependency to v3.0.0-preview1 along with enhanced event tracing support #1006

Fixed

  • Fixed wrong data blended with transactions in .NET Core by marking a connection with open result to be doomed #1023
  • Fixed derived parameters containing typename incorrectly #1020
  • Fixed server connection leak possibilities when an exception occurs in pooling layer #890
  • Fixed IP connection resolving logic in .NET Core #1016 #1031

Changed

  • Performance improvements in SqlDateTime to DateTime internal conversion method #912
  • Improved memory allocation by avoiding unnecessary context switching 1008
  • Updated Microsoft.Identity.Client version from 4.21.1 to 4.22.0 #1036
  • Various performance improvements #963 #996 #1004 #1012 #1017
  • Event source tracing improvements #1018
  • Changes to share common files between NetFx and NetCore source code #871 #887

For detailed release notes, refer 3.0.0-preview2.md.