diff --git a/CHANGELOG.md b/CHANGELOG.md index 317d3ee82a..9bddc34998 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) # Release Notes +## [Stable release 6.0.0] - 2024-12-09 + +_No changes since the last preview release_ + ## [Preview Release 6.0.0-preview3.24332.3] - 2024-11-27 This update brings the below changes over the previous release: diff --git a/README.md b/README.md index 224becd100..94fbfff232 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ Microsoft.Data.SqlClient is a .NET data provider for [Microsoft SQL Server]([url The Microsoft.Data.SqlClient package supports the following environments: - .NET Framework 4.6.2+ -- .NET 8.0 +- .NET 8.0+ ## Download @@ -40,15 +40,17 @@ When targeting .NET on Windows, a package reference to [Microsoft.Data.SqlClient Special thanks to everyone who has contributed to the project. We thank you for your continuous support in improving the SqlClient library! -- Wraith ([@Wraith2](https://github.com/Wraith2)) +- Edward Neal ([@edwardneal](https://github.com/edwardneal)) - Erik Ejlskov Jensen ([@ErikEJ](https://github.com/ErikEJ)) -- Simon Cropp ([@SimonCropp](https://github.com/SimonCropp)) -- Stefán Jökull Sigurðarson ([@stebet](https://github.com/stebet)) +- Michel Zehnder ([@MichelZ](https://github.com/MichelZ)) - Shay Rojansky ([@roji](https://github.com/roji)) -- Stephen Toub ([@stephentoub](https://github.com/stephentoub)) -- Rasmus Melchior Jacobsen ([@rmja](https://github.com/rmja)) - Phillip Haydon ([@phillip-haydon](https://github.com/phillip-haydon)) +- Rasmus Melchior Jacobsen ([@rmja](https://github.com/rmja)) - Robin Sue ([@Suchiman](https://github.com/Suchiman)) +- Simon Cropp ([@SimonCropp](https://github.com/SimonCropp)) +- Stefán Jökull Sigurðarson ([@stebet](https://github.com/stebet)) +- Stephen Toub ([@stephentoub](https://github.com/stephentoub)) +- Wraith ([@Wraith2](https://github.com/Wraith2)) Up-to-date list of contributors: [Contributor Insights](https://github.com/dotnet/SqlClient/graphs/contributors) diff --git a/release-notes/3.1/3.1.2.md b/release-notes/3.1/3.1.2.md index 6f62706506..175681dcb5 100644 --- a/release-notes/3.1/3.1.2.md +++ b/release-notes/3.1/3.1.2.md @@ -17,7 +17,7 @@ This update brings the below changes over the previous release: ## Target Platform Support -- .NET Framework 4.6.1+ (Windows x86, Windows x64) +- .NET Framework 4.6.1+ (Windows ARM64, Windows x86, Windows x64) - .NET Core 2.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) diff --git a/release-notes/3.1/3.1.3.md b/release-notes/3.1/3.1.3.md index 3b485fcd6c..43012e06d1 100644 --- a/release-notes/3.1/3.1.3.md +++ b/release-notes/3.1/3.1.3.md @@ -11,7 +11,7 @@ This update brings the below changes over the previous release: ## Target Platform Support -- .NET Framework 4.6.1+ (Windows x86, Windows x64) +- .NET Framework 4.6.1+ (Windows ARM64, Windows x86, Windows x64) - .NET Core 2.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) diff --git a/release-notes/3.1/3.1.4.md b/release-notes/3.1/3.1.4.md index 712a873297..5180dfefdb 100644 --- a/release-notes/3.1/3.1.4.md +++ b/release-notes/3.1/3.1.4.md @@ -14,7 +14,7 @@ This update brings the below changes over the previous release: ## Target Platform Support -- .NET Framework 4.6.1+ (Windows x86, Windows x64) +- .NET Framework 4.6.1+ (Windows ARM64, Windows x86, Windows x64) - .NET Core 2.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) diff --git a/release-notes/3.1/3.1.5.md b/release-notes/3.1/3.1.5.md index b11176ebe0..a60c8b42b4 100644 --- a/release-notes/3.1/3.1.5.md +++ b/release-notes/3.1/3.1.5.md @@ -11,7 +11,7 @@ This update brings the below changes over the previous release: ## Target Platform Support -- .NET Framework 4.6.1+ (Windows x86, Windows x64) +- .NET Framework 4.6.1+ (Windows ARM64, Windows x86, Windows x64) - .NET Core 2.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) diff --git a/release-notes/3.1/3.1.7.md b/release-notes/3.1/3.1.7.md index b6a5db7132..57e2cd3100 100644 --- a/release-notes/3.1/3.1.7.md +++ b/release-notes/3.1/3.1.7.md @@ -17,7 +17,7 @@ This update brings the below changes over the previous release: ## Target Platform Support -- .NET Framework 4.6.1+ (Windows x86, Windows x64) +- .NET Framework 4.6.1+ (Windows ARM64, Windows x86, Windows x64) - .NET Core 2.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) diff --git a/release-notes/5.1/5.1.0-preview2.md b/release-notes/5.1/5.1.0-preview2.md index 9098c7b044..5bd4a240b0 100644 --- a/release-notes/5.1/5.1.0-preview2.md +++ b/release-notes/5.1/5.1.0-preview2.md @@ -42,7 +42,7 @@ The default value of the `ServerCertificate` connection setting is an empty stri ## Target Platform Support -- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64) - .NET 6.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) - .NET Standard 2.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) diff --git a/release-notes/5.1/5.1.0.md b/release-notes/5.1/5.1.0.md index adbf449e63..2833f371f0 100644 --- a/release-notes/5.1/5.1.0.md +++ b/release-notes/5.1/5.1.0.md @@ -59,7 +59,7 @@ The default value of the `ServerCertificate` connection setting is an empty stri ## Target Platform Support -- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64) - .NET 6.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) - .NET Standard 2.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) diff --git a/release-notes/5.1/5.1.1.md b/release-notes/5.1/5.1.1.md index 057466a565..fea3f68033 100644 --- a/release-notes/5.1/5.1.1.md +++ b/release-notes/5.1/5.1.1.md @@ -17,7 +17,7 @@ Thanks to the following public contributors. Their efforts toward this project a ## Target Platform Support -- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64) - .NET 6.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) - .NET Standard 2.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) diff --git a/release-notes/5.1/5.1.2.md b/release-notes/5.1/5.1.2.md index cb9ccc5992..20a71f34ab 100644 --- a/release-notes/5.1/5.1.2.md +++ b/release-notes/5.1/5.1.2.md @@ -25,7 +25,7 @@ Thanks to the following public contributors. Their efforts toward this project a ## Target Platform Support -- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64) - .NET 6.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) - .NET Standard 2.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) diff --git a/release-notes/5.1/5.1.3.md b/release-notes/5.1/5.1.3.md index 7889bf61bb..f96e347212 100644 --- a/release-notes/5.1/5.1.3.md +++ b/release-notes/5.1/5.1.3.md @@ -14,7 +14,7 @@ Thanks to the following public contributors. Their efforts toward this project a ## Target Platform Support -- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64) - .NET 6.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) - .NET Standard 2.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) diff --git a/release-notes/5.1/5.1.4.md b/release-notes/5.1/5.1.4.md index c1638b1eee..62c325750e 100644 --- a/release-notes/5.1/5.1.4.md +++ b/release-notes/5.1/5.1.4.md @@ -17,7 +17,7 @@ Thanks to the following public contributors. Their efforts toward this project a ## Target Platform Support -- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64) - .NET 6.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) - .NET Standard 2.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) diff --git a/release-notes/5.1/5.1.5.md b/release-notes/5.1/5.1.5.md index e05c26861f..540061f8f1 100644 --- a/release-notes/5.1/5.1.5.md +++ b/release-notes/5.1/5.1.5.md @@ -19,7 +19,7 @@ Thanks to the following public contributors. Their efforts toward this project a ## Target Platform Support -- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64) - .NET 6.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) - .NET Standard 2.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) diff --git a/release-notes/5.1/5.1.6.md b/release-notes/5.1/5.1.6.md index a5404c84da..3c6cb9ebe6 100644 --- a/release-notes/5.1/5.1.6.md +++ b/release-notes/5.1/5.1.6.md @@ -22,7 +22,7 @@ Thanks to the following public contributors. Their efforts toward this project a ## Target Platform Support -- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64) - .NET 6.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) - .NET Standard 2.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) diff --git a/release-notes/5.2/5.2.0-preview1.md b/release-notes/5.2/5.2.0-preview1.md index 152b3169b8..e937f6b74c 100644 --- a/release-notes/5.2/5.2.0-preview1.md +++ b/release-notes/5.2/5.2.0-preview1.md @@ -40,7 +40,7 @@ Thanks to the following public contributors. Their efforts toward this project a ## Target Platform Support -- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64) - .NET 6.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) - .NET Standard 2.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) diff --git a/release-notes/5.2/5.2.0-preview2.md b/release-notes/5.2/5.2.0-preview2.md index 360894b93a..c7523841cd 100644 --- a/release-notes/5.2/5.2.0-preview2.md +++ b/release-notes/5.2/5.2.0-preview2.md @@ -61,7 +61,7 @@ Example usage: ## Target Platform Support -- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64) - .NET 6.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) - .NET Standard 2.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) diff --git a/release-notes/5.2/5.2.0-preview3.md b/release-notes/5.2/5.2.0-preview3.md index 82173a5744..5e9448a50b 100644 --- a/release-notes/5.2/5.2.0-preview3.md +++ b/release-notes/5.2/5.2.0-preview3.md @@ -58,7 +58,7 @@ Example usage: ## Target Platform Support -- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64) - .NET 6.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) - .NET Standard 2.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) diff --git a/release-notes/5.2/5.2.0-preview4.md b/release-notes/5.2/5.2.0-preview4.md index eb94c0c73f..8c48f33ae9 100644 --- a/release-notes/5.2/5.2.0-preview4.md +++ b/release-notes/5.2/5.2.0-preview4.md @@ -93,7 +93,7 @@ class Program ## Target Platform Support -- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64) - .NET 6.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) - .NET Standard 2.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) diff --git a/release-notes/5.2/5.2.0-preview5.md b/release-notes/5.2/5.2.0-preview5.md index 87de1c81ea..094d1e4989 100644 --- a/release-notes/5.2/5.2.0-preview5.md +++ b/release-notes/5.2/5.2.0-preview5.md @@ -27,7 +27,7 @@ Thanks to the following public contributors. Their efforts toward this project a ## Target Platform Support -- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64) - .NET 6.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) - .NET Standard 2.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) diff --git a/release-notes/5.2/5.2.0.md b/release-notes/5.2/5.2.0.md index b431e7c675..8ade56aef2 100644 --- a/release-notes/5.2/5.2.0.md +++ b/release-notes/5.2/5.2.0.md @@ -196,7 +196,7 @@ Example usage: ## Target Platform Support -- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64) - .NET 6.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) - .NET Standard 2.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) diff --git a/release-notes/5.2/5.2.1.md b/release-notes/5.2/5.2.1.md index a64a4f4589..ba72800828 100644 --- a/release-notes/5.2/5.2.1.md +++ b/release-notes/5.2/5.2.1.md @@ -20,7 +20,7 @@ This update brings the below changes over the previous release: ## Target Platform Support -- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64) - .NET 6.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) - .NET Standard 2.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) diff --git a/release-notes/5.2/5.2.2.md b/release-notes/5.2/5.2.2.md index 1947d5f373..57ec61ac9e 100644 --- a/release-notes/5.2/5.2.2.md +++ b/release-notes/5.2/5.2.2.md @@ -21,7 +21,7 @@ This update brings the below changes over the previous release: ## Target Platform Support -- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64) - .NET 6.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) - .NET Standard 2.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) diff --git a/release-notes/6.0/6.0.0-preview1.md b/release-notes/6.0/6.0.0-preview1.md index 86589346d8..c5dd770673 100644 --- a/release-notes/6.0/6.0.0-preview1.md +++ b/release-notes/6.0/6.0.0-preview1.md @@ -64,7 +64,7 @@ Thanks to the following public contributors. Their efforts toward this project a ## Target Platform Support -- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64) - .NET 6.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) ### Dependencies diff --git a/release-notes/6.0/6.0.0-preview2.md b/release-notes/6.0/6.0.0-preview2.md index 6a6d7054ca..c6c78c5b64 100644 --- a/release-notes/6.0/6.0.0-preview2.md +++ b/release-notes/6.0/6.0.0-preview2.md @@ -37,7 +37,7 @@ Thanks to the following public contributors. Their efforts toward this project a ## Target Platform Support -- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64) - .NET 6.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) ### Dependencies diff --git a/release-notes/6.0/6.0.0-preview3.md b/release-notes/6.0/6.0.0-preview3.md index 17353e048d..5f8b774268 100644 --- a/release-notes/6.0/6.0.0-preview3.md +++ b/release-notes/6.0/6.0.0-preview3.md @@ -40,7 +40,7 @@ Thanks to the following public contributors. Their efforts toward this project a - Removed System.Text.Json dependency from .NET 8 [#2930](https://github.com/dotnet/SqlClient/pull/2930) ## Target Platform Support -- .NET Framework 4.6.2+ (Windows x86, Windows x64) +- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64) - .NET 8.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS) ### Dependencies diff --git a/release-notes/6.0/6.0.0.md b/release-notes/6.0/6.0.0.md new file mode 100644 index 0000000000..9d9051a156 --- /dev/null +++ b/release-notes/6.0/6.0.0.md @@ -0,0 +1,234 @@ +# Release Notes + +## [Stable release 6.0.0] - 2024-12-09 + +This update brings the below changes over the previous stable release: + +### Breaking Changes + +- Removed support for .NET Standard. [#2386](https://github.com/dotnet/SqlClient/pull/2386) +- Removed support for .NET 6 [#2927](https://github.com/dotnet/SqlClient/pull/2927) +- Removed UWP (uap) references. [#2483](https://github.com/dotnet/SqlClient/pull/2483) +- Removed SQL 2000 client-side debugging support for .NET Framework [#2981](https://github.com/dotnet/SqlClient/pull/2981), [#2940](https://github.com/dotnet/SqlClient/pull/2940) + +### Added + +#### JSON Support + +JSON Datatype support is now available in Microsoft.Data.SqlClient v6.0. This release introduces `SqlJson` type available as an extension to `System.Data.SqlDbTypes`: + +```csharp +using System; +using System.Data.SqlTypes; +using System.Text.Json; + +namespace Microsoft.Data.SqlTypes +{ + /// + /// Represents the Json Data type in SQL Server. + /// + public class SqlJson : INullable + { + /// + /// Parameterless constructor. Initializes a new instance of the SqlJson class which + /// represents a null JSON value. + /// + public SqlJson() { } + + /// + /// Takes a as input and initializes a new instance of the SqlJson class. + /// + /// + public SqlJson(string jsonString) { } + + /// + /// Takes a as input and initializes a new instance of the SqlJson class. + /// + /// + public SqlJson(JsonDocument jsonDoc) { } + + /// + public bool IsNull => throw null; + + /// + /// Represents a null instance of the type. + /// + public static SqlJson Null { get { throw null; } } + + /// + /// Gets the string representation of the Json content of this instance. + /// + public string Value { get ; } + } +} +``` + +JSON datatype is supported by the driver for reading, writing, streaming and performing bulk copy operations. + +Implemented in PRs: [#2916](https://github.com/dotnet/SqlClient/pull/2916), [#2892](https://github.com/dotnet/SqlClient/pull/2892), [#2891](https://github.com/dotnet/SqlClient/pull/2891), [#2880](https://github.com/dotnet/SqlClient/pull/2880), [#2882](https://github.com/dotnet/SqlClient/pull/2882), [#2829](https://github.com/dotnet/SqlClient/pull/2829), [#2830](https://github.com/dotnet/SqlClient/pull/2830) + +#### Introducing SqlClientDiagnostics + +`SqlClientDiagnostic` is now available as a strongly-typed collection of key-value pairs that can be captured by consuming applications. + +```csharp +// Class that provides strongly-typed collection of key-value pairs for SqlClient diagnostic objects. +public abstract class SqlClientDiagnostic : System.Collections.Generic.IReadOnlyList> +{ + // A guid value used to correlate before, after and error events. + public System.Guid OperationId; + + // The name of the operation. + public string Operation; + + // The timestamp of the event. + public long Timestamp; + + // The number of elements in the collection. + public int Count; + + // The element at the specified index in the read-only list. + public System.Collections.Generic.KeyValuePair this[int index]; + + // An enumerator that can be used to iterate through the collection. + public System.Collections.Generic.IEnumerator> GetEnumerator(); +} +``` + +Implemented in PR: [#2226](https://github.com/dotnet/SqlClient/pull/2226) + +#### Added Support for Connection Overrides in `OpenAsync()` API + +The default behavior of `SqlConnection.OpenAsync()` can be overridden to disable the ten-second delay and automatic connection retries triggered by transient errors. + +```csharp +using(SqlConnection sqlConnection = new SqlConnection("Data Source=(local);Integrated Security=true;Initial Catalog=AdventureWorks;")) +{ + await sqlConnection.OpenAsync(SqlConnectionOverrides.OpenWithoutRetry, cancellationToken); +} +``` + +Implemented in PR: [#2433](https://github.com/dotnet/SqlClient/pull/2433) + +#### Other Additions + +- Added support for .NET 9 [#2946](https://github.com/dotnet/SqlClient/pull/2946) +- Added localization in Czech, Polish, and Turkish [#2987](https://github.com/dotnet/SqlClient/pull/2987) +- Added `TokenCredential` object to take advantage of token caching in `ActiveDirectoryAuthenticationProvider`. [#2380](https://github.com/dotnet/SqlClient/pull/2380) +- Added `DateOnly` and `TimeOnly` support to `DataTable` as a structured parameter. [#2258](https://github.com/dotnet/SqlClient/pull/2258) +- Added scope trace for `GenerateSspiClientContext`. [#2497](https://github.com/dotnet/SqlClient/pull/2497), [#2725](https://github.com/dotnet/SqlClient/pull/2725) +- Added readme to nuget package [#2826](https://github.com/dotnet/SqlClient/pull/2826) +- Enabled NuGet package auditing via NuGet.org audit source [#3024](https://github.com/dotnet/SqlClient/pull/3024) +- Added missing SqlCommand_BeginExecuteReader code sample [#3009](https://github.com/dotnet/SqlClient/pull/3009) + +### Fixed + +- Fixed `Socket.Connect` timeout issue caused by thread starvation. [#2777](https://github.com/dotnet/SqlClient/pull/2777) +- Fixed pending data with `SqlDataReader` against an encrypted column. [#2618](https://github.com/dotnet/SqlClient/pull/2618) +- Fixed Entra authentication when using infinite connection timeout in `ActiveDirectoryAuthenticationProvider`. [#2651](https://github.com/dotnet/SqlClient/pull/2651) +- Fixed `GetSchema` by excluding unsupported engines due to lack of support for `ASSEMBLYPROPERTY` function. [#2593](https://github.com/dotnet/SqlClient/pull/2593) +- Fixed SSPI retry negotiation with default port in .NET. [#2559](https://github.com/dotnet/SqlClient/pull/2559) +- Fixed assembly path in .NET 8.0 and `.AssemblyAttributes`. [#2550](https://github.com/dotnet/SqlClient/pull/2550) +- Fixed certificate chain validation. [#2487](https://github.com/dotnet/SqlClient/pull/2487) +- Fixed clone of `SqlConnection` to include `AccessTokenCallback`. [#2525](https://github.com/dotnet/SqlClient/pull/2525) +- Fixed issue with `DateTimeOffset` in table-valued parameters, which was introduced in 5.2. [#2453](https://github.com/dotnet/SqlClient/pull/2453) +- Fixed `ArgumentNullException` on `SqlDataRecord.GetValue` when using user-defined data type on .NET. [#2448](https://github.com/dotnet/SqlClient/pull/2448) +- Fixed `SqlBuffer` and `SqlGuid` when it's null. [#2310](https://github.com/dotnet/SqlClient/pull/2310) +- Fixed `SqlBulkCopy.WriteToServer` state in a consecutive calls. [#2375](https://github.com/dotnet/SqlClient/pull/2375) +- Fixed null reference exception with `SqlConnection.FireInfoMessageEventOnUserErrors` after introducing the batch command. [#2399](https://github.com/dotnet/SqlClient/pull/2399) +- Fixed scale serialization when explicitly set to 0 [#2411](https://github.com/dotnet/SqlClient/pull/2411) +- Fixed issue blocking `GetSchema` commands from being enrolled into the current transaction [#2876](https://github.com/dotnet/SqlClient/pull/2876) +- Adjusted retry logic to allow errors with negative numbers to be considered transient [#2896](https://github.com/dotnet/SqlClient/pull/2896) +- Fixed string formatting in `OutOfMemory` exceptions [#2797](https://github.com/dotnet/SqlClient/pull/2797) +- Increased routing attempts to 10 in netcore for `LoginNoFailover` and added routing support to `LoginWithFailover` to standardize routing behavior between netcore and netfx [#2873](https://github.com/dotnet/SqlClient/pull/2873) +- Restructured documentation into XML format so that it displays correctly in Visual Studio [#2836](https://github.com/dotnet/SqlClient/pull/2836), [#2822](https://github.com/dotnet/SqlClient/pull/2822), [#2834](https://github.com/dotnet/SqlClient/pull/2834), [#2851](https://github.com/dotnet/SqlClient/pull/2851), [#2863](https://github.com/dotnet/SqlClient/pull/2863), [#2864](https://github.com/dotnet/SqlClient/pull/2864), [#2865](https://github.com/dotnet/SqlClient/pull/2865), [#2869](https://github.com/dotnet/SqlClient/pull/2869), [#2871](https://github.com/dotnet/SqlClient/pull/2871), [#2837](https://github.com/dotnet/SqlClient/pull/2837), [#2821](https://github.com/dotnet/SqlClient/pull/2821) +- Fixed cleanup behavior when column decryption fails. Prevents leaving stale data on the wire for pooled connections [#2843](https://github.com/dotnet/SqlClient/pull/2843), [#2825](https://github.com/dotnet/SqlClient/pull/2825) +- Reverted default value of `UseMinimumLoginTimeout` context switch to 'true' [#2419](https://github.com/dotnet/SqlClient/pull/2419) +- Added missing `DynamicallyAccessedMembers` attributes in .NET Runtime reference assemblies. [#2946](https://github.com/dotnet/SqlClient/pull/2946) +- Synchronized dependencies of reference assemblies with runtime assemblies [#2878](https://github.com/dotnet/SqlClient/pull/2878) +- Fixed lazy initialization of the `_SqlMetaData` hidden column map for .NET Framework [#2964](https://github.com/dotnet/SqlClient/pull/2964) + +### Changed + +- Dependency changes + - Added dependency on `Microsoft.Bcl.Cryptography:9.0.0` [#2946](https://github.com/dotnet/SqlClient/pull/2946) + - Added dependency on `System.Security.Cryptography.Pkcs:9.0.0` to address [SYSLIB0057](https://learn.microsoft.com/en-us/dotnet/fundamentals/syslib-diagnostics/syslib0057)[#2946](https://github.com/dotnet/SqlClient/pull/2946) + - Added dependency on `System.Text.Json` `8.0.5` for .NET 8+ and `6.0.10` for other versions [#2921](https://github.com/dotnet/SqlClient/pull/2921) + - Removed dependency on `Microsoft.Extensions.Caching.Memory` and `System.Security.Cryptography.Cng`, which were unnecessary after removing .NET Standard. [#2577](https://github.com/dotnet/SqlClient/pull/2577) + - Removed dependency on `System.Text.Json` from .NET 8+ [#2930](https://github.com/dotnet/SqlClient/pull/2930) + - Removed direct dependency to `Microsoft.Identity.Client` to take the transient dependecy through `Azure.Identity`. [#2577](https://github.com/dotnet/SqlClient/pull/2577) + - Replaced `System.Runtime.Caching` with `Microsoft.Extensions.Caching.Memory`. [#2493](https://github.com/dotnet/SqlClient/pull/2493) + - Updated `Azure.Core` version from `1.35.0` to `1.38.0`. [#2462](https://github.com/dotnet/SqlClient/pull/2462) + - Updated `Azure.Identity` version from `1.10.3` to `1.11.4`. [#2577](https://github.com/dotnet/SqlClient/pull/2577) + - Updated `Azure.Security.KeyVault.Keys` version from `4.4.0` to `4.5.0`. [#2462](https://github.com/dotnet/SqlClient/pull/2462) + - Updated `Microsoft.Data.SqlClient.SNI` version to `6.0.1`. [#3100](https://github.com/dotnet/SqlClient/pull/3096) + - Updated `Microsoft.IdentityModel.JsonWebTokens` and `Microsoft.IdentityModel.Protocols.OpenIdConnect` from `6.35.0` to `7.5.0`. [#2429](https://github.com/dotnet/SqlClient/pull/2429) + - Updated `Microsoft.Extensions.Caching.Memory` from `8.0.0` to `9.0.0` [#2921](https://github.com/dotnet/SqlClient/pull/2921) + - Updated `System.Configuration.ConfigurationManager` from `8.0.0` to `9.0.10` for .NET 8 [#2921](https://github.com/dotnet/SqlClient/pull/2921) +- Improved access to `SqlAuthenticationProviderManager.Instance` and avoid early object initiation. [#2636](https://github.com/dotnet/SqlClient/pull/2636) +- Removed undocumented properties of `Azure.Identity` in `ActiveDirectoryAuthenticationProvider`. [#2562](https://github.com/dotnet/SqlClient/pull/2562) +- Updated `EnableOptimizedParameterBinding` to only accept text mode commands. [#2417](https://github.com/dotnet/SqlClient/pull/2417) +- Improved memory allocation when reader opened by `CommandBehavior.SequentialAccess` over the big string columns. [#2356](https://github.com/dotnet/SqlClient/pull/2356) +- Improved SSPI by consolidating the context generation to single abstraction and using memory/span for SSPI generation. [#2255](https://github.com/dotnet/SqlClient/pull/2255), [#2447](https://github.com/dotnet/SqlClient/pull/2447) +- Reverted the [#2281](https://github.com/dotnet/SqlClient/pull/2281) code changes on ManagedSNI. [#2395](https://github.com/dotnet/SqlClient/pull/2395) +- Updated assembly version to 6.0.0.0. [#2382](https://github.com/dotnet/SqlClient/pull/2382), since Preview 1 +- Updated docs to use absolute links [#2949](https://github.com/dotnet/SqlClient/pull/2949), since Preview 3 +- Code health improvements: [#2366](https://github.com/dotnet/SqlClient/pull/2366), [#2369](https://github.com/dotnet/SqlClient/pull/2369), [#2376](https://github.com/dotnet/SqlClient/pull/2376), [#2381](https://github.com/dotnet/SqlClient/pull/2381), [#2390](https://github.com/dotnet/SqlClient/pull/2390), [#2392](https://github.com/dotnet/SqlClient/pull/2392), [#2403](https://github.com/dotnet/SqlClient/pull/2403), [#2410](https://github.com/dotnet/SqlClient/pull/2410), [#2413](https://github.com/dotnet/SqlClient/pull/2413), [#2425](https://github.com/dotnet/SqlClient/pull/2425), [#2428](https://github.com/dotnet/SqlClient/pull/2428), [#2440](https://github.com/dotnet/SqlClient/pull/2440), [#2442](https://github.com/dotnet/SqlClient/pull/2442), [#2443](https://github.com/dotnet/SqlClient/pull/2443), [#2450](https://github.com/dotnet/SqlClient/pull/2450), [#2466](https://github.com/dotnet/SqlClient/pull/2466), [#2486](https://github.com/dotnet/SqlClient/pull/2486), [#2521](https://github.com/dotnet/SqlClient/pull/2521), [#2522](https://github.com/dotnet/SqlClient/pull/2522), [#2533](https://github.com/dotnet/SqlClient/pull/2533), [#2552](https://github.com/dotnet/SqlClient/pull/2552), [#2560](https://github.com/dotnet/SqlClient/pull/2560), [#2726](https://github.com/dotnet/SqlClient/pull/2726), [#2751](https://github.com/dotnet/SqlClient/pull/2751), [#2805](https://github.com/dotnet/SqlClient/pull/2805), [#2811](https://github.com/dotnet/SqlClient/pull/2811), [#2812](https://github.com/dotnet/SqlClient/pull/2812), [#2814](https://github.com/dotnet/SqlClient/pull/2814), [#2820](https://github.com/dotnet/SqlClient/pull/2820), [#2831](https://github.com/dotnet/SqlClient/pull/2831), [#2835](https://github.com/dotnet/SqlClient/pull/2835), [#2844](https://github.com/dotnet/SqlClient/pull/2844), [#2854](https://github.com/dotnet/SqlClient/pull/2854), [#2885](https://github.com/dotnet/SqlClient/pull/2885), [#2889](https://github.com/dotnet/SqlClient/pull/2889), [#2897](https://github.com/dotnet/SqlClient/pull/2897), [#2898](https://github.com/dotnet/SqlClient/pull/2898), [#2907](https://github.com/dotnet/SqlClient/pull/2907), [#2910](https://github.com/dotnet/SqlClient/pull/2910), [#2915](https://github.com/dotnet/SqlClient/pull/2915), [#2928](https://github.com/dotnet/SqlClient/pull/2928), [#2929](https://github.com/dotnet/SqlClient/pull/2929), [#2936](https://github.com/dotnet/SqlClient/pull/2936), [#2939](https://github.com/dotnet/SqlClient/pull/2939) + +## Target Platform Support +- .NET Framework 4.6.2+ (Windows ARM64, Windows x64, Windows x86) +- .NET 8.0+ (Linux, macOS, Windows ARM64, Windows x64, Windows x86) + +### Dependencies +#### .NET Framework +- Azure.Identity 1.11.4 +- Microsoft.Bcl.Cryptography 9.0.0 +- Microsoft.Data.SqlClient.SNI 6.0.1 +- Microsoft.Extensions.Caching.Memory 9.0.0 +- Microsoft.IdentityModel.JsonWebTokens 7.5.0 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 7.5.0 +- System.Buffers 4.5.1 +- System.Security.Cryptography.Pkcs 9.0.0 +- System.Text.Encodings.Web 6.0.0 +- System.Text.Json 6.0.10 + +#### .NET 8 + +- Azure.Identity 1.11.4 +- Microsoft.Bcl.Cryptography 9.0.0 +- Microsoft.Data.SqlClient.SNI.runtime 6.0.1 +- Microsoft.Extensions.Caching.Memory 9.0.0 +- Microsoft.IdentityModel.JsonWebTokens 7.5.0 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 7.5.0 +- Microsoft.SqlServer.Server 1.0.0 +- System.Configuration.ConfigurationManager 9.0.0 +- System.Security.Cryptography.Pkcs 9.0.0 + +#### .NET 9 + +- Azure.Identity 1.11.4 +- Microsoft.Bcl.Cryptography 9.0.0 +- Microsoft.Data.SqlClient.SNI.runtime 6.0.1 +- Microsoft.Extensions.Caching.Memory 9.0.0 +- Microsoft.IdentityModel.JsonWebTokens 7.5.0 +- Microsoft.IdentityModel.Protocols.OpenIdConnect 7.5.0 +- Microsoft.SqlServer.Server 1.0.0 +- System.Configuration.ConfigurationManager 9.0.0 +- System.Security.Cryptography.Pkcs 9.0.0 + +## Contributors +Many thanks to the following public contributors! Their efforts toward furthering this project are very much appreciated! + +- [0xced](https://github.com/0xced) +- [deadlydog](https://github.com/deadlydog) +- [EamonHetherton](https://github.com/EamonHetherton) +- [edwardneal](https://github.com/edwardneal) +- [ErikEJ](https://github.com/ErikEJ) +- [Markeli](https://github.com/Markeli) +- [MichelZ](https://github.com/MichelZ) +- [mus65](https://github.com/mus65) +- [SimonCropp](https://github.com/SimonCropp) +- [TrayanZapryanov](https://github.com/TrayanZapryanov) +- [twsouthwick](https://github.com/twsouthwick) +- [wilbit](https://github.com/wilbit) +- [Wraith2](https://github.com/Wraith2) \ No newline at end of file diff --git a/release-notes/6.0/6.0.md b/release-notes/6.0/6.0.md index cc73a160de..bc1ff34744 100644 --- a/release-notes/6.0/6.0.md +++ b/release-notes/6.0/6.0.md @@ -1,5 +1,11 @@ # Microsoft.Data.SqlClient 6.0 Releases +The following Microsoft.Data.SqlClient 6.0 stable releases have been shipped: + +| Release Date | Version | Notes | +| :-- | :-- | :--: | +| 2024-12-09 | 6.0.0 | [release notes](6.0.0.md) | + The following Microsoft.Data.SqlClient 6.0 preview releases have been shipped: | Release Date | Version | Notes | diff --git a/release-notes/6.0/README.md b/release-notes/6.0/README.md index cc73a160de..bc1ff34744 100644 --- a/release-notes/6.0/README.md +++ b/release-notes/6.0/README.md @@ -1,5 +1,11 @@ # Microsoft.Data.SqlClient 6.0 Releases +The following Microsoft.Data.SqlClient 6.0 stable releases have been shipped: + +| Release Date | Version | Notes | +| :-- | :-- | :--: | +| 2024-12-09 | 6.0.0 | [release notes](6.0.0.md) | + The following Microsoft.Data.SqlClient 6.0 preview releases have been shipped: | Release Date | Version | Notes | diff --git a/release-notes/README.md b/release-notes/README.md index 2565fffc72..650c6a16d6 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 5.2](5.2). +The latest stable release is [Microsoft.Data.SqlClient 6.0](6.0). ## Release Information