Skip to content

Commit 98aa20d

Browse files
committed
Merge branch 'main' into merge/tdsparserstateobject-packets-and-cleanup
2 parents 849acf4 + 1765de5 commit 98aa20d

File tree

117 files changed

+3365
-1541
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

117 files changed

+3365
-1541
lines changed

.editorconfig

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@ csharp_style_var_for_built_in_types = false:none
4646
csharp_style_var_when_type_is_apparent = false:none
4747
csharp_style_var_elsewhere = false:suggestion
4848

49+
# don't prefer the range operator, netfx doesn't have these types
50+
csharp_style_prefer_range_operator = false
51+
4952
# use language keywords instead of BCL types
5053
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
5154
dotnet_style_predefined_type_for_member_access = true:suggestion
@@ -155,23 +158,13 @@ dotnet_code_quality.CA2100.excluded_type_names_with_derived_types = Microsoft.Da
155158
dotnet_diagnostic.xUnit1031.severity=none
156159
dotnet_diagnostic.xUnit1030.severity=none
157160

158-
[*.{csproj,vcxproj,vcxproj.filters,proj,nativeproj,locproj}]
159-
indent_size = 2
160-
161-
# Xml build files
162-
[*.builds]
163-
indent_size = 2
164-
165161
# Xml files
166-
[*.{xml,stylecop,resx,ruleset}]
167-
indent_size = 2
168-
169-
# Xml config files
170-
[*.{props,targets,config,nuspec}]
162+
[*.{xml,csproj,stylecop,resx,ruleset,props,targets,config,nuspec}]
171163
indent_size = 2
172164

173165
# Shell scripts
174166
[*.sh]
175167
end_of_line = lf
168+
176169
[*.{cmd, bat}]
177170
end_of_line = crlf

CHANGELOG.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,68 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
66

