PostgreSQL supports protocol minor version negotiation, where if a client attempts to connect with protocol version 3.1, the server may send a NegotiateProtocolVersion message with the highest supported minor version. See https://www.postgresql.org/docs/current/static/protocol.html.
At this point there isn't any minor version and Npgsql always connects with protocol 3.0, so this isn't really needed, but we can still implement the infrastructure.