SqlClient

Microsoft.Data.SqlClient provides database connectivity to SQL Server for .NET applications.

MIT License

Stars
820
Committers
80

Bot releases are hidden (Show)

SqlClient - [AzureKeyVaultProvider] Stable Release v1.2.0

Published by karinazhou almost 4 years ago

Changes

  • Added support for .NET Standard 2.0. This requires Microsoft.Data.SqlClient v2.1.0 and above. #823
  • Added new HSM endpoints. #750
  • Added source linked PDBs for easier debugging of the package. #789
SqlClient - Stable Release v2.1.0

Published by cheenamalhotra almost 4 years ago

Added

  • Microsoft.Data.SqlClient symbols are now source-linked #789
  • Added an API to clear cached access tokens from the token provider #800
  • Added SqlFacetAttribute implementation #757

Fixed

  • Fixed InvalidOperationException and NotSupportedException errors due to WriteAsync collisions #796
  • Fixed incorrect Settings.Async flag in ExecuteXmlReaderAsync #782
  • Fixed a regression in Windows Integrated authentication when using managed networking #777
  • Fixed Bulk Copy Async deadlock issues with custom IDataReader when using SqlDataReader internally #779
  • Fixed a serialization issue with SqlException in .NET Core #780

Changes

  • Updated versions of Microsoft.IdentityModel package dependencies #794

For summary of all changes over v2.0, refer 2.1.0.md

SqlClient - Preview Release v2.1.0-preview2.20297.7

Published by johnnypham almost 4 years ago

Added

  • Added support for Azure Active Directory Managed Identity authentication #730
  • Added support to provide a user-defined application client ID when using Active Directory authentication #740
  • Added the "Command Timeout" connection string property to set a default timeout for all commands executed with the connection #722
  • Added support for Always Encrypted on all supported platforms for .NET Standard 2.0 #756

Fixed

  • Fixed unobserved exception issue when a timeout occurs before a faulted task completes with an exception #688 #773
  • Fixed an issue where driver continues to prompt for credentials when using Azure Active Directory authentication #770

Changes

  • Updated Microsoft.Data.SqlClient.SNI (.NET Framework dependency) and Microsoft.Data.SqlClient.SNI.runtime (.NET Core/Standard dependency) version to v2.1.1 and removed symbols from Microsoft.Data.SqlClient.SNI.runtime, which are now published to Microsoft Symbols Server #764
  • Updated Microsoft.Identity.Client dependency version to v4.21.1 #765
  • Performance improvements when establishing an encrypted channel by removing sync over async method calls #541
  • Performance improvements by replacing heap-allocated arrays with Spans #667
  • Moved common files to shared folder between .NET Framework and .NET Core implementation #734 #753

For detailed release notes, see 2.1.0-preview2.md

SqlClient - Hotfix & Stable Release v2.0.1

Published by cheenamalhotra about 4 years ago

Added

  • Added support for a new Configuration Section, SqlClientAuthenticationProviders (duplicate of existing SqlAuthenticationProviders), to allow co-existence of configurations for both drivers, "System.Data.SqlClient" and "Microsoft.Data.SqlClient" #701

Fixed

  • Fixed pooled connection re-use on access token expiry issue when using Active Directory authentication modes #639
  • Fixed transient fault handling for Pooled connections #638
  • Fixed Enclave session cache issue with Azure Database #628
  • Reverted changes to return empty DataTable from GetSchemaTable to return null as before. #697
  • Fixed configuration section collision issue with System.Data.SqlClient type #701
  • Fixed blank error message [HTTP Provider] issues due to unexpected pre-login failures when using Native SNI. Fixed with Microsoft.Data.SqlClient.SNI v2.0.1 and Microsoft.Data.SqlClient.SNI.runtime v2.0.1 release versions.
SqlClient - Preview Release v2.1.0-preview1.20235.1

Published by cheenamalhotra about 4 years ago

Added

  • Added support for Always Encrypted with secure enclaves on Unix for .NET Core 2.1+ and on all supported platforms for .NET Standard 2.1+ #676
  • Added support for Azure Active Directory Device Code Flow authentication #597
  • Added new APIs to enable customizations for "Active Directory Interactive" authentication experience #597
  • Added Sensitivity Rank support in Sensitivity Classification information #626
  • Added support to obtain ServerProcessId() (SPID) information on an active SqlConnection instance #660
  • Added support for a new Configuration Section, SqlClientAuthenticationProviders (duplicate of existing SqlAuthenticationProviders), to allow co-existence of configurations for both drivers, "System.Data.SqlClient" and "Microsoft.Data.SqlClient" #702
  • Added TraceLogging in Native SNI to extend SqlClientEventSource support #650
  • Updated Microsoft.Data.SqlClient.SNI (.NET Framework dependency) and Microsoft.Data.SqlClient.SNI.runtime (.NET Core/Standard dependency) version to v2.1.0 with trace logging implementation #705

Fixed

  • Fixed Enclave session cache issue with Azure Database #686
  • Fixed pooled connection re-use on access token expiry issue when using Active Directory authentication modes #635
  • Fixed transient fault handling for Pooled connections #637
  • Fixed SPN generation issue when no port is provided #629
  • Fixed missing null checks for SqlErrors in SqlException for .NET Framework implementation #698

Changes

  • Performance improvements by fixing unnecessary allocations with EventSource implementation #684
  • Reverted changes to return empty DataTable from GetSchemaTable to return null as before. #696
  • Removed multiple CacheConnectionStringProperties calls when setting ConnectionString properties #683
  • Code Improvements by only checking inexact match when no exact match is found for an embedded resource #668
  • Changed _SqlMetaData to lazy initialize hidden column map #521
  • Renamed internal string resource file and helpers for .NET Core implementation #671
  • Performance improvements by reworking ExecuteReaderAsync to minimize allocations #528
  • Performance improvements by moving DataReader caches to internal connection #499
  • Moved common files to shared folder between .NET Framework and .NET Core implementation #618 #625
