Preview Release v7.0.0-preview4 #4006
mdaigle
announced in
Announcements
Replies: 1 comment 2 replies
-
|
why is the nuget referencing old dependencies
given this is a major, surely it should take the opportunity to target the current stable of all dependencies |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello Community!
We are pleased to announce that the 7.0.0 Preview 4 release is now available, and it (finally!) addresses this long-standing issue. Please give it a try, and open new Issues with any problems/roadblocks/etc you encounter. We're counting on your enthusiasm to help us work out any kinks before the 7.0.0 GA release planned in a couple of weeks.
Breaking Change
Apps that do not use the built-in Entra ID (a.k.a Azure Active Directory) authentication support should not require any project or code changes.
Apps using the built-in Entra ID authentication support will need to add the following package dependency to their project:
That's it! If you encounter any issues related to the new package dependencies, or the Entra ID auth flows, please open new Issues so we can investigate.
New Package Structure
We have created 3 new packages to support the separation of the Entra ID authentication support from the main SqlClient package:
Microsoft.Data.SqlClient.Extensions.Logging:Microsoft.Data.SqlClient.Extensions.Abstractions:Microsoft.Data.SqlClient.Extensions.Azure:The SqlClient that Azure Key Vault Provider packages remain largely unchanged at this point, but future work may continue to separate out certain parts of the implementation to give apps more control over their dependency trees.
Release Details
Changed
Azure Dependencies Removed from Core Package
What Changed:
Microsoft.Data.SqlClientpackage no longer depends onAzure.Core,Azure.Identity, or their transitive dependencies (e.g.,Microsoft.Identity.Client,Microsoft.Web.WebView2). Azure Active Directory / Entra authentication functionality (ActiveDirectoryAuthenticationProviderand related types) has been extracted into a newMicrosoft.Data.SqlClient.Extensions.Azurepackage that can be installed separately when needed. (#1108, #3680, #3902, #3904, #3908, #3917, #3982, #3978, #3986)Microsoft.Data.SqlClient.Extensions.Abstractions(shared types between the core driver and extensions) andMicrosoft.Data.SqlClient.Extensions.Logging(shared ETW tracing infrastructure). (#3626, #3628, #3967)Who Benefits:
Azure.Core,Azure.Identity,Microsoft.Identity.Client, andMicrosoft.Web.WebView2) even for applications that only needed basic SQL Server connectivity. This was the most upvoted open issue in the repository (#1108).Impact:
ActiveDirectoryPassword,ActiveDirectoryInteractive,ActiveDirectoryDefault, etc.) must now install theMicrosoft.Data.SqlClient.Extensions.AzureNuGet package separately. No code changes are required beyond adding the package reference.Added
Expose SSPI Context Provider as Public API
What Changed:
SspiContextProviderabstract class and a publicSspiContextProviderproperty onSqlConnection, allowing applications to supply a custom SSPI context provider for integrated authentication. This enables custom Kerberos ticket negotiation and NTLM username/password authentication scenarios that the driver does not natively support. (#2253, #2494)Who Benefits:
Impact:
SspiContextProvideronSqlConnectionbefore opening the connection. The provider handles the authentication token exchange during integrated authentication. This is an additive API — existing authentication behavior is unchanged when no custom provider is set. See SspiContextProvider_CustomProvider.cs for a sample implementation.SspiContextProvideris a part of the connection pool key. Care should be taken when using this property to ensure the implementation returns a stable identity per resource.Expose Default Transient Error List
What Changed:
SqlConfigurableRetryFactory.BaselineTransientErrorsstatic property (returns aReadOnlyCollection<int>), making it easier to extend the set of transient errors without copy-pasting from the repository source. (#3903)Who Benefits:
Impact:
Introduce App Context Switch for MultiSubnetFailover Default
What Changed:
Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefaultto setMultiSubnetFailover=trueby default in connection strings. (#3841)Who Benefits:
Impact:
Enhanced Routing Support
What Changed:
Who Benefits:
Impact:
ApplicationIntent=ReadOnlyand does not require read-only intent to be set.Fixed
Fixed
ExecuteScalarto propagate errors when the server sends data followed by an error token. (#3912)Fixed
NullReferenceExceptioninSqlDataAdapterwhen processing batch scenarios where certain SQL RPC calls may not include system parameters. (#3857)Fixed reading of multiple app context switches from a single
AppContextSwitchOverridesconfiguration field. (#3960)Fixed a connection performance regression where SPN generation was triggered for non-integrated authentication modes (e.g., SQL authentication) on the native SNI path. (#3929)
Fixed an edge case in
TdsParserStateObject.TryReadPlpByteswhere zero-length reads returnednullinstead of an empty array. (#3872)Other changes
Updated UserAgent feature to use a pipe-delimited format, replacing the previous JSON format. (#3826)
Minor improvements to Managed SNI tracing to capture continuation events and errors. (#3859)
Reverted public visibility of internal interop enums (
IoControlCodeAccessandIoControlTransferType) that were accidentally made public during the project merge. (#3900)Performance improvements. (#3791, #3772)
Contributors
We thank the following public contributors. Their efforts toward this project are very much appreciated.
Beta Was this translation helpful? Give feedback.
All reactions