Releases: pact-foundation/pact-php
Releases · pact-foundation/pact-php
10.1.0-beta1
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
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
- @individual-it made their first contribution in #620
Full Changelog: 10.0.0-beta2...10.0.0
10.0.0-beta2
What's Changed
Full Changelog: 10.0.0-beta1...10.0.0-beta2
10.0.0-beta1
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
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
- @dependabot made their first contribution in #336
- @fbarril made their first contribution in #464
Full Changelog: 10.0.0-alpha6...10.0.0-alpha7
Thanks @Lewiscowles1986 for reviewing a lot of code
10.0.0-alpha6
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
9.1.0
What's Changed
- docs: releasing instructions by @YOU54F in #321
- deps(ci): create dependabot config by @YOU54F in #320
- 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
New Contributors
- @dependabot made their first contribution in #336
- @fbarril made their first contribution in #464
Full Changelog: 9.0.0...9.1.0
10.0.0-alpha5
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
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