Re: First draft of PG 19 release notes
Bruce Momjian <bruce@momjian.us>
On Wed, Apr 15, 2026 at 10:21:34AM -0700, Jacob Champion wrote: > On Wed, Apr 15, 2026 at 9:57 AM Bruce Momjian <bruce@momjian.us> wrote: > > I have used your text above. FYI, the commit message only has this for > > author: > > > > Co-authored-by: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com> > > The pattern of "a missing Author means the committer is the primary > author" was discussed at [1]; you asked if Co-authored-by was used > that way, and the answer was "yes". I use it, too. Well, I am guessing you didn't read this thread fully: https://www.postgresql.org/message-id/flat/adElLtegJxi6Yecv%40momjian.us which opened with the question: In the PG 19 commits, I am seeing several commits with Author and Co-authored-by tags. FYI, I think we agreed that only the Author names are mentioned as the authors in the release notes. and I was told that authors and "Co-authored-by" should be listed; they are effectively the same, except that github recognizes "Co-authored-by". I _thought_ the plan from January 2025 until March 2026 was: https://wiki.postgresql.org/wiki/Commit_Message_Guidance Author: Co-authored-by: Used to indicate the patch authors. "Co-authored-by:" is used by committers when they want to give full credit to the named individuals, but also indicate that they made significant changes. This was specifically for "Co-authored-by:" == committer, but the text was not clear enough. However, that doesn't match your usage where a missing "Author" is considered to be the committer. At [1], https://postgr.es/m/adO73c_EJKi05smk, I said: Wow, I never thought that was a valid pattern, but I see a few PG 19 commit messages using that, e.g.: Author: Peter Eisentraut <peter(at)eisentraut(dot)org> 2025-08-12 [5f19d13df] libpq: Set LDAP protocol version 3 libpq: Set LDAP protocol version 3 Some LDAP servers reject the default version 2 protocol. So set version 3 before starting the connection. This matches how the backend LDAP code has worked all along. Co-authored-by: Andrew Jackson <andrewjackson947(at)gmail(dot)com> Reviewed-by: Pavel Seleznev <pavel(dot)seleznev(at)gmail(dot)com> Discussion: https://www.postgresql.org/message-id/flat/CAKK5BkHixcivSCA9pfd_eUp7wkLRhvQ6OtGLAYrWC%3Dk7E76LDQ%40mail.gmail.com Is that what people are using? A missing Author, and co-authors means the committer is the author? Right? Shouldn't we document this? That does give a unique use for Co-authored-by. However, later emails said: https://www.postgresql.org/message-id/CA%2BTgmob_tz0%2BT1CcyTFwgQVThsoezY2fKib%3Dr%2BukAvVBXwM1gg%40mail.gmail.com This whole discussion is crazy to me. Every Author and Co-Author should be listed in the release notes. If there is no author or co-author named in the commit message, then the committer should be listed as the sole author; otherwise, the exact list of authors and co-authors that the committer chose to include in the commit message should be credited. and there are more emails saying that, so that is the rule I used, and documented on the wiki is: https://wiki.postgresql.org/wiki/Commit_Message_Guidance Used to indicate the patch authors. If no "Author" or "Co-authored-by" is listed, the committer is assumed to be the author. What I also said in the thread was: What I don't want to do is to re-litigate this again, and usually if we ignore what people said in the past, they will show up at some later time to try to undo what we are doing now. I created the PG 19 release notes with Author == "Co-authored-by:", so if committers have not done that for PG 19, I need them to either inform me of the rules they used, supply a release note patch, or change the release notes themselves. And hopefully use agreed-upon rules in the future, whatever we decide those are. -- Bruce Momjian <bruce@momjian.us> https://momjian.us EDB https://enterprisedb.com Do not let urgent matters crowd out time for investment in the future.
Commits
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
doc PG 19 relnotes: remove VALIDATE CONSTRAINT lock item
- 2dab2ce3d781 19 (unreleased) landed
-
Fix ALTER DOMAIN VALIDATE CONSTRAINT locking
- 64797ad97d6e 19 (unreleased) cited
-
Revert "Enable fast default for domains with non-volatile constraints"
- a0354e29c41a 19 (unreleased) cited
-
doc PG 19 relnotes: improve awkward or confusing wording
- eb77a521996f 19 (unreleased) landed
-
doc PG 19 relnotes: more fixes
- 8656ba7f7187 19 (unreleased) landed
-
doc PG 19 relnotes: various corrections
- 1d751b4b6b01 19 (unreleased) landed
-
doc PG 19 relnotes: adjust item to mention pg_replication_slots
- cfedd4513357 19 (unreleased) landed
-
doc PG 19 relnotes: remove "Add fake LSN support to hash index"
- 41b60bf172ef 19 (unreleased) landed
-
doc PG 19 relnotes: add two optimizer hooks
- cac0f24eb57f 19 (unreleased) landed
-
doc PG 19 relnotes: remove "Optionally" for CPU optimizations
- 06fccab4c61b 19 (unreleased) landed
-
doc PG 19 relnotes: adjustments/removal of items
- 8974a7c433d3 19 (unreleased) landed
-
doc PG 19 relnotes: add UTF-8 case folding performance item
- 12ca57bf346f 19 (unreleased) landed
-
doc PG 19 relnotes: correct two items
- 2d773a9f005f 19 (unreleased) landed
-
doc PG 19 relnotes: add missing commits and details
- 4c0f1e491018 19 (unreleased) landed
-
doc PG 19 relnotes: fix typo, "date" -> "data"
- 158d8fadd79f 19 (unreleased) landed
-
doc PG 19 relnotes: add author and move items
- 191a037d4f2d 19 (unreleased) landed
-
doc PG 19 relnotes: update author
- af1ed03739fb 19 (unreleased) landed
-
doc PG 19 relnotes: add free space map all-visible item
- be324941262b 19 (unreleased) landed
-
doc PG 19 relnotes: remove "Lakshmi N" as author of checksums
- 75693dc5b72e 19 (unreleased) landed
-
doc PG 19 relnotes: fix "now targets"
- caebf165098f 19 (unreleased) landed
-
doc PG 19 relnotes: adjust ShmemRequestStruct item
- e70ac90d95a2 19 (unreleased) landed
-
Improve various new-to-v19 appendStringInfo calls
- 49ce41810fac 19 (unreleased) cited
-
doc: Fix data_checksums data type
- b364828f825a 19 (unreleased) cited
-
Fix WITHOUT OVERLAPS' interaction with domains.
- 4edd6036d69c 19 (unreleased) cited
-
Online enabling and disabling of data checksums
- f19c0eccae96 19 (unreleased) cited
-
Doc: split functions-posix-regexp section into multiple subsections.
- 00c025a00117 19 (unreleased) cited
-
make immutability tests in to_json and to_jsonb complete
- ecd9288624a1 19 (unreleased) cited
-
Optimize tuple deformation
- c456e3911380 19 (unreleased) cited
-
pgstattuple: Optimize pgstattuple_approx() with streaming read
- ae58189a4d52 19 (unreleased) cited
-
Use fake LSNs to improve nbtree dropPin behavior.
- 8a879119a1d1 19 (unreleased) cited
-
Use streaming read for VACUUM cleanup of GIN
- 6c228755add8 19 (unreleased) cited
-
Clean up ICU includes.
- af2d4ca191a4 19 (unreleased) cited
-
ICU: use UTF8-optimized case conversion API
- c4ff35f10441 19 (unreleased) cited
-
Add the MODE option to the WAIT FOR LSN command
- 49a181b5d634 19 (unreleased) cited
-
Speedup tuple deformation with additional function inlining
- 58a359e585d0 18.0 cited