Re: First draft of PG 17 release notes

Jelte Fennema-Nio <postgres@jeltef.nl>

From: Jelte Fennema-Nio <postgres@jeltef.nl>
To: Bruce Momjian <bruce@momjian.us>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>, Nathan Bossart <nathandbossart@gmail.com>, pgsql-hackers@postgresql.org
Date: 2024-09-10T06:28:42Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Revert support for ALTER TABLE ... MERGE/SPLIT PARTITION(S) commands

  2. When creating materialized views, use REFRESH to load data.

  3. Revert temporal primary keys and foreign keys

  4. Avoid needless large memcpys in libpq socket writing

  5. Enhance nbtree ScalarArrayOp execution.

  6. Introduce a non-recursive JSON parser

  7. Combine freezing and pruning steps in VACUUM

  8. Allow SIGINT to cancel psql database reconnections.

  9. Provide API for streaming relation data.

  10. Add hash support functions and hash opclass for contrib/ltree.

  11. Pull up ANY-SUBLINK with the necessary lateral support.

  12. Read WAL directly from WAL buffers.

  13. Introduce the dynamic shared memory registry.

  14. Add macros for looping through a List without a ListCell.

  15. Support +/- infinity in the interval data type.

  16. Extend ALTER OPERATOR to allow setting more optimization attributes.

  17. Consider cheap startup paths in add_paths_to_append_rel

On Tue, 10 Sept 2024 at 04:47, Bruce Momjian <bruce@momjian.us> wrote:
> Yes.  There are so many changes at the source code level it is unwise to
> try and get them into the main release notes.  If someone wants to
> create an addendum, like was suggested for pure performance
> improvements, that would make sense.

I agree that the release notes cannot fit every change. But I also
don't think any extension author reads the complete git commit log
every release, so taking the stance that they should be seems
unhelpful. And the "Source Code" section does exist so at some level
you seem to disagree with that too. So what is the way to decide that
something makes the cut for the "Source Code" section?

I think as an extension author there are usually three types of
changes that are relevant:
1. New APIs/hooks that are meant for extension authors
2. Stuff that causes my existing code to not compile anymore
3. Stuff that changes behaviour of existing APIs code in a
incompatible but silent way

For 1, I think adding them to the release notes makes total sense,
especially if the new APIs are documented not only in source code, but
also on the website. Nathan his change is of this type, so I agree
with him it should be in the release notes.

For 2, I'll be able to easily find the PG commit that caused the
compilation failure by grepping git history for the old API. So having
these changes in the release notes seems unnecessary.

For 3, it would be very useful if it would be in the release notes,
but I think in many cases it's hard to know what commits do this. So
unless it's obviously going to break a bunch of extensions silently, I
think we don't have to add such changes to the release notes.