Changelog¶
All notable changes to this project will be documented in this file.
[pact-python/3.3.0] 2026-04-17¶
π Features¶
-
Add xml matching
A new
pact.xmlmodule provides builder functions for constructing XML request and response bodies with embedded Pact matchers. Usexml.element()to describe the XML structure and attach matchers where needed, then wrap the result withxml.body()before passing it towith_body(..., content_type="application/xml"):from pact import match, xml response = xml.body( xml.element( "user", xml.element("id", match.int(123)), xml.element("name", match.str("Alice")), ) ) interaction.with_body(response, content_type="application/xml")Repeating elements are supported via
.each(min=1, examples=2)on anyXmlElement. Attributes (including namespace declarations) can be passed via theattrskeyword argument. - Allow iteration over all interactions - Use commonPactInteractiontype - Can toggle follow redirects - Allow plugin loading delay
π Documentation¶
- Update changelog for pact-python/3.2.1
- (examples) Add http+xml example
- Update xml example to use new matcher
- (examples) Add service consumer/provider HTTP example
βοΈ Miscellaneous Tasks¶
- (ci) Re-enable 3.14 tests
- Upgrade stable python version
- Add .worktrees to .gitignore
- (ci) Reduce ci usage
- (ci) Downgrade stable python version
- (ci) Remove unused workflows
- Remove versioningit, switch to static version in pyproject.toml
- Add release script
- Minor update to cliff config
- Authenticate gh api calls
- Remove release label
- Replace taplo with tombi
- (ci) Have wheel target 310
- (ci) Avoid most of CI on draft PRs
- Fix hatch env workspaces
- Remove connect test
οΏ½ Other¶
- Fix coverage upload overwrite and add example coverage
Contributors¶
- @JP-Ellis
- @adityagiri3600
- @benaduo
- @Nikhil172913832
[pact-python/3.2.1] 2025-12-10¶
π Documentation¶
- Update changelog for pact-python/3.2.0
- Fix internal references
- Add v3 blog post
- Fix partial url highlight
- Fix tooltips in code
- Remove redundant header from blog post
βοΈ Miscellaneous Tasks¶
- (ci) Use strict docs building
- Switch to versioningit
Contributors¶
- @JP-Ellis
[pact-python/3.2.0] 2025-12-02¶
π Features¶
- Add consumer_version method
- Add content type matcher
- Add 'and' matcher
π Bug Fixes¶
- Use correct matching rule serialisation
π Documentation¶
- Update changelog for pact-python/3.1.0
- Add agents.md
- Update configuration
- Add logging documentation
- Add multipart/form-data matching rule example
- Add consumer_version
βοΈ Miscellaneous Tasks¶
- Add llm instructions
- Update non-compliant docstrings and types
- Upgrade pymdownx extensions
- Set telemetry environment variables
- (docs) Api docs link on pact-python site is case sensitive
- Fix json schema url
- (tests) Fix skipped tests on windows
- (ci) Update macos runners
- Remove unused pytest config
- Remove ruff sub-configs
- Switch to markdownlint-cli2
- Rerun flaky tests
- Remove unused function
- Don't except AssertionError
- (devcontainer) Add multi-arch development container support
Contributors¶
- @Nikhil172913832
- @JP-Ellis
- @YOU54F
- @Copilot
[pact-python/3.1.0] 2025-10-07¶
π Bug Fixes¶
- [breaking] Replace v2 extra with compat-v2
> Installing Pact Python with v2 compatibility requires
pip install 'pact-python[compat-v2]', and the oldpip install 'pact-python[v2]'is no longer supported.
π Documentation¶
- Update changelogs
βοΈ Miscellaneous Tasks¶
- (ci) Add area-core label
- (ci) Fix labels workflow permissions
- Remove no longer relevant todo
- (docs) Use normalized project url keys
Contributors¶
- @JP-Ellis
[pact-python/3.0.1] 2025-10-06¶
π Documentation¶
- Update changelog for pact-python/3.0.0
βοΈ Miscellaneous Tasks¶
- Drop cffi dependency
- (ci) Fix publish step
Contributors¶
- @JP-Ellis
[pact-python/3.0.0] 2025-10-06¶
π 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¶
- @JP-Ellis
[pact-python/3.0.0a1] 2025-08-12¶
π Features¶
- Create pact-python-cli package
- (cli) Build abi-agnostic wheels
- (ffi) Add standalone ffi package
- (v3) [breaking] Remove pact.v3.ffi module
>
pact.v3.ffiis removed, and to be replaced bypact_ffi. That is,pact.v3.ffi.$fnshould be replaced bypact_ffi.$fn. - [breaking] Prepare for v3 release
> This prepares for version 3. Pact Python v2 will be still accessible under
pact.v2and all imports should be appropriate renamed. Everyone is encouraged to migrate to Pact Python v3. - [breaking] Simplify
given> The signature ofInteraction.givenhas been updated. The following changes are required: - Changegiven("state", key="user_id", value=123)togiven("state", user_id=123). This can take an arbitrary number of keyword arguments. If the key is not a valid Python keyword argument, use the dictionary input below. - Changegiven("state", parameters={"user_id": 123})togiven("state", {"user_id": 123}). - [breaking] Deserialize metadata values
> As the metadata values are now deserialised, the type of the metadata values may change. For example, setting metadata
user_id=123will now pass{"user_id": 123}through to the function handler. Previously, this would have been{"user_id": "123"}.
π Bug Fixes¶
- Matcher type variance
- With metadata function signature
- [breaking] Use correct datetime default format
> If you relied on the previous default (undocumented) behaviour, prefer specifying the format explicitly now:
match.datetime(regex="%Y-%m-%dT%H:%M:%S.%f%z"). - Handle empty state callback
- (verifier) [breaking] Propagate branch
> If a branch is set through either
set_publish_optionsorprovider_branch, the value will be saved and used as a default for both in subsequent calls.
π Refactor¶
- Functional state handler
π Documentation¶
- Update changelog for v2.3.3
- (blog) Fix v3 references
- Fix v3 references
- V3 review
- Update git cliff configuration
βοΈ Miscellaneous Tasks¶
- Update pre-commit hooks
- Use the new
pact_clipackage - Remove packaging of pact cli
- (ci) Incorporate tests of pact cli
- (ci) Use new
pact-python/*tags - (ci) Add build cli pipeline
- Exclude hatch_build from mypy checks
- (ci) Narrow token permissions
- Remove macosx deployment target
- (ci) Fix cli publish permissions
- Properly extract tag version
- Update gitignore
- (ci) Fix core package build
- Split out dependencies and tests
- (ci) Update labels
- (ci) Fix labels
- (tests) Re-organise tests
- Fix bad copy-paste in tests
- Log exceptions from apply_args
- Improve logging from apply_args
- (examples) Start examples overhaul
- (ci) Use new examples
- Update protobuf examples
- (ci) Cancel ci on PRs
- Add vscode settings and extensions
- Add envrc
- Replace yamlfix with yamlfmt
- Remove deptry config
- Support pre and post release tags
- Fix typo
Contributors¶
- @JP-Ellis
- @kevinrvaz
[2.3.3] 2025-07-17¶
π Features¶
- (v3) Add will_respond_with for sync
π Bug Fixes¶
- (v3) Avoid error if there's no mismatch type
π Documentation¶
- (examples) Add proto module documentation
- Add protobuf and grpc links
βοΈ Miscellaneous Tasks¶
- (ci) Remove pre-commit cache restore key
- Update biome
- (examples) Add protobuf example
- Add version stub file
- (examples) Parametrize protobuf example
- (ci) Update runners
- Split mypy calls
Contributors¶
- @JP-Ellis
[2.3.2] 2025-05-05¶
π Features¶
- (v3) [breaking] Allow more flexible functional arguments
> The signature of functional arguments must form a subset of the
MessageProducerArgsandStateHandlerArgstyped dictionaries.
π Documentation¶
- Replace commitizen with git cliff
- Update blog post
- Rename params -> parameters
- (example) Elaborate on state handler
βοΈ Miscellaneous Tasks¶
- Update pre-commit hooks
- Update committed configuration
- Add taplo
- (ci) Update ubuntu runners
- Reduce noise from taiki-e/install-action
- (ci) Upload test results to codecov
- Add apply_arg utility
- (tests) Use consistent return value
- (test) Tweak type signature
- (examples) Fix state handler args
Contributors¶
- @JP-Ellis
[2.3.1] 2025-01-22¶
π Bug Fixes¶
- (v3) Defer setting pact broker source
Contributors¶
- @JP-Ellis
[2.3.0] 2024-12-30¶
π Features¶
- (v3) Add message relay and callback servers
- (v3) [breaking] Integrate message relay server
> The provider name must be given as an argument of the
Verifierconstructor, instead of the first argument of theset_infomethod. - (v3) [breaking] Add state handler server
>
set_statehas been renamed tostate_handler. If using a URL still, thebodykeyword argument is now a required parameter. - (v3) [breaking] Further simplify message interface
>
message_handlersignature has been changed and expanded.
π¨ Styling¶
- Lint
- Lint
π Documentation¶
- Fix minor typos
- (blog) Add functional arguments post
βοΈ Miscellaneous Tasks¶
- Fix url
- (ci) Pin full version
- Add yamlfix
- Remove docker files and scripts
- Update biome version
- Rename master to main
- (ci) Pin typos to version
- (ci) Pin minor version of checkout action
- Silence unset default fixture loop scope
- (ci) Replace pre-commit/action
- (v3) [breaking] Remove unnecessary underscores
> The PactServer
__exit__arguments no longer have leading underscores. This is typically handled by Python itself and therefore is unlikely to be a change for any user, unless the end user was calling the__exit__method explicitly and using keyword arguments. - (v3) [breaking] Make util module private
>
pact.v3.utilhas been renamed topact.v3._utiland is now private. - (ci) Upgrade macos-12 to macos-13
- © Specify full action version
- Add pytest-xdist
- (ci) Remove condition on examples
- Update tests to use new message/state fns
- Adapt examples to use function handlers
- Move matchers test out of examples
- Adjust tests based on new implementation
- Remove dead code
- Fix compatibility with 3.9, 3.10
- Add pytest-rerunfailures
- Fix windows compatibility
- (ci) Automerge renovate PRs
Contributors¶
- @JP-Ellis
[2.2.2] 2024-10-10¶
π Features¶
- (examples) Add post and delete
- Add matchable typevar
- Add strftime to java date format converter
- Add match aliases
- Add uuid matcher
- Add each key/value matchers
- Add ArrayContainsMatcher
- [breaking] Improve mismatch error
> The
srv.mismatchesis changed from alist[dict[str, Any]]to alist[Mismatch]. - [breaking] Add Python 3.13, drop 3.8 > Python 3.8 support dropped
π Bug Fixes¶
- Missing typing arguments
- Incompatible override
- Kwargs typing
- Ensure matchers optionally use generators
- (examples) Do not overwrite pact file on every test
- (examples) Use wget for broker healthcheck
- (examples) Correct URL for healthcheck
- (examples) Do not publish postgres port
- Typing annotations
- ISO 8601 incompatibility
π Refactor¶
- Prefer
|over Optional and Union - Rename matchers to match
- Split types into stub
- Matcher
- Rename generators to generate
- Generate module in style of match module
- Create pact.v3.types module
- Generators module
- Match module
π Documentation¶
- (blog) Don't use footnote numbers
- (blog) Add async message blog post
- Update example docs
- Add matcher module preamble
- Add module docstring
βοΈ Miscellaneous Tasks¶
- (ci) Use pypi trusted publishing
- Fix typo in previous blog post
- (ci) Update docs on push to master
- Regroup ruff in renovate
- Add extra checks
- Added v3 http interaction examples
- (ci) Add codecov
- Refactor tests
- Prefer ABC over ABCMeta
- Re-organise match module
- Split stdlib and 3rd party types
- Silence a few mypy complaints
- Add pyi to editor config
- Add test for full ISO 8601 date
- Minor improvements to match.matcher
- Align generator with matcher
- Remove MatchableT
- Get test to run again
- Add boolean alias
- Fix compatibility with Python <= 3.9
- Fix match tests
- Remove unused generalisation
- Use matchers in v3 examples
- Use native Python datetime object
- Adjust tests to use new Mismatch class
- Disable wait
- (ci) Switch to uv fully
- (ci) Disable docs workflow on tags
- (ci) Tweak build conditions
- Disable pypy builds
Contributors¶
- @JP-Ellis
- @individual-it
- @valkolovos
- @amit828as
[2.2.1] 2024-07-22¶
π Features¶
- (ffi) Upgrade ffi 0.4.21
- (v3) Add enum type aliases
- (v3) Improve exception types
- (v3) Remove deprecated messages iterator
- (v3) Implement message verification
- (v3) Add async message provider
- (ffi) Upgrade ffi to 0.4.22
π Bug Fixes¶
- (ffi) Use
with_binary_body
π Refactor¶
- (v3) New interaction iterators
- (tests) Make
_add_bodya method of Body - (tests) Move InteractionDefinition in own module
π Documentation¶
- (CONTRIBUTING.md) Update installation steps
- Add additional code capabilities
- Add blog post about rust ffi
- (ffi) Properly document exceptions
- Minor refinements
- (example) Clarify purpose of fs interface
βοΈ Miscellaneous Tasks¶
- Group renovate updates
- Use uv to install packages
- (v3) Re-export Pact and Verifier at root
- (ffi) Disable private usage lint
- (ffi) Implement AsynchronousMessage
- (ffi) Implement Generator
- (ffi) Implement MatchingRule
- (ffi) Remove old message and message handle
- (ffi) Implement MessageContents
- (ffi) Implement MessageMetadataPair and Iterator
- (ffi) Implement ProviderState and related
- (ffi) Implement SynchronousHttp
- (ffi) Implement SynchronousMessage
- (ffi) Bump links to 0.4.21
- (tests) Implement v3/v4 consumer message compatibility suite
- (examples) Add v3 message consumer examples
- Update GitHub templates
- (examples) Add asynchronous message
- (tests) Replace stderr with logger
- (tests) Increase message shown by
truncate - Minor typing fix
- (tests) Significant refactor of InteractionDefinition
- (tests) Add v4 message provider compatibility suite
- (tests) Skip windows tests
- (ci) Disable windows arm wheels
οΏ½ Other¶
- Fix macos-latest
- Narrow when docs are built and published
Contributors¶
- @JP-Ellis
- @valkolovos
- @qmg-drettie
[2.2.0] 2024-04-11¶
π Features¶
- (v3) Add verifier class
- (v3) Add verbose mismatches
- Upgrade FFI to 0.4.19
π Bug Fixes¶
- Delay pytest 8.1
- (v3) Allow optional publish options
- (v3) Strip embedded user/password from urls
π Refactor¶
- (tests) Move parse_headers/matching_rules out of class
- Remove relative imports
π Documentation¶
- Setup mkdocs
- Update README
- Rework mkdocs-gen-files scripts
- Ignore private python modules
- Overhaul readme
- Update v3 docs
- Fix links to docs/
- Add social image support
- Add blog post about v2.2
βοΈ Miscellaneous Tasks¶
- (ci) Remove cirrus
- (ffi) Implement verifier handle
- (v3) Add basic verifier tests
- Unskip tests
- Fix missed s/test/devel-test/
- (v3) Improve body representation
- (test) Improve test logging
- (tests) Update log formatting
- (test) Add state to interaction definition
- (test) Adapt InteractionDefinition for provider
- (test) Add serialize function
- (test) Add provider utilities
- (tests) Add v1 provider compatibility suite
- (tests) Fixes for lower python versions
- (tests) Re-enable warning check
- (tests) Improve logging from provider
- (test) Strip authentication from url
- (tests) Use long-lived pact broker
- (test) Apply a temporary diff to compatibility suite
- (test) Fix misspelling in step name
- (tests) Improve logging
- (tests) Allow multiple states with parameters
- (tests) Implement http provider compatibility suite
- (tests) Fix compatibility with py38
- (docs) Update emoji indices/generators
- (docs) Fix typos
- (docs) Enforce fenced code blocks
- (docs) Minor fixes in examples/
- Remove redundant all
- (docs) Update examples/readme.md
- (ci) Update environment variables
- (docs) Only publish from master
- (test) Disable failing tests on windows
Contributors¶
- @JP-Ellis
- @JosephBJoyce
[2.1.3] 2024-03-07¶
π Bug Fixes¶
- Avoid wheel bloat
π Documentation¶
- Fix repository link typo
- Fix links to
CONTRIBUTING.md
βοΈ Miscellaneous Tasks¶
- (ci) Fix pypy before-build
- (ci) Pin os to older versions
- (ci) Set osx deployment target
- (ci) Replace hatch clean with rm
- (ci) Update concurrency group
- (ci) Adapt before-build for windows
Contributors¶
- @JP-Ellis
[2.1.2] 2024-03-05¶
π Features¶
- (v3) Add v3.ffi module
- (v3) Implement pact class
- (v3) Implement interaction methods
- (ffi) Add OwnedString class
- (v3) Implement Pact Handle methods
- (v3) Add mock server mismatches
- (v3) Implement server log methods
- Add python 3.12 support
- (v3) Add with_matching_rules
- Determine version from vcs
- (v3) Upgrade ffi to 0.4.18
- (v3) Add specification attribute to pacts
- Add support for musllinux_aarch64
π Bug Fixes¶
- (ci) Add missing environment
- (test) Ignore internal deprecation warnings
- (v3) Unconventional repr implementation
- (v3) Add next implementation
- (example) Unknown action
- (example) Publish_verification_results typo
- (example) Publish message pact
- (v3) Rename
with_binary_file - (v3) Incorrect arg order
- Clean pact interactions on exception
π Refactor¶
- (v3) Split interactions into modules
π¨ Styling¶
- Fix pre-commit lints
- [breaking] Refactor constants
> The public functions within the constants module have been removed. If you previously used them, please make use of the constants. For example, instead of
pact.constants.broker_client_exe()usepact.constants.BROKER_CLIENT_PATHinstead.
π Documentation¶
- (v3) Update ffi documentation
- (readme) Fix links to examples
- Add git submodule init
- Fix typos
βοΈ Miscellaneous Tasks¶
- Add future deprecation warnings
- (ci) Disable on draft pull requests
- (ci) Separate concurrency groups for builds
- Fix hatch test scripts
- (test) Add pytest options in root
- (build) Update packaging to build ffi
- (tests) Add ruff.toml for tests directory
- (ci) Update build targets
- (v3) Create ffi.py
- (tests) Remove empty file
- (v3) Add str and repr to enums
- (test) Move pytest cli args definition
- Add label sync
- (test) Automatically generated xml coverage
- Enable lints fully
- (pre-commit) Add mypy
- (ffi) Add typing
- (labels) Fix incorrect label alias
- Exclude python 3.12
- Fix wheel builds
- (ci) Revise pypi publishing
- (tests) Reduce log verbosity
- Fix ruff lints
- (tests) Add compatibility suite as submodule
- (ruff) Disable TD002
- Allow None content type
- (tests) Implement consumer v1 feature
- (ci) Checkout submodules
- (ci) Fix examples testing
- (ci) Clone submodules in Cirrus
- (tests) Automatic submodule init
- Fix lints
- Update submodule
- (ci) Set hatch to be verbose
- (ci) Add test conclusion step
- (ci) Breaking changes with for artifacts
- (ci) Re-enable pypy builds on Windows
- (dev) Replace black with ruff
- (dev) Add markdownlint pre-commit
- (ci) Fix pypy linux builds
- (test/v3) Move bdd steps into shared module
- (test/v3) Add v2 consumer compatibility suite
- (tests) Add v3 consumer compatibility suite
- Update metadata
- (tests) Move the_pact_file_for_the_test_is_generated to share util
- (tests) Add v4 http consumer compatibility suite
- (ci) Speed up wheels building on prs
- (ci) Add caching
- Migrate from flat to src layout
- (ci) Automate release process
- (v3) Add warning on pact.v3 import
- (ci) Remove check of wheels
- (ci) Speed up build pipeline
- (ci) Another build pipeline fix
- (ci) Typo
οΏ½ Other¶
- Add g++ to cirrus linux image
Contributors¶
- @JP-Ellis
- @YOU54F
- @dryobates
- @filipsnastins
- @neringaalt
[2.1.0] 2023-10-03¶
π Features¶
- (example) Simplify docker-compose
- Bump pact standalone to 2.0.7
π Bug Fixes¶
- (github) Fix typo in template
- (ci) Pypi publish
π¨ Styling¶
- Add pre-commit hooks and editorconfig
π Documentation¶
- Rewrite contributing.md
- Add issue and pr templates
- Incorporate suggestions from @YOU54F
βοΈ Miscellaneous Tasks¶
- Add pact-foundation triage automation
- Update pre-commit config
- [breaking] Migrate to pyproject.toml and hatch > Drop support for Python 3.6 and 3.7
- (ci) Migrate cicd to hatch
- (example) Migrate consumer example
- (example) Migrate fastapi provider example
- (example) Migrate flask provider example
- (example) Update readme
- (example) Migrate message pact example
- (ci) Split tests examples and lints
- (example) Avoid changing python path
- Address pr comments
- (gitignore) Update from upstream templates
- V2.1.0
Contributors¶
- @JP-Ellis
- @mefellows
[2.0.1] 2023-07-26¶
π Features¶
- Update standalone to 2.0.3
βοΈ Miscellaneous Tasks¶
- Update MANIFEST file to note 2.0.2 standalone
- (examples) Update docker setup for non linux os
- Releasing version 2.0.1
Contributors¶
- @YOU54F
[2.0.0] 2023-07-10¶
π Features¶
- Describe classifiers and python version for pypi package
- (test) Add docker images for Python 3.9-3.11 for testing purposes
- Add matchers for ISO 8601 date format
- Support arm64 osx/linux
- Support x86 and x86_64 windows
- Use pact-ruby-standalone 2.0.0 release
π Bug Fixes¶
- Actualize doc on how to make contributions
- Remove dead code
- Fix cors parameter not doing anything
π¨ Styling¶
- Add missing newline/linefeed
π Documentation¶
- Add Python 3.11 to CONTRIBUTING.md
- Fix link for GitHub badge
- Fix instruction to build python 3.11 image
- Paraphrase the instructions for running the tests
- Rephrase the instructions for running the tests
- Reformat releasing documentation
π§ͺ Testing¶
- V2.0.1 (pact-2.0.1) - pact-ruby-standalone
βοΈ Miscellaneous Tasks¶
- Releasing version 1.7.0
- Do not add merge commits to the change log
- (docs) Update provider verifier options table
- (docs) Correct table
- (docs) Improve table alignment and abs links
- Update to 2.0.2 pact-ruby-standalone
- Releasing version 2.0.0
οΏ½ Other¶
- Correct links in contributing manual
- Improve commit messages guide
- Add python 3.11 to test matrix
- Use compatible dependency versions for Python 3.6
- Use a single Dockerfile, providing args for the Python version instead of multiple files
- Test arm64 on cirrus-ci / test win/osx on gh
- Skip 3.6 python arm64 failing in cirrus, passing locally with cirrus run
- (deps) Bump flask from 2.2.2 to 2.2.5 in /examples/message
- (deps) Bump flask from 2.2.2 to 2.2.5 in /examples/flask_provider
- (deps-dev) Bump flask from 2.2.2 to 2.2.5
Contributors¶
- @YOU54F
- @sergeyklay
- @Lukas-dev-threads
- @elliottmurray
- @mikegeeves
[1.7.0] 2023-02-19¶
π Features¶
- Enhance provider states for pact-message (#322)
π Bug Fixes¶
- Requirements_dev.txt to reduce vulnerabilities (#317)
- Setup security issue (#318)
βοΈ Miscellaneous Tasks¶
- Add workflow to create a jira issue for pactflow team when smartbear-supported label added to github issue
- /s/Pactflow/PactFlow
- Releasing version 1.7.0
Contributors¶
- @elliottmurray
- @YOU54F
- @nsfrias
- @bethesque
- @mefellows
[1.6.0] 2022-09-11¶
π Features¶
- Support publish pact with branch (#300)
- Support verify with branch (#302)
π Documentation¶
- Update docs to reflect usage for native Python
βοΈ Miscellaneous Tasks¶
- (test) Fix consumer message test (#301)
- Releasing version 1.6.0
οΏ½ Other¶
- Correct download logic when installing. Add a helper target to setup a pyenv via make (#297)
Contributors¶
- @elliottmurray
- @YOU54F
- @B3nnyL
- @mikegeeves
- @jnfang
[1.5.2] 2022-03-21¶
βοΈ Miscellaneous Tasks¶
- Update PACT_STANDALONE_VERSION to 1.88.83
- Releasing version 1.5.2
Contributors¶
- @elliottmurray
- @YOU54F
[1.5.1] 2022-03-10¶
π Features¶
- Message_pact -> with_metadata() updated to accept term (#289)
π Documentation¶
- (examples-consumer) Add pip install requirements to the consumer⦠(#291)
π§ͺ Testing¶
- (examples) Move shared fixtures to a common folder so they can b⦠(#280)
βοΈ Miscellaneous Tasks¶
- Releasing version 1.5.1
Contributors¶
- @elliottmurray
- @sunsathish88
- @mikegeeves
[1.5.0] 2022-02-05¶
π Features¶
- No include pending (#284)
βοΈ Miscellaneous Tasks¶
- Releasing version 1.5.0
οΏ½ Other¶
- Python36-support-removed (#283)
Contributors¶
- @elliottmurray
- @abgora
- @mikegeeves
[1.4.6] 2022-01-03¶
π Features¶
- (matcher) Allow bytes type in from_term function (#281)
π Bug Fixes¶
- (consumer) Ensure a description is provided for all interactions
π Documentation¶
- Docs/examples (#273)
π§ͺ Testing¶
- (examples-fastapi) Tidy FastAPI example, making consistent with Flask (#274)
βοΈ Miscellaneous Tasks¶
- Flake8 config to ignore direnv
- Releasing version 1.4.6
Contributors¶
- @elliottmurray
- @joshua-badger
- @mikegeeves
[1.4.5] 2021-10-11¶
π Bug Fixes¶
- Update standalone to 1.88.77 to fix Let's Encrypt CA issue
βοΈ Miscellaneous Tasks¶
- Releasing version 1.4.5
Contributors¶
- @mefellows
[1.4.4] 2021-10-02¶
π Bug Fixes¶
- (ruby) Update ruby standalone to support disabling SSL verification via an environment variable
βοΈ Miscellaneous Tasks¶
- Releasing version 1.4.4
Contributors¶
- @mefellows
- @m-aciek
[1.4.3] 2021-09-05¶
π Features¶
- Added support for message provider using pact broker (#257)
βοΈ Miscellaneous Tasks¶
- Releasing version 1.4.3
Contributors¶
- @elliottmurray
- @pulphix
[1.4.2] 2021-08-22¶
βοΈ Miscellaneous Tasks¶
- Bundle Ruby standalones into dist artifact. (#256)
- Releasing version 1.4.2
Contributors¶
- @elliottmurray
- @taj-p
[1.4.1] 2021-08-17¶
π Bug Fixes¶
- Make uvicorn versions over 0.14
βοΈ Miscellaneous Tasks¶
- Releasing version 1.4.1
Contributors¶
- @elliottmurray
[1.4.0] 2021-08-07¶
π Features¶
- Added support for message provider (#251)
π Bug Fixes¶
- Issue originating from snyk with requests and urllib
βοΈ Miscellaneous Tasks¶
- (snyk) Update fastapi
- Releasing version 1.4.0
Contributors¶
- @elliottmurray
- @pulphix
[1.3.9] 2021-05-13¶
π Bug Fixes¶
- Change default from empty string to empty list (#235)
βοΈ Miscellaneous Tasks¶
- (ruby) Update ruby standalen
- Releasing version 1.3.9
Contributors¶
- @elliottmurray
- @tephe
[1.3.8] 2021-05-01¶
π Bug Fixes¶
- Fix datetime serialization issues in Format
π Documentation¶
- Example uses date matcher
βοΈ Miscellaneous Tasks¶
- Releasing version 1.3.8
Contributors¶
- @elliottmurray
- @DawoudSheraz
[1.3.7] 2021-04-24¶
π Bug Fixes¶
- (broker) Token added to verify steps
βοΈ Miscellaneous Tasks¶
- Releasing version 1.3.7
Contributors¶
- @elliottmurray
[1.3.6] 2021-04-20¶
π Bug Fixes¶
- Docker/py36.Dockerfile to reduce vulnerabilities
- Docker/py38.Dockerfile to reduce vulnerabilities
- Docker/py37.Dockerfile to reduce vulnerabilities
- Publish verification results was wrong (#222)
βοΈ Miscellaneous Tasks¶
- Releasing version 1.3.6
οΏ½ Other¶
- Revert docker36 back
Contributors¶
- @elliottmurray
- @snyk-bot
[1.3.5] 2021-03-28¶
π Bug Fixes¶
- (publish) Fixing the fix. Pact Python api uses only publish_version and ensures it follows that
βοΈ Miscellaneous Tasks¶
- Releasing version 1.3.5
Contributors¶
- @elliottmurray
[1.3.4] 2021-03-27¶
π Bug Fixes¶
- Verifier should now publish
βοΈ Miscellaneous Tasks¶
- Releasing version 1.3.4
Contributors¶
- @elliottmurray
[1.3.3] 2021-03-25¶
π Bug Fixes¶
- Pass pact_dir to publish()
βοΈ Miscellaneous Tasks¶
- Releasing version 1.3.3
Contributors¶
- @elliottmurray
- @
[1.3.2] 2021-03-21¶
π Bug Fixes¶
- Ensure path is passed to broker and allow running from root rather than test file
- Remove pacts from examples
βοΈ Miscellaneous Tasks¶
- Move from nose to pytests as we are now 3.6+
- Update ci stuff
- More clean up
- Wip on using test containers on examples
- Spiking testcontainers
- Added some docs about how to use the e2e example
- Releasing version 1.3.2
Contributors¶
- @elliottmurray
[1.3.1] 2021-02-27¶
π Bug Fixes¶
- Introduced and renamed specification version
βοΈ Miscellaneous Tasks¶
- Releasing version 1.3.1
Contributors¶
- @elliottmurray
[1.3.0] 2021-01-26¶
π Features¶
- Initial interface
- Add MessageConsumer
- Single message flow
- Create basic tests for single pact message
- Update MessageConsumer and tests
- Add constants test
- Add pact-message integration
- Add pact-message integration test
- Add more test
- Update message pact tests
- Change dummy handler to a message handler
- Update handler to handle error exceptions
- Move publish function to broker class
- Update message handler to be independent of pact
- Address PR comments
π Bug Fixes¶
- Send to cli pact_files with the pact_dir in their path
- Add e2e example test into ci back in
- Remove publish fn for now
- Linting
- Add missing conftest
- Try different way to mock
- Flake8 warning
- Revert changes to quotes
- Improve test coverage
- Few more tests to improve coverage
π Documentation¶
- Add readme for message consumer
- Update readme
π§ͺ Testing¶
- Create external dummy handler in test
- Update message handler condition based on content
- Remove mock and check generated json file
- Consider publish to broker with no pact_dir argument
βοΈ Miscellaneous Tasks¶
- Remove python35 and 34 and add 39
- Fix bad merge
- Add missing files in src
- Add generate_pact_test
- Remove log_dir, refactor test
- Flake8 revert
- Remove test param for provider
- Flake8, clean up deadcode
- Pydocstyle
- Add missing import
- Releasing version 1.3.0
οΏ½ Other¶
- Pr not triggering workflow
Contributors¶
- @elliottmurray
- @williaminfante
- @tuan-pham
- @cdambo
[1.2.11] 2020-12-29¶
π Bug Fixes¶
- Not creating wheel
βοΈ Miscellaneous Tasks¶
- Releasing version 1.2.11
Contributors¶
- @elliottmurray
[1.2.10] 2020-12-19¶
π Documentation¶
- Fix small typo in
with_requestdoc string - (example) Created example and have relative imports kinda working. Provider not working as it cant find one of our urls
- Typo in pact-verifier help string: PUT -> POST for --provider-states-setup-url
- Added badge to README
βοΈ Miscellaneous Tasks¶
- (upgrade) Upgrade python version to 3.8
- Wqshell script to run flask in examples
- Added run test to travis
- Releasing version 1.2.10
οΏ½ Other¶
- (github actions) Added Github Actions configuration for build and test
- Removed Travis CI configuration
- Add publishing actions
Contributors¶
- @elliottmurray
- @matthewbalvanz-wf
- @noelslice
- @hstoebel
[1.2.9] 2020-10-19¶
π Features¶
- (verifier) Allow setting consumer_version_selectors on Verifier
π Bug Fixes¶
- Fix flaky tests using OrderedDict
π¨ Styling¶
- Fix linting issues
- Fix one more linting issue
βοΈ Miscellaneous Tasks¶
- Releasing version 1.2.9
Contributors¶
- @elliottmurray
- @thatguysimon
[1.2.8] 2020-10-18¶
π Features¶
- (verifier) Support include-wip-pacts-since in CLI
π Bug Fixes¶
- Fix command building bug
π Refactor¶
- Extract input validation in call_verify out into a dedicated method
π¨ Styling¶
- Fix linting
π Documentation¶
- (examples) Tweak to readme
- (examples) Changed provider example to use atexit
βοΈ Miscellaneous Tasks¶
- Releasing version 1.2.8
Contributors¶
- @elliottmurray
- @thatguysimon
[1.2.7] 2020-10-09¶
π Bug Fixes¶
- (verifier) Headers not propagated properly
π Documentation¶
- (examples) Removed manual publish to broker
βοΈ Miscellaneous Tasks¶
- Releasing version 1.2.7
Contributors¶
- @elliottmurray
[1.2.6] 2020-09-11¶
π Features¶
- (verifier) Allow to use unauthenticated brokers
βοΈ Miscellaneous Tasks¶
- Releasing version 1.2.6
Contributors¶
- @elliottmurray
- @copalco
[1.2.5] 2020-09-10¶
π Features¶
- (verifier) Add enable_pending argument handling in verify wrapper
- (verifier) Pass enable_pending flag in Verifier's methods
- (verifier) Support --enable-pending flag in CLI
π Bug Fixes¶
- (verifier) Remove superfluous option from verify CLI command
- (verifier) Remove superfluous verbose mentions
π Refactor¶
- (verifier) Add enable_pending to signature of verify methods
π§ͺ Testing¶
- Bump mock to 3.0.5
βοΈ Miscellaneous Tasks¶
- Releasing version 1.2.5
οΏ½ Other¶
- (pre-commit) Add commitizen to pre-commit configuration
Contributors¶
- @elliottmurray
- @
- @m-aciek
[1.2.4] 2020-08-27¶
π Features¶
- (cli) Add consumer-version-selector option
π Documentation¶
- Update README.md with relevant option documentation
- (cli) Improve cli help grammar
βοΈ Miscellaneous Tasks¶
- Releasing version 1.2.4
Contributors¶
- @elliottmurray
- @alecgerona
[1.2.3] 2020-08-26¶
π Features¶
- Update standalone to 1.88.3
βοΈ Miscellaneous Tasks¶
- Script now uses gh over hub
- Release script updates version automatically now
- Fix release script
- Releasing version 1.2.3
Contributors¶
- @elliottmurray
[1.2.2] 2020-08-24¶
π Features¶
- Added env vars for broker verify
π Documentation¶
- Https svg
βοΈ Miscellaneous Tasks¶
- Releasing version 1.2.2
Contributors¶
- @elliottmurray
[1.2.1] 2020-08-08¶
π Bug Fixes¶
- Custom headers had a typo
π Documentation¶
- Example code verifier
- Merged 2 examples
βοΈ Miscellaneous Tasks¶
- Releasing version 1.2.1
Contributors¶
- @elliottmurray
[1.2.0] 2020-07-24¶
π Features¶
- Create beta verifier class and api
- Fixing up tests and examples and code for provider class
π Bug Fixes¶
- Change to head from master
π Documentation¶
- Update links for rendering page correctly in docs.pact.io
- Update stackoverflow link
- Contributing md updated for commit messages
βοΈ Miscellaneous Tasks¶
- Add workflow to trigger pact docs update when markdown files change
- Added semantic yml for git messages
- Releasing version 1.2.0
- Releasing with fix version v1.2.0
οΏ½ Other¶
- Add check for commit messages
- Tweak to regex
- Temporary fix for testing purposes of messages:
- Remove commit message as it is breaking releases
Contributors¶
- @elliottmurray
- @bethesque
[1.1.0] 2020-06-25¶
π Features¶
- Update standalone to 1.86.0
βοΈ Miscellaneous Tasks¶
- Removed some files and moved a few things around
Contributors¶
- @elliottmurray
- @bethesque
- @hstoebel
[0.22.0] 2020-05-11¶
π Features¶
- Update standalone to 1.84.0
π Documentation¶
- Update RELEASING.md
βοΈ Miscellaneous Tasks¶
- Add script to create a PR to update the pact-ruby-standalone version
Contributors¶
- @pyasi
- @elliottmurray
- @bethesque
- @
[0.20.0] 2020-01-16¶
π Features¶
- Support using environment variables to set pact broker configuration
- Update to pact-ruby-standalone-1.79.0
Contributors¶
- @bethesque
- @matthewbalvanz-wf
- @elliottmurray
- @mikahjc
- @mefellows
- @dlmiddlecote
- @ejrb
[0.18.0] 2018-08-21¶
βοΈ Miscellaneous Tasks¶
- (docs) Update contact information
Contributors¶
- @matthewbalvanz-wf
- @mefellows
[0.13.0] 2018-01-20¶
π Documentation¶
- Remove reference to v3 pact in provider-states-setup-url
Contributors¶
- @matthewbalvanz-wf
- @bethesque
- @
[0.1.0] 2017-04-07¶
Contributors¶
- @jslvtr
- @matthewbalvanz-wf
- @mefellows