Skip to content

Releases: dotnet/SqlClient

Preview Release v2.0.0-preview3.20122.2

01 May 18:45
ffc6bd0
Compare
Choose a tag to compare
Pre-release

Added

  • Allow passing username with Active Directory Interactive Authentication in .NET Framework #492
  • Allow large UDT buffers for .NET Framework #456
  • Added "Transaction Id" and "Client Version" in Diagnostic Source traces #515
  • Added new SqlConnectionOverrides APIs to perform SqlConnection.Open() with fail fast option #463

Fixed

  • Addressed MARS TDS Header errors by reverting changes to make SqlDataReader.ReadAsync() non-blocking #547
  • Fixed driver behavior to not perform enlistment of pooled connection in aborted transaction #543
  • Fixed wrong application domain selected when starting SqlDependencyListener #410
  • Added missing refs for RowCopied property in SqlBulkCopy #508

Changes

  • Improved performance by removing unwanted method calls in Event Source tracing #506
  • Removed Diagnostic Source and Configuration Manager dependencies from .NET Standard implementation #535
  • Removed redundant calls to DbConnectionPoolKey.GetType() #512

Breaking Changes

  • Updated driver to perform decimal scale rounding to match SQL Server behavior #470
  • Standardized App Context switch that enables Managed SNI on Windows for .NET Core and .NET Standard (break only applies to 2.0 preview releases that introduced the switch) #548

For more details and breaking changes, refer here

Hotfix & Stable Release v1.1.2

15 Apr 21:02
acb4ab6
Compare
Choose a tag to compare

Added

  • Allowed passing username with Active Directory Interactive Authentication #493 #516

Fixed

  • Fixed the Connection String's password persistence in .NET Core. #489
  • Addressed MARS TDS header containing errors #510

Changed

  • Updated driver libraries to be CLS Compliant #522

Preview Release v2.0.0-preview2.20084.1

24 Mar 21:39
4dbc1c2
Compare
Choose a tag to compare
Pre-release

Added

  • Added support for capturing EventSource traces in .NET Framework, .NET Core, and .NET Standard applications #399 #461 #479 #483 #484
  • Added support for Cross-platform TCP Keep Alive applicable to .NET Core 3.1+ applications #395
  • Added support for enabling Managed networking implementation on Windows applicable to .NET Core and .NET Standard applications #477
  • Added RowsCopied property in SqlBulkCopy to expose count of copied rows #409
  • Added "NeutralResourcesLanguage" attribute for .NET Framework assembly #433
  • Added caching for invariant culture check result #376
  • Added cached SqlReferenceCollection.FindLiveReaderContext objects #380

Fixed

  • Fixed Access Token behavior in connection pool to perform string comparison #443
  • Fixed concurrent connection speed issues when connecting with Azure Active Directory Authentication modes in .NET Core #466
  • Fixed issues with Password persistence in Connection String #453

Changes

  • Updated all driver assemblies to be CLS Compliant #396
  • Updated Bulk Copy error messages to also include Column, Row and non-encrypted Data information #437
  • Updated error messages for "Always Encrypted - Secure Enclaves" to handle 'Attestation Protocol' and fixed typos #421 #397
  • Removed sync over async in SNINpHandle.EnableSsl #474
  • Changed non-generic ArrayList to List<T> in SqlBulkCopy #457
  • Multiple performance improvements #377 #378 #379

Breaking Changes

  • The driver will now perform Server Certificate validation when TLS encryption is enforced by the target Server, which is the default for Azure connections #391
  • SqlDataReader.GetSchemaTable() now returns an empty DataTable instead of returning null #419

For more details and breaking changes, refer here

[AzureKeyVaultProvider] Stable Release v1.1.1

13 Mar 23:04
Compare
Choose a tag to compare

Changes

  • Correction required due to providing incorrect endpoint address

Hotfix & Stable Release v1.1.1

14 Feb 19:36
19cb8fb
Compare
Choose a tag to compare

Fixed

  • Fixed deadlock issues by reverting async changes in SNIPacket #425

Changed

  • Updated SNI package reference to include version range #425

Preview Release v2.0.0-preview1.20021.1

22 Jan 00:55
b98a08e
Compare
Choose a tag to compare
Pre-release

Added

  • Added support to allow large UDT buffer size (upto Int.MaxValue) as supported by SQL Server starting TDS 7.3 #340

