Skip to content

Record the CHANGELOG entries for twenty merged changes - #2980

Merged
erikdarlingdata merged 2 commits into
devfrom
chore/consolidated-changelog-entries
Sep 5, 2026
Merged

Record the CHANGELOG entries for twenty merged changes#2980
erikdarlingdata merged 2 commits into
devfrom
chore/consolidated-changelog-entries

Conversation

@erikdarlingdata

Copy link
Copy Markdown
Owner

Twenty entries for changes that are already merged, plus fourteen link definitions for citations that had none. CHANGELOG.md is the only file touched, and no existing line is modified — git diff --numstat against the merge base is 34 0.

Why the entries were not written by the changes themselves

A CHANGELOG.md edit lands in the same ## [Unreleased] subsections as every other open PR, so any two of them conflict. With five to eleven PRs open at once that was the binding constraint on throughput rather than review or CI: merging one re-conflicted the rest, and a conflicting PR here dispatches no pull_request workflows at all, because the merge ref cannot be computed — so each merge cost a full CI cycle on every sibling before any of them could go green again. Measured at the time: merging one PR conflicted four of the other five.

Collecting the text as each change merged and writing it once removes the serialization point entirely. Eleven open PRs went CLEAN simultaneously when the CHANGELOG hunks were stripped out of them.

What is in it

Eighteen under ### Fixed, two under ### Added. The ### Added pair are the two that add a guard rather than repair a defect — a convergence idempotence assertion, and the pin that stops a new command-timeout pin arriving with a private copy of the deadline judgement.

Attribution runs to the pull request that made each change, or to the issue where one backs it.