7+
## [Preview Release 7.0.0-preview1.25257.1] - 2025-09-12
8+
9+
This update brings the following changes since the [6.1.0](release-notes/6.1/6.1.0.md)
10+
release:
11+
12+
### Breaking Changes
13+
14+
- Removed `Constrained Execution Region` error handling blocks and associated
15+
`SqlConnection` cleanup which may affect how potentially-broken connections
16+
are expunged from the pool.
17+
([#3535](https://github.com/dotnet/SqlClient/pull/3535))
18+
19+
### Bug Fixes
20+
21+
- Packet multiplexing disabled by default, and several bug fixes.
22+
([#3534](https://github.com/dotnet/SqlClient/pull/3534),
23+
[#3537](https://github.com/dotnet/SqlClient/pull/3537))
24+
25+
### Added
26+
27+
- `SqlColumnEncryptionCertificateStoreProvider` now works on Windows, Linux,
28+
and macOS.
29+
([#3014](https://github.com/dotnet/SqlClient/pull/3014))
30+
31+
### Changed
32+
33+
- Updated `SqlVector.Null` to return a nullable `SqlVector` instance in the
34+
reference API to match the implementation.
35+
([#3521](https://github.com/dotnet/SqlClient/pull/3521))
36+
37+
- Performance improvements for all built-in
38+
`SqlColumnEncryptionKeyStoreProvider` implementations.
39+
([#3554](https://github.com/dotnet/SqlClient/pull/3554))
40+
41+
- Various test improvements.
42+
([#3456](https://github.com/dotnet/SqlClient/pull/3456),
43+
[#2968](https://github.com/dotnet/SqlClient/pull/2968),
44+
[#3458](https://github.com/dotnet/SqlClient/pull/3458),
45+
[#3494](https://github.com/dotnet/SqlClient/pull/3494),
46+
[#3559](https://github.com/dotnet/SqlClient/pull/3559),
47+
[#3575](https://github.com/dotnet/SqlClient/pull/3575))
48+
49+
- Codebase merge project and related cleanup.
50+
([#3436](https://github.com/dotnet/SqlClient/pull/3436),
51+
[#3434](https://github.com/dotnet/SqlClient/pull/3434),
52+
[#3448](https://github.com/dotnet/SqlClient/pull/3448),
53+
[#3454](https://github.com/dotnet/SqlClient/pull/3454),
54+
[#3462](https://github.com/dotnet/SqlClient/pull/3462),
55+
[#3435](https://github.com/dotnet/SqlClient/pull/3435),
56+
[#3492](https://github.com/dotnet/SqlClient/pull/3492),
57+
[#3473](https://github.com/dotnet/SqlClient/pull/3473),
58+
[#3469](https://github.com/dotnet/SqlClient/pull/3469),
59+
[#3394](https://github.com/dotnet/SqlClient/pull/3394),
60+
[#3493](https://github.com/dotnet/SqlClient/pull/3493),
61+
[#3593](https://github.com/dotnet/SqlClient/pull/3593))
62+
63+
- Documentation improvements.
64+
([#3490](https://github.com/dotnet/SqlClient/pull/3490))
65+
66+
- Updated `Azure.Identity` dependency to v1.14.2.
67+
([#3538](https://github.com/dotnet/SqlClient/pull/3538))
68+
769
## [Stable Release 6.1.1] - 2025-08-14
870

971
This update includes the following changes since the [6.1.0](6.1.0.md) release:

eng/pipelines/common/templates/steps/configure-sql-server-macos-step.yml

Lines changed: 43 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -34,37 +34,63 @@ steps:
3434
docker pull mcr.microsoft.com/mssql/server:2022-latest
3535
3636
# Password for the SA user (required)
37-
MSSQL_SA_PW=${{parameters.password }}
37+
MSSQL_SA_PW=${{ parameters.password }}
3838
3939
docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=$MSSQL_SA_PW" -p 1433:1433 -p 1434:1434 --name sql1 --hostname sql1 -d mcr.microsoft.com/mssql/server:2022-latest
4040
4141
sleep 5
4242
4343
docker ps -a
4444
45-
# Connect to server and get the version:
46-
counter=1
47-
errstatus=1
48-
while [ $counter -le 20 ] && [ $errstatus = 1 ]
45+
# Connect to the SQL Server container and get its version.
46+
#
47+
# It can take a while for the docker container to start listening and be
48+
# ready for connections, so we will wait for up to 2 minutes, checking every
49+
# 3 seconds.
50+
51+
# Wait 3 seconds between attempts.
52+
delay=3
53+
54+
# Try up to 40 times (2 minutes) to connect.
55+
maxAttempts=40
56+
57+
# Attempt counter.
58+
attempt=1
59+
60+
# Flag to indicate when SQL Server is ready to accept connections.
61+
ready=0
62+
63+
while [ $attempt -le $maxAttempts ]
4964
do
50-
echo Waiting for SQL Server to start...
51-
sleep 3
52-
sqlcmd -S 0.0.0.0 -No -U sa -P $MSSQL_SA_PW -Q "SELECT @@VERSION" 2>$SQLCMD_ERRORS
53-
errstatus=$?
54-
((counter++))
65+
echo "Waiting for SQL Server to start (attempt #$attempt of $maxAttempts)..."
66+
67+
sqlcmd -S 127.0.0.1 -No -U sa -P $MSSQL_SA_PW -Q "SELECT @@VERSION" >> $SQLCMD_ERRORS 2>&1
68+
69+
# If the command was successful, then the SQL Server is ready.
70+
if [ $? -eq 0 ]; then
71+
ready=1
72+
break
73+
fi
74+
75+
# Increment the attempt counter.
76+
((attempt++))
77+
78+
# Wait before trying again.
79+
sleep $delay
5580
done
5681
57-
# Display error if connection failed:
58-
if [ $errstatus = 1 ]
82+
# Is the SQL Server ready?
83+
if [ $ready -eq 0 ]
5984
then
60-
echo Cannot connect to SQL Server, installation aborted
85+
# No, so report the error(s) and exit.
86+
echo Cannot connect to SQL Server; installation aborted; errors were:
6187
cat $SQLCMD_ERRORS
6288
rm -f $SQLCMD_ERRORS
63-
exit $errstatus
64-
else
65-
rm -f $SQLCMD_ERRORS
89+
exit 1
6690
fi
6791
92+
rm -f $SQLCMD_ERRORS
93+
6894
echo "Use sqlcmd to show which IP addresses are being listened on..."
6995
echo 0.0.0.0
7096
sqlcmd -S 0.0.0.0 -No -U sa -P $MSSQL_SA_PW -Q "SELECT @@VERSION" -l 2
@@ -78,7 +104,7 @@ steps:
78104
sqlcmd -No -U sa -P $MSSQL_SA_PW -Q "SELECT @@VERSION" -l 2
79105
80106
echo "Configuring Dedicated Administer Connections to allow remote connections..."
81-
sqlcmd -S 0.0.0.0 -No -U sa -P $MSSQL_SA_PW -Q "sp_configure 'remote admin connections', 1; RECONFIGURE;"
107+
sqlcmd -S 127.0.0.1 -No -U sa -P $MSSQL_SA_PW -Q "sp_configure 'remote admin connections', 1; RECONFIGURE;"
82108
if [ $? = 1 ]
83109
then
84110
echo "Error configuring DAC for remote access."

eng/pipelines/common/templates/steps/publish-symbols-step.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ parameters:
1212

1313
- name: publishSymbols
1414
type: string
15-
default: '$(PublishSymbols)'
1615

1716
- name: symbolsVersion
1817
type: string

eng/pipelines/dotnet-sqlclient-signing-pipeline.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ parameters: # parameters are shown up in ADO UI in a build queue time
3838
- name: 'debug'
3939
displayName: 'Enable debug output'
4040
type: boolean
41-
default: true
41+
default: false
4242

4343
- name: publishSymbols
4444
displayName: 'Publish symbols'

eng/pipelines/libraries/common-variables.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,17 +28,17 @@ variables:
2828

2929
# Update this after every release. This is used to generate the MDS NuGet package version.
3030
- name: Major
31-
value: '6'
31+
value: '7'
3232
- name: Minor
33-
value: '1'
33+
value: '0'
3434
- name: Patch
3535
value: '0'
3636

3737
# Update this for preview releases.
3838
- name: Preview
3939
value: '-preview'
4040
- name: Revision
41-
value: '2'
41+
value: '1'
4242

4343
- name: NugetPackageVersion
4444
value: $(Major).$(Minor).$(Patch)

eng/pipelines/steps/compound-nuget-pack-step.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,4 +56,3 @@ steps:
5656
-Version ${{ parameters.packageVersion }}
5757
-OutputDirectory ${{ parameters.outputDirectory }}
5858
-Properties "COMMITID=$(Build.SourceVersion);Configuration=${{ parameters.buildConfiguration }};ReferenceType=${{ parameters.referenceType }}"
59-
Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
# Release Notes
2+
3+
## Preview Release 7.0.0-preview1.25257.1 - 2025-09-12
4+
5+
This update brings the following changes since the [6.1.0](../6.1/6.1.0.md)
6+
release:
7+
8+
### Breaking Changes
9+
10+
- Removed `Constrained Execution Region` error handling blocks and associated
11+
`SqlConnection` cleanup which may affect how potentially-broken connections
12+
are expunged from the pool.
13+
([#3535](https://github.com/dotnet/SqlClient/pull/3535))
14+
15+
### Bug Fixes
16+
17+
- Packet multiplexing disabled by default, and several bug fixes.
18+
([#3534](https://github.com/dotnet/SqlClient/pull/3534),
19+
[#3537](https://github.com/dotnet/SqlClient/pull/3537))
20+
21+
### Added
22+
23+
- `SqlColumnEncryptionCertificateStoreProvider` now works on Windows, Linux,
24+
and macOS.
25+
([#3014](https://github.com/dotnet/SqlClient/pull/3014))
26+
27+
### Changed
28+
29+
- Updated `SqlVector.Null` to return a nullable `SqlVector` instance in the
30+
reference API to match the implementation.
31+
([#3521](https://github.com/dotnet/SqlClient/pull/3521))
32+
33+
- Performance improvements for all built-in
34+
`SqlColumnEncryptionKeyStoreProvider` implementations.
35+
([#3554](https://github.com/dotnet/SqlClient/pull/3554))
36+
37+
- Various test improvements.
38+
([#3456](https://github.com/dotnet/SqlClient/pull/3456),
39+
[#2968](https://github.com/dotnet/SqlClient/pull/2968),
40+
[#3458](https://github.com/dotnet/SqlClient/pull/3458),
41+
[#3494](https://github.com/dotnet/SqlClient/pull/3494),
42+
[#3559](https://github.com/dotnet/SqlClient/pull/3559),
43+
[#3575](https://github.com/dotnet/SqlClient/pull/3575))
44+
45+
- Codebase merge project and related cleanup.
46+
([#3436](https://github.com/dotnet/SqlClient/pull/3436),
47+
[#3434](https://github.com/dotnet/SqlClient/pull/3434),
48+
[#3448](https://github.com/dotnet/SqlClient/pull/3448),
49+
[#3454](https://github.com/dotnet/SqlClient/pull/3454),
50+
[#3462](https://github.com/dotnet/SqlClient/pull/3462),
51+
[#3435](https://github.com/dotnet/SqlClient/pull/3435),
52+
[#3492](https://github.com/dotnet/SqlClient/pull/3492),
53+
[#3473](https://github.com/dotnet/SqlClient/pull/3473),
54+
[#3469](https://github.com/dotnet/SqlClient/pull/3469),
55+
[#3394](https://github.com/dotnet/SqlClient/pull/3394),
56+
[#3493](https://github.com/dotnet/SqlClient/pull/3493),
57+
[#3593](https://github.com/dotnet/SqlClient/pull/3593))
58+
59+
- Documentation improvements.
60+
([#3490](https://github.com/dotnet/SqlClient/pull/3490))
61+
62+
- Updated `Azure.Identity` dependency to v1.14.2.
63+
([#3538](https://github.com/dotnet/SqlClient/pull/3538))
64+
65+
## Contributors
66+
67+
We thank the following public contributors. Their efforts toward this project
68+
are very much appreciated.
69+
70+
- [edwardneal](https://github.com/edwardneal)
71+
- [emmanuel-ferdman](https://github.com/emmanuel-ferdman)
72+
- [ErikEJ](https://github.com/ErikEJ)
73+
- [twsouthwick](https://github.com/twsouthwick)
74+
- [Wraith2](https://github.com/Wraith2)
75+
76+
### New Contributors
77+
78+
- [frankbuckley](https://github.com/frankbuckley) made their first contribution
79+
in [#3521](https://github.com/dotnet/SqlClient/pull/3521)
80+
81+
## Target Platform Support
82+
83+
- .NET Framework 4.6.2+ (Windows ARM64, Windows x86, Windows x64)
84+
- .NET 8.0+ (Windows x86, Windows x64, Windows ARM64, Windows ARM, Linux, macOS)
85+
86+
### Dependencies
87+
88+
#### .NET Standard 2.0
89+
90+
- Azure.Identity 1.14.2
91+
- Microsoft.Bcl.Cryptography 9.0.5
92+
- Microsoft.Data.SqlClient.SNI.runtime 6.0.2
93+
- Microsoft.Extensions.Caching.Memory 9.0.5
94+
- Microsoft.IdentityModel.JsonWebTokens 7.7.1
95+
- Microsoft.IdentityModel.Protocols.OpenIdConnect 7.7.1
96+
- Microsoft.SqlServer.Server 1.0.0
97+
- System.Configuration.ConfigurationManager 9.0.5
98+
- System.Security.Cryptography.Pkcs 9.0.5
99+
- System.Text.Json 9.0.5
100+
101+
#### .NET Framework 4.6.2+
102+
103+
- Azure.Identity 1.14.2
104+
- Microsoft.Bcl.Cryptography 8.0.0
105+
- Microsoft.Data.SqlClient.SNI 6.0.2
106+
- Microsoft.Extensions.Caching.Memory 8.0.1
107+
- Microsoft.IdentityModel.JsonWebTokens 7.7.1
108+
- Microsoft.IdentityModel.Protocols.OpenIdConnect 7.7.1
109+
- System.Buffers 4.5.1
110+
- System.Data.Common 4.3.0
111+
- System.Security.Cryptography.Pkcs 8.0.1
112+
- System.Text.Encodings.Web 8.0.0
113+
- System.Text.Json 8.0.5
114+
115+
#### .NET 8.0
116+
117+
- Azure.Identity 1.14.2
118+
- Microsoft.Bcl.Cryptography 8.0.0
119+
- Microsoft.Data.SqlClient.SNI.runtime 6.0.2
120+
- Microsoft.Extensions.Caching.Memory 8.0.1
121+
- Microsoft.IdentityModel.JsonWebTokens 7.7.1
122+
- Microsoft.IdentityModel.Protocols.OpenIdConnect 7.7.1
123+
- Microsoft.SqlServer.Server 1.0.0
124+
- System.Configuration.ConfigurationManager 8.0.1
125+
- System.Security.Cryptography.Pkcs 8.0.1
126+
- System.Text.Json 8.0.5
127+
128+
#### .NET 9.0
129+
130+
- Azure.Identity 1.14.2
131+
- Microsoft.Bcl.Cryptography 9.0.5
132+
- Microsoft.Data.SqlClient.SNI.runtime 6.0.2
133+
- Microsoft.Extensions.Caching.Memory 9.0.5
134+
- Microsoft.IdentityModel.JsonWebTokens 7.7.1
135+
- Microsoft.IdentityModel.Protocols.OpenIdConnect 7.7.1
136+
- Microsoft.SqlServer.Server 1.0.0
137+
- System.Configuration.ConfigurationManager 9.0.5
138+
- System.Security.Cryptography.Pkcs 9.0.5
139+
- System.Text.Json 9.0.5

release-notes/7.0/README.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Microsoft.Data.SqlClient 7.0 Releases
2+
3+
The following Microsoft.Data.SqlClient 7.0 releases have been shipped:
4+
5+
| Release Date | Version | Notes |
6+
| :-- | :-- | :--: |
7+
| 2025-09-12 | 7.0.0-preview1.25257.1 | [Release Notes](7.0.0-preview1.md) |

release-notes/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ The latest stable release is [Microsoft.Data.SqlClient 6.0](6.0).
44

55
## Release Information
66

7+
- [Microsoft.Data.SqlClient 7.0](7.0)
78
- [Microsoft.Data.SqlClient 6.1](6.1)
89
- [Microsoft.Data.SqlClient 6.0](6.0)
910
- [Microsoft.Data.SqlClient 5.2](5.2)

0 commit comments

Comments
 (0)