From 85c469c7c50e8c4f03a4e23600ece3702fa4c654 Mon Sep 17 00:00:00 2001 From: JRahnama Date: Tue, 8 Mar 2022 16:41:07 -0800 Subject: [PATCH 1/8] release notes --- CHANGELOG.md | 22 +++++ release-notes/5.0/5.0.0-preview1.md | 131 ++++++++++++++++++++++++++++ release-notes/5.0/README.md | 5 ++ 3 files changed, 158 insertions(+) create mode 100644 release-notes/5.0/5.0.0-preview1.md create mode 100644 release-notes/5.0/README.md diff --git a/CHANGELOG.md b/CHANGELOG.md index c4f4d45421..5c5a9fb7b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,28 @@ 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/) +## [Preview Release 5.0.0-preview1.xxx] - 2022-03-09 + +### Added + +- Added SqlDataSourceEnumerator. [#1430](https://github.com/dotnet/SqlClient/pull/1430), [Read more](#sql-data-source-enumerator) +- 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) +- Added a new AppContext switch to suppress insecure TLS warnings. [#1457](https://github.com/dotnet/SqlClient/pull/1457) + +### Fixed + +- Suppressed TLS security warning with `Encrypt = false` by new AppContext switch. [#1457](https://github.com/dotnet/SqlClient/pull/1457) +- 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 `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `v5.0.0-preview1.22062.1`. [#1537](https://github.com/dotnet/SqlClient/pull/1537) +- 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) +- TdsEnum, SqlInternalTransaction and MetaDataUtilsSmi are moved to shared folder. [#1369](https://github.com/dotnet/SqlClient/pull/1369), [#1346](https://github.com/dotnet/SqlClient/pull/1346) and [#1339](https://github.com/dotnet/SqlClient/pull/1339) ## [Stable release 4.1.0] - 2022-01-31 ### Added diff --git a/release-notes/5.0/5.0.0-preview1.md b/release-notes/5.0/5.0.0-preview1.md new file mode 100644 index 0000000000..bf970e090c --- /dev/null +++ b/release-notes/5.0/5.0.0-preview1.md @@ -0,0 +1,131 @@ +# Release Notes + +## Microsoft.Data.SqlClient 5.0.0-preview1.xxx released 9 March 2022 + +This update brings the below changes over the previous release: + +### Added + +- Added SqlDataSourceEnumerator. [#1430](https://github.com/dotnet/SqlClient/pull/1430), [Read more](#sql-data-source-enumerator) +- 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-warning) + +### Fixed + +- Suppressed TLS security warning with `Encrypt = false` by new AppContext switch. [#1457](https://github.com/dotnet/SqlClient/pull/1457) +- 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 `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `v5.0.0-preview1.22062.1`. [#1537](https://github.com/dotnet/SqlClient/pull/1537) +- 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) +- TdsEnum, SqlInternalTransaction and MetaDataUtilsSmi are moved to shared folder. [#1369](https://github.com/dotnet/SqlClient/pull/1369), [#1346](https://github.com/dotnet/SqlClient/pull/1346) and [#1339](https://github.com/dotnet/SqlClient/pull/1339) + +### SQL Data Source Enumerator support +Details on `Request`, `Response` and `timeouts` are available in [MC-SQLR](https://docs.microsoft.com/en-us/openspecs/windows_protocols/mc-sqlr/f9e7c304-ef7e-4d5b-9104-a3807c93436f) +```cs +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` +A new attestation protocol called "None" is allowed in the connection string, allowing users to forgo enclave attestation when using VBS enclaves: `Attestation Protocol = None` + +- Attestation `Protocol = None` can now be added to the connection string. When this is set, the Enclave Attestation Url property is optional (it's required if Attestation Protocol is HGS or AAS). +- `Attestation Protocol = None` only works when the server returns an enclave type of VBS. An exception is thrown for any other enclave type. +- When using `Attestation Protocol = None`, the NoneAttestationEnclaveProvider will be used to set up an enclave session. This provider does not perform attestation and only derives the shared secret required to set up a secure enclave session. +- Building the driver with `-p:BuildSimulator=true` will still work, the driver will simply use NoneAttestationEnclaveProvider. When working with SQL Server in simulator mode, the attestation protocol should now be specified as None and not SIM. + +### 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.1+ (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 5.0.0.preview1.22062.1 +- Azure.Identity 1.3.0 +- Microsoft.Identity.Client 4.22.0 +- Microsoft.IdentityModel.JsonWebTokens 6.8.0 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.8.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.Encodings.Web 4.7.2 + +#### .NET Core + +- Microsoft.Data.SqlClient.SNI.runtime 5.0.0.preview1.22062.1 +- Azure.Identity 1.3.0 +- Microsoft.Identity.Client 4.22.0 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.8.0 +- Microsoft.IdentityModel.JsonWebTokens 6.8.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.preview1.22062.1 +- Azure.Identity 1.3.0 +- Microsoft.Identity.Client 4.22.0 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 6.8.0 +- Microsoft.IdentityModel.JsonWebTokens 6.8.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 \ No newline at end of file diff --git a/release-notes/5.0/README.md b/release-notes/5.0/README.md new file mode 100644 index 0000000000..a1290b05c7 --- /dev/null +++ b/release-notes/5.0/README.md @@ -0,0 +1,5 @@ +The following Microsoft.Data.SqlClient 5.0 preview releases have been shipped: + +| Release Date | Version | Notes | +| :-- | :-- | :--: | +| 2022/03/09 | 5.0.0-preview1.xxx | [release notes](5.0.0-preview1.md) | \ No newline at end of file From 14fd4fd85923e05826862625edefd312996d988f Mon Sep 17 00:00:00 2001 From: Javad Date: Wed, 9 Mar 2022 11:14:26 -0800 Subject: [PATCH 2/8] Apply suggestions from code review Co-authored-by: Parminder Kaur <88398605+Kaur-Parminder@users.noreply.github.com> --- release-notes/5.0/5.0.0-preview1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-notes/5.0/5.0.0-preview1.md b/release-notes/5.0/5.0.0-preview1.md index bf970e090c..5922b870c6 100644 --- a/release-notes/5.0/5.0.0-preview1.md +++ b/release-notes/5.0/5.0.0-preview1.md @@ -26,7 +26,7 @@ This update brings the below changes over the previous release: - TdsEnum, SqlInternalTransaction and MetaDataUtilsSmi are moved to shared folder. [#1369](https://github.com/dotnet/SqlClient/pull/1369), [#1346](https://github.com/dotnet/SqlClient/pull/1346) and [#1339](https://github.com/dotnet/SqlClient/pull/1339) ### SQL Data Source Enumerator support -Details on `Request`, `Response` and `timeouts` are available in [MC-SQLR](https://docs.microsoft.com/en-us/openspecs/windows_protocols/mc-sqlr/f9e7c304-ef7e-4d5b-9104-a3807c93436f) +Provides a mechanism for enumerating all available instances of SQL Server within the local network. ```cs static void Main() { From 1bd8a379601e789e38fb03d7115cabd8b9f86027 Mon Sep 17 00:00:00 2001 From: Javad Date: Wed, 9 Mar 2022 13:29:18 -0800 Subject: [PATCH 3/8] Apply suggestions from code review Co-authored-by: Parminder Kaur <88398605+Kaur-Parminder@users.noreply.github.com> --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c5a9fb7b6..b60f9a252d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ### Changed - Updated `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `v5.0.0-preview1.22062.1`. [#1537](https://github.com/dotnet/SqlClient/pull/1537) -- modernized style in ValueUtilSmi. [#1351](https://github.com/dotnet/SqlClient/pull/1351) +- 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) From 2705da236b83c32ecf8afb34720f8eea78705904 Mon Sep 17 00:00:00 2001 From: Javad Date: Wed, 9 Mar 2022 13:41:15 -0800 Subject: [PATCH 4/8] Apply suggestions from code review Co-authored-by: Parminder Kaur <88398605+Kaur-Parminder@users.noreply.github.com> --- CHANGELOG.md | 2 +- release-notes/5.0/5.0.0-preview1.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b60f9a252d..8315f0bb1e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ### Added -- Added SqlDataSourceEnumerator. [#1430](https://github.com/dotnet/SqlClient/pull/1430), [Read more](#sql-data-source-enumerator) +- 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) - Added a new AppContext switch to suppress insecure TLS warnings. [#1457](https://github.com/dotnet/SqlClient/pull/1457) diff --git a/release-notes/5.0/5.0.0-preview1.md b/release-notes/5.0/5.0.0-preview1.md index 5922b870c6..01ad31fa99 100644 --- a/release-notes/5.0/5.0.0-preview1.md +++ b/release-notes/5.0/5.0.0-preview1.md @@ -8,7 +8,7 @@ This update brings the below changes over the previous release: - Added SqlDataSourceEnumerator. [#1430](https://github.com/dotnet/SqlClient/pull/1430), [Read more](#sql-data-source-enumerator) - 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-warning) +- 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 From df614abd904892ba96397b65823b264947e2320e Mon Sep 17 00:00:00 2001 From: Javad Date: Wed, 9 Mar 2022 13:42:22 -0800 Subject: [PATCH 5/8] Update release-notes/5.0/5.0.0-preview1.md Co-authored-by: Parminder Kaur <88398605+Kaur-Parminder@users.noreply.github.com> --- release-notes/5.0/5.0.0-preview1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-notes/5.0/5.0.0-preview1.md b/release-notes/5.0/5.0.0-preview1.md index 01ad31fa99..45a0474670 100644 --- a/release-notes/5.0/5.0.0-preview1.md +++ b/release-notes/5.0/5.0.0-preview1.md @@ -6,7 +6,7 @@ This update brings the below changes over the previous release: ### Added -- Added SqlDataSourceEnumerator. [#1430](https://github.com/dotnet/SqlClient/pull/1430), [Read more](#sql-data-source-enumerator) +- 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) From 99f5ca04ee43f02bc70b4e7dfde3e09533035903 Mon Sep 17 00:00:00 2001 From: Javad Date: Wed, 9 Mar 2022 13:42:22 -0800 Subject: [PATCH 6/8] Update release-notes/5.0/5.0.0-preview1.md Co-authored-by: Parminder Kaur <88398605+Kaur-Parminder@users.noreply.github.com> --- CHANGELOG.md | 2 +- release-notes/5.0/5.0.0-preview1.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8315f0bb1e..b423cfb1ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ### Added -- Added SqlDataSourceEnumerator. [#1430](https://github.com/dotnet/SqlClient/pull/1430), [Read more](#sql-data-source-enumerator-support) +- Added SqlDataSourceEnumerator. [#1430](https://github.com/dotnet/SqlClient/pull/1430) - 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) - Added a new AppContext switch to suppress insecure TLS warnings. [#1457](https://github.com/dotnet/SqlClient/pull/1457) diff --git a/release-notes/5.0/5.0.0-preview1.md b/release-notes/5.0/5.0.0-preview1.md index 01ad31fa99..45a0474670 100644 --- a/release-notes/5.0/5.0.0-preview1.md +++ b/release-notes/5.0/5.0.0-preview1.md @@ -6,7 +6,7 @@ This update brings the below changes over the previous release: ### Added -- Added SqlDataSourceEnumerator. [#1430](https://github.com/dotnet/SqlClient/pull/1430), [Read more](#sql-data-source-enumerator) +- 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) From 442aafc9296cdaeb4077a935e7f4d469d5736d8a Mon Sep 17 00:00:00 2001 From: Javad Date: Wed, 9 Mar 2022 18:36:01 -0800 Subject: [PATCH 7/8] Apply suggestions from code review Co-authored-by: DavoudEshtehari <61173489+DavoudEshtehari@users.noreply.github.com> --- release-notes/5.0/5.0.0-preview1.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/release-notes/5.0/5.0.0-preview1.md b/release-notes/5.0/5.0.0-preview1.md index 45a0474670..adc334b6ab 100644 --- a/release-notes/5.0/5.0.0-preview1.md +++ b/release-notes/5.0/5.0.0-preview1.md @@ -23,11 +23,13 @@ This update brings the below changes over the previous release: - 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) -- TdsEnum, SqlInternalTransaction and MetaDataUtilsSmi are moved to shared folder. [#1369](https://github.com/dotnet/SqlClient/pull/1369), [#1346](https://github.com/dotnet/SqlClient/pull/1346) and [#1339](https://github.com/dotnet/SqlClient/pull/1339) +- 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) ### 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. From db8a96cb15434479fa54f5344bb222f596fa48b4 Mon Sep 17 00:00:00 2001 From: Javad Date: Wed, 9 Mar 2022 18:37:14 -0800 Subject: [PATCH 8/8] Apply suggestions from code review Co-authored-by: DavoudEshtehari <61173489+DavoudEshtehari@users.noreply.github.com> --- CHANGELOG.md | 7 ++++--- release-notes/5.0/5.0.0-preview1.md | 19 +++++++++++-------- release-notes/5.0/README.md | 2 +- release-notes/README.md | 2 +- roadmap.md | 6 ++++-- 5 files changed, 21 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b423cfb1ae..b8092ffbd6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,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/) -## [Preview Release 5.0.0-preview1.xxx] - 2022-03-09 +## [Preview Release 5.0.0-preview1.22069.1] - 2022-03-09 ### Added @@ -13,7 +13,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ### Fixed -- Suppressed TLS security warning with `Encrypt = false` by new AppContext switch. [#1457](https://github.com/dotnet/SqlClient/pull/1457) - 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) @@ -24,7 +23,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) - 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) -- TdsEnum, SqlInternalTransaction and MetaDataUtilsSmi are moved to shared folder. [#1369](https://github.com/dotnet/SqlClient/pull/1369), [#1346](https://github.com/dotnet/SqlClient/pull/1346) and [#1339](https://github.com/dotnet/SqlClient/pull/1339) +- 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) + ## [Stable release 4.1.0] - 2022-01-31 ### Added diff --git a/release-notes/5.0/5.0.0-preview1.md b/release-notes/5.0/5.0.0-preview1.md index adc334b6ab..55faad3c70 100644 --- a/release-notes/5.0/5.0.0-preview1.md +++ b/release-notes/5.0/5.0.0-preview1.md @@ -1,6 +1,6 @@ # Release Notes -## Microsoft.Data.SqlClient 5.0.0-preview1.xxx released 9 March 2022 +## Microsoft.Data.SqlClient 5.0.0-preview1.22069.1 released 9 March 2022 This update brings the below changes over the previous release: @@ -12,18 +12,18 @@ This update brings the below changes over the previous release: ### Fixed -- Suppressed TLS security warning with `Encrypt = false` by new AppContext switch. [#1457](https://github.com/dotnet/SqlClient/pull/1457) - 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 `Microsoft.Data.SqlClient.SNI` (.NET Framework dependency) and `Microsoft.Data.SqlClient.SNI.runtime` (.NET Core/Standard dependency) version to `v5.0.0-preview1.22062.1`. [#1537](https://github.com/dotnet/SqlClient/pull/1537) -- modernized style in ValueUtilSmi. [#1351](https://github.com/dotnet/SqlClient/pull/1351) +- 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) ### SQL Data Source Enumerator support Provides a mechanism for enumerating all available instances of SQL Server within the local network. @@ -58,12 +58,15 @@ static void Main() ``` ### New Attestation protocol `None` -A new attestation protocol called "None" is allowed in the connection string, allowing users to forgo enclave attestation when using VBS enclaves: `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. -- Attestation `Protocol = None` can now be added to the connection string. When this is set, the Enclave Attestation Url property is optional (it's required if Attestation Protocol is HGS or AAS). -- `Attestation Protocol = None` only works when the server returns an enclave type of VBS. An exception is thrown for any other enclave type. -- When using `Attestation Protocol = None`, the NoneAttestationEnclaveProvider will be used to set up an enclave session. This provider does not perform attestation and only derives the shared secret required to set up a secure enclave session. -- Building the driver with `-p:BuildSimulator=true` will still work, the driver will simply use NoneAttestationEnclaveProvider. When working with SQL Server in simulator mode, the attestation protocol should now be specified as None and not SIM. +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: diff --git a/release-notes/5.0/README.md b/release-notes/5.0/README.md index a1290b05c7..7d88bb3a76 100644 --- a/release-notes/5.0/README.md +++ b/release-notes/5.0/README.md @@ -2,4 +2,4 @@ The following Microsoft.Data.SqlClient 5.0 preview releases have been shipped: | Release Date | Version | Notes | | :-- | :-- | :--: | -| 2022/03/09 | 5.0.0-preview1.xxx | [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) | \ No newline at end of file diff --git a/release-notes/README.md b/release-notes/README.md index 194b044ee6..f6ec6d90ea 100644 --- a/release-notes/README.md +++ b/release-notes/README.md @@ -3,7 +3,7 @@ The latest stable release is [Microsoft.Data.SqlClient 4.1](4.1). ## Release Information - +- [Microsoft.Data.SqlClient 5.0](5.0) - [Microsoft.Data.SqlClient 4.1](4.1) - [Microsoft.Data.SqlClient 4.0](4.0) - [Microsoft.Data.SqlClient 3.0](3.0) diff --git a/roadmap.md b/roadmap.md index 0348108333..4771802b4f 100644 --- a/roadmap.md +++ b/roadmap.md @@ -13,8 +13,10 @@ The Microsoft.Data.SqlClient roadmap communicates project priorities for evolvin |---------------------------|--------------|---------------| | Microsoft.Data.SqlClient v1.1 (servicing) | As needed (see also [1.1 releases](https://github.com/dotnet/sqlclient/blob/master/release-notes/1.1)) | Closed | | Microsoft.Data.SqlClient v2.1 (servicing) | As needed (see also [2.1 releases](https://github.com/dotnet/sqlclient/blob/master/release-notes/2.1)) | Closed | -| Microsoft.Data.SqlClient v3.0 (servicing) | As needed (see also [3.0 releases](https://github.com/dotnet/sqlclient/blob/master/release-notes/3.0) | Closed | -| Microsoft.Data.SqlClient v4.0 | GA (General Availability) estimated for November 2021 | [SqlClient 4.0.0](https://github.com/dotnet/SqlClient/projects/8) +| Microsoft.Data.SqlClient v3.0 (servicing) | As needed (see also [3.0 releases](https://github.com/dotnet/sqlclient/blob/master/release-notes/3.0)) | Closed | +| Microsoft.Data.SqlClient v4.0 (servicing) | As needed (see also [4.0 releases](https://github.com/dotnet/sqlclient/blob/master/release-notes/4.0)) | Closed | +| Microsoft.Data.SqlClient v4.1 (servicing) | As needed (see also [4.1 releases](https://github.com/dotnet/sqlclient/blob/master/release-notes/4.1)) | Closed | +| Microsoft.Data.SqlClient v5.0 | GA (General Availability) estimated for May 2022 | [SqlClient 5.0.0](https://github.com/dotnet/SqlClient/projects/9) > Note: Dates are calendar year (as opposed to fiscal year).