Skip to content

Releases: pact-foundation/pact-php

10.1.0-beta1

01 Nov 10:21
1229cc6
Compare
Choose a tag to compare
10.1.0-beta1 Pre-release
Pre-release

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

10.0.0

06 Sep 10:27
41c63a8
Compare
Choose a tag to compare

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

10.0.0-beta2

20 Jun 15:52
dac7e69
Compare
Choose a tag to compare
10.0.0-beta2 Pre-release
Pre-release

What's Changed

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

10.0.0-beta1

18 May 01:16
2e84ae6
Compare
Choose a tag to compare
10.0.0-beta1 Pre-release
Pre-release

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

10.0.0-alpha7

26 Mar 05:35
5ca7280
Compare
Choose a tag to compare
10.0.0-alpha7 Pre-release
Pre-release

What's Changed

  • chore: cslint fixes by @YOU54F in #337
  • chore(deps): bump actions/checkout from 3 to 4 by @dependabot in #336
  • chore(ci): remove cirrus-ci by @YOU54F in #455
  • add output json flag to can-i-deploy function by @fbarril in #464
  • chore(deps): update to pact-ruby-standalone-v2.4.0 by @YOU54F in #467
  • chore(deps): update to pact-ruby-standalone-v2.4.1 by @YOU54F in #469
  • chore(deps): bump ramsey/composer-install from 2 to 3 by @dependabot in #512
  • Merge master by @tienvx in #540
  • fix: Swap implementation of setFilterInfo() and setProviderState() by @tienvx in #542
  • deps: Require ext-openssl by @tienvx in #541
  • chore: Keep start-provider script but return error by @tienvx in #543
  • deps: Use pact-foundation/composer-downloads-plugin by @tienvx in #544
  • Pact PHP - Support for V3 / V4 + Plugins Via FFI by @YOU54F in #326

New Contributors

Full Changelog: 10.0.0-alpha6...10.0.0-alpha7

Thanks @Lewiscowles1986 for reviewing a lot of code

10.0.0-alpha6

13 Mar 02:20
f5f5d0a
Compare
Choose a tag to compare
10.0.0-alpha6 Pre-release
Pre-release

What's Changed

  • ci: Reduce test running time by setting PACT_DO_NOT_TRACK by @tienvx in #450
  • chore: Update remaining pacts for 0.4.13 by @tienvx in #453
  • chore: Reuse process handling code by @tienvx in #451
  • feat: Allow turn off log by @tienvx in #454
  • chore(ci): remove cirrus-ci by @YOU54F in #456
  • ci(test): Test mac arm by @tienvx in #457
  • ci: Remove remaining Dockerfile for cirrus ci by @tienvx in #462
  • chore: Add FFIException by @tienvx in #460
  • chore: Deprecate Values matcher by @tienvx in #461
  • chore: Remove unnecessary return by @tienvx in #458
  • chore: Throw CDataNotCreatedException by @tienvx in #459
  • chore: add example for header matchers by @tienvx in #465
  • chore: No need manually json encode matcher by @tienvx in #466
  • deps: Upgrade PHP to 8.3 and drop 8.0 by @tienvx in #468
  • Upgrade phpunit by @tienvx in #471
  • deps: Update spiral/roadrunner-grpc by @tienvx in #473
  • deps: Update roadrunner binary by @tienvx in #474
  • chore: Update plugin versions in pacts by @tienvx in #475
  • chore: Use PHP 8.1 feature: Unpack string-keyed arrays by @tienvx in #476
  • fix: FFI > Create managed binary data by @tienvx in #481
  • deps: Update ffi library to 0.4.16 by @tienvx in #480
  • deps: Require ffi extension by @tienvx in #479
  • feat: Add Selector class by @tienvx in #477
  • chore: Remove unused exception ConnectionException by @tienvx in #478
  • refactor: Move description to trait by @tienvx in #482
  • refactor: Add handle trait by @tienvx in #485
  • ci(compatibility-suite): Use w.i.p tag by @tienvx in #486
  • ci: Tune network by @tienvx in #488
  • refactor: Add InteractionPart enum by @tienvx in #483
  • refactor: Add body drivers by @tienvx in #489
  • fix: Fix error 'Cannot use object of type FFI\CData as array' by @tienvx in #491
  • refactor: Add interaction part drivers by @tienvx in #490
  • refactor: Remove $this return value by @tienvx in #492
  • refactor: Merge PactDriver and PactRegistry by @tienvx in #494
  • ci: Split jobs by @tienvx in #497
  • Revert "ci: Tune network" by @tienvx in #495
  • refactor: Merge InteractionRegistry and InteractionDriver by @tienvx in #496
  • refactor: Merge MessageRegistry and MessageDriver by @tienvx in #499
  • test: Test mock server by @tienvx in #498
  • ci(compatibility-suite): Force output colors for behat by @tienvx in #500
  • ci(compatibility-suite): Update Github Actions by @tienvx in #501
  • refactor: Merge SyncMessageRegistry and SyncMessageDriver by @tienvx in #502
  • feat: Allow set interaction key for v4 by @tienvx in #503
  • feat: Allow mark interaction as pending for v4 by @tienvx in #504
  • feat: Allow set comments for interaction in v4 by @tienvx in #505
  • ci: Update composer install action to avoid deprecation notices by @tienvx in #506
  • ci: Cache pact plugins by @tienvx in #507
  • ci: Update PHP to 8.3 for MacOS 12 by @tienvx in #509
  • fix: Fix unknown specification not working by @tienvx in #511
  • test(compatibility-suite): Fix compatibility suite v1 hang by @tienvx in #463
  • Revert "test(compatibility-suite): Fix compatibility suite v1 hang" by @YOU54F in #514
  • ci(compatibility-suite): Use default PHP for ubuntu-latest (8.1) by @tienvx in #513
  • feat: Allow to build multiple interactions by @tienvx in #508
  • feat: Allow sending csv body in request by @tienvx in #510
  • test: Test remaining factories by @tienvx in #515
  • test: Test Verifier by @tienvx in #516
  • test: Test MessageBuilder by @tienvx in #518
  • test: Test SyncMessageBuilder by @tienvx in #519
  • test: Test MockServerConfig::getBaseUri() by @tienvx in #520
  • test: Test MockServerEnvConfig by @tienvx in #521
  • test: Test more cases for PactConfig::setLogLevel() by @tienvx in #522
  • test: Test stub server by @tienvx in #523
  • revert: Set up pact on demand to speed up factory's unit tests by @tienvx in #524
  • refactor: Remove file_exists checking by @tienvx in #525
  • test: Test body models by @tienvx in #526
  • test: Test xml's mixed content by @tienvx in #530
  • test: Test add/set provider state for interaction/message by @tienvx in #532
  • test: Test VerifierConfig by @tienvx in #533
  • test: Test body for interaction/message by @tienvx in #534
  • test: Test FFI Client by @tienvx in #528
  • refactor(test): Reuse ClientTrait by @tienvx in #536
  • test: Test GrpcMockServer by @tienvx in #529
  • deps: Upgrade symfony/process by @tienvx in #539
  • deps: Remove slim/psr7 by @tienvx in #538
  • chore: Remove unused exception PactNotRegisteredException by @tienvx in #531
  • refactor: Update exception's parent by @tienvx in #535
  • test: Test verifier with empty array config by @tienvx in #537
  • test: Test ArrayData::createFrom() with empty array by @tienvx in #527

Full Changelog: 10.0.0-alpha5...10.0.0-alpha6

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

9.1.1

13 Feb 13:52
460e4d5
Compare
Choose a tag to compare

What's Changed

  • chore(deps): update to pact-ruby-standalone-v2.4.1 by @YOU54F in #469

Full Changelog: 9.1.0...9.1.1

9.1.0

12 Feb 13:03
63da543
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 9.0.0...9.1.0

10.0.0-alpha5

23 Jan 09:20
8d3f617
Compare
Choose a tag to compare
10.0.0-alpha5 Pre-release
Pre-release

What's Changed

  • refactor: Move xml to core by @tienvx in #434
  • chore: Check string generator is working by @tienvx in #435
  • refactor: Move code from matchers to formatters by @tienvx in #436
  • refactor!: Re-use existing matchers for xml by @tienvx in #437
  • test: Merge xml builder tests by @tienvx in #438
  • test: Update xml example by @tienvx in #439
  • refactor!: Rename class to Plugin\AbstractPluginBodyRegistry by @tienvx in #441
  • refactor!: Move protobuf code to core by @tienvx in #442
  • chore: Add protobuf sync message example by @tienvx in #444
  • refactor!: Move csv to core by @tienvx in #440
  • ci(test): Compile grpc and cache Linux docker image on Cirrus CI by @tienvx in #445
  • chore: Add protobuf async message example by @tienvx in #443
  • refactor: Add PluginFormatter by @tienvx in #448
  • deps: Update ffi library to 0.4.13 by @tienvx in #449

Full Changelog: 10.0.0-alpha4...10.0.0-alpha5

Thank @Lewiscowles1986 @YOU54F for reviewing code for this release

10.0.0-alpha4

25 Dec 14:41
96b862c
Compare
Choose a tag to compare
10.0.0-alpha4 Pre-release
Pre-release

What's Changed

  • fix: Fix fatal error when reponse's status is not set by @tienvx in #348
  • fix: Fix missing xml example's testsuites by @tienvx in #351
  • Reuse code by @tienvx in #352
  • chore: Add matchers example by @tienvx in #349
  • Allow like null by @tienvx in #350
  • fix: arrayContains matcher doesn't work if variants is array with keys by @tienvx in #355
  • fix: values matcher doesn't work if values is array with keys by @tienvx in #356
  • feat: Add eachValue matcher by @tienvx in #358
  • feat: Add eachKey matcher by @tienvx in #357
  • feat: allow multi values for regex matcher by @tienvx in #353
  • deps: Update ffi library by @tienvx in #360
  • revert: Values matcher accept keys again by @tienvx in #359
  • feat: Support inheritance for body by @tienvx in #361
  • feat: Allow capture verifier output by @tienvx in #362
  • feat: Allow capture mock server mismatches by @tienvx in #363
  • deps: Update ffi library to 0.4.11 by @tienvx in #364
  • chore: Add status code matcher example by @tienvx in #354
  • chore: Add generators example by @tienvx in #365
  • chore: Clean up and use matchers/generators for message example by @tienvx in #366
  • feat: Support matchers and generators for message metadata by @tienvx in #367
  • refactor!: Lazy load binary file by @tienvx in #368
  • chore: Rename StringData to BinaryData by @tienvx in #369
  • chore: Use 'Constructor property promotion' PHP 8 feature to make code smaller by @tienvx in #370
  • refactor: Add RandomInt generator class by @tienvx in #376
  • refactor: Add Uuid generator class by @tienvx in #382
  • refactor: Add RandomDecimal generator class by @tienvx in #378
  • refactor: Add RandomHexadecimal generator class by @tienvx in #379
  • refactor: Add RandomString generator class by @tienvx in #380
  • refactor: Add Regex generator class by @tienvx in #381
  • refactor: Add Date generator class by @tienvx in #383
  • refactor: Add Time generator class by @tienvx in #384
  • refactor: Add DateTime generator class by @tienvx in #385
  • refactor: Add RandomBoolean generator class by @tienvx in #386
  • refactor: Add ProviderState generator class by @tienvx in #387
  • refactor: Add MockServerURL generator class by @tienvx in #388
  • refactor: Add Equality matcher class by @tienvx in #390
  • refactor: Add Attributes DTO by @tienvx in #392
  • refactor: Add Regex matcher class by @tienvx in #391
  • refactor: Revert object to array by @tienvx in #393
  • refactor: Add Date matcher class by @tienvx in #394
  • refactor: Add Time matcher class by @tienvx in #395
  • refactor: Add DateTime matcher class by @tienvx in #396
  • refactor: Add Boolean matcher class by @tienvx in #398
  • refactor: Add ContentType matcher class by @tienvx in #399
  • refactor: Add Decimal matcher class by @tienvx in #400
  • refactor: Add Integer matcher class by @tienvx in #404
  • refactor: Add NotEmpty matcher class by @tienvx in #408
  • refactor: Add Number matcher class by @tienvx in #410
  • refactor: Add Semver matcher class by @tienvx in #411
  • refactor: Add StatusCode matcher class by @tienvx in #412
  • refactor: Add StringValue matcher class by @tienvx in #413
  • refactor: Add Type matcher class by @tienvx in #414
  • refactor: Add Values matcher class by @tienvx in #415
  • refactor: Add NullValue matcher class by @tienvx in #409
  • refactor: Add MinType matcher class by @tienvx in #407
  • refactor: Add MinMaxType matcher class by @tienvx in #406
  • refactor: Add MaxType matcher class by @tienvx in #405
  • refactor: Add Includes matcher class by @tienvx in #403
  • chore: Change default datetime format by @tienvx in #373
  • refactor: Add EachValue matcher class by @tienvx in #402
  • refactor: Add EachKey matcher class by @tienvx in #401
  • refactor: Add ArrayContains matcher class by @tienvx in #397
  • feat: Support sync message by @tienvx in #374
  • refactor: Remove unnecessary matchers by @tienvx in #418
  • chore: Rename test method by @tienvx in #416
  • chore: Print received message's metadata by @tienvx in #417
  • refactor: Use matcher and generator classes by @tienvx in #372
  • feat: Throw exception when both generator and example value are set by @tienvx in #420
  • feat: Add url matcher by @tienvx in #421
  • test(compatibility-suite): Add set up context by @tienvx in #425
  • test(compatibility-suite): Add compatibility suite submodule by @tienvx in #422
  • chore: Remove old composer script by @tienvx in #423
  • test(compatibility-suite): Build interactions by @tienvx in #426
  • test(compatibility-suite): Define interactions by @tienvx in #427
  • test(compatibility-suite): Implement V1 Consumer scenarios by @tienvx in #428
  • test(compatibility-suite): Implement V1 Provider scenarios by @tienvx in #429
  • test(compatibility-suite): Implement V2 scenarios by @tienvx in #430
  • test(compatibility-suite): Implement V3 scenarios by @tienvx in #431
  • test(compatibility-suite): Implement V4 scenarios by @tienvx in #432
  • test(compatibility-suite): Add PactPath DTO by @tienvx in #433

Full Changelog: 10.0.0-alpha3...10.0.0-alpha4