it looks like pact-php saves the message pacts to 2.0.0. it has the ability to set the pact spec version
here but it isn’t passed into the
update function
It is using this library under the hood
https://github.com/pact-foundation/pact-message-ruby
updating the pact version, has no bearing on how the contents are laid out in the pact file. Pact-Python also still uses the ruby libs, and sets the value to 3.0.0
tbh I don’t believe it should be writing at 2.0.0 as messages were introduced in the 3.0.0 spec. Can can probably just update the version in the pact file and see how you go on the provider verification side, but would recommend migrating to the ffi branch of pact-php to utilise the new rust core (and proper v3/v4 spec support)