From 6e03ac27491167c417734b65d2126ae684b39826 Mon Sep 17 00:00:00 2001 From: Lawrence LCI Date: Tue, 26 Jul 2022 13:38:31 -0700 Subject: [PATCH 01/12] Add 5.0.0 release notes --- CHANGELOG.md | 23 ++++ release-notes/5.0/5.0.0.md | 209 ++++++++++++++++++++++++++++++++++++ release-notes/5.0/5.0.md | 8 +- release-notes/5.0/README.md | 8 ++ 4 files changed, 247 insertions(+), 1 deletion(-) create mode 100644 release-notes/5.0/5.0.0.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 775f0d4be1..16ce5e5946 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,29 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) +## Microsoft.Data.SqlClient 5.0.0 released 29 July 2022 + +This update brings the below changes over the previous release: + +### Added + +- Added `TDS 8` version for TDSLogin. [#1657](https://github.com/dotnet/SqlClient/pull/1657) +- Added support for `TDS 8`. To use TDS 8, users should specify Encrypt=Strict in the connection string. [#1608](https://github.com/dotnet/SqlClient/pull/1608) [Read more](#tds-8-enhanced-security) + +### Fixed + +- Fixed KeyNotFoundException for the FailoverPartner key on SQL servers with availability group configured. [#1614](https://github.com/dotnet/SqlClient/pull/1614) +- Fixed small inconsistency between netcore and netfx for EncrpytionOptions [#1672](https://github.com/dotnet/SqlClient/pull/1672) +- Fixed `Microsoft.SqlServer.Server` netcore project package reference [#1654](https://github.com/dotnet/SqlClient/pull/1654) + +### Changed + +- Updated AuthProviderInfo struct to be match the changes in native SNI for `TDS 8` server certificate validation. [#1680](https://github.com/dotnet/SqlClient/pull/1680) +- Change default system protocol to for `TDS 8` on managed code. [#1678](https://github.com/dotnet/SqlClient/pull/1678) +- Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `5.0.0`. [TBD](placeholder) +- Changed encoding UTF-7 to ASCII for SSRP Broadcast [#1671](https://github.com/dotnet/SqlClient/pull/1671) +- Updated IdentityModel dependency from 6.8.0 to 6.21.0 and IdentityClient from 4.32.2 to 4.45.0 [#1646](https://github.com/dotnet/SqlClient/pull/1646) + ## [Preview Release 5.0.0-preview3.22168.1] - 2022-06-16 This update brings the below changes over the previous release: diff --git a/release-notes/5.0/5.0.0.md b/release-notes/5.0/5.0.0.md new file mode 100644 index 0000000000..6bb9aa2cce --- /dev/null +++ b/release-notes/5.0/5.0.0.md @@ -0,0 +1,209 @@ +# Release Notes + +## Microsoft.Data.SqlClient 5.0.0 released 29 July 2022 + +This update brings the below changes over the previous release: + +### Breaking changes + +- Added a dependency on the [Microsoft.SqlServer.Server](https://github.com/dotnet/SqlClient/tree/main/src/Microsoft.SqlServer.Server) package. This new dependency may cause namespace conflicts if your application references that namespace and still has package references (direct or indirect) to System.Data.SqlClient from .NET Core. +- Dropped classes from the `Microsoft.Data.SqlClient.Server` namespace and replaced them with supported types from the [Microsoft.SqlServer.Server](https://github.com/dotnet/SqlClient/tree/main/src/Microsoft.SqlServer.Server) package.[#1585](https://github.com/dotnet/SqlClient/pull/1585) The affected classes and enums are: + - Microsoft.Data.SqlClient.Server.IBinarySerialize -> Microsoft.SqlServer.Server.IBinarySerialize + - Microsoft.Data.SqlClient.Server.InvalidUdtException -> Microsoft.SqlServer.Server.InvalidUdtException + - Microsoft.Data.SqlClient.Server.SqlFacetAttribute -> Microsoft.SqlServer.Server.SqlFacetAttribute + - Microsoft.Data.SqlClient.Server.SqlFunctionAttribute -> Microsoft.SqlServer.Server.SqlFunctionAttribute + - Microsoft.Data.SqlClient.Server.SqlMethodAttribute -> Microsoft.SqlServer.Server.SqlMethodAttribute + - Microsoft.Data.SqlClient.Server.SqlUserDefinedAggregateAttribute -> Microsoft.SqlServer.Server.SqlUserDefinedAggregateAttribute + - Microsoft.Data.SqlClient.Server.SqlUserDefinedTypeAttribute -> Microsoft.SqlServer.Server.SqlUserDefinedTypeAttribute + - (enum) Microsoft.Data.SqlClient.Server.DataAccessKind -> Microsoft.SqlServer.Server.DataAccessKind + - (enum) Microsoft.Data.SqlClient.Server.Format -> Microsoft.SqlServer.Server.Format + - (enum) Microsoft.Data.SqlClient.Server.SystemDataAccessKind -> Microsoft.SqlServer.Server.SystemDataAccessKind +- Dropped support for .NET Framework 4.6.1 [#1574](https://github.com/dotnet/SqlClient/pull/1574) + + +### Added + +- Added `TDS 8` version for TDSLogin. [#1657](https://github.com/dotnet/SqlClient/pull/1657) +- Added support for `TDS 8`. To use TDS 8, users should specify Encrypt=Strict in the connection string. [#1608](https://github.com/dotnet/SqlClient/pull/1608) [Read more](#tds-8-enhanced-security) +- Added support for specifying Server SPN and Failover Server SPN on the connection. [#1607](https://github.com/dotnet/SqlClient/pull/1607) [Read more](#server-spn) +- Added support for aliases when targeting .NET Core on Windows. [#1588](https://github.com/dotnet/SqlClient/pull/1588) [Read more](#support-for-aliases) +- Added SqlDataSourceEnumerator. [#1430](https://github.com/dotnet/SqlClient/pull/1430), [Read more](#sql-data-source-enumerator-support) +- Added new attestation protocol `None` option to forgo enclave attestation when using VBS enclaves. [#1425](https://github.com/dotnet/SqlClient/pull/1425) and [#1419](https://github.com/dotnet/SqlClient/pull/1419), [Read more](#new-attestation-protocol-none) +- Added a new AppContext switch to suppress insecure TLS warnings. [#1457](https://github.com/dotnet/SqlClient/pull/1457), [Read more](#suppress-insecure-tls-warnings) + + +### Fixed + +- Fixed KeyNotFoundException for the FailoverPartner key on SQL servers with availability group configured. [#1614](https://github.com/dotnet/SqlClient/pull/1614) +- Fixed small inconsistency between netcore and netfx for EncrpytionOptions [#1672](https://github.com/dotnet/SqlClient/pull/1672) +- Fixed `Microsoft.SqlServer.Server` netcore project package reference [#1654](https://github.com/dotnet/SqlClient/pull/1654) +- Fixed naming, order, and formatting for `SqlDiagnosticsListener` on .NET Core and .NET. [#1637] (https://github.com/dotnet/SqlClient/pull/1637) +- Fixed NullReferenceException during Azure Active Directory authentication. [#1625] (https://github.com/dotnet/SqlClient/pull/1625) +- Added CommandText length validation when using stored procedure command types. [#1484](https://github.com/dotnet/SqlClient/pull/1484) +- Fixed `GetSchema("StructuredTypeMembers")` to return correct schema information. [#1500] (https://github.com/dotnet/SqlClient/pull/1500), [#1639](https://github.com/dotnet/SqlClient/pull/1639) +- Fixed NullReferenceException when using `SqlDependency.Start` against an Azure SQL Database.[#1294] (https://github.com/dotnet/SqlClient/pull/1294) +- Send the correct retained transaction descriptor in the MARS TDS Header when there is no current transaction on .NET 5+ and .NET Core. [#1624] (https://github.com/dotnet/SqlClient/pull/1624) +- Parallelize SSRP requests on Linux and macOS when MultiSubNetFailover is specified. [#1578] (https://github.com/dotnet/SqlClient/pull/1578) +- Adjust the default ConnectRetryCount against Azure Synapse OnDemand endpoints [#1626] (https://github.com/dotnet/SqlClient/pull/1626) +- Fixed connection failure by skipping Certificate Revocation List (CRL) check during authentication [#1559](https://github.com/dotnet/SqlClient/pull/1559) +- Fixed all documentation paths to Unix format path. [#1442](https://github.com/dotnet/SqlClient/pull/1442) +- Fixed thread safety issue for `GetEnclaveProvider` by converting dictionary to concurrent dictionary. [#1451](https://github.com/dotnet/SqlClient/pull/1451) + + +### Changed + +- Updated AuthProviderInfo struct to be match the changes in native SNI for `TDS 8` server certificate validation. [#1680](https://github.com/dotnet/SqlClient/pull/1680) +- Change default system protocol to for `TDS 8` on managed code. [#1678](https://github.com/dotnet/SqlClient/pull/1678) +- Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `5.0.0`. [TBD](placeholder) +- Changed encoding UTF-7 to ASCII for SSRP Broadcast [#1671](https://github.com/dotnet/SqlClient/pull/1671) +- Updated IdentityModel dependency from 6.8.0 to 6.21.0 and IdentityClient from 4.32.2 to 4.45.0 [#1646](https://github.com/dotnet/SqlClient/pull/1646) +- Code health improvements [#1353](https://github.com/dotnet/SqlClient/pull/1353) [#1354](https://github.com/dotnet/SqlClient/pull/1354) [#1525](https://github.com/dotnet/SqlClient/pull/1525) [#1186](https://github.com/dotnet/SqlClient/pull/1186) +- Update Azure Identity dependency from 1.5.0 to 1.6.0.[#1611](https://github.com/dotnet/SqlClient/pull/1611) +- Improved Regex for SqlCommandSet [#1548] (https://github.com/dotnet/SqlClient/pull/1548) +- Rework on `TdsParserStateObjectManaged` with nullable annotations. [#1555] (https://github.com/dotnet/SqlClient/pull/1555) +- Updated `Azure.Identity` version to `1.5.0` and `Microsoft.Identity.Client` version to `4.30.1` [#1462](https://github.com/dotnet/SqlClient/pull/1462) +- Replaced AlwaysEncryptedAttestationException with SqlException [#1515](https://github.com/dotnet/SqlClient/pull/1515) +- Improved error message when adding wrong type to SqlParameterCollection [#1547](https://github.com/dotnet/SqlClient/pull/1547) +- Code health improvements [#1343](https://github.com/dotnet/SqlClient/pull/1343) [#1370](https://github.com/dotnet/SqlClient/pull/1370) [#1371](https://github.com/dotnet/SqlClient/pull/1371) [#1438](https://github.com/dotnet/SqlClient/pull/1438) [#1483](https://github.com/dotnet/SqlClient/pull/1483) +- Modernized style in ValueUtilSmi. [#1351](https://github.com/dotnet/SqlClient/pull/1351) +- Changed SQL server codenames to version names. [#1439](https://github.com/dotnet/SqlClient/pull/1439) +- Prevented subtype generation in project files. [#1452](https://github.com/dotnet/SqlClient/pull/1452) +- Changed `Array.Copy` to `Buffer.BlockCopy` for byte arrays. [#1366](https://github.com/dotnet/SqlClient/pull/1366) +- Changed files in csproj to be alphabetically sorted in netfx and netcore. [#1364](https://github.com/dotnet/SqlClient/pull/1364) +- Sqlstream, SqlInternalTransaction and MetaDataUtilsSmi are moved to shared folder. [#1337](https://github.com/dotnet/SqlClient/pull/1337), [#1346](https://github.com/dotnet/SqlClient/pull/1346) and [#1339](https://github.com/dotnet/SqlClient/pull/1339) +- Various code improvements: [#1197](https://github.com/dotnet/SqlClient/pull/1197), [#1313](https://github.com/dotnet/SqlClient/pull/1313),[#1330](https://github.com/dotnet/SqlClient/pull/1330),[#1366](https://github.com/dotnet/SqlClient/pull/1366), [#1435](https://github.com/dotnet/SqlClient/pull/1435),[#1478](https://github.com/dotnet/SqlClient/pull/1478) + + +### TDS 8 Enhanced Security + +To use TDS 8, specify Encrypt=Strict in the connection string. Strict mode disables TrustServerCertificate (always treated as False in Strict mode). HostNameInCertificate has been added to help some Strict mode scenarios. TDS 8 begins and continues all server communication inside a secure, encrypted TLS connection. + +New Encrypt values have been added to clarify connection encryption behavior. Encrypt=Mandatory is equavalent to Encrypt=True and encrypts connections during the TDS connection negotiation. Encrypt=Optional is equivalent to Encrypt=False and only encrypts the connection if the server tells the client that encryption is required during the TDS connection negotiation. + +HostNameInCertificate can be specified in the connection string when using aliases to connect with encryption to a server that has a server certificate with a different name or alternate subject name than the name used by the client to identify the server (DNS aliases, for example). Example usage: HostNameInCertificate=MyDnsAliasName + +### Server SPN + +When connecting in an environment that has unique domain/forest topography, the ServerSPN/Server SPN and FailoverServerSPN/Failover Server SPN connection string settings can be used to override the auto-generated server SPNs used in the library when authenticating with integrated authentication in a domain environment. + +### Support for Aliases + +Users can configure Aliases by using the SQL Server Configuration Manager. These are stored in the Windows registry and are already supported when targeting .NET Framework. This release brings support for aliases when targeting .NET or .NET Core on Windows. + + +### SQL Data Source Enumerator support +Provides a mechanism for enumerating all available instances of SQL Server within the local network. +```cs +using Microsoft.Data.Sql; + +static void Main() + { + // Retrieve the enumerator instance and then the data. + SqlDataSourceEnumerator instance = + SqlDataSourceEnumerator.Instance; + System.Data.DataTable table = instance.GetDataSources(); + + // Display the contents of the table. + DisplayData(table); + + Console.WriteLine("Press any key to continue."); + Console.ReadKey(); + } + + private static void DisplayData(System.Data.DataTable table) + { + foreach (System.Data.DataRow row in table.Rows) + { + foreach (System.Data.DataColumn col in table.Columns) + { + Console.WriteLine("{0} = {1}", col.ColumnName, row[col]); + } + Console.WriteLine("============================"); + } + } +``` + +### New Attestation protocol `None` + new attestation protocol called `None` will be allowed in the connection string. This protocol will allow users to forgo enclave attestation for `VBS` enclaves. When this protocol is set, the enclave attestation URL property is optional. + +Connection string example: + +```cs +//Attestation protocol NONE with no URL +"Data Source = {server}; Initial Catalog = {db}; Column Encryption Setting = Enabled; Attestation Protocol = None;" + +``` + +### Suppress insecure TLS warnings +A security warning is ouptput on the console if the TLS version less than 1.2 is used to negotiate with the server. This warning could be suppressed on SQL connection while `Encrypt = false` by enabling the following AppContext switch on the application startup: +```cs +Switch.Microsoft.Data.SqlClient.SuppressInsecureTLSWarning +``` + +## Target Platform Support + +- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Core 3.1+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) +- .NET Standard 2.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) + +### Dependencies + +#### .NET Framework + +- Microsoft.Data.SqlClient.SNI.runtime 5.0.0 +- Azure.Identity 1.6.0.0 +- Microsoft.Identity.Client 4.45.0 +- Microsoft.IdentityModel.JsonWebTokens 6.21.0 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.21.0 +- System.Buffers 4.0.3.0 +- System.Configuration 4.0.0.0 +- System.Data 4.0.0.0 +- System.EnterpriseServices 4.0.0.0 +- System.IdentityModel.Tokens.Jwt 6.8.0.0 +- System.Runtime.Caching 4.0.0.0 +- System.Runtime.InteropServices.RuntimeInformation 4.0.2.0 +- System.Runtime.Serialization 4.0.0.0 +- System.Transactions 4.0.0.0 +- System.Xml 4.0.0.0 + +#### .NET Core + +- Microsoft.Data.SqlClient.SNI.runtime 5.0.0 +- Azure.Identity 1.6.0 +- Microsoft.Identity.Client 4.45.0 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.21.0 +- Microsoft.IdentityModel.JsonWebTokens 6.21.0 +- Microsoft.SqlServer.Server 1.0.0 +- Microsoft.Win32.Registry 5.0.0 +- System.Buffers 4.5.1 +- System.Configuration.ConfigurationManager 5.0.0 +- System.Diagnostics.DiagnosticSource 5.0.0 +- System.IO 4.3.0 +- System.Runtime.Caching 5.0.0 +- System.Text.Encoding.CodePages 5.0.0 +- System.Text.Encodings.Web 4.7.2 +- System.Resources.ResourceManager 4.3.0 +- System.Security.Cryptography.Cng 5.0.0 +- System.Security.Principal.Windows 5.0.0 + +#### .NET Standard + +- Microsoft.Data.SqlClient.SNI.runtime 5.0.0 +- Azure.Identity 1.6.0 +- Microsoft.Identity.Client 4.45.0 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.21.0 +- Microsoft.IdentityModel.JsonWebTokens 6.21.0 +- Microsoft.SqlServer.Server 1.0.0 +- Microsoft.Win32.Registry 5.0.0 +- System.Buffers 4.5.1 +- System.Configuration.ConfigurationManager 5.0.0 +- System.IO 4.3.0 +- System.Runtime.Caching 5.0.0 +- System.Text.Encoding.CodePages 5.0.0 +- System.Text.Encodings.Web 4.7.2 +- System.Resources.ResourceManager 4.3.0 +- System.Runtime.Loader 4.3.0 +- System.Security.Cryptography.Cng 5.0.0 +- System.Security.Principal.Windows 5.0.0 +- System.Security.Permissions 5.0.0 +- NetStandard.Library 2.0.3 diff --git a/release-notes/5.0/5.0.md b/release-notes/5.0/5.0.md index 16676aa278..7c3178eba8 100644 --- a/release-notes/5.0/5.0.md +++ b/release-notes/5.0/5.0.md @@ -1,9 +1,15 @@ # Microsoft.Data.SqlClient 5.0 Releases +The following Microsoft.Data.SqlClient 5.0 stable releases have been shipped: + +| Release Date | Version | Notes | +| :-- | :-- | :--: | +| 2022/07/29 | 5.0.0 | [release notes](5.0.0.md) | + The following Microsoft.Data.SqlClient 5.0 preview releases have been shipped: | Release Date | Version | Notes | | :-- | :-- | :--: | | 2022/06/16 | 5.0.0-preview3.22168.1 | [release notes](5.0.0-preview3.md) | | 2022/04/06 | 5.0.0-preview2.22096.2 | [release notes](5.0.0-preview2.md) | -| 2022/03/09 | 5.0.0-preview1.22069.12 | [release notes](5.0.0-preview1.md) | +| 2022/03/09 | 5.0.0-preview1.22069.1 | [release notes](5.0.0-preview1.md) | diff --git a/release-notes/5.0/README.md b/release-notes/5.0/README.md index 3f2aa51f5e..c39d74616b 100644 --- a/release-notes/5.0/README.md +++ b/release-notes/5.0/README.md @@ -1,3 +1,11 @@ +# Microsoft.Data.SqlClient 5.0 Releases + +The following Microsoft.Data.SqlClient 5.0 stable releases have been shipped: + +| Release Date | Version | Notes | +| :-- | :-- | :--: | +| 2022/07/29 | 5.0.0 | [release notes](5.0.0.md) | + The following Microsoft.Data.SqlClient 5.0 preview releases have been shipped: | Release Date | Version | Notes | From 6dc59d6a05d269057f9eebe3f1fdc491064078b3 Mon Sep 17 00:00:00 2001 From: Lawrence LCI Date: Wed, 27 Jul 2022 09:17:56 -0700 Subject: [PATCH 02/12] Fix the markdown links with the extra spaces --- CHANGELOG.md | 26 +++++++++++++------------- release-notes/5.0/5.0.0.md | 38 +++++++++++++++++++------------------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 16ce5e5946..5118e2f900 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,16 +16,16 @@ This update brings the below changes over the previous release: ### Fixed - Fixed KeyNotFoundException for the FailoverPartner key on SQL servers with availability group configured. [#1614](https://github.com/dotnet/SqlClient/pull/1614) -- Fixed small inconsistency between netcore and netfx for EncrpytionOptions [#1672](https://github.com/dotnet/SqlClient/pull/1672) -- Fixed `Microsoft.SqlServer.Server` netcore project package reference [#1654](https://github.com/dotnet/SqlClient/pull/1654) +- Fixed small inconsistency between netcore and netfx for EncrpytionOptions. [#1672](https://github.com/dotnet/SqlClient/pull/1672) +- Fixed `Microsoft.SqlServer.Server` netcore project package reference. [#1654](https://github.com/dotnet/SqlClient/pull/1654) ### Changed - Updated AuthProviderInfo struct to be match the changes in native SNI for `TDS 8` server certificate validation. [#1680](https://github.com/dotnet/SqlClient/pull/1680) - Change default system protocol to for `TDS 8` on managed code. [#1678](https://github.com/dotnet/SqlClient/pull/1678) - Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `5.0.0`. [TBD](placeholder) -- Changed encoding UTF-7 to ASCII for SSRP Broadcast [#1671](https://github.com/dotnet/SqlClient/pull/1671) -- Updated IdentityModel dependency from 6.8.0 to 6.21.0 and IdentityClient from 4.32.2 to 4.45.0 [#1646](https://github.com/dotnet/SqlClient/pull/1646) +- Changed encoding UTF-7 to ASCII for SSRP Broadcast. [#1671](https://github.com/dotnet/SqlClient/pull/1671) +- Updated IdentityModel dependency from 6.8.0 to 6.21.0 and IdentityClient from 4.32.2 to 4.45.0. [#1646](https://github.com/dotnet/SqlClient/pull/1646) ## [Preview Release 5.0.0-preview3.22168.1] - 2022-06-16 @@ -53,21 +53,21 @@ This update brings the below changes over the previous release: ### Fixed -- Fixed naming, order, and formatting for `SqlDiagnosticsListener` on .NET Core and .NET. [#1637] (https://github.com/dotnet/SqlClient/pull/1637) -- Fixed NullReferenceException during Azure Active Directory authentication. [#1625] (https://github.com/dotnet/SqlClient/pull/1625) +- Fixed naming, order, and formatting for `SqlDiagnosticsListener` on .NET Core and .NET. [#1637](https://github.com/dotnet/SqlClient/pull/1637) +- Fixed NullReferenceException during Azure Active Directory authentication. [#1625](https://github.com/dotnet/SqlClient/pull/1625) - Added CommandText length validation when using stored procedure command types. [#1484](https://github.com/dotnet/SqlClient/pull/1484) -- Fixed `GetSchema("StructuredTypeMembers")` to return correct schema information. [#1500] (https://github.com/dotnet/SqlClient/pull/1500), [#1639](https://github.com/dotnet/SqlClient/pull/1639) -- Fixed NullReferenceException when using `SqlDependency.Start` against an Azure SQL Database.[#1294] (https://github.com/dotnet/SqlClient/pull/1294) -- Send the correct retained transaction descriptor in the MARS TDS Header when there is no current transaction on .NET 5+ and .NET Core. [#1624] (https://github.com/dotnet/SqlClient/pull/1624) -- Parallelize SSRP requests (instance name resolution) on Linux and macOS when MultiSubNetFailover is specified. [#1578] (https://github.com/dotnet/SqlClient/pull/1578) -- Adjust the default ConnectRetryCount against Azure Synapse OnDemand endpoints [#1626] (https://github.com/dotnet/SqlClient/pull/1626) +- Fixed `GetSchema("StructuredTypeMembers")` to return correct schema information. [#1500](https://github.com/dotnet/SqlClient/pull/1500), [#1639](https://github.com/dotnet/SqlClient/pull/1639) +- Fixed NullReferenceException when using `SqlDependency.Start` against an Azure SQL Database.[#1294](https://github.com/dotnet/SqlClient/pull/1294) +- Send the correct retained transaction descriptor in the MARS TDS Header when there is no current transaction on .NET 5+ and .NET Core. [#1624](https://github.com/dotnet/SqlClient/pull/1624) +- Parallelize SSRP requests (instance name resolution) on Linux and macOS when MultiSubNetFailover is specified. [#1578](https://github.com/dotnet/SqlClient/pull/1578) +- Adjust the default ConnectRetryCount against Azure Synapse OnDemand endpoints [#1626](https://github.com/dotnet/SqlClient/pull/1626) ### Changed - Code health improvements [#1353](https://github.com/dotnet/SqlClient/pull/1353) [#1354](https://github.com/dotnet/SqlClient/pull/1354) [#1525](https://github.com/dotnet/SqlClient/pull/1525) [#1186](https://github.com/dotnet/SqlClient/pull/1186) - Update Azure Identity dependency from 1.5.0 to 1.6.0.[#1611](https://github.com/dotnet/SqlClient/pull/1611) -- Improved Regex for SqlCommandSet [#1548] (https://github.com/dotnet/SqlClient/pull/1548) -- Rework on `TdsParserStateObjectManaged` with nullable annotations. [#1555] (https://github.com/dotnet/SqlClient/pull/1555) +- Improved Regex for SqlCommandSet [#1548](https://github.com/dotnet/SqlClient/pull/1548) +- Rework on `TdsParserStateObjectManaged` with nullable annotations. [#1555](https://github.com/dotnet/SqlClient/pull/1555) ## [Preview Release 5.0.0-preview2.22096.2] - 2022-04-06 diff --git a/release-notes/5.0/5.0.0.md b/release-notes/5.0/5.0.0.md index 6bb9aa2cce..19c1dcfc1b 100644 --- a/release-notes/5.0/5.0.0.md +++ b/release-notes/5.0/5.0.0.md @@ -35,17 +35,17 @@ This update brings the below changes over the previous release: ### Fixed - Fixed KeyNotFoundException for the FailoverPartner key on SQL servers with availability group configured. [#1614](https://github.com/dotnet/SqlClient/pull/1614) -- Fixed small inconsistency between netcore and netfx for EncrpytionOptions [#1672](https://github.com/dotnet/SqlClient/pull/1672) -- Fixed `Microsoft.SqlServer.Server` netcore project package reference [#1654](https://github.com/dotnet/SqlClient/pull/1654) -- Fixed naming, order, and formatting for `SqlDiagnosticsListener` on .NET Core and .NET. [#1637] (https://github.com/dotnet/SqlClient/pull/1637) -- Fixed NullReferenceException during Azure Active Directory authentication. [#1625] (https://github.com/dotnet/SqlClient/pull/1625) +- Fixed small inconsistency between netcore and netfx for EncryptionOptions. [#1672](https://github.com/dotnet/SqlClient/pull/1672) +- Fixed `Microsoft.SqlServer.Server` netcore project package reference. [#1654](https://github.com/dotnet/SqlClient/pull/1654) +- Fixed naming, order, and formatting for `SqlDiagnosticsListener` on .NET Core and .NET. [#1637](https://github.com/dotnet/SqlClient/pull/1637) +- Fixed NullReferenceException during Azure Active Directory authentication. [#1625](https://github.com/dotnet/SqlClient/pull/1625) - Added CommandText length validation when using stored procedure command types. [#1484](https://github.com/dotnet/SqlClient/pull/1484) -- Fixed `GetSchema("StructuredTypeMembers")` to return correct schema information. [#1500] (https://github.com/dotnet/SqlClient/pull/1500), [#1639](https://github.com/dotnet/SqlClient/pull/1639) -- Fixed NullReferenceException when using `SqlDependency.Start` against an Azure SQL Database.[#1294] (https://github.com/dotnet/SqlClient/pull/1294) -- Send the correct retained transaction descriptor in the MARS TDS Header when there is no current transaction on .NET 5+ and .NET Core. [#1624] (https://github.com/dotnet/SqlClient/pull/1624) -- Parallelize SSRP requests on Linux and macOS when MultiSubNetFailover is specified. [#1578] (https://github.com/dotnet/SqlClient/pull/1578) -- Adjust the default ConnectRetryCount against Azure Synapse OnDemand endpoints [#1626] (https://github.com/dotnet/SqlClient/pull/1626) -- Fixed connection failure by skipping Certificate Revocation List (CRL) check during authentication [#1559](https://github.com/dotnet/SqlClient/pull/1559) +- Fixed `GetSchema("StructuredTypeMembers")` to return correct schema information. [#1500](https://github.com/dotnet/SqlClient/pull/1500), [#1639](https://github.com/dotnet/SqlClient/pull/1639) +- Fixed NullReferenceException when using `SqlDependency.Start` against an Azure SQL Database. [#1294](https://github.com/dotnet/SqlClient/pull/1294) +- Send the correct retained transaction descriptor in the MARS TDS Header when there is no current transaction on .NET 5+ and .NET Core. [#1624](https://github.com/dotnet/SqlClient/pull/1624) +- Parallelize SSRP requests on Linux and macOS when MultiSubNetFailover is specified. [#1578](https://github.com/dotnet/SqlClient/pull/1578) +- Adjust the default ConnectRetryCount against Azure Synapse OnDemand endpoints. [#1626](https://github.com/dotnet/SqlClient/pull/1626) +- Fixed connection failure by skipping Certificate Revocation List (CRL) check during authentication. [#1559](https://github.com/dotnet/SqlClient/pull/1559) - Fixed all documentation paths to Unix format path. [#1442](https://github.com/dotnet/SqlClient/pull/1442) - Fixed thread safety issue for `GetEnclaveProvider` by converting dictionary to concurrent dictionary. [#1451](https://github.com/dotnet/SqlClient/pull/1451) @@ -55,15 +55,15 @@ This update brings the below changes over the previous release: - Updated AuthProviderInfo struct to be match the changes in native SNI for `TDS 8` server certificate validation. [#1680](https://github.com/dotnet/SqlClient/pull/1680) - Change default system protocol to for `TDS 8` on managed code. [#1678](https://github.com/dotnet/SqlClient/pull/1678) - Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `5.0.0`. [TBD](placeholder) -- Changed encoding UTF-7 to ASCII for SSRP Broadcast [#1671](https://github.com/dotnet/SqlClient/pull/1671) -- Updated IdentityModel dependency from 6.8.0 to 6.21.0 and IdentityClient from 4.32.2 to 4.45.0 [#1646](https://github.com/dotnet/SqlClient/pull/1646) +- Changed encoding UTF-7 to ASCII for SSRP Broadcast. [#1671](https://github.com/dotnet/SqlClient/pull/1671) +- Updated IdentityModel dependency from 6.8.0 to 6.21.0 and IdentityClient from 4.32.2 to 4.45.0. [#1646](https://github.com/dotnet/SqlClient/pull/1646) - Code health improvements [#1353](https://github.com/dotnet/SqlClient/pull/1353) [#1354](https://github.com/dotnet/SqlClient/pull/1354) [#1525](https://github.com/dotnet/SqlClient/pull/1525) [#1186](https://github.com/dotnet/SqlClient/pull/1186) -- Update Azure Identity dependency from 1.5.0 to 1.6.0.[#1611](https://github.com/dotnet/SqlClient/pull/1611) -- Improved Regex for SqlCommandSet [#1548] (https://github.com/dotnet/SqlClient/pull/1548) -- Rework on `TdsParserStateObjectManaged` with nullable annotations. [#1555] (https://github.com/dotnet/SqlClient/pull/1555) -- Updated `Azure.Identity` version to `1.5.0` and `Microsoft.Identity.Client` version to `4.30.1` [#1462](https://github.com/dotnet/SqlClient/pull/1462) -- Replaced AlwaysEncryptedAttestationException with SqlException [#1515](https://github.com/dotnet/SqlClient/pull/1515) -- Improved error message when adding wrong type to SqlParameterCollection [#1547](https://github.com/dotnet/SqlClient/pull/1547) +- Update Azure Identity dependency from 1.5.0 to 1.6.0. [#1611](https://github.com/dotnet/SqlClient/pull/1611) +- Improved Regex for SqlCommandSet. [#1548](https://github.com/dotnet/SqlClient/pull/1548) +- Rework on `TdsParserStateObjectManaged` with nullable annotations. [#1555](https://github.com/dotnet/SqlClient/pull/1555) +- Updated `Azure.Identity` version to `1.5.0` and `Microsoft.Identity.Client` version to `4.30.1`. [#1462](https://github.com/dotnet/SqlClient/pull/1462) +- Replaced AlwaysEncryptedAttestationException with SqlException. [#1515](https://github.com/dotnet/SqlClient/pull/1515) +- Improved error message when adding wrong type to SqlParameterCollection. [#1547](https://github.com/dotnet/SqlClient/pull/1547) - Code health improvements [#1343](https://github.com/dotnet/SqlClient/pull/1343) [#1370](https://github.com/dotnet/SqlClient/pull/1370) [#1371](https://github.com/dotnet/SqlClient/pull/1371) [#1438](https://github.com/dotnet/SqlClient/pull/1438) [#1483](https://github.com/dotnet/SqlClient/pull/1483) - Modernized style in ValueUtilSmi. [#1351](https://github.com/dotnet/SqlClient/pull/1351) - Changed SQL server codenames to version names. [#1439](https://github.com/dotnet/SqlClient/pull/1439) @@ -71,7 +71,7 @@ This update brings the below changes over the previous release: - Changed `Array.Copy` to `Buffer.BlockCopy` for byte arrays. [#1366](https://github.com/dotnet/SqlClient/pull/1366) - Changed files in csproj to be alphabetically sorted in netfx and netcore. [#1364](https://github.com/dotnet/SqlClient/pull/1364) - Sqlstream, SqlInternalTransaction and MetaDataUtilsSmi are moved to shared folder. [#1337](https://github.com/dotnet/SqlClient/pull/1337), [#1346](https://github.com/dotnet/SqlClient/pull/1346) and [#1339](https://github.com/dotnet/SqlClient/pull/1339) -- Various code improvements: [#1197](https://github.com/dotnet/SqlClient/pull/1197), [#1313](https://github.com/dotnet/SqlClient/pull/1313),[#1330](https://github.com/dotnet/SqlClient/pull/1330),[#1366](https://github.com/dotnet/SqlClient/pull/1366), [#1435](https://github.com/dotnet/SqlClient/pull/1435),[#1478](https://github.com/dotnet/SqlClient/pull/1478) +- Various code improvements: [#1197](https://github.com/dotnet/SqlClient/pull/1197), [#1313](https://github.com/dotnet/SqlClient/pull/1313), [#1330](https://github.com/dotnet/SqlClient/pull/1330), [#1366](https://github.com/dotnet/SqlClient/pull/1366), [#1435](https://github.com/dotnet/SqlClient/pull/1435), [#1478](https://github.com/dotnet/SqlClient/pull/1478) ### TDS 8 Enhanced Security From f4a4b639e5de990b2c33a2ea87a0f48d8f64e850 Mon Sep 17 00:00:00 2001 From: Lawrence LCI Date: Thu, 4 Aug 2022 10:28:07 -0700 Subject: [PATCH 03/12] Revise release note to include PR 1688 and update release date --- CHANGELOG.md | 5 +++-- release-notes/5.0/5.0.0.md | 5 +++-- release-notes/5.0/5.0.md | 2 +- release-notes/5.0/README.md | 4 ++-- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5118e2f900..0b2abd169e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) -## Microsoft.Data.SqlClient 5.0.0 released 29 July 2022 +## [Stable release 5.0.0] - 2022-08-05 This update brings the below changes over the previous release: @@ -15,6 +15,7 @@ This update brings the below changes over the previous release: ### Fixed +- Fixed null SqlBinary as rowversion. [#1688](https://github.com/dotnet/SqlClient/pull/1688) - Fixed KeyNotFoundException for the FailoverPartner key on SQL servers with availability group configured. [#1614](https://github.com/dotnet/SqlClient/pull/1614) - Fixed small inconsistency between netcore and netfx for EncrpytionOptions. [#1672](https://github.com/dotnet/SqlClient/pull/1672) - Fixed `Microsoft.SqlServer.Server` netcore project package reference. [#1654](https://github.com/dotnet/SqlClient/pull/1654) @@ -23,7 +24,7 @@ This update brings the below changes over the previous release: - Updated AuthProviderInfo struct to be match the changes in native SNI for `TDS 8` server certificate validation. [#1680](https://github.com/dotnet/SqlClient/pull/1680) - Change default system protocol to for `TDS 8` on managed code. [#1678](https://github.com/dotnet/SqlClient/pull/1678) -- Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `5.0.0`. [TBD](placeholder) +- Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `5.0.0`. [#1680](https://github.com/dotnet/SqlClient/pull/1680) - Changed encoding UTF-7 to ASCII for SSRP Broadcast. [#1671](https://github.com/dotnet/SqlClient/pull/1671) - Updated IdentityModel dependency from 6.8.0 to 6.21.0 and IdentityClient from 4.32.2 to 4.45.0. [#1646](https://github.com/dotnet/SqlClient/pull/1646) diff --git a/release-notes/5.0/5.0.0.md b/release-notes/5.0/5.0.0.md index 19c1dcfc1b..c84d7a1419 100644 --- a/release-notes/5.0/5.0.0.md +++ b/release-notes/5.0/5.0.0.md @@ -1,6 +1,6 @@ # Release Notes -## Microsoft.Data.SqlClient 5.0.0 released 29 July 2022 +## Microsoft.Data.SqlClient 5.0.0 released 5 August 2022 This update brings the below changes over the previous release: @@ -34,6 +34,7 @@ This update brings the below changes over the previous release: ### Fixed +- Fixed null SqlBinary as rowversion. [#1688](https://github.com/dotnet/SqlClient/pull/1688) - Fixed KeyNotFoundException for the FailoverPartner key on SQL servers with availability group configured. [#1614](https://github.com/dotnet/SqlClient/pull/1614) - Fixed small inconsistency between netcore and netfx for EncryptionOptions. [#1672](https://github.com/dotnet/SqlClient/pull/1672) - Fixed `Microsoft.SqlServer.Server` netcore project package reference. [#1654](https://github.com/dotnet/SqlClient/pull/1654) @@ -54,7 +55,7 @@ This update brings the below changes over the previous release: - Updated AuthProviderInfo struct to be match the changes in native SNI for `TDS 8` server certificate validation. [#1680](https://github.com/dotnet/SqlClient/pull/1680) - Change default system protocol to for `TDS 8` on managed code. [#1678](https://github.com/dotnet/SqlClient/pull/1678) -- Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `5.0.0`. [TBD](placeholder) +- Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `5.0.0`. [#1608](https://github.com/dotnet/SqlClient/pull/1608) - Changed encoding UTF-7 to ASCII for SSRP Broadcast. [#1671](https://github.com/dotnet/SqlClient/pull/1671) - Updated IdentityModel dependency from 6.8.0 to 6.21.0 and IdentityClient from 4.32.2 to 4.45.0. [#1646](https://github.com/dotnet/SqlClient/pull/1646) - Code health improvements [#1353](https://github.com/dotnet/SqlClient/pull/1353) [#1354](https://github.com/dotnet/SqlClient/pull/1354) [#1525](https://github.com/dotnet/SqlClient/pull/1525) [#1186](https://github.com/dotnet/SqlClient/pull/1186) diff --git a/release-notes/5.0/5.0.md b/release-notes/5.0/5.0.md index 7c3178eba8..6fa437317c 100644 --- a/release-notes/5.0/5.0.md +++ b/release-notes/5.0/5.0.md @@ -4,7 +4,7 @@ The following Microsoft.Data.SqlClient 5.0 stable releases have been shipped: | Release Date | Version | Notes | | :-- | :-- | :--: | -| 2022/07/29 | 5.0.0 | [release notes](5.0.0.md) | +| 2022/08/05 | 5.0.0 | [release notes](5.0.0.md) | The following Microsoft.Data.SqlClient 5.0 preview releases have been shipped: diff --git a/release-notes/5.0/README.md b/release-notes/5.0/README.md index c39d74616b..6fa437317c 100644 --- a/release-notes/5.0/README.md +++ b/release-notes/5.0/README.md @@ -4,7 +4,7 @@ The following Microsoft.Data.SqlClient 5.0 stable releases have been shipped: | Release Date | Version | Notes | | :-- | :-- | :--: | -| 2022/07/29 | 5.0.0 | [release notes](5.0.0.md) | +| 2022/08/05 | 5.0.0 | [release notes](5.0.0.md) | The following Microsoft.Data.SqlClient 5.0 preview releases have been shipped: @@ -12,4 +12,4 @@ The following Microsoft.Data.SqlClient 5.0 preview releases have been shipped: | :-- | :-- | :--: | | 2022/06/16 | 5.0.0-preview3.22168.1 | [release notes](5.0.0-preview3.md) | | 2022/04/06 | 5.0.0-preview2.22096.2 | [release notes](5.0.0-preview2.md) | -| 2022/03/09 | 5.0.0-preview1.22069.1 | [release notes](5.0.0-preview1.md) | \ No newline at end of file +| 2022/03/09 | 5.0.0-preview1.22069.1 | [release notes](5.0.0-preview1.md) | From ce120664fe8c7935820a66fbf611d82da44fe0ea Mon Sep 17 00:00:00 2001 From: Lawrence LCI <31262254+lcheunglci@users.noreply.github.com> Date: Thu, 4 Aug 2022 12:25:19 -0700 Subject: [PATCH 04/12] Apply suggestions from code review Co-authored-by: David Engel --- release-notes/5.0/5.0.0.md | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/release-notes/5.0/5.0.0.md b/release-notes/5.0/5.0.0.md index c84d7a1419..fa02a8669e 100644 --- a/release-notes/5.0/5.0.0.md +++ b/release-notes/5.0/5.0.0.md @@ -19,6 +19,7 @@ This update brings the below changes over the previous release: - (enum) Microsoft.Data.SqlClient.Server.Format -> Microsoft.SqlServer.Server.Format - (enum) Microsoft.Data.SqlClient.Server.SystemDataAccessKind -> Microsoft.SqlServer.Server.SystemDataAccessKind - Dropped support for .NET Framework 4.6.1 [#1574](https://github.com/dotnet/SqlClient/pull/1574) +- Dropped support for .NET Framework 4.6.1 [#1574](https://github.com/dotnet/SqlClient/pull/1574) ### Added @@ -36,8 +37,6 @@ This update brings the below changes over the previous release: - Fixed null SqlBinary as rowversion. [#1688](https://github.com/dotnet/SqlClient/pull/1688) - Fixed KeyNotFoundException for the FailoverPartner key on SQL servers with availability group configured. [#1614](https://github.com/dotnet/SqlClient/pull/1614) -- Fixed small inconsistency between netcore and netfx for EncryptionOptions. [#1672](https://github.com/dotnet/SqlClient/pull/1672) -- Fixed `Microsoft.SqlServer.Server` netcore project package reference. [#1654](https://github.com/dotnet/SqlClient/pull/1654) - Fixed naming, order, and formatting for `SqlDiagnosticsListener` on .NET Core and .NET. [#1637](https://github.com/dotnet/SqlClient/pull/1637) - Fixed NullReferenceException during Azure Active Directory authentication. [#1625](https://github.com/dotnet/SqlClient/pull/1625) - Added CommandText length validation when using stored procedure command types. [#1484](https://github.com/dotnet/SqlClient/pull/1484) @@ -45,12 +44,9 @@ This update brings the below changes over the previous release: - Fixed NullReferenceException when using `SqlDependency.Start` against an Azure SQL Database. [#1294](https://github.com/dotnet/SqlClient/pull/1294) - Send the correct retained transaction descriptor in the MARS TDS Header when there is no current transaction on .NET 5+ and .NET Core. [#1624](https://github.com/dotnet/SqlClient/pull/1624) - Parallelize SSRP requests on Linux and macOS when MultiSubNetFailover is specified. [#1578](https://github.com/dotnet/SqlClient/pull/1578) -- Adjust the default ConnectRetryCount against Azure Synapse OnDemand endpoints. [#1626](https://github.com/dotnet/SqlClient/pull/1626) - Fixed connection failure by skipping Certificate Revocation List (CRL) check during authentication. [#1559](https://github.com/dotnet/SqlClient/pull/1559) -- Fixed all documentation paths to Unix format path. [#1442](https://github.com/dotnet/SqlClient/pull/1442) - Fixed thread safety issue for `GetEnclaveProvider` by converting dictionary to concurrent dictionary. [#1451](https://github.com/dotnet/SqlClient/pull/1451) - ### Changed - Updated AuthProviderInfo struct to be match the changes in native SNI for `TDS 8` server certificate validation. [#1680](https://github.com/dotnet/SqlClient/pull/1680) @@ -58,21 +54,20 @@ This update brings the below changes over the previous release: - Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `5.0.0`. [#1608](https://github.com/dotnet/SqlClient/pull/1608) - Changed encoding UTF-7 to ASCII for SSRP Broadcast. [#1671](https://github.com/dotnet/SqlClient/pull/1671) - Updated IdentityModel dependency from 6.8.0 to 6.21.0 and IdentityClient from 4.32.2 to 4.45.0. [#1646](https://github.com/dotnet/SqlClient/pull/1646) -- Code health improvements [#1353](https://github.com/dotnet/SqlClient/pull/1353) [#1354](https://github.com/dotnet/SqlClient/pull/1354) [#1525](https://github.com/dotnet/SqlClient/pull/1525) [#1186](https://github.com/dotnet/SqlClient/pull/1186) - Update Azure Identity dependency from 1.5.0 to 1.6.0. [#1611](https://github.com/dotnet/SqlClient/pull/1611) - Improved Regex for SqlCommandSet. [#1548](https://github.com/dotnet/SqlClient/pull/1548) -- Rework on `TdsParserStateObjectManaged` with nullable annotations. [#1555](https://github.com/dotnet/SqlClient/pull/1555) +- Rework `TdsParserStateObjectManaged` with nullable annotations. [#1555](https://github.com/dotnet/SqlClient/pull/1555) +- Adjust the default ConnectRetryCount against Azure Synapse OnDemand endpoints. [#1626](https://github.com/dotnet/SqlClient/pull/1626) - Updated `Azure.Identity` version to `1.5.0` and `Microsoft.Identity.Client` version to `4.30.1`. [#1462](https://github.com/dotnet/SqlClient/pull/1462) - Replaced AlwaysEncryptedAttestationException with SqlException. [#1515](https://github.com/dotnet/SqlClient/pull/1515) - Improved error message when adding wrong type to SqlParameterCollection. [#1547](https://github.com/dotnet/SqlClient/pull/1547) -- Code health improvements [#1343](https://github.com/dotnet/SqlClient/pull/1343) [#1370](https://github.com/dotnet/SqlClient/pull/1370) [#1371](https://github.com/dotnet/SqlClient/pull/1371) [#1438](https://github.com/dotnet/SqlClient/pull/1438) [#1483](https://github.com/dotnet/SqlClient/pull/1483) - Modernized style in ValueUtilSmi. [#1351](https://github.com/dotnet/SqlClient/pull/1351) -- Changed SQL server codenames to version names. [#1439](https://github.com/dotnet/SqlClient/pull/1439) +- Changed SQL server codenames to version names in the code. [#1439](https://github.com/dotnet/SqlClient/pull/1439) - Prevented subtype generation in project files. [#1452](https://github.com/dotnet/SqlClient/pull/1452) - Changed `Array.Copy` to `Buffer.BlockCopy` for byte arrays. [#1366](https://github.com/dotnet/SqlClient/pull/1366) - Changed files in csproj to be alphabetically sorted in netfx and netcore. [#1364](https://github.com/dotnet/SqlClient/pull/1364) - Sqlstream, SqlInternalTransaction and MetaDataUtilsSmi are moved to shared folder. [#1337](https://github.com/dotnet/SqlClient/pull/1337), [#1346](https://github.com/dotnet/SqlClient/pull/1346) and [#1339](https://github.com/dotnet/SqlClient/pull/1339) -- Various code improvements: [#1197](https://github.com/dotnet/SqlClient/pull/1197), [#1313](https://github.com/dotnet/SqlClient/pull/1313), [#1330](https://github.com/dotnet/SqlClient/pull/1330), [#1366](https://github.com/dotnet/SqlClient/pull/1366), [#1435](https://github.com/dotnet/SqlClient/pull/1435), [#1478](https://github.com/dotnet/SqlClient/pull/1478) +- Various code improvements: [#1197](https://github.com/dotnet/SqlClient/pull/1197), [#1313](https://github.com/dotnet/SqlClient/pull/1313), [#1330](https://github.com/dotnet/SqlClient/pull/1330), [#1366](https://github.com/dotnet/SqlClient/pull/1366), [#1435](https://github.com/dotnet/SqlClient/pull/1435), [#1478](https://github.com/dotnet/SqlClient/pull/1478), [#1353](https://github.com/dotnet/SqlClient/pull/1353), [#1354](https://github.com/dotnet/SqlClient/pull/1354), [#1525](https://github.com/dotnet/SqlClient/pull/1525), [#1186](https://github.com/dotnet/SqlClient/pull/1186), [#1343](https://github.com/dotnet/SqlClient/pull/1343), [#1370](https://github.com/dotnet/SqlClient/pull/1370), [#1371](https://github.com/dotnet/SqlClient/pull/1371), [#1438](https://github.com/dotnet/SqlClient/pull/1438), [#1483](https://github.com/dotnet/SqlClient/pull/1483) ### TDS 8 Enhanced Security @@ -125,7 +120,7 @@ static void Main() ``` ### New Attestation protocol `None` - new attestation protocol called `None` will be allowed in the connection string. This protocol will allow users to forgo enclave attestation for `VBS` enclaves. When this protocol is set, the enclave attestation URL property is optional. +A new attestation protocol called `None` is allowed in the connection string. This protocol will allow users to forgo enclave attestation for `VBS` enclaves. When this protocol is set, the enclave attestation URL property is optional. Connection string example: @@ -136,7 +131,7 @@ Connection string example: ``` ### Suppress insecure TLS warnings -A security warning is ouptput on the console if the TLS version less than 1.2 is used to negotiate with the server. This warning could be suppressed on SQL connection while `Encrypt = false` by enabling the following AppContext switch on the application startup: +A security warning is output to the console if a TLS version less than 1.2 is used to negotiate encryption with the server. This warning can be suppressed on connections where `Encrypt = false` by enabling the following AppContext switch at application startup: ```cs Switch.Microsoft.Data.SqlClient.SuppressInsecureTLSWarning ``` From 558d2f55ae171b1cf16947f2a7f1662b52a082fc Mon Sep 17 00:00:00 2001 From: Lawrence LCI <31262254+lcheunglci@users.noreply.github.com> Date: Thu, 4 Aug 2022 12:29:44 -0700 Subject: [PATCH 05/12] Apply suggestions from code review Co-authored-by: David Engel --- CHANGELOG.md | 3 ++- release-notes/5.0/5.0.0.md | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b2abd169e..d018b3ea8b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ This update brings the below changes over the previous release: ### Added -- Added `TDS 8` version for TDSLogin. [#1657](https://github.com/dotnet/SqlClient/pull/1657) +- Added `TDS 8` version for TDSLogin. [#1657](https://github.com/dotnet/SqlClient/pull/1657) - Added support for `TDS 8`. To use TDS 8, users should specify Encrypt=Strict in the connection string. [#1608](https://github.com/dotnet/SqlClient/pull/1608) [Read more](#tds-8-enhanced-security) ### Fixed @@ -27,6 +27,7 @@ This update brings the below changes over the previous release: - Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `5.0.0`. [#1680](https://github.com/dotnet/SqlClient/pull/1680) - Changed encoding UTF-7 to ASCII for SSRP Broadcast. [#1671](https://github.com/dotnet/SqlClient/pull/1671) - Updated IdentityModel dependency from 6.8.0 to 6.21.0 and IdentityClient from 4.32.2 to 4.45.0. [#1646](https://github.com/dotnet/SqlClient/pull/1646) +- Changed from union overlay design to reflected interfaces for SqlTypes. [1647](https://github.com/dotnet/SqlClient/pull/1647) ## [Preview Release 5.0.0-preview3.22168.1] - 2022-06-16 diff --git a/release-notes/5.0/5.0.0.md b/release-notes/5.0/5.0.0.md index fa02a8669e..ef917f42c3 100644 --- a/release-notes/5.0/5.0.0.md +++ b/release-notes/5.0/5.0.0.md @@ -2,7 +2,7 @@ ## Microsoft.Data.SqlClient 5.0.0 released 5 August 2022 -This update brings the below changes over the previous release: +This update includes the following changes over the 4.1 release: ### Breaking changes From 8cbd7dc46424aaf695a202fe960ab2b7b8ae34ee Mon Sep 17 00:00:00 2001 From: Lawrence LCI Date: Thu, 4 Aug 2022 12:32:19 -0700 Subject: [PATCH 06/12] Fix typo and remove duplicate entry --- CHANGELOG.md | 2 +- release-notes/5.0/5.0.0.md | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d018b3ea8b..1a9d80ff8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,7 +17,7 @@ This update brings the below changes over the previous release: - Fixed null SqlBinary as rowversion. [#1688](https://github.com/dotnet/SqlClient/pull/1688) - Fixed KeyNotFoundException for the FailoverPartner key on SQL servers with availability group configured. [#1614](https://github.com/dotnet/SqlClient/pull/1614) -- Fixed small inconsistency between netcore and netfx for EncrpytionOptions. [#1672](https://github.com/dotnet/SqlClient/pull/1672) +- Fixed small inconsistency between netcore and netfx for EncryptionOptions. [#1672](https://github.com/dotnet/SqlClient/pull/1672) - Fixed `Microsoft.SqlServer.Server` netcore project package reference. [#1654](https://github.com/dotnet/SqlClient/pull/1654) ### Changed diff --git a/release-notes/5.0/5.0.0.md b/release-notes/5.0/5.0.0.md index ef917f42c3..4f1f8fc712 100644 --- a/release-notes/5.0/5.0.0.md +++ b/release-notes/5.0/5.0.0.md @@ -19,7 +19,6 @@ This update includes the following changes over the 4.1 release: - (enum) Microsoft.Data.SqlClient.Server.Format -> Microsoft.SqlServer.Server.Format - (enum) Microsoft.Data.SqlClient.Server.SystemDataAccessKind -> Microsoft.SqlServer.Server.SystemDataAccessKind - Dropped support for .NET Framework 4.6.1 [#1574](https://github.com/dotnet/SqlClient/pull/1574) -- Dropped support for .NET Framework 4.6.1 [#1574](https://github.com/dotnet/SqlClient/pull/1574) ### Added From fc5d28aacb58178f97f21f4445aae72fcc4cedbb Mon Sep 17 00:00:00 2001 From: Lawrence LCI Date: Thu, 4 Aug 2022 13:43:19 -0700 Subject: [PATCH 07/12] Update the release-notes/README.md with 5.0 as the stable version --- release-notes/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-notes/README.md b/release-notes/README.md index b28f0b25c9..cff1b6b88d 100644 --- a/release-notes/README.md +++ b/release-notes/README.md @@ -1,6 +1,6 @@ # Microsoft.Data.SqlClient Release Notes -The latest stable release is [Microsoft.Data.SqlClient 4.1](4.1). +The latest stable release is [Microsoft.Data.SqlClient 5.0](5.0). ## Release Information From e009e06ca0113dcf791c61f1b0c83e07952c3618 Mon Sep 17 00:00:00 2001 From: Lawrence LCI Date: Thu, 4 Aug 2022 13:48:13 -0700 Subject: [PATCH 08/12] Remove the TDS8 Read More link --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a9d80ff8c..bc35d885c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ This update brings the below changes over the previous release: ### Added - Added `TDS 8` version for TDSLogin. [#1657](https://github.com/dotnet/SqlClient/pull/1657) -- Added support for `TDS 8`. To use TDS 8, users should specify Encrypt=Strict in the connection string. [#1608](https://github.com/dotnet/SqlClient/pull/1608) [Read more](#tds-8-enhanced-security) +- Added support for `TDS 8`. To use TDS 8, users should specify Encrypt=Strict in the connection string. [#1608](https://github.com/dotnet/SqlClient/pull/1608) ### Fixed From c202a0cba2b113dfd0d0e7038d578c859abc1e9f Mon Sep 17 00:00:00 2001 From: Lawrence LCI <31262254+lcheunglci@users.noreply.github.com> Date: Thu, 4 Aug 2022 18:11:04 -0700 Subject: [PATCH 09/12] Apply suggestions from code review Co-authored-by: DavoudEshtehari <61173489+DavoudEshtehari@users.noreply.github.com> --- CHANGELOG.md | 13 ++++++------- release-notes/5.0/5.0.0.md | 25 ++++++++++++------------- 2 files changed, 18 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bc35d885c1..7bbad7594f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,22 +11,21 @@ This update brings the below changes over the previous release: ### Added - Added `TDS 8` version for TDSLogin. [#1657](https://github.com/dotnet/SqlClient/pull/1657) -- Added support for `TDS 8`. To use TDS 8, users should specify Encrypt=Strict in the connection string. [#1608](https://github.com/dotnet/SqlClient/pull/1608) +- Added support for `TDS 8`. To use TDS 8, users should specify `Encrypt=Strict` in the connection string. [#1608](https://github.com/dotnet/SqlClient/pull/1608) ### Fixed - Fixed null SqlBinary as rowversion. [#1688](https://github.com/dotnet/SqlClient/pull/1688) -- Fixed KeyNotFoundException for the FailoverPartner key on SQL servers with availability group configured. [#1614](https://github.com/dotnet/SqlClient/pull/1614) -- Fixed small inconsistency between netcore and netfx for EncryptionOptions. [#1672](https://github.com/dotnet/SqlClient/pull/1672) +- Fixed **KeyNotFoundException** for the `FailoverPartner` key on SQL servers with availability group configured. [#1614](https://github.com/dotnet/SqlClient/pull/1614) +- Fixed small inconsistency between netcore and netfx for `EncryptionOptions`. [#1672](https://github.com/dotnet/SqlClient/pull/1672) - Fixed `Microsoft.SqlServer.Server` netcore project package reference. [#1654](https://github.com/dotnet/SqlClient/pull/1654) ### Changed -- Updated AuthProviderInfo struct to be match the changes in native SNI for `TDS 8` server certificate validation. [#1680](https://github.com/dotnet/SqlClient/pull/1680) -- Change default system protocol to for `TDS 8` on managed code. [#1678](https://github.com/dotnet/SqlClient/pull/1678) +- Updated `AuthProviderInfo` struct to be matched the changes in native SNI for `TDS 8` server certificate validation. [#1680](https://github.com/dotnet/SqlClient/pull/1680) +- Updated default system protocol for `TDS 8` on managed code. [#1678](https://github.com/dotnet/SqlClient/pull/1678) - Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `5.0.0`. [#1680](https://github.com/dotnet/SqlClient/pull/1680) -- Changed encoding UTF-7 to ASCII for SSRP Broadcast. [#1671](https://github.com/dotnet/SqlClient/pull/1671) -- Updated IdentityModel dependency from 6.8.0 to 6.21.0 and IdentityClient from 4.32.2 to 4.45.0. [#1646](https://github.com/dotnet/SqlClient/pull/1646) +- Updated **IdentityModel** dependency from 6.8.0 to 6.21.0 and **IdentityClient** from 4.32.2 to 4.45.0. [#1646](https://github.com/dotnet/SqlClient/pull/1646) - Changed from union overlay design to reflected interfaces for SqlTypes. [1647](https://github.com/dotnet/SqlClient/pull/1647) ## [Preview Release 5.0.0-preview3.22168.1] - 2022-06-16 diff --git a/release-notes/5.0/5.0.0.md b/release-notes/5.0/5.0.0.md index 4f1f8fc712..251b3aa7e1 100644 --- a/release-notes/5.0/5.0.0.md +++ b/release-notes/5.0/5.0.0.md @@ -27,39 +27,38 @@ This update includes the following changes over the 4.1 release: - Added support for `TDS 8`. To use TDS 8, users should specify Encrypt=Strict in the connection string. [#1608](https://github.com/dotnet/SqlClient/pull/1608) [Read more](#tds-8-enhanced-security) - Added support for specifying Server SPN and Failover Server SPN on the connection. [#1607](https://github.com/dotnet/SqlClient/pull/1607) [Read more](#server-spn) - Added support for aliases when targeting .NET Core on Windows. [#1588](https://github.com/dotnet/SqlClient/pull/1588) [Read more](#support-for-aliases) -- Added SqlDataSourceEnumerator. [#1430](https://github.com/dotnet/SqlClient/pull/1430), [Read more](#sql-data-source-enumerator-support) +- Added support for `SqlDataSourceEnumerator` on Windows. [#1430](https://github.com/dotnet/SqlClient/pull/1430), [Read more](#sql-data-source-enumerator-support) - Added new attestation protocol `None` option to forgo enclave attestation when using VBS enclaves. [#1425](https://github.com/dotnet/SqlClient/pull/1425) and [#1419](https://github.com/dotnet/SqlClient/pull/1419), [Read more](#new-attestation-protocol-none) - Added a new AppContext switch to suppress insecure TLS warnings. [#1457](https://github.com/dotnet/SqlClient/pull/1457), [Read more](#suppress-insecure-tls-warnings) - ### Fixed - Fixed null SqlBinary as rowversion. [#1688](https://github.com/dotnet/SqlClient/pull/1688) -- Fixed KeyNotFoundException for the FailoverPartner key on SQL servers with availability group configured. [#1614](https://github.com/dotnet/SqlClient/pull/1614) +- Fixed **KeyNotFoundException** for the `FailoverPartner` key on SQL servers with availability group configured. [#1614](https://github.com/dotnet/SqlClient/pull/1614) - Fixed naming, order, and formatting for `SqlDiagnosticsListener` on .NET Core and .NET. [#1637](https://github.com/dotnet/SqlClient/pull/1637) - Fixed NullReferenceException during Azure Active Directory authentication. [#1625](https://github.com/dotnet/SqlClient/pull/1625) - Added CommandText length validation when using stored procedure command types. [#1484](https://github.com/dotnet/SqlClient/pull/1484) - Fixed `GetSchema("StructuredTypeMembers")` to return correct schema information. [#1500](https://github.com/dotnet/SqlClient/pull/1500), [#1639](https://github.com/dotnet/SqlClient/pull/1639) -- Fixed NullReferenceException when using `SqlDependency.Start` against an Azure SQL Database. [#1294](https://github.com/dotnet/SqlClient/pull/1294) -- Send the correct retained transaction descriptor in the MARS TDS Header when there is no current transaction on .NET 5+ and .NET Core. [#1624](https://github.com/dotnet/SqlClient/pull/1624) +- Fixed **NullReferenceException** when using `SqlDependency.Start` against an Azure SQL Database. [#1294](https://github.com/dotnet/SqlClient/pull/1294) +- Fixed transaction descriptor in the MARS TDS Header when there is no current transaction on .NET 5+ and .NET Core. [#1624](https://github.com/dotnet/SqlClient/pull/1624) - Parallelize SSRP requests on Linux and macOS when MultiSubNetFailover is specified. [#1578](https://github.com/dotnet/SqlClient/pull/1578) - Fixed connection failure by skipping Certificate Revocation List (CRL) check during authentication. [#1559](https://github.com/dotnet/SqlClient/pull/1559) - Fixed thread safety issue for `GetEnclaveProvider` by converting dictionary to concurrent dictionary. [#1451](https://github.com/dotnet/SqlClient/pull/1451) ### Changed -- Updated AuthProviderInfo struct to be match the changes in native SNI for `TDS 8` server certificate validation. [#1680](https://github.com/dotnet/SqlClient/pull/1680) -- Change default system protocol to for `TDS 8` on managed code. [#1678](https://github.com/dotnet/SqlClient/pull/1678) +- Updated `AuthProviderInfo` struct to be matched the changes in native SNI for `TDS 8` server certificate validation. [#1680](https://github.com/dotnet/SqlClient/pull/1680) +- Updated default system protocol for `TDS 8` on managed code. [#1678](https://github.com/dotnet/SqlClient/pull/1678) - Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `5.0.0`. [#1608](https://github.com/dotnet/SqlClient/pull/1608) - Changed encoding UTF-7 to ASCII for SSRP Broadcast. [#1671](https://github.com/dotnet/SqlClient/pull/1671) -- Updated IdentityModel dependency from 6.8.0 to 6.21.0 and IdentityClient from 4.32.2 to 4.45.0. [#1646](https://github.com/dotnet/SqlClient/pull/1646) -- Update Azure Identity dependency from 1.5.0 to 1.6.0. [#1611](https://github.com/dotnet/SqlClient/pull/1611) -- Improved Regex for SqlCommandSet. [#1548](https://github.com/dotnet/SqlClient/pull/1548) +- Updated `IdentityModel` dependency from 6.8.0 to 6.21.0 and `IdentityClient` from 4.32.2 to 4.45.0. [#1646](https://github.com/dotnet/SqlClient/pull/1646) +- Updated **Azure Identity** dependency from 1.5.0 to 1.6.0. [#1611](https://github.com/dotnet/SqlClient/pull/1611) +- Improved Regex for `SqlCommandSet`. [#1548](https://github.com/dotnet/SqlClient/pull/1548) - Rework `TdsParserStateObjectManaged` with nullable annotations. [#1555](https://github.com/dotnet/SqlClient/pull/1555) -- Adjust the default ConnectRetryCount against Azure Synapse OnDemand endpoints. [#1626](https://github.com/dotnet/SqlClient/pull/1626) +- Adjust the default **ConnectRetryCount** against Azure Synapse OnDemand endpoints. [#1626](https://github.com/dotnet/SqlClient/pull/1626) - Updated `Azure.Identity` version to `1.5.0` and `Microsoft.Identity.Client` version to `4.30.1`. [#1462](https://github.com/dotnet/SqlClient/pull/1462) -- Replaced AlwaysEncryptedAttestationException with SqlException. [#1515](https://github.com/dotnet/SqlClient/pull/1515) -- Improved error message when adding wrong type to SqlParameterCollection. [#1547](https://github.com/dotnet/SqlClient/pull/1547) +- Replaced `AlwaysEncryptedAttestationException` with `SqlException`. [#1515](https://github.com/dotnet/SqlClient/pull/1515) +- Improved error message when adding wrong type to `SqlParameterCollection`. [#1547](https://github.com/dotnet/SqlClient/pull/1547) - Modernized style in ValueUtilSmi. [#1351](https://github.com/dotnet/SqlClient/pull/1351) - Changed SQL server codenames to version names in the code. [#1439](https://github.com/dotnet/SqlClient/pull/1439) - Prevented subtype generation in project files. [#1452](https://github.com/dotnet/SqlClient/pull/1452) From 5ac539b6ec68fa6d61c5ca95e0ea8fe82281df1a Mon Sep 17 00:00:00 2001 From: Lawrence LCI Date: Thu, 4 Aug 2022 18:28:57 -0700 Subject: [PATCH 10/12] Move some changes into the "Various code improvements" group --- release-notes/5.0/5.0.0.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/release-notes/5.0/5.0.0.md b/release-notes/5.0/5.0.0.md index 251b3aa7e1..e38477025d 100644 --- a/release-notes/5.0/5.0.0.md +++ b/release-notes/5.0/5.0.0.md @@ -59,13 +59,9 @@ This update includes the following changes over the 4.1 release: - Updated `Azure.Identity` version to `1.5.0` and `Microsoft.Identity.Client` version to `4.30.1`. [#1462](https://github.com/dotnet/SqlClient/pull/1462) - Replaced `AlwaysEncryptedAttestationException` with `SqlException`. [#1515](https://github.com/dotnet/SqlClient/pull/1515) - Improved error message when adding wrong type to `SqlParameterCollection`. [#1547](https://github.com/dotnet/SqlClient/pull/1547) -- Modernized style in ValueUtilSmi. [#1351](https://github.com/dotnet/SqlClient/pull/1351) - Changed SQL server codenames to version names in the code. [#1439](https://github.com/dotnet/SqlClient/pull/1439) -- Prevented subtype generation in project files. [#1452](https://github.com/dotnet/SqlClient/pull/1452) - Changed `Array.Copy` to `Buffer.BlockCopy` for byte arrays. [#1366](https://github.com/dotnet/SqlClient/pull/1366) -- Changed files in csproj to be alphabetically sorted in netfx and netcore. [#1364](https://github.com/dotnet/SqlClient/pull/1364) -- Sqlstream, SqlInternalTransaction and MetaDataUtilsSmi are moved to shared folder. [#1337](https://github.com/dotnet/SqlClient/pull/1337), [#1346](https://github.com/dotnet/SqlClient/pull/1346) and [#1339](https://github.com/dotnet/SqlClient/pull/1339) -- Various code improvements: [#1197](https://github.com/dotnet/SqlClient/pull/1197), [#1313](https://github.com/dotnet/SqlClient/pull/1313), [#1330](https://github.com/dotnet/SqlClient/pull/1330), [#1366](https://github.com/dotnet/SqlClient/pull/1366), [#1435](https://github.com/dotnet/SqlClient/pull/1435), [#1478](https://github.com/dotnet/SqlClient/pull/1478), [#1353](https://github.com/dotnet/SqlClient/pull/1353), [#1354](https://github.com/dotnet/SqlClient/pull/1354), [#1525](https://github.com/dotnet/SqlClient/pull/1525), [#1186](https://github.com/dotnet/SqlClient/pull/1186), [#1343](https://github.com/dotnet/SqlClient/pull/1343), [#1370](https://github.com/dotnet/SqlClient/pull/1370), [#1371](https://github.com/dotnet/SqlClient/pull/1371), [#1438](https://github.com/dotnet/SqlClient/pull/1438), [#1483](https://github.com/dotnet/SqlClient/pull/1483) +- Various code improvements: [#1197](https://github.com/dotnet/SqlClient/pull/1197), [#1313](https://github.com/dotnet/SqlClient/pull/1313), [#1330](https://github.com/dotnet/SqlClient/pull/1330), [#1366](https://github.com/dotnet/SqlClient/pull/1366), [#1435](https://github.com/dotnet/SqlClient/pull/1435), [#1478](https://github.com/dotnet/SqlClient/pull/1478), [#1353](https://github.com/dotnet/SqlClient/pull/1353), [#1354](https://github.com/dotnet/SqlClient/pull/1354), [#1525](https://github.com/dotnet/SqlClient/pull/1525), [#1186](https://github.com/dotnet/SqlClient/pull/1186), [#1343](https://github.com/dotnet/SqlClient/pull/1343), [#1370](https://github.com/dotnet/SqlClient/pull/1370), [#1371](https://github.com/dotnet/SqlClient/pull/1371), [#1438](https://github.com/dotnet/SqlClient/pull/1438), [#1483](https://github.com/dotnet/SqlClient/pull/1483), [#1351](https://github.com/dotnet/SqlClient/pull/1351), [#1452](https://github.com/dotnet/SqlClient/pull/1452), [#1364](https://github.com/dotnet/SqlClient/pull/1364),[#1337](https://github.com/dotnet/SqlClient/pull/1337), [#1346](https://github.com/dotnet/SqlClient/pull/1346), [#1339](https://github.com/dotnet/SqlClient/pull/1339) ### TDS 8 Enhanced Security From 2264568353a840756f849d920a00d2054bcbb8ed Mon Sep 17 00:00:00 2001 From: Lawrence LCI <31262254+lcheunglci@users.noreply.github.com> Date: Fri, 5 Aug 2022 10:55:56 -0700 Subject: [PATCH 11/12] Apply suggestions from code review Co-authored-by: Javad --- release-notes/5.0/5.0.0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release-notes/5.0/5.0.0.md b/release-notes/5.0/5.0.0.md index e38477025d..52adb83b27 100644 --- a/release-notes/5.0/5.0.0.md +++ b/release-notes/5.0/5.0.0.md @@ -23,8 +23,8 @@ This update includes the following changes over the 4.1 release: ### Added -- Added `TDS 8` version for TDSLogin. [#1657](https://github.com/dotnet/SqlClient/pull/1657) - Added support for `TDS 8`. To use TDS 8, users should specify Encrypt=Strict in the connection string. [#1608](https://github.com/dotnet/SqlClient/pull/1608) [Read more](#tds-8-enhanced-security) +- Added `TDS 8` version for TDSLogin. [#1657](https://github.com/dotnet/SqlClient/pull/1657) - Added support for specifying Server SPN and Failover Server SPN on the connection. [#1607](https://github.com/dotnet/SqlClient/pull/1607) [Read more](#server-spn) - Added support for aliases when targeting .NET Core on Windows. [#1588](https://github.com/dotnet/SqlClient/pull/1588) [Read more](#support-for-aliases) - Added support for `SqlDataSourceEnumerator` on Windows. [#1430](https://github.com/dotnet/SqlClient/pull/1430), [Read more](#sql-data-source-enumerator-support) @@ -68,7 +68,7 @@ This update includes the following changes over the 4.1 release: To use TDS 8, specify Encrypt=Strict in the connection string. Strict mode disables TrustServerCertificate (always treated as False in Strict mode). HostNameInCertificate has been added to help some Strict mode scenarios. TDS 8 begins and continues all server communication inside a secure, encrypted TLS connection. -New Encrypt values have been added to clarify connection encryption behavior. Encrypt=Mandatory is equavalent to Encrypt=True and encrypts connections during the TDS connection negotiation. Encrypt=Optional is equivalent to Encrypt=False and only encrypts the connection if the server tells the client that encryption is required during the TDS connection negotiation. +New Encrypt values have been added to clarify connection encryption behavior. Encrypt=Mandatory is equivalent to Encrypt=True and encrypts connections during the TDS connection negotiation. Encrypt=Optional is equivalent to Encrypt=False and only encrypts the connection if the server tells the client that encryption is required during the TDS connection negotiation. HostNameInCertificate can be specified in the connection string when using aliases to connect with encryption to a server that has a server certificate with a different name or alternate subject name than the name used by the client to identify the server (DNS aliases, for example). Example usage: HostNameInCertificate=MyDnsAliasName From c5fa53491dfa5860f1257a607bd3443809664179 Mon Sep 17 00:00:00 2001 From: Lawrence LCI Date: Fri, 5 Aug 2022 11:16:14 -0700 Subject: [PATCH 12/12] Address comments and update the dependency versions for netfx --- CHANGELOG.md | 2 +- release-notes/5.0/5.0.0.md | 28 +++++++++++----------------- 2 files changed, 12 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7bbad7594f..596ec8a5e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,8 +10,8 @@ This update brings the below changes over the previous release: ### Added -- Added `TDS 8` version for TDSLogin. [#1657](https://github.com/dotnet/SqlClient/pull/1657) - Added support for `TDS 8`. To use TDS 8, users should specify `Encrypt=Strict` in the connection string. [#1608](https://github.com/dotnet/SqlClient/pull/1608) +- Added `TDS 8` version for TDSLogin. [#1657](https://github.com/dotnet/SqlClient/pull/1657) ### Fixed diff --git a/release-notes/5.0/5.0.0.md b/release-notes/5.0/5.0.0.md index 52adb83b27..e049b16013 100644 --- a/release-notes/5.0/5.0.0.md +++ b/release-notes/5.0/5.0.0.md @@ -54,14 +54,13 @@ This update includes the following changes over the 4.1 release: - Updated `IdentityModel` dependency from 6.8.0 to 6.21.0 and `IdentityClient` from 4.32.2 to 4.45.0. [#1646](https://github.com/dotnet/SqlClient/pull/1646) - Updated **Azure Identity** dependency from 1.5.0 to 1.6.0. [#1611](https://github.com/dotnet/SqlClient/pull/1611) - Improved Regex for `SqlCommandSet`. [#1548](https://github.com/dotnet/SqlClient/pull/1548) -- Rework `TdsParserStateObjectManaged` with nullable annotations. [#1555](https://github.com/dotnet/SqlClient/pull/1555) - Adjust the default **ConnectRetryCount** against Azure Synapse OnDemand endpoints. [#1626](https://github.com/dotnet/SqlClient/pull/1626) - Updated `Azure.Identity` version to `1.5.0` and `Microsoft.Identity.Client` version to `4.30.1`. [#1462](https://github.com/dotnet/SqlClient/pull/1462) - Replaced `AlwaysEncryptedAttestationException` with `SqlException`. [#1515](https://github.com/dotnet/SqlClient/pull/1515) - Improved error message when adding wrong type to `SqlParameterCollection`. [#1547](https://github.com/dotnet/SqlClient/pull/1547) - Changed SQL server codenames to version names in the code. [#1439](https://github.com/dotnet/SqlClient/pull/1439) - Changed `Array.Copy` to `Buffer.BlockCopy` for byte arrays. [#1366](https://github.com/dotnet/SqlClient/pull/1366) -- Various code improvements: [#1197](https://github.com/dotnet/SqlClient/pull/1197), [#1313](https://github.com/dotnet/SqlClient/pull/1313), [#1330](https://github.com/dotnet/SqlClient/pull/1330), [#1366](https://github.com/dotnet/SqlClient/pull/1366), [#1435](https://github.com/dotnet/SqlClient/pull/1435), [#1478](https://github.com/dotnet/SqlClient/pull/1478), [#1353](https://github.com/dotnet/SqlClient/pull/1353), [#1354](https://github.com/dotnet/SqlClient/pull/1354), [#1525](https://github.com/dotnet/SqlClient/pull/1525), [#1186](https://github.com/dotnet/SqlClient/pull/1186), [#1343](https://github.com/dotnet/SqlClient/pull/1343), [#1370](https://github.com/dotnet/SqlClient/pull/1370), [#1371](https://github.com/dotnet/SqlClient/pull/1371), [#1438](https://github.com/dotnet/SqlClient/pull/1438), [#1483](https://github.com/dotnet/SqlClient/pull/1483), [#1351](https://github.com/dotnet/SqlClient/pull/1351), [#1452](https://github.com/dotnet/SqlClient/pull/1452), [#1364](https://github.com/dotnet/SqlClient/pull/1364),[#1337](https://github.com/dotnet/SqlClient/pull/1337), [#1346](https://github.com/dotnet/SqlClient/pull/1346), [#1339](https://github.com/dotnet/SqlClient/pull/1339) +- Various code improvements: [#1197](https://github.com/dotnet/SqlClient/pull/1197), [#1313](https://github.com/dotnet/SqlClient/pull/1313), [#1330](https://github.com/dotnet/SqlClient/pull/1330), [#1366](https://github.com/dotnet/SqlClient/pull/1366), [#1435](https://github.com/dotnet/SqlClient/pull/1435), [#1478](https://github.com/dotnet/SqlClient/pull/1478), [#1353](https://github.com/dotnet/SqlClient/pull/1353), [#1354](https://github.com/dotnet/SqlClient/pull/1354), [#1525](https://github.com/dotnet/SqlClient/pull/1525), [#1186](https://github.com/dotnet/SqlClient/pull/1186), [#1343](https://github.com/dotnet/SqlClient/pull/1343), [#1370](https://github.com/dotnet/SqlClient/pull/1370), [#1371](https://github.com/dotnet/SqlClient/pull/1371), [#1438](https://github.com/dotnet/SqlClient/pull/1438), [#1483](https://github.com/dotnet/SqlClient/pull/1483), [#1351](https://github.com/dotnet/SqlClient/pull/1351), [#1452](https://github.com/dotnet/SqlClient/pull/1452), [#1364](https://github.com/dotnet/SqlClient/pull/1364),[#1337](https://github.com/dotnet/SqlClient/pull/1337), [#1346](https://github.com/dotnet/SqlClient/pull/1346), [#1339](https://github.com/dotnet/SqlClient/pull/1339), [#1555](https://github.com/dotnet/SqlClient/pull/1555) ### TDS 8 Enhanced Security @@ -141,28 +140,25 @@ Switch.Microsoft.Data.SqlClient.SuppressInsecureTLSWarning #### .NET Framework - Microsoft.Data.SqlClient.SNI.runtime 5.0.0 -- Azure.Identity 1.6.0.0 +- Azure.Identity 1.6.0 - Microsoft.Identity.Client 4.45.0 - Microsoft.IdentityModel.JsonWebTokens 6.21.0 - Microsoft.IdentityModel.Protocols.OpenIdConnect 6.21.0 -- System.Buffers 4.0.3.0 -- System.Configuration 4.0.0.0 -- System.Data 4.0.0.0 -- System.EnterpriseServices 4.0.0.0 -- System.IdentityModel.Tokens.Jwt 6.8.0.0 -- System.Runtime.Caching 4.0.0.0 -- System.Runtime.InteropServices.RuntimeInformation 4.0.2.0 -- System.Runtime.Serialization 4.0.0.0 -- System.Transactions 4.0.0.0 -- System.Xml 4.0.0.0 +- System.Buffers 4.5.1 +- System.Configuration.ConfigurationManager 5.0.0 +- System.IO 4.3.0 +- System.Runtime.InteropServices.RuntimeInformation 4.3.0 +- System.Security.Cryptography.Algorithms 4.3.1 +- System.Security.Cryptography.Primitives 4.3.0 +- System.Text.Encoding.Web 4.7.2 #### .NET Core - Microsoft.Data.SqlClient.SNI.runtime 5.0.0 - Azure.Identity 1.6.0 - Microsoft.Identity.Client 4.45.0 -- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.21.0 - Microsoft.IdentityModel.JsonWebTokens 6.21.0 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.21.0 - Microsoft.SqlServer.Server 1.0.0 - Microsoft.Win32.Registry 5.0.0 - System.Buffers 4.5.1 @@ -191,9 +187,7 @@ Switch.Microsoft.Data.SqlClient.SuppressInsecureTLSWarning - System.Runtime.Caching 5.0.0 - System.Text.Encoding.CodePages 5.0.0 - System.Text.Encodings.Web 4.7.2 -- System.Resources.ResourceManager 4.3.0 - System.Runtime.Loader 4.3.0 +- System.Resources.ResourceManager 4.3.0 - System.Security.Cryptography.Cng 5.0.0 - System.Security.Principal.Windows 5.0.0 -- System.Security.Permissions 5.0.0 -- NetStandard.Library 2.0.3