On Thu, Aug 15, 2024 at 3:04 PM Heikki Linnakangas <hlinn...@iki.fi> wrote: > Perhaps we should even change it to return > 300000 for protocol version 3.0, and just leave a note in the docs like > "in older versions of libpq, this returned 3 for protocol version 3.0".
I think that would absolutely break current code. It's not uncommon (IME) for hand-built clients wrapping libpq to make sure they're not talking v2 before turning on some feature, and they're allowed to do that with a PQprotocolVersion() == 3 check. A GitHub code search brings up examples. As for 30001: I don't see the value in modifying an exported API in this way. Especially since we can add a new entry point that will be guaranteed not to break anyone, as Robert suggested. I think it's a POLA violation at minimum; my understanding was that up until this point, the value was incremented during major (incompatible) version bumps. And I think other users will have had the same understanding. --Jacob