Skip to content

Commit 228fe6f

Browse files
Merge branch 'main' into feature/idle-connection-timeout-pr1
2 parents 911b83a + f880e40 commit 228fe6f

245 files changed

Lines changed: 8835 additions & 6132 deletions

File tree

Some content is hidden

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

.gitattributes

Lines changed: 3 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,5 @@
1-
###############################################################################
2-
# Set default behavior to automatically normalize line endings.
3-
###############################################################################
1+
# Normalize line endings
42
* text=auto
53

6-
###############################################################################
7-
# Set default behavior for command prompt diff.
8-
#
9-
# This is need for earlier builds of msysgit that does not have it on by
10-
# default for csharp files.
11-
# Note: This is only used by command line
12-
###############################################################################
13-
#*.cs diff=csharp
14-
15-
###############################################################################
16-
# Set the merge driver for project and solution files
17-
#
18-
# Merging from the command prompt will add diff markers to the files if there
19-
# are conflicts (Merging from VS is not affected by the settings below, in VS
20-
# the diff markers are never inserted). Diff markers may cause the following
21-
# file extensions to fail to load in VS. An alternative would be to treat
22-
# these files as binary and thus will always conflict and require user
23-
# intervention with every merge. To do so, just uncomment the entries below
24-
###############################################################################
25-
#*.sln merge=binary
26-
#*.csproj merge=binary
27-
#*.vbproj merge=binary
28-
#*.vcxproj merge=binary
29-
#*.vcproj merge=binary
30-
#*.dbproj merge=binary
31-
#*.fsproj merge=binary
32-
#*.lsproj merge=binary
33-
#*.wixproj merge=binary
34-
#*.modelproj merge=binary
35-
#*.sqlproj merge=binary
36-
#*.wwaproj merge=binary
37-
38-
###############################################################################
39-
# behavior for image files
40-
#
41-
# image files are treated as binary by default.
42-
###############################################################################
43-
#*.jpg binary
44-
#*.png binary
45-
#*.gif binary
46-
47-
###############################################################################
48-
# diff behavior for common document formats
49-
#
50-
# Convert binary document formats to text before diffing them. This feature
51-
# is only available from the command line. Turn it on by uncommenting the
52-
# entries below.
53-
###############################################################################
54-
#*.doc diff=astextplain
55-
#*.DOC diff=astextplain
56-
#*.docx diff=astextplain
57-
#*.DOCX diff=astextplain
58-
#*.dot diff=astextplain
59-
#*.DOT diff=astextplain
60-
#*.pdf diff=astextplain
61-
#*.PDF diff=astextplain
62-
#*.rtf diff=astextplain
63-
#*.RTF diff=astextplain
64-
65-
.github/workflows/*.lock.yml linguist-generated=true merge=ours
4+
# Treat workflow lock files as generated
5+
.github/workflows/*.lock.yml linguist-generated=true merge=ours

.github/copilot-instructions.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ This project includes several key products and libraries that facilitate SQL Ser
3434
## 🛠️ Key Features
3535
- **Connectivity to SQL Server**: Provides robust and secure connections to SQL Server databases, using various authentication methods, such as Windows Authentication, SQL Server Authentication, and Entra ID authentication, e.g. `ActiveDirectoryIntegrated`, `ActiveDirectoryPassword`, `ActiveDirectoryServicePrincipal`,`ActiveDirectoryInteractive`, `ActiveDirectoryDefault`, and `ActiveDirectoryManagedIdentity`.
3636
- **Connection Resiliency**: Implements connection resiliency features to handle transient faults and network issues, ensuring reliable database connectivity.
37-
- **TLS Encryption**: Supports secure connections using TLS protocols to encrypt data in transit. Supports TLS 1.2 and higher, ensuring secure communication with SQL Server. Supported encryption modes are:
37+
- **TLS Encryption**: Supports secure connections using TLS protocols to encrypt data in transit. Supports TLS 1.2 and higher, ensuring secure communication with SQL Server. Supported encryption modes are:
3838
- **Optional**: Encryption is used if available, but not required.
3939
- **Mandatory**: Encryption is mandatory for the connection.
4040
- **Strict**: Enforces strict TLS requirements, ensuring only secure connections are established.
@@ -50,6 +50,7 @@ This project includes several key products and libraries that facilitate SQL Ser
5050
- **Data Encryption**: Supports data encryption for secure data transmission.
5151
- **Logging and Diagnostics**: Provides event source tracing diagnostic capabilities for troubleshooting.
5252
- **Failover Support**: Handles automatic failover scenarios for high availability.
53+
- Compatibility switch: `Switch.Microsoft.Data.SqlClient.UseLegacyFailoverAlternationOnLoginSqlErrors` (default `false`) can restore legacy alternation behavior in `LoginWithFailover` for login-phase SQL errors.
5354
- **Cross-Platform Support**: Compatible with both .NET Framework and .NET Core, allowing applications to run on Windows, Linux, and macOS.
5455
- **Column Encryption AKV Provider**: Supports Azure Key Vault (AKV) provider for acquiring keys from Azure Key Vault to be used for encryption and decryption.
5556

@@ -123,7 +124,7 @@ When a new issue is created, follow these steps:
123124
- Ensure the PR passes all CI checks before merging.
124125

125126
### ✅ Closing Issues
126-
- Add a comment summarizing the fix and referencing the PR
127+
- Add a comment summarizing the fix and referencing the PR
127128

128129
### ⚙️ Automating Workflows
129130
- Auto-label PRs based on folder paths (e.g., changes in `src/Microsoft.Data.SqlClient/src/``Area\SqlClient`, changes in `tests/``Area\Testing`) and whether they add new public APIs or introduce a breaking change.

.github/instructions/ado-pipelines.instructions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ Key parameters:
4949
- `runAlwaysEncryptedTests` — include AE test set; default `true`
5050
- `runLegacySqlTests` — include SQL Server 2016/2017 manual-test legs; default `true`
5151
- `debug` — enable debug output; default `false`
52-
- `dotnetVerbosity`MSBuild verbosity; default `normal`
52+
- `dotnetVerbosity`build verbosity; default `normal`
5353

5454
## Build Stage Order
5555

.github/instructions/architecture.instructions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ The `netcore/` and `netfx/` directories are legacy artifacts from the old dual-p
4949
- `netcore/ref/` and `netfx/ref/`**STILL ACTIVE**. Reference assemblies remain in these directories and define the public API surface for each target framework.
5050

5151
### OS Targeting with `TargetOs`
52-
The unified project uses a `TargetOs` MSBuild property to handle OS-specific compilation:
52+
The unified project uses a `TargetOs` build property to handle OS-specific compilation:
5353

5454
```xml
5555
<!-- Automatic OS detection -->

.github/instructions/features.instructions.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,7 @@ AppContext switches allow runtime behavior changes without modifying connection
246246
| `Switch.Microsoft.Data.SqlClient.EnableMultiSubnetFailoverByDefault` | `false` | Sets `MultiSubnetFailover=true` as the default for all connections |
247247
| `Switch.Microsoft.Data.SqlClient.EnableUserAgent` | varies | Controls sending user agent information to SQL Server |
248248
| `Switch.Microsoft.Data.SqlClient.IgnoreServerProvidedFailoverPartner` | `false` | Ignores failover partner information sent by the server |
249+
| `Switch.Microsoft.Data.SqlClient.UseLegacyFailoverAlternationOnLoginSqlErrors` | `false` | Restores legacy `LoginWithFailover` alternation for login-phase SQL errors when parser state is not `Closed` |
249250
| `Switch.Microsoft.Data.SqlClient.LegacyRowVersionNullBehavior` | `false` | Restores legacy null handling for rowversion columns |
250251
| `Switch.Microsoft.Data.SqlClient.LegacyVarTimeZeroScaleBehaviour` | `false` | Restores legacy zero-scale behavior for time/datetime2/datetimeoffset |
251252
| `Switch.Microsoft.Data.SqlClient.MakeReadAsyncBlocking` | `false` | Makes ReadAsync behave synchronously (legacy compat) |

0 commit comments

Comments
 (0)