Skip to content

pact-python/4.2.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 01:20

🚀 Features

  • Route Pact library and plugin logs through logging
  • Initialise Pact logging from Pact and Verifier
  • Set the default Pact log forwarding level
  • Replace pact_ffi logger set-up with a warning
  • Name Pact library loggers with dotted module paths
  • Scope the Pact test run ID to each pytest test
  • Add a unittest mixin for Pact logs
  • Expose buffered plugin log entries
  • (ffi) Build abi3t wheels for free-threaded Python

🐛 Bug Fixes

  • Forward the Pact library at the level of pact.ffi alone
  • Restore the pytest run ID after a unittest test case
  • (ci) Tag the merged release commit
  • (ci) Keep PR merge runs out of the main release group

⚡️ Performance

  • Defer loading the Pact FFI until Pact is used

📚 Documentation

  • Describe logging through the standard logging module
  • Describe log_id during provider verification
  • Describe the pytest plugin and unittest mixin
  • Colour terminal output in code blocks
  • Add a blog post on Pact logs in test output

🧪 Testing

  • Cover Pact library log forwarding end to end
  • Cover plugin log forwarding end to end
  • Cover forwarding alongside an externally applied logger
  • Cover the lazy attributes of pact
  • Run the suites on free-threaded Python 3.15
  • Import testcontainers only when starting a broker

🛠️ Miscellaneous Tasks

  • (ffi) Download pact_ffi from the dist-built release
  • Require pact-python-ffi 0.5.12
  • (ci) Stop release runs on main being dropped

Contributors