Releases: pact-foundation/pact-jvm
Releases · pact-foundation/pact-jvm
3.5.11
Bugfix Release
- Excluded some transitive dependencies to aid people using Maven #182
- Add a note about disabling the publishing of verification results for the gradle plugin
- Implemented matching for form posts #198
- Implemented support for default request and response values in the Java DSL #159
- Fix the Groovy uuid matcher to not include a generator if a value has been supplied #598
- Improve URL encoding in uploadJson URLs (encode tags, don't double encode consumer/provider names) (thanks to @TimothyJones )
- Added withFileUpload method to the JUnit DSL to support multipart file uploads #462
- add support for asyncResult() (thanks to @lukasGemela)
- Implemented matching of multipart uploads #123
- Upgraded Kotlin to 1.2 (Ronald Holshausen, Wed Nov 29 16:23:36 2017 +1100)
- Added a test for a large date format #595
- Added an example for a consumer test where a 400 response is returned #589
3.5.10
Fixes to JUnit and MockMVC verification tests
This release fixes an issue with JUnit verification tests where the value of the pact.verifier.publishResults
system property into account when publishing results. Also updated the MockMVC target to handle multi-part file uploads.
- Set the javax.mail dependency to version 1.5.0-b01
- Fix for JUnit verifier tests which where not taking the pact.verifier.publishResults system property into account when publishing results
- Enabled the MockMvcTarget to work with multipart file uploads
- Converted HttpPart base class to Kotlin
- Converted pact-jvm-provider-spring code to kotlin
3.5.9
Bugfixes + new Java 8 consumer body DSL
- add readme note about publishing pacts with tags with the Gradle plugin #403
- Merged pact-jvm-consumer-java8 from https://github.com/scheuchzer/pact-jvm-consumer-java8 (@scheuchzer)
- Allow the servlet path to be set with MockMvcTarget #580
- fix(provider-junit): fixes #527 (@artamonovkirill)
- Allow the value resolver to be configured from the annotation in the PactBrokerLoader #578
- Added an eachArrayLike method to the Groovy DSL to handle arrays of arrays #574
- Apply generators to the requests made by the verifier
- Correctly load pact files from paths with spaces #563
- update pact broker and pact spec links #579 (@Shashidesai)
- Add matchQuery with List as example #577 (@Mordavolt)
- Merge the filtering of pacts into the base pact runner #572
- Added method to pact broker client to fetch the latest untagged pacts
- Small code cleanup in OptionalBody
- Add .encodedQuery(String query) method to DSL (@remen)
- Fix double-decoding of query parameters (@remen)
- Fix regression when verifying form posts with the form parameters in the body #560
- Converted ProviderClient to Kotlin and added a test for encoded form posts #560
- improved error handling when not specifying a pact broker port (fixes #565) (@thombergs)
3.5.8
Bugfixes, classpath changes and some additional Spring support
This release has Google Guava downgraded to 18, as well as shuffling some dependencies and removing the Groovy based HttpBuilder library in favour of Apache Http client. Hopefully, that helps with people who have been having classpath issues.
- Added a spring context aware target that can look up instances from the spring context
- Update AmqpTarget to default to the test instance to support spring autowired dependencies in the test
- Fix for matcher paths with underscores #548
- Http client needs to be optional, as the pact broker client will use its own http client
- Converted the zero examples warning to an error #546
- Moved the unfiltered-netty-server to the provider scala support module
- Removed pact-jvm-consumer-sbt as it did not provide any benefit
- Moved async-http-client dependency to the scala modules
- Correct the kotlin version
- Removed http-builder in favour of apache http client
- Downgrade google guava to the lowest common version
- Update readme about turning off verification publishing
- Removed some unused depenendencies
- Print error when eachLike matcher is used with 0 examples (thanks to @ptornhult)
3.5.7
Spring Runner, plus fixes to publishing and tags with slashes
- Update to the latest kotlin version
- Add a system property to disable publishing of verification results #540
- Allow the decimal type matcher to include zero
- Added a Spring runner that correctly setups the spring context
- Default the provider version to the system property when publishing
- when publishing pacts, encode the tag names in case they have slashes #356
- Encode the parameters when uploading a pact, incase the tag has a slash #536
3.5.6
Bugfixes plus an enhancement to the Maven plugin
- Added warning about publishing verifications from local machine
- Guard against other types of matchers being applied to plain text responses #517
- Correct the JUnit pact runner to not fail when no pacts are found and the
@IgnoreNoPactsToVerify
annotation is present #535 - Enhance the Maven pact plugins to use the maven server credentials #534
- added the ability to set MessageConvertors on the MockMvcTarget instance via constuctor or setter (thanks to @MattTYXM)
- Fix the handling of templated URLs in the pact broker for when tags have a slash #536
3.5.5
Bugfix Release
- Add a test for HalClient forAll method #533
- Inlined com.github.kittinunf.result as it is not published to maven central #521
- Correct a regression introduced when implementing publishing of verification results the verifier short circuits as soon as an interation fails
- Added the URL matching support to the Java DSL #100
- Support absolute URLs in response bodies with a URL matcher #100
- Add Scala 2.12 version
- Upgrade Gradle to 4.1
- Upgraded Kotlin to 1.1.4
3.5.4
Implemented publishing of verification results to the pact broker
- use case-insenstive lookups of HAL links when publishing verification results to the pact broker #417
- Implemented publishing verification results to the pact broker #417
- Use UTF-8 as a default charset in MockServer (thanks to @Windowsfreak)
- Update PactDslResponse.java (thanks to @ehmkah)
- Use the pact broker client to fetch pacts when they need to be loaded from a pact broker
- generate the correct JSON when the attribute name is a number #513
- Converted DiffUtils to kotlin
- When merging a pact file, check if the target file is not empty
- Documentation should match implementation (thanks to @ehmkah)
2.4.19
Back-ported fixes from 3.5.x
- generate the correct JSON when the attribute name is a number #513
- When merging a pact file, check if the target file is not empty
- Fix for the maven provider plugin
- update
PactBroker
to allow setting properties via system properties by default - Update PactDslJsonBody.closeArray() to close the parent array if it has one #505
- fix placeholders resolution in "tags" field of @PactBroker annotation
- Added static methods on PactDslJsonArray for matching root level arrays #487
- Updating URL matching regex to apply to file URLs
- Inlined DiffConfig as only one attribute was ever used
- Fix bodyWithSingleQuotes with ContentType param
- Updated the file system lock code to work on windows #475
- Add a synchanisation block and file system lock around merging a pact with an existing one on the file system #475
- Use the correct pacticipant name when publishing a tag
- Update the javadocs for base provider rule getUrl() and getPort() methods
- Updated the Gradle plugin to support publishing pacts with tags
- Fix for displaying a diff which may not be a list
- Fix for pacts with wildcard matchers and providers returning additional fields
- Update response comparison to work with mulltiple failures for item
- Add a Groovy boolean matcher
- Make message pact metadata available from MessagePactProviderRule
- use 9 digits for random numbers so they will fit within the dynamic range of 32 bit integers #436
- Only add the testClasses task as a dependency to the verification task if the testClasses task is defined #460
- Allow string matcher to accept empty string
- Improve quality of filteredPactRunner
- Add a new Pact Runner called FilteredPactRunner that only runs interactions with a specified provider state
- Avoid the native Groovy conversions from a Map #448
- add stacktrace cause details
- Add provider task as a dependency to pactVerify unless provider property
isDependencyForPactVerify
is false (defaults to true). - fix the matchingRules generated by eachKeyLike
- Correct the generated matchers which were missing the
"match": type
entries - Allow maven plugin users to easily remove '-SNAPSHOT' from the pact version.
- Re-apply the enhancements to the HAL Client code
- Correctly handle the error messages from the pact broker #421
- Added RestPactRunner and MessagePactRunner
- Added method to PactFolderLoader to provide files along with pacts to fix the ConsumerInfo instantiation.
- Add eachlike methods to PactDslJsonArray that take PactDslJsonRootValue matchers #256
- Only encode JSON values if the PactDslJsonRootValue is used at the body root #385
- Provide more info when a merge conflict occurs
- Add pact broker credidentials as properties to the gradle pact publish task
- Added pact broker credidentials to the Maven publish plugin
- Use GSON to generate Pact JSON to preserve non-ascii characters #395
- When writing pacts, do not parse JSON bodies that are strings
- Allow the instantation of objects for provider methods to be overwridden in the verifier
- Added query parameter matching support to the Groovy DSL #375
- Added query parameter matching support to the Java DSL #392
- Added check to VersionedPactUrlLoader to blow up if the url provided does not contain any variables to expand.
- Update PactBrokerLoader to accept tags from system properties. Currently there is no way to modify the list of tags which are pulled from the broker at runtime. This commit makes the PactBrokerLoader honor system property expressions in a manner similar to the way it is handled for other parameters. If multiple tags are included in a system parameter they must be comma separated.
- Update code to have platform specific line separator
- Fix logic for default port in case of https
- Display a smaller diff for some of the body mismatches #370
- Correct the PactDslJsonRootValue to generate correctly encoded JSON strings #369
- Enable tag support in the maven plugin #364
- Fix for HAL client throwing missing method exception when the pact links is empty
- Do not fail if pact directory does not exist
- Update
PactBrokerLoader
to propagate auth info toloadPact
call - Updated PactBrokerLoader to work with basic auth #360
- Update the maven publish mojo to thrown an exception if any pact file is not published #361
3.5.3
Bugfix Release
- Moved the pact broker client code to its own module #408
- Moved the code to load a pact from a URL to a kotlin function
- Set the source correctly when loading from a pact broker
- Added dokka to build to generate docs for kotlin sources
- Update the verifier methods to return a boolean result
- Capture the source of the pact file when loading it
- Update PactRunner so that filtered pact runner has the same behaviour with the @IgnoreNoPactsToVerify annotation #495
- update
PactBroker
to allow setting properties via system properties by default (thanks to @fitzoh) - Update PactDslJsonBody.closeArray() to close the parent array if it has one #505
- Upgrade Gradle to 4.0.2 and Groovy to 2.4.11
- Do not fail the JUnit test if no pacts are found and @IgnoreNoPactsToVerify is present #455
- Deprecate failIfNoPactsFound in favour of @IgnoreNoPactsToVerify annotation #455
- Updated the FilteredPactRunner to accept regular rexpressions #495
- Converted the FilteredPactRunner to Kotlin and added a unit test #495
- Upgraded kotlin to 1.1.3
- Converted Scala provider test code to Groovy
- #491 Added regex matcher for text/plain (thanks to @bbarke)
- fix placeholders resolution in "tags" field of @PactBroker annotation (thanks to @dmikhievich)
- Added static methods on PactDslJsonArray for matching root level arrays #487
- Propagate the combine rule on matching rules with nested objects in the Java DSL #483
- Moved the Scala provider support code to its own module
- Updating URL matching regex to apply to file URLs (thanks to @jeffreymyers)
- Fix bodyWithSingleQuotes with ContentType param (thanks to @jeffreymyers)
- #241 Added ability to use trust store in pact-jvm-server (thanks to @bbarke)