pact-reference-rust-v1.0.0
opicaud
released this
16 May 12:11
·
514 commits
to master
since this release
pact-reference-rust-v1.0.0 (2023-05-16)
Bug Fixes
match
arms have incompatible types (b7f967e)- access-control-allow-methods header was duplicated (44e7414)
- add a small delay after loading plugins via FFI to resolve a race condition (213d145)
- add a small delay at the end of validation to allow async tasks to finish (00a0046)
- add a test to reflect behaviour as per V4 spec (1c45b63)
- add callback timeout option for verifcation callbacks (4afa86a)
- add cc_library (93d658f)
- add final newline to verifier output (Jest will overwrite it with the test name) (8c2152e)
- add function to display binary data in a meaningful way (2ca2fe4)
- add matching implementations for Vec and &Vec (ede663e)
- add missing params to provider state change executor (17682dc)
- add missing provider-branch to verifier CLI (0af1830)
- Add OSX to the conan package (a13c0fc)
- add test for publish verification result issue #231 (33a784a)
- add tests for PUT and POST requests #220 (9fc5658)
- add visibility public (2fd1c0d)
- add zip file for binary test (81eed06)
- Allow dashes in path expressions for headers like Content-Type (1184203)
- allow multiple consumer version selectors (df23ba3)
- allow the HTTP client to be optional in the provider state executor (0e8bfad)
- apply generators to the request in the same manor as the response (ae95e0c)
- arrayContains matcher JSON was missing match attribute (c686ce0)
- async message builder was not setting the pact plugin config correctly (df67b72)
- broken message test (a7e5778)
- broken test for v2 path matcher (5167cfb)
- broken tests after handling multiple header values (7616ccb)
- cbindgen fails in latest nightly rust (fcfc7c1)
- cbindgen fails in latest nightly rust (61e4d69)
- cbindgen fails in latest nightly rust (4b1ba4a)
- change filegroup (e819794)
- Charsets in headers should be compared ignoring case (a151bcc)
- check the size of the merged pact file #54 (bc044be)
- cleanup compiler warning (beb1c03)
- cleanup env var and set tests to not run in parallel on CI #54 (19e8ced)
- cleanup warnings and fixed test (45fc1a0)
- CLI was reporting incorrect pact specification version (6343607)
- clippy error (e5b1f93)
- clippy erros (cbc7812)
- clippy violation - caused a compiler error (728465d)
- clippy violation: using
clone
on a double-reference (e588bb2) - clippy: using
clone
on a double-reference; this will copy the reference instead of cloning the inner type (0a70d64) - clippy: you are implementing
Hash
explicitly but have derivedPartialEq
(9852811) - comparing query paraneters where actual has less values but there is a type matcher (0e3db9d)
- conan packages for pact_ffi (6d1ff31)
- Consumer DSL needs to increment plugin access to avoid plugin shutting down when mock server starts (57a8ad7)
- consumer version selectors (f4a7d52)
- consumer: request and response builders were using the first interaction from plugins, not the correct one (f6d0c35)
- content type matcher was not being applied if content type was not octet_stream #171 (65d0514)
- correct build dependencies (f2c7145)
- correct C examples after adding prefix (5801e46)
- correct clippy error (7baf074)
- correct headers attribute with multiple values might not be matched (eef6b08)
- correct issue with headers/query with multiple values (75c965e)
- correct overflow of max value for random int generator #39 (91da912)
- correct pact merging to remove duplicates #54 (a660b87)
- correct parsing of JSON encoded bodies as per V4 spec (ba24b0a)
- Correct test after upgrading pact_models to 1.0.2 (2cf5d8a)
- correct the backing arary list for headers from FFI call (9c84713)
- correct the backing array list for query parameters from FFI call (c93e364)
- correct the matching logic with lists and eachkey/eachvalue matchers (1a01d11)
- correct the pact_verifier_cli release scripts (f9cf35f)
- correct the release script (adf1a97)
- correct the release scripts (2057f2c)
- correct the version in pact_verifier_cli (f9ecd89)
- correct the version of the pact_consumer crate (2b39873)
- correct the windows lib name in conan package (4287f0e)
- correct the windows lib name in conan package (c1015d5)
- correct version (637e814)
- corrected some spelling (b5c7842)
- corrected the docker build for the mock server cli #14 (a45d5f8)
- corrected the docker build for the verifier cli #14 (9d24b7e)
- corrected the release scripts to check for a version parameter (386ab52)
- correctly assemble UTF-8 percent encoded query parameters (7f054e8)
- cors: source allowed origin from origin header, add credentials (86d32dd)
- date and time matchers with JSON (2920364)
- date/time matchers fallback to the old key (61ab50f)
- detect common text types when comparing content type (a0c9d20)
- display the error message when the verification can not be run due to an error (bfa0437)
- doc tests with Into trait fail to link with Rust beta 1.27.0 (1e0c65b)
- docker build now requires libclang system library (9f3ad74)
- docker file needs to be able to build Oniguruma lib (8a0c5c2)
- docker release script (0dd10e6)
- docker release script (5b22076)
- DocPath join needs to detect numeric values (7b2e853)
- Docpath join was escaping * (a3f7471)
- don't clone a double reference (clippy error) (d8ceb74)
- don't unwrap a result when generating random string from regex (9389c0a)
- drop(from_raw(ptr))
if you intend to drop the
CString` (1cafd00) - Each key matching was not implemented correctly (28f562e)
- EachValue was outputting the wrong JSON (48a6be5)
- error caused an internal mutex to be poisoned (5251fcf)
- expected opaque type, found enum
Result
(fe22ae3) - failing pact_consumer build (13976f5)
- failing test after changing message_with_contents function signature (78c20d6)
- failing tests #116 (b1a4c8c)
- feat deps pattern to use via external libpact_ffi.a (77a5e26)
- FFI always detects + stores JSON bodies as plain text (aff4d30)
- FFI datetime matcher was using incorrect field (ddacb5d)
- FFI function was exposing a struct from the models crate (8b075d3)
- FFI mismatch json should have the actual values as UTF-8 string not bytes #64 (a45d0c3)
- ffi.pactffi_logger_attach_sink causes seg fault if log directory doesn't exist #226 (9dad5d2)
- FFI: broken build after upgrading pact_models (4f366ac)
- ffi: correct race condition in pactffi_using_plugin (d41e244)
- FFI: FFI passes matching rules and generators for paths etc. with a path of $ (b6bba54)
- FFI: fix matching rule for paths #205 (e95d701)
- FFI: fix matching rule for paths #205 (b0fdbb6)
- FFI: fixed race condition with Pact handle ids (8520760)
- FFI: handle headers with multiple values correctly #205 (f634fa9)
- FFI: handle query parameters with multiple values correctly #205 (52b7009)
- FFI: Message metadata was not being passed on to the mock server (a56bc05)
- ffi: OSX CMake file had the wring filename (1307dde)
- ffi: pactffi_create_mock_server_for_transport was returning the wrong status for invalid address (a78f2a1)
- FFI: pactffi_with_binary_file was incorrectly setting the response content type to application/octet-stream #171 (3c5c45d)
- ffi: plugin data was not merged into the Pact file correctly (797d1cc)
- FFI: Replaced the matching rule union type with 3 FFI functions which should support Go better (7756d30)
- ffi: resources were not freed correctly when the mock server is provided by a plugin (873f0c9)
- FFI: update the example in docs to use new function #205 (f0cde4e)
- FFI: use a multi-threaded reactor for FFI setup_contents call to plugins (ec2ed51)
- FFI: Use a star for the path with values matcher #216 (b8be05c)
- fix missing last tag (36f7e47)
- fix the build after refactoring the pact write function (2fb0c6e)
- for failing integration test (2679653)
- generators in process_object (63ab0d2)
- generators to_json was only writing the first one for bodies, headers and queries (cbb6e20)
- get verify_provider_async to wait on the metric call (8056d7e)
- global options no longer incorrectly display a warning about being provided twice #27 (e5af1b0)
- handle path expressions that start with an underscore (433d9c5)
- Header matching rules with an index were not being applied #238 (2c8467e)
- http_consumer_feature_test on linux (52768a3)
- ignore flakey test (6ff9c33)
- implement display for Interaction and Message (831ba3d)
- improve the error message when a merge conflict occurs (6af29ce)
- in callback executors, pass self by value to avoid lifetime issues (a27ce14)
- include test results for successful interactions when publishing verification results #92 (74bd53f)
- incorrectly handling provider state parameters from FFI call (3a12b6f)
- Interaction builder was not copying plugin config data to the Pact metadata (e91ad62)
- intermediate date/time matcher JSON should use the format attribute (f94f25a)
- introduce GeneratorTestMode and restrict provider state generator to the provider side (13ce2f2)
- jsdom does not support access-control-allow-headers: * for CORS pre-flight responses (326d02d)
- Keep the original value when injecting from a provider state value so data type is retained #116 (e21db69)
- linux verifier ffi shasum path was incorrect. Fixes #114 (12e5170)
- lock the pact crate versions so that updates do not break CLI install #189 (8d58ea3)
- log crate version must be fixed across all crates (including plugin driver) (c208964)
- Macos on conan package (a0d701e)
- make application/xml equivalent to text/xml (6995298)
- make HAL client fetch and fetch link functions support brokers hosted with context paths #220 (77a7c8b)
- make sure metadata entries are correctly encoded when downgrading a pact (a859d0e)
- map matching logic was not including the EachValue matcher (cd6fe27)
- matcher_from_integration_json in mockserver/bodies.rs doesn't support all MatchingRules #247 (3760c2b)
- matchers in Pact file can have a different order on OSX (c8ad6d4)
- matching binary data was broken after refactor (d24cfe3)
- matching definition parser was incorrectly merging multiple definitions (e1e0b43)
- Matching rule parser was not handling decimal values correctly (74a36a1)
- Matching rules are not being applied correctly to message metadata #245 (4409441)
- message pact feature test (cf679bd)
- message pact feature test (84d79a1)
- message pact needed matchingrules + generators (59e23f4)
- Message pact was not loading the IDs from the Pact Broker #239 (64d500b)
- message_reify was returning a pointer to a Rust string (ad0a72e)
- Metadata was missing from the generator categories (f84adc7)
- metrics: swap uid for cid (25d8cd9)
- min/max type matchers must not apply the limits when cascading (8bcd1c7)
- min/max type matchers were not being applied to query parameters (4e9d837)
- missing $ in macro (86f8140)
- missing import (6076485)
- mock server matching requests with headers with multiple values (d85f28c)
- MockServerURL generator was using the incorrect field (56ce20a)
- notEmpty matching rule defintion should be applied to any primitive value (407cc2e)
- ok so maybe let's see if this works on linux 🤷 (eb4b328)
- Only print errors in the CLI to STDERR #28 (3c33294)
- pact specification key in the metadata should be camelcase #3 (b68c893)
- pact_consumer should be a dev dependency (0c5d6c2)
- PACT_DO_NOT_TRACK should be upper case (43754e6)
- pact_verifier_cli needs to use Tokio 0.2 (2ebeef9)
- pact_verifier_cli was printing the version from the FFI crate (e8d6d84)
- pact_verifier_cli: log entries were being duplicated (05e6399)
- pact_verifier_cli: stop using deprecated clap::parser::matches::arg_matches::ArgMatches::values_of_lossy (b626002)
- pact_verifier_ffi release scripts (6daae85)
- pact-ffi: intermediate JSON - add test for JSON with decimal matcher #179 (7688908)
- pact-ffi: intermediate JSON - type matcher paths were being incorrectly allocated to children #179 (b10453c)
- pacts for verification unmarshal fails if 'pending' attr is not returned in response (d481bc1)
- panicked at 'called on a value' when FFI LevelFilter == Off #226 (d976db0)
- parse the V3 keys as path expressions for query and header matchers (948e620)
- path in release scripts (2f29760)
- pinning version of webmachine until reqwest is updated (773b4b1)
- PluginData configuration is optional (c0bdd35)
- ported matching logic fixes from Pact-JVM (6633575)
- provider request timeout should be > 16bit integers. Fixes pact-foundation/pact-js#761 (0ef3fb9)
- provider state handlers must be synchronous so they are executed for the actual request (126b463)
- publishing provider branch was broken when invoked via a webhook call (7f51bdc)
- race condition when shutting down plugin via FFI (e4a445b)
- random decimal generator now includes a decimal point in the generated values (042bed0)
- release script (0fe57d9)
- remove duplicated line (a7c674a)
- remove generator from crates_repository (eb8c395)
- repeat the test 3 times #54 (d4dd39f)
- reqwest is dyn linked to openssl by default, which causes a SIGSEGV on alpine linux (b4e2684)
- results for sync messages were not being displayed (4587a43)
- retain the data type for simple expressions #116 (80e3c4e)
- return a failure if any pact verification fails #47 (665bbd8)
- return the most relevant response from the mock server #69 (da53bac)
- return version of the mock server via FFI without heap allocation #80 (51eef86)
- rust/pact_mock_server_cli/Dockerfile to reduce vulnerabilities (fcbee0c)
- rust/pact_mock_server_cli/Dockerfile to reduce vulnerabilities (eb92d66)
- rust/pact_verifier_cli/Dockerfile to reduce vulnerabilities (c7f6887)
- rust/pact_verifier_cli/Dockerfile to reduce vulnerabilities (f709528)
- serialise v2 path matcher correctly for FFI (a33718a)
- set content-type header in message request (3e943b1)
- set the path to the generated pact file #54 (b5474b4)
- shared mime-info db not available on Windows (41b406a)
- shutdown the tokio reactor correctly when there is an error (c97f5d1)
- Some matching rules do not have associated configuration (39338c4)
- sort the header and query parameter keys when writing the pact #246 (4c04cb6)
- State change descriptions were not being displayed along with the interaction description (6cae9b0)
- state change URLs should not end with a slash #110 (e993074)
- store matching rules in a set to avoid duplicates (a0dc946)
- strip off anchors before generating a value from a regex (cd9d41c)
- support header values that are not well formed #228 (4f786ff)
- support matching rules affected by Pact-JVM defect 743 (97abce4)
- Support RequestResponsePact loading from V4 formatted JSON #246 (155dae4)
- support specifying matching_branch in verifications (29605ab)
- support specifying matching_branch in verifications (260deb7)
- switch to the Oniguruma crate for regex matching #46 (defe890)
- Templated values in HAL links need to be URL encoded #166 (f4fdba3)
- times with millisecond precision less 3 caused chronos to panic (850282d)
- try loosen dependencies to fix dependency cycle issue (f91dc00)
- update conan test packages to use updated API (2eba288)
- update doc comment on message_with_contents function (64e0700)
- update flakey ffi feature test (7d50453)
- Update onig to latest master to fix Regex Matcher Fails On Valid Inputs #214 (6ad00a5)
- update to latest driver crate (fc5be20)
- update to latest models and plugin driver crates (918e5be)
- Upgrade pact_models to 0.4.5 - fixes FFI bug with generators for request paths (f8db90d)
- Upgrade pact_models to 1.0 and pact-plugin-driver to 0.1.15 to fix cyclic dependency issue (577824e)
- Upgrade pact_verifier to 0.13.13 (cdb555f)
- Upgrade plugin driver to 0.1.13 (fixes issue loading plugin when there are multiple versions for the same plugin) (965a1c4)
- Upgrade plugin driver to 0.3.1 (1e7331f)
- Upgrade reqwest to 0.11.10 to resolve #156 (73ae0ef)
- upgrade to tree_magic_mini 2.0.0 because they pulled 1.0.0 from crates.io and now builds fail (75c2c1a)
- upgrade uuid crate (1651af1)
- use a single result enum #66 (9b1c192)
- use cargo-bazel-lock local (e9b1cf0)
- use the pacts for verification endpoint if the conusmer selectors are specified #133 (c274ca1)
- use Vec instead of HashSet to maintain order of matching rules on OSX (42f0a39)
- using
clone
on a double-reference (39c3816) - using
clone
on a double-reference (c182c25) - UUID generator should return hyphenated values (a5f17a5)
- V3 path matcher JSON format was incorrect (b52f095)
- V4: Status code matcher was not converted to JSON correctly (457aa5f)
- Values matcher should not be applied to a slice like Equality (dfa9f61)
- Values matchers must not cascade (07e2a3b)
- values_matcher_defined should include EachValue matcher (41a5231)
- verification CLI was reporting incorrect pact specification version (4b8fb64)
- Verification results across multiple pacts accumulate, publishing invalid results #231 (c12d9a6)
- verifier test: missing addition of teardown impl (1768141)
- verifier was returning a mismatch when the expected body is empty #113 (a44cbbe)
- verifier: fix typos in the implementation of Display on the PactSource enum (b8d263f)
- verifier: provider state executor teardown function does not need to be async (6466545)
- verifier: the state_change_teardown option didn't appear to actually be used (5f782d6)
- verify interaction was blocking the thread (484b747)
- was incorrectly selecting the matching rule when weight was equal (67e2147)
- was missing setter to set the transport with V4 interactions (01ac989)
- when comparing content types, check the base type if the actual content type has a suffix #224 (83d14ce)
- when displaying diff, if actual body was empty a panic resulted (baf3693)
- when loading pacts from a dir, filter by the provider name #233 (34a67cb)
- when loading plugins for Pact files, only take minor + major version into account (e93c557)
- when matching bodies, use any content type header matcher (88eff15)
- when merging pacts, it helps to use the new interations in the merged pact, not the old ones #77 (3acf437)
- Windows URL on conan package (bb1e35e)
- write_pact_file was always serialising a v3 pact even if the spec version was set to 2 (d7632cb)
- xml response matching rules (13f7c36)
chore
- rename header PACT_MESSAGE_METADATA -> Pact-Message-Metadata (b3a6f19)
deps
- pact_mock_server_ffi: remove formdata, add multipart (3b73b71)
Features
- add --no-color option to verfier CLI #203 (4530dbd)
- add a boolean return value for all FFI interaction functions #108 (64adcdc)
- Add a command to shut the master mock server down #26 (40ad75b)
- add a method to join a value onto a doc path (c707a8c)
- add a mock server config struct (29ba743)
- add a mock server URL generator (09b197d)
- Add a parameter for the server key to the start command #26 (074569a)
- add a test to check for error result with IO error #213 (8ca3303)
- add ability of mock server to expose metrics #94 (5a529fd)
- add all the CORS headers (d3c5cf2)
- add an iterator over the matching rules from a matching definition expression (18e1e11)
- Add ARM64 (aarch64) linux targets to the release build #160 (e3bef15)
- add bazel to build libpact_ffi.a (c1098a4)
- add bazel to build shared library libpact_ffi.a (1149bed)
- add bazel to build shared library libpact_ffi.a (83df4f6)
- add CLI options to provide different ports when there are different transports (8cc2948)
- add colons to the allowed path characters (66c328e)
- add convience methods to modify headers (e699061)
- add cross config to build arm64 binaries (34f4f6c)
- add custom-header to the old FFI args for implementations that have not moved to handles (2e5823a)
- add date-time matcher to consumer DSL (be604cc)
- add docs on the matching rule IDs (cfc565e)
- add exponental deplay the pact broker client retries #94 (656201c)
- add FFI function to create mock server from Pact handle (0613180)
- add FFI function to get the generator from a matching definition (f7b561e)
- add FFI function to parse a matching definition expression (768a132)
- add FFI function to parse JSON to a Pact model (e21d345)
- add FFI function to return generator JSON (570e33c)
- add FFI function to set a message contents (cf40b7d)
- add FFI function to set a message contents as binary (8f112ad)
- add FFI functions to extract logs from a verifcation run (42be9eb)
- add FFI functions to return the verifier output and results (c676e82)
- add for custom headers to the HTTP client used by the verifier #182 (f52c362)
- add function to detect if a string is a matching definition (481762f)
- add function to get matching rule as JSON (7a2686e)
- add function to retrieve the TLS CA cert (2f16b34)
- Add functions to calc unique key to V4 interaction trait (6de6c22)
- add functions to return mutable references to the V4 model trait (15b8f08)
- add functions to return plugin details to the WASM interface (5ceaae2)
- add generator FFI functions (b7c010e)
- add ignore-no-pacts-error to the verifier CLI #213 (8663cd3)
- Add initial V4 models and example pact files (7232e89)
- add json output to the verifier CLI (d0fa29d)
- add MessagePact (Pact with Messages instead of Interactions) (cc42fbc)
- add metadata to consumer message ffi interface (10e54b8)
- add method to DocPath to return the parent path (b5fd82e)
- add method to V4Pact to find an interaction by ID (7e3e2e1)
- add metric call when the mock server is shutdown via FFI function (78c05f2)
- add metrics event for provider verification (f8042d6)
- add metrics events for Pact-Rust consumer tests (cba3f08)
- add metrics publishing to matching crate (48d061e)
- add musl target to the release build #185 (16fbe7c)
- add mutable iteraction over Pact interactions (daa2c10)
- add mutable methods to Pact model traits (fa83806)
- Add options for compact and human formats to the verifier CLI log output (53a622a)
- add pactffi_create_mock_server_for_transport function (5cd2ae5)
- add pactffi_pact_handle_write_file which knows about the spec version (675506e)
- add retries to the provider state change calls #197 (18118e8)
- add retry to the pact broker client fetch #94 (8541751)
- add retry to the pact broker client post and put #94 (e38634e)
- add self-signed tls option to mockserver cli (to test TLS with Tokio 1.0) (76f052b)
- Add short option for custom headers (14e3b8f)
- add support for custom headers via the verifier CLI #182 (7932480)
- add support for custom headers with the verifier FFI calls #182 (74bd453)
- add support for TLS with the mock server #65 (da885a3)
- add support functions for regular expressions for foreign DSLs (b30fd2d)
- add tests for serialising Generator::ProviderStateGenerator (b130cd2)
- add user-agent header to the HALClient (8bb2534)
- add verification option to disable ANSI escape codes in output #203 (40f7bdc)
- add verifiedBy to the verified results (09513de)
- add verifier ffi function set consumer filters (dab7027)
- add verifier ffi function set verification options (05f4c3d)
- added a struct for handling content types (5316030)
- added convenience header methods to HttpPart (ead1af2)
- Added header_from_provider_state and path_from_provider_state (ffbcaf5)
- added interaction handle (9ec8817)
- added read locks and a mutex guard to reading and writing pacts (9976e80)
- added some tests for publishing verification results to the pact broker #44 (eef3d97)
- added test for array contains as a generator (5556b32)
- added the ProviderStateGenerator as a generator type (cb30a2f)
- added V4 interaction types (b2725dd)
- added validation of provider state JSON (31873ee)
- added verification of req/res interaction (82a2d5d)
- allow BrokerWithDynamicConfiguration to publish results (f76ddd8), closes #181
- allow callers to add messages to log (f683304)
- allow callers to add metadata into resulting pact file (0dc59d0)
- allow ffi bindings to set spec version (6af4d3f)
- allow FFI mockserver to log to a memory buffer (eb19188)
- allow https scheme and ability to disable ssl verification (6cec6c7)
- allow messages to have binary payloads (5024e17)
- allow non deafult json content-type (c1ccb62)
- allow sensible defaults for interaction transports (ce11a61)
- allow set consumer version selectors (7c561f2)
- allow set filter info (41e69a2)
- Allow the directory pacts are written to to be overriden in consumer tests #21 (a5588dc)
- allow the interaction transport to be set in consumer tests (24186e9)
- always execute provider_states callbacks even when no state is defined (8216ec7)
- array contains working with Siren example (7110ab1)
- basic array contains matcher working (d79beb4)
- being able to build pact_verifier_cli (467a442)
- being able to override cargo-bazel-lock name file (ec28067)
- capture all the output from the verifier (5f148cd)
- Capture all the results from the verification process (bf15223)
- cleaned up the error display a bit (258cb96)
- cleaned up the logging of request matches (ce94df9)
- cleanup date matching #33 (e72fb9e)
- consumer builders need to populate the interaction config from the plugins (ee498dc)
- Copied pact_mockserver_ffi to pact_ffi (084ab46)
- copied verfier_ffi crate to pact_ffi (0d5ec68)
- create conan package for linking with C++ projects (d357ad2)
- deal with verification output from plugins (bc4f04d)
- Detect Pactbroker responses from the URL content #199 (1972a74)
- do no write empty comments + added consumer version to metadata (9fd9e65)
- do not output an error if no_pacts_is_error is false and no pacts were found to verify #213 (43be2e8)
- enable ANSI console output on Windows (5ecf70a)
- enable consumer code to use the new Value matcher (63fcf49)
- enable consumer version selectors (904ca31)
- enable CORS behaviour based on the mock server config (7e68e4c)
- enabled some more tests for V4 models (d0d7380)
- export libpact_ffi.a (4d03e64)
- expose Pact models via WASM (067ded8)
- exposes time/date utils for language implementations (e0f23a2)
- extracted the JSON -> Pact logic into a public function (a35150b)
- ffi verifier cli: add in support for ENVs (55985d0)
- ffi verifier cli: attributes long/short/help can be simplified (fd9ea9c)
- ffi verifier cli: simplify duplicated conversion for default_value, env, possible_values (d516705)
- ffi verifier cli: split out flags and options (906661c)
- ffi verifier cli: verify we can deserialize the json from cli_args, and there are some args (84957fb)
- ffi verifier: add multiple to CLI JSON output (491c23f)
- ffi verifier: add possible_values (ffcabb6)
- ffi verifier: added a crude method to pull out CLI arguments, and make available via FFI (f8d98dc)
- ffi verifier: bump serde version to latest (5a32f04)
- ffi verifier: move pactffi_verifier_cli_args to mod.rs, tidy, add docs (e557ce2)
- ffi verifier: revert unwanted changes (f64b0ea)
- ffi verify: add in default values, start looking at flags (bbae32d)
- FFI: add an explicit function to enable ANSI terminal support on Windows (fbfd072)
- FFI: add FFI functions to get a Pact consumer and provider (f190bd5)
- FFI: add FFI functions to get the content opaque pointer (0e15801)
- FFI: add function to disable coloured output with the verifier (68c5444)
- FFI: add functions for getting/setting HTTP interaction bodies (433ab44)
- FFI: add functions for matching common values (6fe19b9)
- FFI: Add functions to downcast to concrete interaction types (2b82fb5)
- FFI: Add iterator over interactions in Pact model (bea076b)
- FFI: add iterators over the interaction generators (9494cc7)
- FFI: add iterators over the interaction matching rules (8ed492c)
- FFI: add option to strip ANSI control codes from verifier output (7311e02)
- FFI: add pactffi_verifier_set_no_pacts_is_error function #213 (c128d22)
- FFI: Added initial verifier FFI prototype (9370327)
- ffi: open log files in append mode (e1ddffc)
- ffi: support adding transports to provider via pactffi_verifier_add_provider_transport (dda213e)
- FFI: Support MessageMetadataIterator with V4 messages (f67340d)
- FFI: update pactffi_with_binary_file function to support message interactions (128ae7c)
- FFI: update pactffi_with_body function to support message interactions (ded4dc6)
- FFI: updated doc comments for pactffi_with_multipart_file (4c95789)
- file-validator: add coloured output (a59f69b)
- file-validator: check for additional properties in the root (0652139)
- forward provider details to plugin when verifying (cdf72b0)
- forward verification to plugin for transports provided by the plugin (2395143)
- got V4 Synchronous/HTTP pact loading (511272a)
- handle bodies with embedded matchers and generators (5f8d0a0)
- handle comparing content types correctly (865327d)
- handle CORS pre-flight requests in the mock server (2e662a6)
- handle namespaces when matching XML (6c65dab)
- implement each key and aech value matching rule definitions (3207cb4)
- implement matching of binary payloads (application/octet-stream) (708db47)
- Implement the base part of time expressions (6644225)
- implement verification for RequestResponsePact, Consumer, Provider (4e328d9)
- implemented basic message verification with the verifier cli (6cba6ad)
- Implemented date expression parser (from Pact-JVM) (b8ea724)
- Implemented date-time expression parser (from Pact-JVM) (98b887f)
- implemented FFI methods for query parameters, headers and bodies (fc17d30)
- implemented FFI support for matching multipart form posts (dac517b)
- implemented formatted display for request and response (ce57f17)
- implemented generating values from regex (4f471de)
- implemented generators for dates and times #33 (73bc70e)
- implemented matching for message metadata (ebee1c0)
- implemented matching multi-part form post bodies (d0a54f7)
- implemented matching values ignoring keys (bc84a4d)
- implemented non-blocking write file locking with exp backoff (6f13f49)
- implemented non-blockng read file locking with exp backoff (f34629e)
- implemented provider state generator (76f73c6)
- implemented publishing provider tags with verification results #57 (fe74376)
- implemented publishing verification results to the pact broker #44 (1110b47)
- implemented some missing matchers (include, null, integer, decimal, number) (b060bbb)
- Implemented time part in date-time expressions (318037a)
- implemented using ArrayContains as a generator for JSON (1ed95ae)
- Implemented V4 interactions + loading from JSON (7be8de6)
- implemented writing pact for V4 pacts (013fbaf)
- implemeted day of week in date matching #33 (5d890a5)
- implemeted general timezone patterns in date matching #33 (8b9b043)
- implemeted RFC 822 and ISO 8601 timezones in date matching #33 (45e1ee1)
- implemeted simple date matching #33 (33f4054)
- implemeted time in date matching #33 (2978a00)
- Improve the error message format for matching rule definitions (20a275f)
- include the mockserver URL and port in the verification context (5058a2d)
- initail implementation of array contains matcher (03f43d4)
- initial consumer FFI based message pact (413e9a5)
- initial prototype of a pact file verifier (2f67821)
- introduce repositories.bzl (87e9f52)
- introduce repositories.bzl (9b2c6b1)
- loading V4 pact tests passing (5d8f744)
- log request/response bodies at debug level (4f47ff6)
- made pact broker module public so it can be used by other crates (c8f7091)
- make body processing functions public so other language impl can use them (4996c0f)
- make default metadata public so other language impl can access it (c1b657b)
- make state change url optional (339a950)
- mock server: default pact spec to V3 if unknown (9cfe897)
- pact file verification: verify consumer and provider sections (bbc638b)
- Pact V4 release (59e2141)
- pact-file-validation: implemented validation of the metadata section (a7c071b)
- plugins: Add consumer message test builder + persist plugin data (9bf9dc3)
- plugins: Add core features to the plugin catalogue (6086996)
- plugins: add plugin support to FFI functions (2064359)
- plugins: add support for synch messages via FFI (19beb0e)
- Plugins: allow plugins to override text/binary format of the interaction content (b9aa7ec)
- plugins: Call out to plugins when comparing content owned by the plugin during verification (2662241)
- plugins: cleaned up the verfier output (5525b03)
- plugins: fix after merging PR (33b308d)
- plugins: Got generators from plugin working (779f099)
- plugins: Load required plugins when verifying a V4 pact (bdfc6f0)
- plugins: make NoopVariantMatcher public (cb1beb9)
- plugins: make the interaction markup type explicit (f44ecc5)
- plugins: moved the matching rule definition parser into the models crate (1a3c195)
- plugins: moved the matching rule definition parser into the models crate (b40dab6)
- plugins: order the matching results as plugins mau return them in any order (5a23541)
- plugins: support each key and each value matchers (6d23796)
- plugins: support getting interaction markup from plugins (3797807)
- plugins: support matching protobuf embedded messages (21a7ede)
- plugins: Support matching synchronous request/response messages (2b4b7cc)
- plugins: Support message tests via FFI that use plugins (7c150c8)
- plugins: Support non-blocking mock server in consumer tests + shutting down plugins when mock servers shutdown (4aaaafd)
- plugins: Support plugins with the consumer DSL interaction/response (8c61ae9)
- plugins: support storing interaction markup for interactions in Pact files (a89eca2)
- plugins: update to latest plugin driver and proto (1dd2d88)
- plugins: update to the latest plugin interface (aa3be06)
- plugins: Updated matching rule definitions to include notEmpty and contentType (97ebf55)
- plugins: updated matching rules + generators to support working with plugins (41e66b3)
- ported the date manipulation functions from Pact-JVM #180 (2927e97)
- provide a cargo bootstrap repository to build pact binaries (ee77ee7)
- re-implement XML matching to support elements with different children (90c175c)
- record the version of the lib that created the pact in the metadata (a52db73)
- record the version of the lib that created the pact in the metadata (35ff099)
- rename callback_timeout to request_timeout, and support timeouts for all http requests during verification (af6721a)
- return error code 4 when verifier receives invalid args (61c9d0b)
- return full message from the reify function (34c8701)
- return the values from the state change call so they can be used by the generators (d5d3679)
- return version of the mock server via FFI (638059d)
- set non-hard coded install name on Mac dylib (f4881db)
- some matching rules should not cascade (7b23378)
- Split the builders into synch and async versions (a3fa7d6)
- store the pact specification version with the mock server (5d4a09c)
- store the transport with V4 interactions to support mockservers from plugins (7fd87eb)
- store the transport with V4 interactions to support mockservers from plugins (da3ed1c)
- support accumulating log entries per running mock server (17beef6)
- support an integration format for matchers for language integration (8932ef6)
- support authentication when fetching pacts from a pact broker (dac8ae1)
- support bearer tokens when fetching pacts from URLs (e007763)
- support callback timeout option on verifier (755333f)
- support complex data structures in message metadata (33f9a82)
- Support consumer tests with synchronous messages (d0bfb8a)
- support env vars for filters (2649696)
- support for mock servers from plugins (4f198f1)
- support generating UUIDs with different formats #121 (e215180)
- support graphql as a JSON content type (b0ac714)
- support headers with multiple values (f0c0d07)
- support matchers on plain text bodies #43 (0c5f718)
- support message metadata in verifications (a835e68)
- support mock servers provided from plugins (345b001)
- support native TLS. Fixes #144 (df715cd)
- support new selectors (b5a7b77)
- support path, query and header matching in FFI (784a023)
- Support plugins generating interaction content (1744ddc)
- support provider branches (d171edf)
- support specifying matching_branch in verifications. Fixes #158 (c45faa2)
- support text/xml as an XML content type (dd2ffa7)
- support validating datetimes with timezones (a6cbe4b)
- support XML bodies in FFI interface (9a2049c)
- update FFI to support provider states with parameters (136c61b)
- update matcher defintions to include the semver matcher (682df9e)
- update matcher defintions to support references (d323468)
- update readme with plugin example (75dd211)
- update readme with sync req/res message examples (be6c02b)
- update readme with sync req/res message examples (e661031)
- update tests and docs with message examples (1427aa3)
- update tests and docs with sync req/res message examples (3b7aee5)
- update the spec test cases after implementing XML matching MkII (daeaa0c)
- updated integration JSON to handle array contains matcher (f090323)
- Upgrade plugin driver to 0.2.2 (supports passing a test context to support generators) (5fbb0d6)
- use a file system lock when merging pact files (61e16ed)
- use the configured transport when provided (3a1449c)
- V4: add an HTTP status code matcher (73a53b8)
- V4: add an optional comments to the interaction (4264821)
- V4: added a boolean matcher (6b2da7d)
- V4: added a pending flag to V4 interactions (7e4caf8)
- V4: added nontEmpty and semver matchers (474b803)
- V4: added some tests for pending interactions (db6e8b2)
- V4: added synchronous request/response message formats (a725ab1)
- V4: display comments when verifying an interaction (04d810b)
- V4: fixed test _ refactored types for match functions (ebb11df)
- V4: Move message pact content matching rules from matchingRules.body to matchingRules.content (81de3d3)
- V4: support pending interactions in the verifier (dde8a4f)
- V4: Update matching code to use matchingRules.content for V4 messages (4fe65fb)
- V4: Updated consumer DSL to set comments + mock server initial (80b7148)
- WASM: add library version call and make methods camelCase (51c90ee)
- when merging pact files, upcast to the higher spec version (118daa1)
- wired the date-time expression parsers into the generators (0aa55cf)
Reverts
- Revert "update changelog for release 0.3.13" (5f75239)
- Revert "update changelog for release 0.3.6" (68ef5b4)
- Revert "chore: disable Pact tests to resolve cyclic dependency issue" (86409c9)
- Revert "update changelog for release 0.11.2" (9f7e22d)
- Revert "update changelog for release 0.2.2" (cb0f7df)
- Revert "update changelog for release 0.8.0-beta.2" (b701800)
- Revert "update changelog for release 0.7.7" (809e22f)
- Revert "chore: pin the pact_mock_server_cli dependencies" (4717797)
- Revert "update changelog for release 0.7.5" (c958c24)
- Revert "chore: make links in readme absolute URLs" (a9df519)
- Revert "refactor: moved matching rules and generators to models crate (part 1)" (c3c22ea)
- Revert "update changelog for release 0.0.4" (c392caa)
- Revert "chore: remove unused imports" (6932c6d)
- Revert "update changelog for release 0.10.8" (0812d57)
- Revert "feat: support a dummy matcher" (066d7a9)
- Revert "chore(pact_matching_ffi): Update CMake config to execute nightly cargo" (2d0edf2)
- Revert "Revert "chore: bump version to 0.0.1"" (9eb107a)
- Revert "Revert "bump version to 0.8.5"" (c9e0694)
- Revert "bump version to 0.7.1" (ed16e2f)
- Revert "fix: query and header paths should be escaped" (995139b)
BREAKING CHANGES
- this affects any FFI users that are validating
message metadata. As a new feature, we think it's best to make
this change now before it's mainstream. - pact_mock_server_ffi: multipart does not support a user-defined boundary, so needed to extract
the random boundary from the generated body. Therefore the need to introduce struct MultipartBody.