PackageTrack
Sign in Get early access

pact-foundation/pact-php

Enables consumer driven contract testing, following the PACT foundation principles.

10.2.1 2.1M downloads/mo #2865 most downloaded on Packagist pact-foundation/pact-php

What this package is like to depend on

Last release 3 months ago

12 May 2026

Ships unpredictably

gaps range from 8 days to 12 months

Rarely documented

notes for 5 of 50 stable releases

Nothing withdrawn

no release was ever pulled

9 years old

62 releases · first in 2017

4 releases in the last 12 months

see the full history below

Release timeline

59 releases · Jul 2017 to May 2026
2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 62
  1. 11.0.0-alpha2 12 May 2026 pre-release
    Release notes

    What's Changed

    • chore(deps): update actions/cache digest to cdf6c1f by @renovate[bot] in #775
    • chore(deps): update actions/checkout digest to de0fac2 by @renovate[bot] in #776
    • style: Fix coding standard return type issue by @tienvx in #780
    • refactor(compatibility-suite): Use PHP 8 attributes for hook by @tienvx in #779
    • refactor(compatibility-suite): Use Behat attributes for context by @tienvx in #781
    • refactor(compatibility-suite): Use Behat Transform attribute by @tienvx in #782
    • refactor(compatibility-suite): Convert Behat config from yaml to php by @tienvx in #783
    • chore(deps): Update ffi library to 0.5.3 by @tienvx in #784
    • chore(deps): Update stub server to 0.7.0 by @tienvx in #785
    • chore: fix PHPStan reported issues by @tienvx in #790
    • test(xml-example): Test xml generators with multiple examples by @tienvx in #789
    • docs: update docs for docusaurus upgrade by @kevinrvaz in #792
    • chore(deps): update shivammathur/setup-php digest to accd612 by @renovate[bot] in #787
    • chore(deps): update actions/cache digest to 6682284 by @renovate[bot] in #788
    • chore(deps): update shivammathur/cache-extensions digest to dde08f6 by @renovate[bot] in #786
    • chore(deps): update dependency google/protobuf to v5 by @renovate[bot] in #778
    • test(compatibility-suite): Implement sync message by @tienvx in #796
    • chore(deps): update shivammathur/cache-extensions digest to 256729b by @renovate[bot] in #797
    • chore(deps): update ramsey/composer-install action to v4 by @renovate[bot] in #795
    • chore(deps): update actions/cache digest to 27d5ce7 by @renovate[bot] in #793
    • test: Add server sent events example by @tienvx in #798
    • chore(deps): pin dependencies by @renovate[bot] in #791

    New Contributors

    Full Changelog: 11.0.0-alpha1...11.0.0-alpha2

    Open source →
  2. 11.0.0-alpha1 25 Jan 2026 pre-release
    Release notes

    What's Changed

    • chore(ci): Drop PHP 8.1, add PHP 8.5 by @tienvx in #763
    • chore(deps): Increase php version requirement to ^8.2 by @tienvx in #764
    • refactor!: Make properties readonly by @tienvx in #731
    • feat: set default pact specification version to 4 by @tienvx in #765
    • chore(deps): update actions/cache digest to 8b402f5 by @renovate[bot] in #767
    • Merge release/10.x to master by @tienvx in #771
    • chore(deps): Update ffi library to 0.5.2 by @tienvx in #760
    • test: Update compatibility suite by @tienvx in #772
    • feat: Support xml generators by @tienvx in #720
    • chore: guzzle - don't throw exceptions by @tienvx in #773
    • fix(ci): Fix 'error code -1073741819' on Windows by @tienvx in #774

    Full Changelog: 10.2.1...11.0.0-alpha1

    Open source →
  3. 10.2.1 17 Jan 2026
    Release notes

    What's Changed

    • fix(ci): Run checks on branch release/10.x by @tienvx in #769
    • fix: Fix PHPUnit 11 assertions not working with behat by @tienvx in #768
    • chore: Use generated protobuf client by @tienvx in #770

    Full Changelog: 10.2.0...10.2.1

    Open source →
  4. 10.2.0 07 Jan 2026
    Release notes

    What's Changed

    • ci: Github actions > use ubuntu arm runner by @tienvx in #717
    • chore(deps): update coverallsapp/github-action digest to 648a8eb by @renovate[bot] in #718
    • chore(deps): update actions/cache digest to 0c907a7 by @renovate[bot] in #721
    • chore(deps): update actions/cache digest to d4323d4 by @renovate[bot] in #723
    • test: Fix 'offset might not exist on array' errors by @tienvx in #725
    • chore(deps): update actions/cache digest to 5a3ec84 by @renovate[bot] in #724
    • chore(deps): update shivammathur/setup-php digest to cf4cade by @renovate[bot] in #726
    • chore(deps): Update stub server for better performance by @tienvx in #730
    • refactor: Replace roadrunner by php's gRPC server by @tienvx in #728
    • docs: Add common issues related to loadding ffi to troubleshooting document by @tienvx in #729
    • test: Test map matching for protobuf by @tienvx in #602
    • fix: Fix syntax error in matching expression by @tienvx in #733
    • fix: Fix matching rules not working with protobuf's repeated field by @tienvx in #734
    • chore(deps): update shivammathur/setup-php digest to 27853eb by @renovate[bot] in #737
    • chore(deps): update shivammathur/setup-php digest to 0f7f1d0 by @renovate[bot] in #738
    • test: Test provider state generator for protobuf (with date field) by @tienvx in #736
    • test: Test repeated matching for protobuf by @tienvx in #732
    • test: Test provider state generator for protobuf by @tienvx in #735
    • chore(deps): update shivammathur/setup-php digest to 2282b6a by @renovate[bot] in #740
    • chore(deps): update shivammathur/setup-php digest to ccf2c62 by @renovate[bot] in #741
    • chore(deps): update actions/cache digest to 0400d5f by @renovate[bot] in #742
    • chore(deps): update shivammathur/setup-php digest to 2052987 by @renovate[bot] in #743
    • chore(deps): update actions/checkout digest to 08eba0b by @renovate[bot] in #744
    • chore(deps): update actions/checkout action to v5 by @renovate[bot] in #745
    • chore(deps): update shivammathur/setup-php digest to ec406be by @renovate[bot] in #746
    • docs: Add example matching exact query and header by @tienvx in #747
    • feat: Support query parameter 'null' by @tienvx in #748
    • chore(deps): update shivammathur/setup-php digest to bf6b4fb by @renovate[bot] in #749
    • chore(ci): Replace macos 13 runner by @tienvx in #751
    • chore(ci): Increase timeout by @tienvx in #752
    • chore(deps): update actions/cache digest to 0057852 by @renovate[bot] in #750
    • docs: add Alpine (musl) FFI troubleshooting and runtime requirements by @gupta-8 in #753
    • chore(deps): update actions/checkout digest to 93cb6ef by @renovate[bot] in #754
    • chore(deps): update coverallsapp/github-action digest to 5cbfd81 by @renovate[bot] in #755
    • chore(deps): update actions/checkout action to v6 by @renovate[bot] in #756
    • chore(deps): update shivammathur/setup-php digest to 44454db by @renovate[bot] in #757
    • chore(deps): update actions/cache action to v5 by @renovate[bot] in #759
    • fix(deps): update dependency symfony/process to v8 by @renovate[bot] in #758

    New Contributors

    Full Changelog: 10.1.1...10.2.0

    Open source →
  5. 10.1.1 09 Jan 2025
    Release notes

    What's Changed

    • chore(ci): prevent duplicate ci triggers by @JP-Ellis in #714
    • chore(deps): update docker/setup-qemu-action digest to 53851d1 by @renovate in #712
    • docs: Add use statements by @tienvx in #715
    • fix: Revert breaking changes to FFI\Client::call and FFI\Client::get by @tienvx in #716

    New Contributors

    Full Changelog: 10.1.0...10.1.1

    Open source →
  6. 10.1.0 04 Jan 2025
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 10.1.0-beta1...10.1.0

    Open source →
  7. 10.1.0-beta1 01 Nov 2024 pre-release
    Release notes

    What's Changed

    • ci: Run all examples at once on windows by @tienvx in #637
    • refactor: Split autoload for each example by @tienvx in #633
    • feat: Add graphql example by @tienvx in #634
    • deps: Allow update to PHPUnit 11.3 by @tienvx in #635
    • feat: Add variables to graphql example by @tienvx in #638
    • Use body parsing middleware by @tienvx in #639
    • refactor: Install rector and auto refactor by @tienvx in #640
    • refactor: Use PHP 8.0 constructor property promotion feature by @tienvx in #642
    • chore: Add type hint by @tienvx in #643
    • refactor: Wrap ffi call > pactffi_with_multipart_file_v2 by @tienvx in #644
    • refactor: Wrap ffi call > pactffi_with_binary_file by @tienvx in #645
    • refactor: Wrap ffi call > pactffi_with_body by @tienvx in #646
    • refactor: Use ffi call wrappers by @tienvx in #647
    • refactor: Wrap ffi call > get specification enum methods by @tienvx in #648
    • refactor: Use ffi call wrappers by @tienvx in #649
    • refactor: FFI client hide get() method by @tienvx in #650
    • refactor: Move helper code to new directory by @tienvx in #651
    • feat: Add composer test coverage command by @tienvx in #653
    • refactor: Wrap ffi call > set interaction attributes methods by @tienvx in #652
    • refactor: Wrap ffi call > new interaction methods by @tienvx in #654
    • refactor: Wrap ffi call > setup interaction methods by @tienvx in #655
    • refactor: Wrap ffi call > setup message interaction methods by @tienvx in #656
    • fix: Fix wrong value of env PACT_DO_NOT_TRACK by @tienvx in #658
    • refactor: Wrap ffi call > setup pact methods by @tienvx in #657
    • refactor: Wrap ffi call > setup mock server methods by @tienvx in #659
    • refactor: Wrap ffi call > setup verifier methods by @tienvx in #660
    • Wrap ffi call remaining methods by @tienvx in #661
    • Ffi client hide call method by @tienvx in #662
    • refactor: PHPStan max level > Fix 'expects string, string|null given' by @tienvx in #663
    • refactor: PHPStan max level > Fix 'Cannot call method on null' by @tienvx in #664
    • refactor: PHPStan max level > Fix 'Property does not accept null' by @tienvx in #665
    • refactor: PHPStan max level > Fix wrong return type by @tienvx in #666
    • refactor: PHPStan max level > Fix wrong parameter type by @tienvx in #667
    • refactor: PHPStan max level > Fix wrong parameter type by @tienvx in #669
    • refactor: PHPStan max level > Fix 'Cannot access property on null' by @tienvx in #668
    • refactor: PHPStan max level > Fix errors on tests by @tienvx in #670
    • chore: Update PHPStan level to max by @tienvx in #671
    • refactor: Replace Slim Framework by Framework X by @tienvx in #673
    • refactor: Compare strings directly by @tienvx in #674
    • refactor: Define enums by @tienvx in #676
    • feat: Support string contains single quote in matching expression by @tienvx in #675
    • refactor: Merge formatters into matchers by @tienvx in #677
    • feat: Support generators in more matchers by @tienvx in #678
    • feat: Support fromProviderState generator in matching expression by @tienvx in #679
    • refactor: Use 'never' return type by @tienvx in #682
    • chore: Add semver generator example by @tienvx in #680
    • chore: Add eachValue matcher's complex value example by @tienvx in #681
    • docs: Fix running example commands by @tienvx in #683
    • docs: Mark version 10 stable by @tienvx in #684
    • chore(compatibility-suite): Show log by @tienvx in #686
    • fix(compatibility-suite): Clean up mock server by @tienvx in #688
    • feat: Allow logging to multiple sinks by @tienvx in #689
    • feat: Provider state > allow param mixed value by @tienvx in #691

    Full Changelog: 10.0.0...10.1.0-beta1

    Open source →
  8. 10.0.0 04 Sep 2024
    Release notes

    What's Changed

    • docs: document multiple interactions by @individual-it in #620
    • feat: Allow debug mock server in compatibility suites by @tienvx in #621
    • fix: Fix type error in PHPUnit's configuration registry (temporarily) by @tienvx in #622
    • Fix wrong content type in protobuf plugin 0.5 by @tienvx in #623
    • fix: update pact-ffi to 0.4.22 by @YOU54F in #619
    • fix: Fix 'Exception: String could not be parsed as XML' in xml's consumer test by @tienvx in #624
    • chore: Update generated pact files by @tienvx in #625
    • feat: Allow add custom provider headers by @tienvx in #627
    • deps: Update ffi library to 0.4.23 by @tienvx in #629

    New Contributors

    Full Changelog: 10.0.0-beta2...10.0.0

    Open source →
  9. 10.0.0-beta2 20 Jun 2024 pre-release
    Release notes

    What's Changed

    Full Changelog: 10.0.0-beta1...10.0.0-beta2

    Open source →
  10. 10.0.0-beta1 18 May 2024 pre-release
    Release notes

    What's Changed

    • deps: Remove repository for pact-foundation/composer-downloads-plugin by @tienvx in #545
    • docs: Update badges by @tienvx in #546
    • docs: Use table to show supported specifications by @tienvx in #547
    • docs: Add PHP Compatibility column to table by @tienvx in #548
    • deps: Update ffi library to 0.4.19 by @tienvx in #550
    • docs: Add preamble to readme by @tienvx in #553
    • feat: Support 'arrayContains' matcher in query and header by @tienvx in #551
    • chore: arrayContains and eachValue example for query and header by @tienvx in #552
    • docs: Make comments more readable by @tienvx in #554
    • docs: Move RELEASING.md to docs/ by @tienvx in #555
    • docs: Move additional examples to docs/ by @tienvx in #556
    • chore: Use both pactffi_set_comment and pactffi_add_text_comment by @tienvx in #557
    • docs: Fix wrong variable by @tienvx in #558
    • docs: Reorganize provider usage in readme by @tienvx in #559
    • docs: Add Framework Integrations section to readme by @tienvx in #562
    • docs: Update links to examples by @tienvx in #561
    • deps: Update composer-downloads-plugin to 2.0 by @tienvx in #563
    • chore: Use intersection types feature by @tienvx in #565
    • chore: Add void return type to tests by @tienvx in #566
    • chore: Add parameter type by @tienvx in #567
    • chore: Fix bool to int casting errors by @tienvx in #568
    • chore: Throw SocketNotOpenException by @tienvx in #569
    • chore: Add more void return type by @tienvx in #570
    • chore: Fix wrong types by @tienvx in #571
    • chore: Specify type of array by @tienvx in #572
    • chore: Assert json encoded value is string by @tienvx in #573
    • chore: Use class-string PHPdoc by @tienvx in #574
    • chore: Fix 'Variable $key might not be defined' by @tienvx in #575
    • chore: Fix 'Match expression does not handle remaining value' by @tienvx in #576
    • chore: Fix copy paste issues in MinimalFormatterTest by @tienvx in #577
    • chore: Fix variable not callable by @tienvx in #579
    • chore: Assert variable is string by @tienvx in #581
    • chore: Fix call to undefined method by @tienvx in #582
    • chore: PHPStan ignore line by @tienvx in #580
    • chore: Fix wrong type by @tienvx in #578
    • chore: Static code analysis for tests by @tienvx in #564
    • docs(chore): remove erroneous span closing tag by @YOU54F in #583
    • docs: Update ADDITIONAL-EXAMPLES.md by @YOU54F in #585
    • docs(ci): add trigger update to docs.pact.io by @YOU54F in #584
    • docs: Fix PHP version in wrong column by @tienvx in #587
    • refactor: Use intersection types by @tienvx in #588
    • refactor: Apply Visitor pattern for MatchingField matcher by @tienvx in #589
    • refactor: Apply Visitor pattern for NotEmpty matcher by @tienvx in #590
    • Revert "refactor: Apply Visitor pattern for NotEmpty matcher" by @tienvx in #594
    • Revert "refactor: Apply Visitor pattern for MatchingField matcher" by @tienvx in #595
    • refactor: Use intersection types by @tienvx in #596
    • feat: Allow combining matchers by @tienvx in #597
    • refactor: Extract traits by @tienvx in #598
    • Formatter factory method by @tienvx in #599
    • docs(chore): fix releasing doc heading by @YOU54F in #586
    • refactor: Add formatters for Min/Max Type matchers by @tienvx in #601
    • docs: Fix missing single quote in comment by @tienvx in #603
    • docs: Refactor readme using structure from pact-js by @tienvx in #604
    • ci: Upload code coverage to coveralls by @tienvx in #605
    • docs: Fix contributors image in readme by @tienvx in #606
    • docs: Fix code coverage badge by @tienvx in #607
    • docs: Fix link to installation by @tienvx in #608
    • deps: Update stub server to 0.6.0 by @tienvx in #610
    • deps: Update ffi library to 0.4.20 by @tienvx in #611
    • docs: correct pact-js to pact-php post doc refactor by @YOU54F in #612
    • docs: Remove empty lines by @tienvx in #614
    • Revert "deps: Update ffi library to 0.4.20" by @tienvx in #615
    • feat: Support Alpine by @tienvx in #613
    • chore: Remove unused Dockerfile by @tienvx in #616

    Full Changelog: 10.0.0-alpha7...10.0.0-beta1

    Thanks @Lewiscowles1986 @JP-Ellis @YOU54F @mefellows for your contribution to this release

    Open source →
  11. 10.0.0-alpha7 26 Mar 2024 pre-release

    Nothing published for this version

  12. 10.0.0-alpha6 13 Mar 2024 pre-release

    Nothing published for this version

  13. 10.0.0-alpha5 23 Jan 2024 pre-release

    Nothing published for this version

  14. 10.0.0-alpha4 25 Dec 2023 pre-release

    Nothing published for this version

  15. 10.0.0-alpha3 13 Oct 2023 pre-release

    Nothing published for this version

  16. 10.0.0-alpha2 01 Aug 2023 pre-release

    Nothing published for this version

  17. 10.0.0-alpha1 25 Jul 2023 pre-release

    Nothing published for this version

  18. 9.1.1 13 Feb 2024

    Nothing published for this version

  19. 9.1.0 12 Feb 2024

    Nothing published for this version

  20. 9.0.0 14 Jul 2023

    Nothing published for this version

  21. 8.1.0 03 Oct 2022

    Nothing published for this version

  22. 8.0.0 31 Jul 2022

    Nothing published for this version

  23. 7.2.0 26 Jun 2022

    Nothing published for this version

  24. 7.1.2 25 Apr 2022

    Nothing published for this version

  25. 7.1.1 16 Feb 2022

    Nothing published for this version

  26. 7.1.0 22 Aug 2021

    Nothing published for this version

  27. 7.0.1 30 Dec 2020

    Nothing published for this version

  28. 7.0.0 30 Dec 2020

    Nothing published for this version

  29. 6.0.3 15 Oct 2020

    Nothing published for this version

  30. 6.0.2 06 Jul 2020

    Nothing published for this version

  31. 6.0.1 04 Jul 2020

    Nothing published for this version

  32. 6.0.0 no date

    Nothing published for this version

  33. 5.0.7 no date

    Nothing published for this version

  34. 5.0.6 10 Dec 2019

    Nothing published for this version

  35. 5.0.5 22 Jun 2019

    Nothing published for this version

  36. 5.0.4 30 May 2019

    Nothing published for this version

  37. 5.0.3 16 Dec 2018

    Nothing published for this version

  38. 5.0.2 16 Nov 2018

    Nothing published for this version

  39. 5.0.1 15 Nov 2018

    Nothing published for this version

  40. 5.0.0 09 Nov 2018

    Nothing published for this version

  41. 4.0.2 06 Jul 2018

    Nothing published for this version

  42. 4.0.1 28 Jun 2018

    Nothing published for this version

  43. 4.0.0 27 Jun 2018

    Nothing published for this version

  44. 3.1.1 18 May 2018

    Nothing published for this version

  45. 3.1.0 08 May 2018

    Nothing published for this version

  46. 3.0.3 18 Apr 2018

    Nothing published for this version

  47. 3.0.2 05 Mar 2018

    Nothing published for this version

  48. 3.0.1 01 Mar 2018

    Nothing published for this version

  49. 3.0.0 28 Feb 2018

    Nothing published for this version

  50. 2.2.1 21 Feb 2018

    Nothing published for this version

  51. 2.2.0 14 Feb 2018

    Nothing published for this version

  52. 2.1.0 06 Dec 2017

    Nothing published for this version

  53. 2.0.4 05 Dec 2017

    Nothing published for this version

  54. 2.0.3 17 Nov 2017

    Nothing published for this version

  55. 2.0.2 10 Nov 2017

    Nothing published for this version

  56. 2.0.1 30 Oct 2017

    Nothing published for this version

  57. 1.1.3 28 Oct 2017

    Nothing published for this version

  58. 1.1.0 06 Oct 2017

    Nothing published for this version

  59. 1.0.5 24 Jul 2017

    Nothing published for this version

  60. 1.0.4 21 Jul 2017

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive