Skip to content

Releases: dotnet/SqlClient

Hotfix & Stable Release v2.1.4

21 Sep 00:52
a3e82a5
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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.

Preview Release v3.0.0-preview1.21075.2

16 Mar 00:33
c37092a
Compare
Choose a tag to compare
Pre-release

Breaking Changes over stable release v2.1

  • The minimum supported .NET Framework version has been increased to v4.6.1. .NET Framework v4.6.0 is no longer supported. #899

Added

  • Added support for Configurable Retry Logic #693 #966
  • Added support for Event counters in .NET Core 3.1+ and .NET Standard 2.1+ #719
  • Added support for Assembly Context Unloading in .NET Core #913
  • Added missing System.Runtime.Caching dependency for .NET Standard assemblies #877

Fixed

  • Fixed wrong results issues by changing the timeout timer to ensure a correct execution state #906
  • Fixed Kerberos authentication issues when configured Server Principal Name (SPN) didn't contain default port #930
  • Fixed MARS header errors when MakeReadAsyncBlocking App Context switch is set to false #910 #922
  • Fixed unwanted exceptions being thrown from SqlDataReader.Dispose #920
  • Fixed issues connecting to SQL Server instance with instance name specified from Unix environment #870
  • Fixed TCP Keep Alive issues in .NET Core #854
  • Fixed Kerberos Authentication issues caused due to regression #845
  • Fixed issues with System-Assigned Managed Identity in Azure Functions #829
  • Fixed missing error messages in Managed SNI #882
  • Fixed event source trace string issue #940

Changes

  • Changed App Context switch MakeReadAsyncBlocking default to false #937
  • Replaced usage of BinaryFormatter with DataContractSerializer #869
  • Prohibited DtdProcessing on XmlTextReader instance in .NET Core #884
  • Improved performance by reducing memory allocations in SerializeEncodingChar/WriteEncodingChar and some options boxing #785
  • Improved performance by preventing orphaned active packets being GC'ed without clear #888
  • Various performance improvements #889 #900
  • Partial event source tracing improvements in .NET Core #867 #897
  • Changes to share common files between NetFx and NetCore source code #827 #835 #838 #881

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

Hotfix & Stable Release v1.1.4

10 Mar 22:15
1450ff9
Compare
Choose a tag to compare

Fixed

  • Fixed wrong results issues by changing the timeout timer to ensure a correct execution state #950
  • Fixed MARS header contains errors issue against .NET Framework 4.8+ #959

Hotfix & Stable Release v2.1.2

03 Mar 22:03
4957501
Compare
Choose a tag to compare

Fixed

  • Fixed issue connecting with instance name from a Linux/macOS environment #874
  • Fixed wrong results issues by changing the timeout timer to ensure a correct execution state #929
  • Fixed a vulnerability by prohibiting DtdProcessing on XmlTextReader instances in .NET Core #885
  • Fixed Kerberos authentication when an SPN does not contain the port #935
  • Fixed missing error messages in Managed SNI #883
  • Fixed missing System.Runtime.Caching dependency for .NET Standard assemblies #878
  • Fixed event source tracing issues #941
  • Fixed MARS header contains errors issue against .NET Framework 4.8.1 #928