SqlClient - Stable Release v2.0.0

Published by cheenamalhotra over 4 years ago

Added

  • Added internal driver support to provide resiliency to DNS failures #594
  • Added support for Active Directory Integrated, Active Directory Interactive and Active Directory Service Principal authentication mode for .NET Core and .NET Standard #560
  • Added support for Active Directory Service Principal authentication mode for .NET Framework #560
  • Added support for optional ORDER hints in SqlBulkCopy for improved performance #540

Fixed

  • Fixed SqlSequentialStream multipacket read stalling issue in .NET Core #603
  • Fixed code page issue for Kazakh collation in SQL Server #584
  • Fixed stalled application issues when end of stream is reached #577
  • Fixed driver behavior to not throw exception for invalid configuration file #573
  • Fixed Object null reference issue when failover partner is set #588
  • Fixed applicationintent connection string property issue #585

Changes

  • Raise warning message when insecure TLS protocols are in use #591

Breaking Changes

  • Modified enclave provider interface SqlColumnEncryptionEnclaveProvider to be internal #602 - This change is not likely to impact customer applications since secure enclaves is a relatively new feature and they would have had to implement their own enclave provider, which is not a trivial task.
  • Updated SqlClientMetaDataCollectionNames exposed constants by removing non-existing constants and adding new to the metadata collection #580

For summary of all changes over v1.1, refer 2.0.0.md

SqlClient - Preview Release v2.0.0-preview4.20142.4

Published by cheenamalhotra over 4 years ago

Added

  • Microsoft.Data.SqlClient (.NET Core and .NET Standard) on Windows is now dependent on Microsoft.Data.SqlClient.SNI.runtime, replacing the previous dependency on runtime.native.System.Data.SqlClient.SNI #570
  • The new Microsoft.Data.SqlClient.SNI.runtime dependency adds support for the ARM platform along with the already supported platforms ARM64, x64 and x86 on Windows #570
  • Improved driver performance by introducing managed packet recycling #389

Fixed

  • Fixed SqlBulkCopy to work with database columns containing metadata about data classification #568
  • Fixed unsafe cast in SqlException for SerializationEntry.Value
  • Fixed null reference exceptions in SqlDelegatedTransaction methods #563

Changes

  • Standardized connection string properties for enhanced user experience #534
  • Improved performance by reducing eventsource tracing related to allocations from TVP write methods #557 #564

Breaking Changes

  • For .NET Framework applications consuming Microsoft.Data.SqlClient, the SNI.dll files previously downloaded to the bin\x64 and bin\x86 folders are now named Microsoft.Data.SqlClient.SNI.x64.dll and Microsoft.Data.SqlClient.SNI.x86.dll and will be downloaded to the bin directory, to support auto-loading in the application process #570. This change is not going to impact client applications unless a direct reference has been made to SNI.dll or the x86 and x64 folders.
  • New connection string synonyms replace old inconsistent properties when fetching connection string from SqlConnectionStringBuilder #534

For detailed release notes, refer 2.0.0-preview4.md

SqlClient - Hotfix & Stable Release v1.1.3

Published by cheenamalhotra over 4 years ago

Fixed

  • Fixed driver behavior to not perform enlistment of pooled connection in aborted transaction #551
  • Fixed issues introduced with MARS TDS Header fix in last release by reverting original change that caused issues. #550
SqlClient - Preview Release v2.0.0-preview3.20122.2

Published by cheenamalhotra over 4 years ago

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

SqlClient - Hotfix & Stable Release v1.1.2

Published by cheenamalhotra over 4 years ago

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
SqlClient - Preview Release v2.0.0-preview2.20084.1

Published by cheenamalhotra over 4 years ago

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

SqlClient - [AzureKeyVaultProvider] Stable Release v1.1.1

Published by cheenamalhotra over 4 years ago

Changes

  • Correction required due to providing incorrect endpoint address
SqlClient - Hotfix & Stable Release v1.1.1

Published by cheenamalhotra over 4 years ago

Fixed

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

Changed

  • Updated SNI package reference to include version range #425
SqlClient - Preview Release v2.0.0-preview1.20021.1

Published by cheenamalhotra over 4 years ago

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.

SqlClient - Stable Release v1.1.0

Published by cheenamalhotra almost 5 years ago

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
SqlClient - [AzureKeyVaultProvider] Stable Release v1.0.0

Published by cheenamalhotra almost 5 years ago

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.

SqlClient - Preview Release v1.1.0-preview2

Published by David-Engel almost 5 years ago

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
SqlClient - [AzureKeyVaultProvider] Preview Release v1.0.0-preview1.19295.2

Published by David-Engel almost 5 years ago

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.

SqlClient - [AzureKeyVaultProvider] Preview Release v1.0.0-preview1.19295.1

Published by cheenamalhotra about 5 years ago

This is the initial public preview 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 as SqlColumnEncryptionAzureKeyVaultProvider.

Detailed release notes available here.

SqlClient - Preview Release v1.1.0-preview1

Published by cheenamalhotra about 5 years ago

Added

  • Added SqlFileStream support for .NET Framework with Microsoft.Data.SqlTypes.SqlFileStream class introduced. #210
  • Added support for Visual Studio Intellisense with XML Documentation. #210

Changes

  • Synchronized ref definitions with driver classes. #180
  • Updated SNINativeMethodWrapper to provide the underlying error in the inner exception when we fail to load SNI.dll. #225
  • Added .editorconfig file and set formatting rules. #193
  • Changes done to handle statistics well and to cleanup AutoResetEvent on disconnect. #232