Stable Release v7.0.3
This update brings the following changes since the 7.0.2 release:
The core driver and its companion packages ship together as version 7.0.3. Update the companion packages you use alongside the driver to 7.0.3. Assembly versions remain 7.0.0.0, unchanged from 7.0.2.
Companion package release notes
- Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider 7.0.3
- Microsoft.Data.SqlClient.Extensions.Azure 7.0.3 — includes the Entra ID authority parsing fix for Dataverse/Dynamics 365 connections.
- Microsoft.Data.SqlClient.Extensions.Abstractions 7.0.3
- Microsoft.Data.SqlClient.Internal.Logging 7.0.3
Changed
- Updated the
Microsoft.Data.SqlClient.SNIandMicrosoft.Data.SqlClient.SNI.runtimedependencies to 6.0.3 (was 6.0.2).
(#4599)
Fixed
-
Fixed a
SqlBulkCopyregression in environments where the application login cannot readsys.all_columns. Bulk copy now falls back to the earlier column-discovery behavior when that permission is unavailable. Support for hidden columns and SQL Graph column aliases still requires access to the metadata view.
(#4370, #4306, #4402) -
Fixed a memory-allocation regression in connection and command operations caused by formatting diagnostic strings even when tracing was disabled. Also corrected trace messages that reported an incorrect object ID or could throw
FormatExceptionwhen traced values contained braces.
(#4528, #4533) -
Fixed
ServerCertificatevalidation on the managed SNI path so the configured certificate is compared against the server certificate even when the server certificate passes chain and host-name validation. When certificate validation is enabled, a missing, unreadable, or invalid certificate file, a certificate mismatch, or a missing server certificate now causes the TLS handshake to fail instead of bypassing the configured certificate check. (net8.0/net9.0 only)
(#4445, #4583) -
Fixed Always Encrypted VSM/HGS enclave attestation to verify that the enclave public key used to establish a session matches the key committed to by the signed attestation report. Missing, malformed, or mismatched key-binding data now causes attestation to fail before the session secret is derived.
(#4532, #4553) -
Fixed
SqlConnection.AccessTokenCallbacknot disabling Transparent Network IP Resolution by default, making it consistent withSqlConnection.AccessToken. An explicitly configuredTransparentNetworkIPResolutionconnection-string value still takes precedence. (net462 only)
(#4520, #4561) -
Fixed authentication state handling so clearing
SqlConnection.AccessToken,AccessTokenCallback, orSspiContextProviderpreserves the other authentication values in the connection pool key. Cloning a connection or updating its credential also preserves itsSspiContextProvider. Combining a non-nullSspiContextProviderwithAccessTokenorAccessTokenCallbacknow throwsInvalidOperationExceptioninstead of silently discarding authentication state; applications must use one authentication mechanism at a time.
(#4520, #4561, #4644) -
Fixed configurable retry logic installing a permanent, process-wide assembly-resolution handler that could interfere with unrelated assembly loading. The handler is now active only while an explicitly configured custom retry provider is resolved and constructed, and probes
AppContext.BaseDirectoryinstead of the current working directory. Place custom retry assemblies in the application base directory; dependencies loaded after provider construction must be resolvable through normal application dependency resolution or an application-provided handler. (net8.0/net9.0 only)
(#2214, #4547, #4663)
Contributors
We thank the following public contributors. Their efforts toward this project are very much appreciated.
Target Platform Support
- .NET Framework 4.6.2+ (Windows x86, Windows x64, Windows ARM64)
- .NET 8.0+ (Windows x86, Windows x64, Windows ARM, Windows ARM64, Linux, macOS)
Full details: release-notes/7.0/7.0.3.md