Fixed

  • Fixed issues with SqlCommandSet not working with Byte Array parameters #360
  • Fixed Statement command cancellation in Managed SNI #248 - Ported dotnet/corefx#38271
  • Fixed zero connection timeout issue in Managed SNI #332
  • Fixed "DataType" metadata information for TinyInt datatype to be System.Byte #338
  • Fixed driver behavior to use CancellationTokenResource only for non-infinite timeout and cleanup after usage #339
  • Fixed ConnectionTime and ClientConnectionId reported by SqlStatistics when connection is closed #341
  • Fixed deadlock issues by reverting async changes to SNIPacket #349

Changes

  • Improved performance of Managed SNI by removing double fetch of domain name #366
  • Improved performance of Async Method Allocations in Managed SNI #328
  • Improved performance of Managed SNI by enhancing utilization of resources #173 - Ported dotnet/corefx#35363 and dotnet/corefx#40732
  • Improved performance of Managed SNI RPC Parameter Usage #209 - Ported dotnet/corefx#34049
  • Changed enclave key map to be lazy initialized #372
  • Changed Recieve() and ReceiveAsync() implementation to receive null packets on failure #350
  • Changed EnclaveProviderBase caching implementation to support Async Scenarios (Introduces breaking changes) #346

For more details and breaking changes, refer here.

Stable Release v1.1.0

20 Nov 22:44
d4d621c
Compare
Choose a tag to compare

Added

  • Added support for |DataDirectory| macro in AttachDBFilename for .NET Core client #284

Fixed

  • Fixed connection resiliency check #310
  • Fixed SNIPacket.ReadFromStreamAsync to not consume same ValueTask twice #295
  • Fixed driver behavior to not send Attention signal for successful Bulk Copy operation #308
  • Fixed driver behavior to abort connection when encountering SqlException on SqlTransaction.Commit #299
  • Fixed driver behavior to not throw exception on invalid app.config files #319

Changes

  • Improved async read performance by adding multi-packet target buffer caching #285
  • Improved performance of TdsParserStateObject and SqlDataReader snapshot mechanisms #198
  • Updated SqlDataReader.Close documentation #314

[AzureKeyVaultProvider] Stable Release v1.0.0

19 Nov 22:27
64b7bfc
Compare
Choose a tag to compare

This is the initial public stable release of the new Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider namespace.

This library contains the implementation of Microsoft.Data.SqlClient.SqlColumnEncryptionKeyStoreProvider for accessing Azure Key Vault, and the provider class is named SqlColumnEncryptionAzureKeyVaultProvider.

Detailed release notes are available here.

Preview Release v1.1.0-preview2

05 Nov 00:51
a606f11
Compare
Choose a tag to compare
Pre-release

Added

  • Add support for secure enclaves with Always Encrypted #293

Fixed

  • Setting the value DbParameter.DbType to DbType.Time property fails after setting the Value property #5
  • SQLDataAdapter.FillSchema doesn't mark computed columns as readonly #275
  • SqlDependency.Start throws FileNotFoundException #260
  • Misleading ADP_OpenReaderExists exception message on MARS-disabled Sql Connection when incorrectly doing parallel requests #82
  • SqlClient ManualTest MARSSyncTimeoutTest fails in managed mode #108
  • System.Data.SqlClient.SqlInternalConnectionTds constructor purges original call stack when re-throwing an exception #100
  • InvalidOperationException(SqlException) on SqlBulkCopy #221
  • Exception message grammar: "An SqlParameter [...] is not contained by this SqlParameterCollection" #159
  • Fixing incorrect event id and opcode for the SqlEventSource #241

Changes

  • Update dependency to Microsoft.Data.SqlClient.SNI v1.1.0 #276
  • Correct timeout remarks for async command methods #264
  • Improve SqlBulkCopy truncation error message #256
  • Intellisense tooltip for SqlCommand's CommandTimeout doesn't describe units #33
  • Enable SQL Command text for non-stored procs in EventSource events for .NET Framework #242

[AzureKeyVaultProvider] Preview Release v1.0.0-preview1.19295.2

22 Oct 23:59
Compare
Choose a tag to compare

This update to v1.0.0-preview1.19292.1 fixes a missing NuGet package dependency on Microsoft.Data.SqlClient and updates the maximum version attribute for other dependencies.

Detailed release notes available here.