On 12.06.24 16:47, Robert Haas wrote:
> On Mon, Jun 3, 2024 at 3:39 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Me either. There are degrees of ABI compatibility
>
> Exactly this!
>
> What I think would be useful to document is our usual practices e.g.
> adding new struct members at the end of structs, trying to avoid
> changing public function signatures. If we document promises to
> extension authors, I don't know how much difference that will make:
> we'll probably end up needing to violate them at some point for one
> reason or another. But if we document what committers should do, then
> we might do better than we're now, because committers will be more
> likely to do it right, and extension authors can also read those
> instructions to understand what our practices are.
Fun fact: At the end of src/tools/RELEASE_CHANGES, there is some
guidance on how to maintain ABI compatibility in *libpq*. That used to
be a problem. We have come far since then.
But yes, a bit of documentation like that (maybe not in that file
though) would make sense.