Verification

  • Every attributed change is merged. All twenty PRs report merged: true; the one issue reference is CLOSED/COMPLETED.
  • No entry duplicates one already present. Matched on the bold headline, which is unique per entry, against dev's 1,151 — positive-controlled by confirming the matcher finds all 1,151 of dev's own headlines in dev. One ledger entry was already on dev (memory_pressure_events.sample_time, restored by its own lane) and is correctly omitted; a citation-based match would have been useless here, since [#2874] alone appears in dozens of existing bullets.
  • No duplicated headline anywhere in [Unreleased] after the insert — a set-difference check cannot see a line added twice, which is how a duplicate shipped earlier.
  • Every citation resolves. [Unreleased] had zero undefined citations before this change and has zero after; thirty-six distinct citations across the new bullets needed fourteen new definitions.
  • Each definition points at the right object type, checked against the API rather than inferred — two were written as /issues/ and corrected to /pull/.
  • Line endings: 3,353 CRLF, zero lone LF, zero lone CR in the working tree; the committed blob carries zero CR bytes, matching .gitattributes.

Not verified

The bullet text is as the lane that made each change reported it. I confirmed each describes a merged change and is absent from the file, not that every measurement quoted inside it is accurate — those were verified when the changes themselves landed, and re-deriving them here would mean re-running work already reviewed on twenty PRs.

#2971 merged while this was being assembled and has no entry here; its text did not come to me.

The entries for these changes were reported by the lanes that made them
rather than written into the file, because a CHANGELOG edit conflicts every
other open PR against the same section: with five to eleven PRs open at once,
merging any one of them re-conflicted the rest and capped throughput at one
merge per CI cycle. Collecting the text and writing it once removes that
serialization point.

Eighteen entries under Fixed, two under Added, and fourteen link definitions
for citations that had none. No existing line is modified.
@claude

claude Bot commented Sep 5, 2026

Copy link
Copy Markdown

Review

This PR touches only CHANGELOG.md (34 additions, 0 deletions) — no T-SQL, C#, or config changes, so the CONTRIBUTING.md T-SQL style rules and Lite/Darling parity requirements don't apply here. Reviewed as a documentation-integrity change.

Independently verified the PR description's claims:

  • Link definitions: no duplicate [#NNNN]: definitions anywhere in the file; every [#NNNN] citation used in the new bullets resolves to a definition (either one of the 14 newly added, or a pre-existing one); all 14 new definitions are actually cited in body text (no orphans).
  • Object type correctness: spot-checked the four new /issues/ links (#2933, #2937, #2942, #2953) against gh pr view — none resolve as pull requests, consistent with them being filed as issues rather than PRs.
  • Merged status: spot-checked 10 of the 20 attributed PRs (#2927, #2929, #2938, #2940, #2960, #2964, #2966, #2967, #2972, #2973) via gh pr view — all report state: MERGED, with merge timestamps clustered 2026-09-04/05, consistent with the "just landed" framing.
  • Section counts: 2 new bullets under ### Added + 18 under ### Fixed = 20, matching the "twenty entries" claim.
  • No duplicate headlines introduced: the only bold-headline repeats in the whole file (GUI installer, SQL Server version check, Schema upgrade, SignPath code signing, Trace pattern drill-down, UI hang) are pre-existing short category labels far outside this diff's line ranges, not new duplicates.
  • Line endings: file is CRLF throughout per file(1), consistent with .gitattributes and the PR's claim.
  • The one bare #2943 reference with no [...] brackets (no link, no definition) matches an existing house pattern already used elsewhere in the file (e.g. (#1631 ...), (#1262 ...)) for parenthetical asides that aren't meant to be indexed citations — not an oversight.

No correctness, security, or performance concerns — this is a records-only change with no runtime effect. Nothing to flag.

@erikdarlingdata
erikdarlingdata merged commit b881664 into dev Sep 5, 2026
6 checks passed
@erikdarlingdata
erikdarlingdata deleted the chore/consolidated-changelog-entries branch September 5, 2026 02:22
erikdarlingdata added a commit that referenced this pull request Sep 9, 2026
…ix merged pull requests (#3213)

* Record the CHANGELOG entries for thirty-one changes across twenty-five merged pull requests

Applies the `[Unreleased]` entries for the pull requests merged to `dev` from #3150 (the
previous batch) through #3203. Lanes do not edit `CHANGELOG.md` -- every one of them appends
to the same block, so a per-PR edit conflicts with whichever sibling merges first -- and the
entry text rides each PR's own description instead. This is the periodic commit that applies
it.

`CHANGELOG.md` only, 56 insertions and no deletions: 31 entries prepended inside
`## [Unreleased]` (6 under `### Added`, 2 under `### Changed`, 23 under `### Fixed`), newest
merge first within each section, plus the 25 link-reference definitions they need appended at
the foot of the file. Nothing already in the block was edited, reworded or reordered.

Three of the 28 pull requests in the range earn no entry, each on measured precedent rather
than judgement: #3150 is the previous batch pass itself, and no batch pass -- #2260, #2980,
#3150 -- is cited anywhere in the file; #3130 and #3131 are routine Dependabot bumps, and
none of the six merged Dependabot pull requests in the repository's history is cited either.

Two pull requests carried no entry text anywhere, so theirs are written from their
descriptions: #3176 (`pg_index_bloat`'s measured block rate) and #3184 (the PostgreSQL
target's permissions section).

* Record #3205's entry, which arrived on the merged base mid-batch

#3205 merged while this batch was assembled, so `origin/dev` was merged in rather than rebased
and its entry lands on top. An entry omitted because it arrived mid-batch is how a backlog
restarts, and the batch's purpose is to make `[Unreleased]` current at its own merged base.

One entry under `### Changed`, newest merge first ahead of #3195's, plus its link-reference
definition. #3205 has no other pull request in the range behind it.

* Take #3164's and #3166's entries from the lane handoff files instead of the PR bodies

The entry text does not only ride the PR description. #3150's own account of the previous
batch says 11 of its 66 entries came from a lane's handoff file in
`~/Documents/pm-issue-queue-inbox/inbox/` rather than the body, and three files there carry
dedicated entry text inside this range: `3164-changelog-entry.md`, `3166-changelog-entry.md`
and `3169-changelog-entry.md`. Searching only the bodies missed the first two.

- **#3164** (PR #3176) is no longer written from the PR description. Its lane wrote a full
  entry, and that text is used verbatim: it carries the 1,036 blocks/s upper bound, the
  reason the decoupling #3153 deferred is unreachable, the declined command-deadline route,
  the census deliberately not restated at the new ceiling, and the mutation that caught
  nothing. `[#2997]` joins the definition block at its ascending position, which that text
  cites and the file did not define.
- **#3166** (PR #3168, absorbed and superseded by #3178) had no entry at all. #3178 grouped
  it into its own citation with a one-line summary, but its lane wrote a separate entry for
  the census that took `HeaviestHourlyRefreshObservedCeilingSeconds` from 594 s to 896 s and
  inverted the watch-line ordering. It sits beside #3178's, on #3178's merge.
- **#3191's entry** said "#3184 named four of the six". #3184 was squash-merged and the
  four-of-six state never reached `dev`; it was a commit inside that PR, corrected before
  merge. "shipped" in this file means merged, so the clause now says a commit in #3184, which
  is what the #3187 lane's own report establishes.

`CHANGELOG.md` only, 60 insertions and no deletions against `origin/dev`: 33 entries
(6 Added, 3 Changed, 24 Fixed) and 27 definitions. All 15 definition runs keep the ordering
they had, 9 of 15 ascending before and after.

* Use the staged #3184 entry text instead of one written from the PR description

#3184's entry now exists, staged by the lane that did the work, so the batch no longer
invents one. Used verbatim, in `### Fixed` where its author targeted it and for the reason
they gave: the section did not merely lack detail, it asserted "One role covers every
collector", which is false in the direction that fails silently and which an operator would
act on.

Their text carries what a description-derived entry could not: the `pg_read_all_data` grant
is PostgreSQL 14+ and the pre-14 fallback the section gave was `GRANT SELECT` on a schema,
which is not valid PostgreSQL at all; the six collectors that need an extension, four of
which additionally need `shared_preload_libraries` and a server restart; and why
`pg_index_bloat` is unaffected by any grant. Both figures are live pre-change store reads
rather than estimates.

The citation is `[#3184]`, the pull request, because the change has no issue behind it, and
its definition uses the `/pull/` form. `CHANGELOG.md` only, still 60 insertions and no
deletions against `origin/dev`.
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.

1 participant