Skip to content

Improve release-notes prompt for version-aligned companion packages#4409

Open
apoorvdeshmukh wants to merge 1 commit into
mainfrom
dev/ad/relnotes70
Open

Improve release-notes prompt for version-aligned companion packages#4409
apoorvdeshmukh wants to merge 1 commit into
mainfrom
dev/ad/relnotes70

Conversation

@apoorvdeshmukh

Copy link
Copy Markdown
Contributor

What changed

  • Added a Branch Model section: release notes are maintained on main, but version/dependency/source files must be read from the target release branch (they can differ).
  • Reworked Version and Dependency Lookup to be branch-aware. Documented the two real layouts — Centralized (tools/props/Versions.props, release/6.1–release/7.0) vs Per-package (src/**/Versions.props, main/7.1+) — and a git ls-tree/git show discovery approach instead of hardcoded paths.
  • Added a Package Registry note that the package set varies by branch (e.g., release/6.1 has no extensions or Internal.Logging), with instruction to verify a package exists on the branch before generating notes.
  • Reconciled the skip rule with version alignment: 7.0.2+ companion packages (AzureKeyVaultProvider, Extensions.Azure, Extensions.Abstractions, Internal.Logging) get release notes on every aligned core release even with no functional changes, using a version-alignment-only style. Microsoft.SqlServer.Server stays independently versioned.
  • Added a step to cross-link companion package notes from the core MDS release notes, and added that section to 7.0.2.md so the published GitHub release retains companion context.
    Why
  • Companion packages now version-align with MDS but keep their own release notes; the prompt's version-source paths were stale and its guidance didn't account for branch-specific layouts, missing packages on older branches, or alignment-only releases.

No functional/code changes — documentation/prompt only.

Guidelines

Please review the contribution guidelines before submitting a pull request:

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the repository’s release-notes Copilot prompt to be branch-aware and to properly handle version-aligned companion packages, and adds cross-links from the core 7.0.2 release notes to the companion package notes.

Changes:

  • Documented the “release notes on main / shipped source on release branch” model and made version/dependency lookup instructions explicitly branch-aware.
  • Updated the prompt’s skip/generation rules to include alignment-only companion package releases (7.0.2+), plus added guidance to cross-link companion notes from core MDS notes.
  • Added a “Companion package release notes” section to release-notes/7.0/7.0.2.md linking to aligned companion package notes.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
release-notes/7.0/7.0.2.md Adds links to the aligned companion package 7.0.2 release notes from the core 7.0.2 notes.
.github/prompts/release-notes.prompt.md Reworks the prompt to be branch-aware and to explicitly include alignment-only companion package release notes and cross-linking guidance.

@@ -10,6 +10,14 @@ Generate release notes for the milestone "${input:milestone}" on the branch "${i

This repository ships multiple packages. Only generate release notes for packages that have relevant PRs in the milestone. All packages use the same template: [release-notes/template/release-notes-template.md](release-notes/template/release-notes-template.md).

@paulmedynski paulmedynski left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking for commentary on my idea.

| `Microsoft.Data.SqlClient.Extensions.Azure` | `release-notes/Extensions/Azure/<Major.Minor>/` | PR titles/bodies/files referencing `Extensions.Azure` |
| `Microsoft.Data.SqlClient.Internal.Logging` | `release-notes/Internal/Logging/<Major.Minor>/` | PR titles/bodies/files referencing `Internal.Logging` |

> **Not all packages exist on every branch.** This table is the full, current package set. Older release branches ship a subset — for example, `release/6.1` and earlier have no extension packages (`Extensions.Abstractions`, `Extensions.Azure`) and no `Internal.Logging`; the companion-package set and even the `AzureKeyVaultProvider` source location vary by branch. Before generating notes for a package, confirm it actually exists on the target branch `${input:branch}` (e.g., `git ls-tree -r --name-only ${input:branch} | grep -i "<package path fragment>"`). Skip any package that does not exist on `${input:branch}`, even if the table lists it.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we put this prompt on each branch and tailor it for that branch? Perform the generation on the branch, with a PR targeting that branch, and then just forward-port the results to main once they merge. That might be simpler and more intuitive than trying to explain our 3 different branch layouts, versioning schemes, packages, etc all in this prompt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In review

Development

Successfully merging this pull request may close these issues.

4 participants