Releases: dotnet/SqlClient
Releases · dotnet/SqlClient
Preview Release v3.0.0-preview1.21075.2
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 tofalse
#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 tofalse
#937 - Replaced usage of
BinaryFormatter
withDataContractSerializer
#869 - Prohibited
DtdProcessing
onXmlTextReader
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
Hotfix & Stable Release v2.1.2
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
onXmlTextReader
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
[AzureKeyVaultProvider] Stable Release v2.0.0
Hotfix & Stable Release v2.1.1
[AzureKeyVaultProvider] Stable Release v1.2.0
Stable Release v2.1.0
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
andNotSupportedException
errors due toWriteAsync
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 usingSqlDataReader
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
Preview Release v2.1.0-preview2.20297.7
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) andMicrosoft.Data.SqlClient.SNI.runtime
(.NET Core/Standard dependency) version tov2.1.1
and removed symbols fromMicrosoft.Data.SqlClient.SNI.runtime
, which are now published to Microsoft Symbols Server #764 - Updated
Microsoft.Identity.Client
dependency version tov4.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
Hotfix & Stable Release v2.0.1
Added
- Added support for a new Configuration Section,
SqlClientAuthenticationProviders
(duplicate of existingSqlAuthenticationProviders
), 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.
Preview Release v2.1.0-preview1.20235.1
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 activeSqlConnection
instance #660 - Added support for a new Configuration Section,
SqlClientAuthenticationProviders
(duplicate of existingSqlAuthenticationProviders
), 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
inSqlException
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 settingConnectionString
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