Skip to content

[Internal] Changelog: Adds Missing Changelog Entries#5860

Merged
kundadebdatta merged 3 commits into
mainfrom
users/kundadebdatta/update_change_log_entries
May 14, 2026
Merged

[Internal] Changelog: Adds Missing Changelog Entries#5860
kundadebdatta merged 3 commits into
mainfrom
users/kundadebdatta/update_change_log_entries

Conversation

@kundadebdatta
Copy link
Copy Markdown
Member

Description

Adds missing changelog entries.

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)

Closing issues

To automatically close an issue: closes #IssueNumber

NaluTripician
NaluTripician previously approved these changes May 13, 2026
aavasthy
aavasthy previously approved these changes May 13, 2026
ananth7592
ananth7592 previously approved these changes May 13, 2026
Comment thread changelog.md Outdated
@kundadebdatta kundadebdatta dismissed stale reviews from ananth7592, aavasthy, and NaluTripician via 0e1ffc3 May 13, 2026 23:33
Copy link
Copy Markdown
Member

@kushagraThapar kushagraThapar left a comment

Choose a reason for hiding this comment

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

LGTM, thanks @kundadebdatta

Copy link
Copy Markdown
Member

@FabianMeiswinkel FabianMeiswinkel left a comment

Choose a reason for hiding this comment

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

LGTM

