Skip to main content

Changelog

Changelog

All notable changes to this project will be documented in this file.

[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.ffi is removed, and to be replaced by pact_ffi. That is, pact.v3.ffi.$fn should be replaced by pact_ffi.$fn.

  • [breaking] Prepare for v3 release

    This prepares for version 3. Pact Python v2 will be still accessible under pact.v2 and all imports should be appropriate renamed. Everyone is encouraged to migrate to Pact Python v3.

  • [breaking] Simplify given

    The signature of Interaction.given has been updated. The following changes are required: - Change given("state", key="user_id", value=123) to given("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. - Change given("state", parameters={"user_id": 123}) to given("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=123 will 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_options or provider_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_cli package
  • 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 MessageProducerArgs and StateHandlerArgs typed 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 Verifier constructor, instead of the first argument of the set_info method.

  • (v3) [breaking] Add state handler server

    set_state has been renamed to state_handler. If using a URL still, the body keyword argument is now a required parameter.

  • (v3) [breaking] Further simplify message interface

    message_handler signature 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.util has been renamed to pact.v3._util and is now private.

  • (ci) Upgrade macos-12 to macos-13
  • (c) 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.mismatches is changed from a list[dict[str, Any]] to a list[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_body a 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() use pact.constants.BROKER_CLIENT_PATH instead.

๐Ÿ“š 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
  • (docs) Update changelog
  • (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_request doc 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