V2 definitely provides the widest compat because they support anything that uses a verifier based on the ruby implementation,
That being said, if the user is aware they are verifying a v3 pact against a ruby verifier, that they could switch to the command line version, if their language doesn’t currently have the rust verifier exposed.
V2 just makes it easier to talk about at a simpler level but loses lots of features (message pact in v3), (multi diff interaction types in one pact in v4, plugin support)
Ideally by the end of the year, most of the key languages will support v4, and I’d love to be at a point where the default is v4 and you only drop back to v3/v2 if required for compat