pact-python/3.0.0
This is a complete rework from version 2.x and will require manual changes. The below change log reflects only the changes since the 3.0.0a1 release only, and the work leading up to 3.0.0 has been spread across a number of releases.
Please refer to the migration guide for a complete guide on how to migrate to 3.x. The consumer and provider docs have also been update to use the new interface.
🚀 Features
- [breaking] Default to v4 specification
Pact instances default to version 4 of the Pact specification (previously used version 3). This should be mostly backwards compatible, but can be reverted by using
with_specification("V3"). - Populate broker source from env
🚜 Refactor
- (ci) If statement
🎨 Styling
- (tests) Add sections
📚 Documentation
- Update changelog for pact-python/3.0.0a1
- Add mascot
- Give mascot outline
- Set mascot width and height
- (examples) Add requests and fastapi
- Generate llms.txt
- Update mkdocs material features
- Fix CI badge links
- Update matcher docs
- Improve matchers
- Improve generators
- Update for v3 and add migration guide
⚙️ Miscellaneous Tasks
- (ci) Remove spelling check
- (examples) Minor improvements
- Store hatch venv in .venv
- Update mismatch repr
- Save mismatches before exiting the server
- (examples) Remove old http example
- Fix sub-project git cliff config
- Hide import from traceback
- Fix flask integer coercion
- Add v3 matching rules test
- Add v4 matching rules tests
- (ci) Add publish as completion dependency
- (tests) Add generators to interaction defn
- (tests) Test v3 generators
- (test) Add v4 generators tests
- Re-add pytest rerunfailrure
- (tests) Add v3 http generators
- Prefer prek over pre-commit
- Disable reruns in vscode
- (ci) Fix prek caching
- (ci) Generate junit xml files
- Move mascot file out of root
- Update uuid format names
- Fix import warning
- Make Unset falsey
- [breaking] Rename abstract matcher class
The abstract
pact.match.Matcherclass has been renamed topact.match.AbstractMatcher. - [breaking] Rename abstract generator
The abstract
pact.generate.Generatorclass has been renamed topact.generate.AbstractGenerator. - Clarify explanation of given
- [breaking] Drop python 3.9 add 3.14
Python 3.9 is no longer supported.
- (ci) Disable 3.14 tests using pydantic
Contributors
Pull Requests
What's Changed
- docs: update changelog by @JP-Ellis in #1176
- chore(deps): update pre-commit hook crate-ci/typos to v1.35.4 by @renovate[bot] in #1177
- chore(deps): update astral-sh/setup-uv action to v6.5.0 by @renovate[bot] in #1178
- chore(ci): remove spelling check by @JP-Ellis in #1185
- docs: add mascot by @JP-Ellis in #1184
- docs: give mascot outline by @JP-Ellis in #1186
- docs: set mascot width and height by @JP-Ellis in #1188
- chore(deps): update ruff to v0.12.9 by @renovate[bot] in #1187
- chore(examples): minor improvements by @JP-Ellis in #1190
- docs(examples): add requests and fastapi by @JP-Ellis in #1191
- chore(deps): update pre-commit hook biomejs/pre-commit to v2.2.0 by @renovate[bot] in #1189
- chore(deps): update pypa/cibuildwheel action to v3.1.4 by @renovate[bot] in #1194
- chore(deps): update pre-commit hook crate-ci/typos to v1.35.5 by @renovate[bot] in #1193
- chore(deps): update taiki-e/install-action action to v2.58.17 by @renovate[bot] in #1192
- chore(deps): update codecov/codecov-action action to v5.5.0 by @renovate[bot] in #1195
- chore(deps): update ruff to v0.12.10 by @renovate[bot] in #1197
- chore(deps): update astral-sh/setup-uv action to v6.6.0 by @renovate[bot] in #1196
- chore(deps): update actions/upload-pages-artifact action to v4 by @renovate[bot] in #1198
- chore(deps): update pre-commit hook biomejs/pre-commit to v2.2.2 by @renovate[bot] in #1199
- chore(deps): update taiki-e/install-action action to v2.58.21 by @renovate[bot] in #1200
- chore: remove reference count checks by @JP-Ellis in #1201
- chore: store hatch venv in .venv by @JP-Ellis in #1202
- chore: update mismatch repr by @JP-Ellis in #1203
- chore: save mismatches before exiting the server by @JP-Ellis in #1204
- chore(examples): remove old http example by @JP-Ellis in #1205
- feat(ffi): upgrade lib to 0.4.28 by @JP-Ellis in #1206
- docs: update ffi changelog by @JP-Ellis in #1207
- chore: hide import from traceback by @JP-Ellis in #1208
- chore(ffi): clean up data directory by @JP-Ellis in #1209
- docs: update ffi changelog by @JP-Ellis in #1212
- chore(deps): update ruff to v0.12.11 by @renovate[bot] in #1214
- chore(deps): update pre-commit hook crate-ci/typos to v1.35.6 by @renovate[bot] in #1213
- chore(ci): add publish as completion dependency by @JP-Ellis in #1215
- chore(tests): add generators to interaction defn by @JP-Ellis in #1217
- chore: re-add pytest rerunfailrure by @JP-Ellis in #1219
- chore(deps): update astral-sh/setup-uv action to v6.6.1 by @renovate[bot] in #1218
- chore(deps): update pre-commit hook crate-ci/typos to v1.36.1 by @renovate[bot] in #1216
- chore(tests): add v3 http generators by @JP-Ellis in #1221
- chore(deps): update codecov/codecov-action action to v5.5.1 by @renovate[bot] in #1223
- chore(deps): update ruff to v0.12.12 by @renovate[bot] in #1224
- chore(deps): update pre-commit hook crate-ci/typos to v1.36.2 by @renovate[bot] in #1225
- chore(deps): update pypa/gh-action-pypi-publish action to v1.13.0 by @renovate[bot] in #1220
- chore(deps): update pre-commit hook biomejs/pre-commit to v2.2.3 by @renovate[bot] in #1226
- chore(deps): update softprops/action-gh-release action to v2.3.3 by @renovate[bot] in #1227
- chore(deps): update taiki-e/install-action action to v2.59.1 by @renovate[bot] in #1228
- chore(deps): update dependency cffi to v2 by @renovate[bot] in #1229
- chore(deps): update dependency pytest-cov to v7 by @renovate[bot] in #1230
- chore: prefer prek over pre-commit by @JP-Ellis in #1232
- chore: disable reruns in vscode by @JP-Ellis in #1233
- chore(deps): update ruff to v0.13.0 by @renovate[bot] in #1231
- chore(deps): update pre-commit hook biomejs/pre-commit to v2.2.4 by @renovate[bot] in #1234
- chore(deps): update dependency mypy to v1.18.1 by @renovate[bot] in #1235
- chore(deps): update astral-sh/setup-uv action to v6.7.0 by @renovate[bot] in #1236
- chore(deps): update taiki-e/install-action action to v2.61.3 by @renovate[bot] in #1237
- docs: generate llms.txt by @JP-Ellis in #1244
- docs: update mkdocs material features by @JP-Ellis in #1243
- chore(cli): use new standalone repo path by @JP-Ellis in #1241
- chore(deps): update dependency mypy to v1.18.2 by @renovate[bot] in #1239
- chore(deps): update taiki-e/install-action action to v2.62.5 by @renovate[bot] in #1240
- chore(deps): update ruff to v0.13.1 by @renovate[bot] in #1238
- chore(deps): update pypa/cibuildwheel action to v3.2.0 by @renovate[bot] in #1242
- chore(ci): fix prek caching by @JP-Ellis in #1246
- chore(ci): generate junit xml files by @JP-Ellis in #1247
- chore(deps): update actions/cache action to v4.3.0 by @renovate[bot] in #1245
- chore(deps): update pre-commit hook crate-ci/typos to v1.36.3 by @renovate[bot] in #1248
- chore(deps): update ruff to v0.13.2 by @renovate[bot] in #1249
- chore: move mascot file out of root by @JP-Ellis in #1250
- chore: update uuid format names by @JP-Ellis in #1251
- chore(deps): update taiki-e/install-action action to v2.62.13 by @renovate[bot] in #1252
- chore(deps): update astral-sh/setup-uv action to v6.8.0 by @renovate[bot] in #1254
- chore: remove logger from hatch_build by @JP-Ellis in #1256
- docs: fix CI badge links by @JP-Ellis in #1257
- chore(deps): update pre-commit hook crate-ci/typos to v1.37.1 by @renovate[bot] in #1255
- chore(deps): update ruff to v0.13.3 by @renovate[bot] in #1258
- chore: fix import warning by @JP-Ellis in #1259
- chore: make Unset falsey by @JP-Ellis in #1260
- feat!: default to v4 specification by @JP-Ellis in #1261
- chore(deps): update pre-commit hook biomejs/pre-commit to v2.2.5 by @renovate[bot] in #1262
- chore(deps): update pre-commit hook crate-ci/typos to v1.37.2 by @renovate[bot] in #1264
- chore(deps): update softprops/action-gh-release action to v2.3.4 by @renovate[bot] in #1265
- docs: update for v3 and add migration guide by @JP-Ellis in #1253
- chore(deps): update taiki-e/install-action action to v2.62.20 by @renovate[bot] in #1268
- chore!: drop python 3.9 add 3.14 by @JP-Ellis in #1263
Full Changelog: pact-python/3.0.0a1...pact-python/3.0.0