@kundadebdatta kundadebdatta merged commit 01ba314 into main May 14, 2026
7 checks passed
@kundadebdatta kundadebdatta deleted the users/kundadebdatta/update_change_log_entries branch May 14, 2026 03:01
NaluTripician added a commit that referenced this pull request May 14, 2026
… release-copilot-agent (#5864)

## Summary

Moves the .NET Cosmos SDK and the FaultInjection package from
release-time PR-title-derived
changelogs to per-PR manual entries under a persistent `### Unreleased`
section, matching the
Java and Python SDK pattern.

After this PR:
- Every PR that touches `Microsoft.Azure.Cosmos/src/**` or
`Microsoft.Azure.Cosmos/FaultInjection/src/**` must add (or justify the
absence of) a changelog entry under `### Unreleased` in the
corresponding `changelog.md`.
- The release agent (now exclusively in the toolkit) reads that section,
reconciles it, and closes it with a version+date at release time.

**This PR must be reviewed as a pair with the cosmos-sdk-copilot-toolkit
PR:**

**[azure-data-database-platform/cosmos-sdk-copilot-toolkit#68](https://github.com/azure-data-database-platform/cosmos-sdk-copilot-toolkit/pull/68)**
Do not approve one without the other.

Background: [Issue
#5858](#5858),
[PR #5860](#5860)
(retroactive fix-up, separate in-flight).

## Files Changed

### Changelogs (Unreleased section structure)

| File | Action | Notes |
|---|---|---|
| `changelog.md` | Edit | Adds `### Unreleased` block with four
subsections. Includes PR #5851 (Change Feed Estimator) pre-staged under
`#### Bugs Fixed`. |
| `Microsoft.Azure.Cosmos/FaultInjection/changelog.md` | Edit | Prepends
`### Unreleased` block (anchor: `unreleased-faultinjection`). Existing
beta sections untouched. |

### Contributor documentation

| File | Action | Notes |
|---|---|---|
| `CONTRIBUTING.md` | Edit | Inserts `## Changelog entry` section after
Contribution flow. Includes: where to add, how to write, verb→subsection
table, [Internal] definition, preview-feature carve-out, reviewer
checklist, merge conflict guidance. |
| `PULL_REQUEST_TEMPLATE.md` | Edit | Appends `## Changelog` block with
two checkboxes. |

### AI / Copilot guidance

| File | Action | Notes |
|---|---|---|
| `.github/copilot-instructions.md` | Edit | (1) Adds `Changelog entry
required` bullet. (2) Adds `Changelog classifier` 4-step rubric
immediately after. (3) Replaces ReleaseCopilotAgent bullet with pointer
to toolkit skills. |

### Release flow (in-repo agent retired)

| File | Action | Notes |
|---|---|---|
| `.github/agents/release-copilot-agent.agent.md` | **Delete** | Retired
— toolkit skills are now the sole canonical source. Audit confirmed only
`copilot-instructions.md` referenced it (updated in this PR). |

### CI

| File | Action | Notes |
|---|---|---|
| `.github/workflows/prlint.yml` | Edit | Updates
`on-failed-regex-comment` only. Title regex line 16 is **unchanged**.
Removes false "used to help generate the changelog" claim; replaces with
accurate [Internal] definition pointing to CONTRIBUTING.md. |
| `.github/workflows/changelog-check.yml` | **Create** | Soft
non-blocking workflow: posts a reminder comment when a PR touches
shipped source but not the changelog. Skippable via
`no-changelog-needed` label. Uses
`marocchino/sticky-pull-request-comment@v2` (community action — requires
org allow-list if not already permitted; inline fallback documented in
spec §5.11). |

## What this does NOT change

- **No public API change.** No GenAPI run needed.
`ContractEnforcementTests.cs` not affected.
- **No wire / serialization change.**
- **No production code under** `Microsoft.Azure.Cosmos/src/` or test
code.
- **No version bump.** `Directory.Build.props` untouched.
- **Historical changelog sections** (`### 3.59.0`, `### 3.58.0`, etc.)
are **untouched** — existing anchors continue to work.
- **prlint.yml title regex** is **unchanged** (line 16).
- **Encryption / Encryption.Custom changelogs** — deferred per gate
decision Q1. FaultInjection is in scope.

## Side Effects (from landscape analysis)

- 🟢 MINOR SE-1: `scrape_changelogs.py` regex — `Features Added` already
covered; `Bugs Fixed`/`Breaking Changes`/`Other Changes` not extracted
by the script (pre-existing gap in feature-parity dashboard; not a
regression from this PR). Script runs unchanged.
- 🟢 MINOR SE-2: First release after merge: reconciliation sweep will
show every prior-merged PR as "no bullet in Unreleased" — expected.
Release skill now includes transition-release note for the operator.
- 🟢 MINOR SE-3: `[Internal]` meaning shift — now a review hint only; no
longer affects changelog generation. CONTRIBUTING.md,
copilot-instructions.md, and prlint comment all updated consistently.
- 🟢 MINOR SE-4: Merge conflicts in `### Unreleased` — guidance added to
CONTRIBUTING.md ("take both bullets").
- 🟢 MINOR SE-5: Author awareness — PR template, CONTRIBUTING.md, and
copilot-instructions.md all surface the rule at PR-author time.
- 🟡 POTENTIAL SE-8: `marocchino/sticky-pull-request-comment@v2` requires
org allow-listing in Actions settings. If not permitted, the
changelog-check job will fail (silently, since it's non-blocking).
Fallback: swap for inline `gh pr comment` step with an HTML comment
marker — documented in spec §5.11.

## Skeptic Pass

**Q1: What didn't I look at?**
- Encryption / Encryption.Custom changelogs (explicitly deferred per
gate decision).
- ADO pipeline definitions (not in scope — no pipeline change needed for
a process-only change).
- Open in-flight PRs that may land before this merges and create
Unreleased merge conflicts. Those PRs will add bullets to a section that
doesn't exist yet (on main); once this merges the conflict is trivial to
resolve (keep both bullets).

**Q2: What assumption could be wrong?**
- Assumption: PR #5851 (pre-staged under `#### Bugs Fixed`) will either
merge before this PR or the merge conflict will be handled by the
standard "take both bullets" rule. If #5851 merges to main after this PR
merges, the Unreleased section will already be there with the bullet.
- Assumption: `marocchino/sticky-pull-request-comment@v2` is permitted
in the org. If it isn't, the comment step fails silently (soft check —
merge not blocked).

**Q3: Who didn't I think about?**
- External contributors: the PR template `## Changelog` block will be
visible to forks. This is intentional — the rule applies to all PRs.
- Release engineers in the window between this merge and the toolkit PR
merge: the skill still exists with the old behavior. Both PRs should
merge same-day; the spec calls out reviewing them as a pair.

**Q4: What would break in a scenario I haven't tested?**
- A release operator runs Mode 1 of `cosmos-release-dotnet` before the
first PR with a changelog entry lands post-merge. The Unreleased section
would be empty. The reconciliation step (§1.2.2) would surface many gaps
(expected). The transition-release note handles this.

## Quality Gates

- ✅ YAML validity: `prlint.yml` and `changelog-check.yml` both parse
cleanly (`python -m yaml` validated).
- ✅ No production code modified.
- ✅ Three-places alignment: `CONTRIBUTING.md`,
`copilot-instructions.md`, and `changelog-check.yml` comment all state
the same rule with consistent wording.
- ✅ Agent deletion audit: only `copilot-instructions.md` referenced
`release-copilot-agent.agent.md` (confirmed via grep pre-deletion;
updated in this PR to a retirement notice).
- ✅ `scrape_changelogs.py`: verified regex handles `Features
Added`/`Added`; `Bugs Fixed` gap is pre-existing and documented.
- ✅ No new unit/integration tests (no production code under change).
- ⚠️ `marocchino/sticky-pull-request-comment@v2`: community action —
requires org allow-list entry if not already permitted.

## Reviewer guidance

Please review together with
[cosmos-sdk-copilot-toolkit#68](https://github.com/azure-data-database-platform/cosmos-sdk-copilot-toolkit/pull/68).
Do not approve one without the other.

Requested reviewers: @kirankumarkolli + one of @Kushagra Thapar /
@fabian-meiswinkel / @debdatta-kunda

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants