Skip to content

Releases: pact-foundation/pact-php

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

10.0.0-alpha3

16 Oct 10:47
a6f616c
Compare
Choose a tag to compare
10.0.0-alpha3 Pre-release
Pre-release

What's Changed

Full Changelog: 10.0.0-alpha2...10.0.0-alpha3

10.0.0-alpha2

01 Aug 14:49
8a3581b
Compare
Choose a tag to compare
10.0.0-alpha2 Pre-release
Pre-release

What's Changed

  • chore: Update ffi library by @tienvx in #329
  • chore: Closing socket connection after opening it by @tienvx in #328
  • feat: Use auto-installing plugins feature by @tienvx in #330
  • chore: Replace atLeastAndMostLike by constrainedArrayLike by @tienvx in #327

Full Changelog: 10.0.0-alpha1...10.0.0-alpha2

10.0.0-alpha1

28 Jul 13:56
fbd4ea9
Compare
Choose a tag to compare
10.0.0-alpha1 Pre-release
Pre-release

What's Changed

  • Remove duplicated code in config by @tienvx in #313
  • docs: releasing instructions by @YOU54F in #321
  • deps(ci): create dependabot config by @YOU54F in #320
  • pact_ffi library targeting ffi branch for beta use by users by @YOU54F in #323
  • chore: Update pact ffi library to 0.4.6 by @tienvx in #325

Full Changelog: 9.0.0...10.0.0-alpha1

Pact PHP - Support for V3 / V4 + Plugins Via FFI

What is the current status

Pact-PHP does not currently support v3+ features of the rust core, in the mainline branch.

V3+ features are now available for beta testing in ffi branch, in a view to stabilise and release into the mainline.

We would <3 your support

How can I test this today

Anyone can start testing pact-php with pact_ffi code by updating their composer.json

"pact-foundation/pact-php": "10.0.0-alpha1"

Migration Guide:- https://github.com/pact-foundation/pact-php/blob/ffi/UPGRADE-10.0.md

PR's which made up this release

How can I submit feedback

All feedback is gratefully received, positive feedback is great, as it allows us to ascertain how well the package is doing for users. Constructive criticism is okay too, but see the next section

  • Raise a new issue, clearly stating you are using the ffi branch

How can I contribute

If you want to help improve Pact-PHP, read the DEVELOPING.md documentation, fork the repo and have a play!

See the open PR for the ffi branch