Repository navigation
Record the CHANGELOG entries for sixty-five merged changes - #3150
Conversation
Appends 69 entries to the [Unreleased] block — 10 Added, 13 Changed, 46 Fixed — collected from the bodies of the 84 pull requests merged to dev since 8210012, plus the 70 issue link-reference definitions they need.
|
Reviewed. This PR touches only
No issues found. |
|
Reviewed. This PR touches only Verified the mechanical part of the aggregation:
No issues found. |
|
Reviewed against the T-SQL style, Lite/Darling parity, security, correctness, and performance criteria — none apply here, since the diff is Structural checks performed on the resulting file:
No findings. This is a mechanical aggregation of already-reviewed PR entries, so I did not re-litigate the substance of those 66 individual changelog blurbs — the review scope for this PR is the aggregation itself, which looks correct. |
|
Claude posting for Erik Darling Correction to the merged commit's own numerals, recorded here because the commit is immutable and this is the nearest durable surface to it. The squash subject on The artefact is right; only those numerals are stale. What actually landed:
The description above is correct on all of these; the second commit message in the squash body also records #3147's entry being added "with the one link-reference definition it needs", so 69+1 and 70+1 are reconstructable from the message itself. Deliberately not editing the title. Retitling to "sixty-six" would make this page disagree with the commit it produced, and a title/commit divergence is worse for anyone tracing How it happened, since the mechanism generalises. When #3147's entry was authorised the description was re-audited numeral by numeral against the artefact — 20 claims, all passing. But that audit's population was the PR body and nothing else. The PR title and the commit messages were never in it, and GitHub derives the squash subject from the title. So a stale figure sat two surfaces away from a thorough check that structurally could not fail on it. That is the same defect class this batch's own entries keep describing: a check shaped like the answer, passing inside its population while identical figures go unverified outside it. The earlier catch in this PR — a description claiming "four PRs contributed more than one entry" while listing three — was luck of population rather than rigour, because that numeral happened to live in the body. |
…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.
…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`.
Appends the collected
[Unreleased]entries for the 85 pull requests merged todevfrom8210012bc(the previous batch, #2984) through #3147. Lanes do not editCHANGELOG.md— every one of them appends to the same[Unreleased]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.What is in the diff
CHANGELOG.mdonly, 141 insertions and no deletions: 70 entries prepended inside## [Unreleased]— 10 under### Added, 13 under### Changed, 47 under### Fixed— plus the 71 link-reference definitions those entries need, appended to the block at the foot of the file. Entries are ordered newest-merge-first within each section, matching the file's existing order. Nothing already in the block was edited, reworded or reordered.Base
origin/devmoved twice while this was assembled. Both were merged in rather than rebased, so33211034eis intact in the history: #3149 landed during the survey and #3147 landed after it closed, arriving as the merged base. Both carry entry text and both are included, #3147's in a commit of its own 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. There is no PR in the range whose entry this diff knowingly lacks.Where the text came from
85 pull requests in the range. 66 contributed an entry, 19 did not.
Of the 66, 54 carried their entry text under a heading in their own body, one (#3033) carried it under a bare paragraph rather than a heading, and 11 carried it in the lane's handoff file rather than the PR body (#3040, #3042, #3046, #3075, #3077, #3078, #3079, #3080, #3084, #3085, #3086). The text is used close to verbatim; where a lane wrote a plain bullet, its own opening clause is bolded to match the shape every existing entry in the block uses, and a redundant
Fixed:/Added:prefix is dropped where the section heading already says it. Three PRs contributed more than one entry because they fixed more than one thing: #3027 (two), #3056 (three, across### Fixedand### Added), #3117 (two).Two entries needed a choice recorded here. #3077's lane offered a first draft and a post-review final; the final is used, because the draft cites a count of inadmissible readings the lane says a third reading falsified mid-review. #3079 and #3085 each offered a full entry and a one-liner; the full form is used.
Section placement follows the block's existing treatment of guard work rather than a rule invented here: a guard that never existed is
Added(#3081, #3083, #3049's grid check), a guard whose reach was widened as policy isChanged(#3063, #3067, #3074, #3076, #3082 — the shape[#2490]'s entries already sit underChanged), and a guard that gave a wrong answer isFixed(#3052, #3088, #3094, #3140 — the shape[#2927]'s entry already sits underFixed).The 19 with no entry
Two say so themselves: #3043 ("a comment aligning with a naming convention is not a user-visible change and does not earn a line") and #3020 ("no behaviour change — every edit is inside a comment or a changelog line"; it is also the only PR in the range that touched
CHANGELOG.md, a one-line placeholder scrub already ondev).Seventeen have no entry text in the PR body, in the lane handoff files, or anywhere else searched, and are not covered by the existing block: #2982, #2983, #2985, #2986, #2987, #2988, #2989, #2990, #2992, #2998, #3000, #3001, #3002, #3003, #3005, #3007, #3025. All 17 merged between 22:44 on 09-04 and 10:34 on 09-05, before the entry-rides-the-description routing settled. Several are user-visible (#2985 takes the default trace's archival-empty cutoff from the server's clock, #3000 screens
rdsadminout of per-database enumeration, #3003 boundspg_index_bloatby bytes, #3007 derives the viewer's interactive read deadline from its fan-out width). No entry is invented for them here — these entries cite measurements only the lane that did the work can vouch for — so they want a backfill in the shape of #2260.How the count was checked
Two ways that fail differently.
git diffreports 70 added-lines and 71 added link definitions, totalling the 141 in the diffstat; independently, re-parsing the written file and subtracting the per-section counts measured before any edit (96 / 15 / 143) gives a delta of exactly 10 / 13 / 47. Separately, every one of the 66 contributing PRs is asserted to have its issue reference present among the added lines, and every added line is asserted to be non-trivial and house-shaped rather than merely present.The extractor was also run twice. A first pass that treated any heading as a section terminator lost #3149's entry completely, because that entry sits inside a fenced block whose first line is
### Fixed; a fence-aware pass recovered it and agreed with the first pass on all 53 others; #3147's entry was extracted with that same fence-aware pass.[Cc]hangelogdoes not matchCHANGELOG, and requiringCHANGELOGat a heading's start misses #3122 ("Proposed CHANGELOG entry"), #3146 ("Changelog entry for the coordinator") and #3117's###-level heading, so the search is case-insensitive, any level, and matches mid-line.CHANGELOG.mdis outsideFleetIdentifierScrubTests' population by construction, so CI does not scan this text for identifiers. The diff was scanned by hand against the guard's own two patterns and for RDS endpoints, ARNs, 12-digit account ids, dotted-quad and IPv6 addresses, and the fleet's own naming: clean. The one address-shaped token,2001:db8::1, is the RFC 3849 documentation prefix in #3030's account of a log-prefix regex;01:00:00and24:00:00are PostgreSQL interval literals.