Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,43 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)

> **Note:** Releases are sorted in reverse chronological order (newest first).

## [Preview Release 7.0.0-preview3] - 2025-12-05

This update brings the following changes since the [7.0.0-preview2](release-notes/7.0/7.0.0-preview2.md) release:

### Added

- Added support for .NET 10
([#3686](https://github.com/dotnet/SqlClient/pull/3686))

- Enabled User Agent Extension
([#3606](https://github.com/dotnet/SqlClient/pull/3606))

### Fixed

- Fixed an issue with extra connection deactivation in `PutObjectFromTransactedPool`
([#3758](https://github.com/dotnet/SqlClient/pull/3758))

### Changed

- Enabled `SqlClientDiagnosticListener` in `SqlCommand` on .NET Framework
([#3658](https://github.com/dotnet/SqlClient/pull/3658))

- Performance improvements in `decimal.GetBits` usage and Always Encrypted primitives
([#3732](https://github.com/dotnet/SqlClient/pull/3732), [#3660](https://github.com/dotnet/SqlClient/pull/3660))

- Enabled NuGet audit on all builds
([#3713](https://github.com/dotnet/SqlClient/pull/3713))

- Code cleanup and refactoring
([#3803](https://github.com/dotnet/SqlClient/pull/3803), [#3781](https://github.com/dotnet/SqlClient/pull/3781), [#3760](https://github.com/dotnet/SqlClient/pull/3760), [#3746](https://github.com/dotnet/SqlClient/pull/3746), [#3743](https://github.com/dotnet/SqlClient/pull/3743), [#3738](https://github.com/dotnet/SqlClient/pull/3738), [#3683](https://github.com/dotnet/SqlClient/pull/3683), [#3676](https://github.com/dotnet/SqlClient/pull/3676))

- Test infrastructure updates
([#3750](https://github.com/dotnet/SqlClient/pull/3750), [#3823](https://github.com/dotnet/SqlClient/pull/3823), [#3712](https://github.com/dotnet/SqlClient/pull/3712))

- Updated version variables for release
([#3825](https://github.com/dotnet/SqlClient/pull/3825))

## [Stable release 6.0.4] - 2025-11-15

This update brings the below changes over the previous stable release:
Expand Down
196 changes: 196 additions & 0 deletions release-notes/7.0/7.0.0-preview3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
# Release Notes

## Preview Release 7.0.0-preview3 - 2025-12-05

## Changes Since [7.0.0-preview2](7.0.0-preview2.md)

This update brings the following changes since the [7.0.0-preview2](7.0.0-preview2.md) release:

### Added

#### Added support for .NET 10

*What Changed:*

- Added support for .NET 10 by updating package references and enabling multi-targeting in test projects. This change was introduced in PR [#3686](https://github.com/dotnet/SqlClient/pull/3686).

*Who Benefits:*

- Developers targeting .NET 10.

*Impact:*

- Users can now build and run applications using Microsoft.Data.SqlClient on .NET 10.

#### Enabled User Agent Extension

*What Changed:*

- Enabled the User Agent Extension feature, allowing pre-calculated JSON payloads to be added to feature extension data and handling server acknowledgments. This change was introduced in PR [#3606](https://github.com/dotnet/SqlClient/pull/3606).

*Who Benefits:*

- Users utilizing the User Agent Extension feature for telemetry or tracking.

*Impact:*

- Enhanced telemetry and tracking capabilities with the User Agent Extension.

### Fixed

#### Fixed an issue with extra connection deactivation in `PutObjectFromTransactedPool`

*What Changed:*

- Removed an extraneous connection deactivation call in `PutObjectFromTransactedPool` that was causing active connection counts to go negative. This fix was introduced in PR [#3758](https://github.com/dotnet/SqlClient/pull/3758).

*Who Benefits:*

- Users using distributed transactions.

*Impact:*

- Fixes an issue where active connection counts could become incorrect when using distributed transactions.

### Changed

#### Enabled `SqlClientDiagnosticListener` in `SqlCommand` on .NET Framework

*What Changed:*

- Enabled `SqlClientDiagnosticListener` in `SqlCommand` for .NET Framework applications. This change was introduced in PR [#3658](https://github.com/dotnet/SqlClient/pull/3658).

*Who Benefits:*

- Developers using .NET Framework who need diagnostic information from `SqlCommand`.

*Impact:*

- `SqlCommand` execution will now emit diagnostic events on .NET Framework, consistent with .NET Core.

#### Performance improvements in `decimal.GetBits` usage and Always Encrypted primitives

*What Changed:*

- Optimized `decimal.GetBits` usage to reduce allocations on .NET 5+ and used lower-allocation primitives for Always Encrypted in `SqlColumnEncryptionCertificateStoreProvider`. These changes were introduced in PRs [#3732](https://github.com/dotnet/SqlClient/pull/3732) and [#3660](https://github.com/dotnet/SqlClient/pull/3660).

*Who Benefits:*

- Applications using `decimal` types or Always Encrypted with certificate store providers.

*Impact:*

- Reduced memory allocations and improved performance for supported scenarios.

#### Enabled NuGet audit on all builds

*What Changed:*

- Enabled implicit NuGet audits on all builds to detect vulnerabilities in dependencies. This change was introduced in PR [#3713](https://github.com/dotnet/SqlClient/pull/3713).

*Who Benefits:*

- Developers and users concerned with security and supply chain vulnerabilities.

*Impact:*

- Builds will now fail if vulnerabilities are detected in dependencies, ensuring a more secure codebase.

#### Code cleanup and refactoring

*What Changed:*

- Various code cleanup and refactoring tasks, including removing unused members, merging classes, and improving code health. These changes were introduced in PRs [#3803](https://github.com/dotnet/SqlClient/pull/3803), [#3781](https://github.com/dotnet/SqlClient/pull/3781), [#3760](https://github.com/dotnet/SqlClient/pull/3760), [#3746](https://github.com/dotnet/SqlClient/pull/3746), [#3743](https://github.com/dotnet/SqlClient/pull/3743), [#3738](https://github.com/dotnet/SqlClient/pull/3738), [#3683](https://github.com/dotnet/SqlClient/pull/3683), and [#3676](https://github.com/dotnet/SqlClient/pull/3676).

*Who Benefits:*

- Contributors and maintainers of the codebase.

*Impact:*

- Improved code maintainability and readability. No functional changes expected.

#### Test infrastructure updates

*What Changed:*

- Updates to test infrastructure, including enabling previously disabled tests and disabling flaky tests. These changes were introduced in PRs [#3750](https://github.com/dotnet/SqlClient/pull/3750), [#3823](https://github.com/dotnet/SqlClient/pull/3823), and [#3712](https://github.com/dotnet/SqlClient/pull/3712).

*Who Benefits:*

- Contributors and maintainers.

*Impact:*

- Improved test reliability and coverage.

#### Updated version variables for release

*What Changed:*

- Updated version variables for the 7.0.0-preview3 release. This change was introduced in PR [#3825](https://github.com/dotnet/SqlClient/pull/3825).

*Who Benefits:*

- N/A

*Impact:*

- Ensures correct versioning for the release.

## Contributors

We thank the following public contributors. Their efforts toward this project are very much appreciated.

- [edwardneal](https://github.com/edwardneal)

## 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)

### Dependencies

#### .NET Framework 4.6.2+

- Azure.Core 1.49.0
- Azure.Identity 1.16.0
- Microsoft.Bcl.Cryptography 8.0.0
- Microsoft.Data.SqlClient.SNI 6.0.2
- Microsoft.Extensions.Caching.Memory 8.0.1
- Microsoft.IdentityModel.JsonWebTokens 8.14.0
- Microsoft.IdentityModel.Protocols.OpenIdConnect 8.14.0
- System.Buffers 4.6.1
- System.Diagnostics.DiagnosticSource 8.0.1
- System.Memory 4.6.3
- System.Runtime.InteropServices.RuntimeInformation 4.3.0
- System.Security.Cryptography.Pkcs 8.0.1
- System.Text.Json 8.0.6
- System.Threading.Channels 8.0.0
- System.ValueTuple 4.6.1

#### .NET 8.0

- Azure.Core 1.49.0
- Azure.Identity 1.16.0
- Microsoft.Bcl.Cryptography 8.0.0
- Microsoft.Data.SqlClient.SNI.runtime 6.0.2
- Microsoft.Extensions.Caching.Memory 8.0.1
- Microsoft.IdentityModel.JsonWebTokens 8.14.0
- Microsoft.IdentityModel.Protocols.OpenIdConnect 8.14.0
- Microsoft.SqlServer.Server 1.0.0
- System.Configuration.ConfigurationManager 8.0.1
- System.Security.Cryptography.Pkcs 8.0.1

#### .NET 9.0

- Azure.Core 1.49.0
- Azure.Identity 1.16.0
- Microsoft.Bcl.Cryptography 9.0.9
- Microsoft.Data.SqlClient.SNI.runtime 6.0.2
- Microsoft.Extensions.Caching.Memory 9.0.9
- Microsoft.IdentityModel.JsonWebTokens 8.14.0
- Microsoft.IdentityModel.Protocols.OpenIdConnect 8.14.0
- Microsoft.SqlServer.Server 1.0.0
- System.Configuration.ConfigurationManager 9.0.9
- System.Security.Cryptography.Pkcs 9.0.9
1 change: 1 addition & 0 deletions release-notes/7.0/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ The following Microsoft.Data.SqlClient 7.0 releases have been shipped:

| Release Date | Version | Notes |
| :-- | :-- | :--: |
| 2025-12-05 | 7.0.0-preview3 | [Release Notes](7.0.0-preview3.md) |
| 2025-10-16 | 7.0.0-preview2.25289.6 | [Release Notes](7.0.0-preview2.md) |
| 2025-09-12 | 7.0.0-preview1.25257.1 | [Release Notes](7.0.0-preview1.md) |

55 changes: 55 additions & 0 deletions tools/prompts/generate-release-notes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Generate Release Notes

This prompt guides the AI to generate release notes for a specific milestone of the Microsoft.Data.SqlClient project.

## Prerequisites

- The user must provide the **Milestone Name** (e.g., `7.0.0-preview3`).
- The user should specify if this is a preview or stable release if it's not obvious from the milestone name.

## Workflow Steps

1. **Fetch Milestone Items**:
- Search for all **merged** Pull Requests associated with the specified milestone in the `dotnet/SqlClient` repository.
- Use `mcp_github_search_issues` with query `is:pr is:merged milestone:"<Milestone Name>" repo:dotnet/SqlClient`.

2. **Analyze and Categorize**:
- Review the title and body of each PR.
- Categorize them into: `Added`, `Fixed`, `Changed`, `Removed`, etc.
- Identify the contributors for the "Contributors" section.

3. **Draft Release Notes Content**:
- **Header**: `# Release Notes` followed by `## <Release Type> Release <Version> - <Date>`.
- **Changes Link**: `## Changes Since [<Previous Version>](<Previous Version>.md)`.
- **Items**: For each categorized item, generate a detailed entry:
- **Title**: The PR title or a summarized version.
- **Link**: Link to the PR `([#<PR Number>](<PR URL>))`.
- **Details**:
- `*What Changed:*`: A brief description of the technical change.
- `*Who Benefits:*`: The target audience (e.g., Developers using feature X).
- `*Impact:*`: The effect on the application (e.g., Performance improvement, Bug fix).
- **Contributors**: List public contributors (excluding core team if possible, or list all non-bot contributors).
- **Target Platform Support**:
- Check `README.md` or project files for current support.
- List supported .NET Framework and .NET Core/.NET versions and OSs.
- **Dependencies**:
- Analyze `Directory.Packages.props` and `src/**/*.csproj` files to list dependencies for each target framework (.NET Framework, .NET Core/Standard).
- Group them by target framework (e.g., .NET Framework 4.6.2+, .NET 8.0, .NET 9.0).

4. **Create Release Notes File**:
- Determine the correct path: `release-notes/<Major.Minor>/<Version>.md`.
- Create the file with the drafted content.

5. **Update CHANGELOG.md**:
- Add a new entry at the top of the list (under the Note).
- Format: `## [<Release Type> Release <Version>] - <Date>`.
- Include the "Changes Since..." text and the categorized items (Added, Fixed, Changed).
- *Note*: You can omit the detailed "What Changed/Who Benefits/Impact" sections in the Changelog to keep it concise, or include them if requested. The previous pattern suggests including the full details or a summary. *Follow the existing pattern in CHANGELOG.md*.

6. **Update Release Directory README**:
- Update `release-notes/<Major.Minor>/README.md`.
- Add the new release to the table: `| <Date> | <Version> | [Release Notes](<Version>.md) |`.

## Example Usage

"Generate release notes for milestone 7.0.0-preview3."
Loading