Releases: pact-foundation/pact-php
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
10.0.0-alpha3
What's Changed
- chore: reorganize examples (create separate directory for each example) by @tienvx in #331
- Use Rust FFI #12: Binary by @tienvx in #332
- Use Rust FFI #13: Multipart by @tienvx in #333
- Disable jit on windows by @tienvx in #340
- Print provider process's log by @tienvx in #339
- Multipart static files by @tienvx in #342
- Multipart static boundary by @tienvx in #343
- Use arm container by @tienvx in #344
- Use Rust FFI #15: Remove StubServerHttpService by @tienvx in #346
- deps: Update pact-php-xml to 0.1.0 by @tienvx in #347
Full Changelog: 10.0.0-alpha2...10.0.0-alpha3
10.0.0-alpha2
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
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
- Consumer #280
- Message Consumer #281
- Provider #282
- Stub Server #283
- #294
- #295
- #295
- #296
- #297
- #302
- #303
- #310
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
9.0.0
What's Changed
- Use Rust FFI #1: Drop PHP 7.4, test PHP 8.2 by @tienvx in #278
- Use Rust FFI #2: Offload installers by @tienvx in #279
- feat: update phpstan/phpstan analyze tool by @WaylandAce in #289
- Fix tests by @YOU54F in #304
- broker: Fix broker describe pacticipant argument passing by @Greg0 in #306
- Test stub server health check by @tienvx in #294
- Run php cs fixer on PHP 8.2 by @tienvx in #301
- chore: phpstan level 7 by @WaylandAce in #290
- Matcher email by @YOU54F in #308
- Fix/display stderr on publish error by @YOU54F in #307
- fix: display stderr on pact publish process failure by @WaylandAce in #288
- Use Github Actions feature to cancel previous runs by @tienvx in #311
- MockServerConfig defaults and pact-php speed enhancements by @YOU54F in #322
- Feat: ARM64 Support for OSX / Linux + Windows 32 bit support by @YOU54F in #309
New Contributors
Full Changelog: 8.1.0...9.0.0
8.1.0
What's Changed
- php-cs-fixer by @mmoll in #267
- fix: provider-verifier bad arguments naming by @Veridis in #272
- Feature/support matchers by @cfmack in #273
- feat: Support matchers in path by @turb0bur in #264
- Add option to disable SSL verification in ProviderVerifier by @gayashanbc-hp in #274
- Unlock amphp/cache by @greg0ire in #275
New Contributors
- @mmoll made their first contribution in #267
- @Veridis made their first contribution in #272
- @turb0bur made their first contribution in #264
- @gayashanbc-hp made their first contribution in #274
- @greg0ire made their first contribution in #275
Full Changelog: 8.0.0...8.1.0
8.0.0
7.2.0
What's Changed
- Bugfix/update pact url by @Lewiscowles1986 in #249
- ci (test): drop pull_request_target from build by @YOU54F in #256
- Suggestion: Build on schedule once per month by @Lewiscowles1986 in #253
- Pin pact-standalone 1.88.90 by @Lewiscowles1986 in #252
- guzzle security update by @cfmack in #263
New Contributors
- @Lewiscowles1986 made their first contribution in #249
Full Changelog: 7.1.2...7.2.0
7.1.2
What's Changed
- fix: parameter order mismatch by @malukenho in #233
- feat: Support all variations of ISO 8601 time zone designators by @mdio in #235
- feat: Add support for publishing verification results with a branch by @WaylandAce in #240
- support: Improve guzzlehttp/guzzle version compatibility by @WaylandAce in #242
- feat: Add branch name to BrokerConfig by @WaylandAce in #243
- feat: pass pact-broker-base-url argument to verifier process by @WaylandAce in #244
New Contributors
Full Changelog: 7.1.1...7.1.2