Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
# pact-reference-rust-v1.0.0 (2023-09-07) ### Bug Fixes * `match` arms have incompatible types ([b7f967e](https://github.com/opicaud/pact-reference/commit/b7f967e0d5f6b12530c185aa25e0b071ce46195c)) * access-control-allow-methods header was duplicated ([44e7414](https://github.com/opicaud/pact-reference/commit/44e741400669928190ec494ed84ae0bb28cca047)) * add a small delay after loading plugins via FFI to resolve a race condition ([213d145](https://github.com/opicaud/pact-reference/commit/213d1459c578662532e64ec7a1b1ce9af15cb676)) * add a small delay at the end of validation to allow async tasks to finish ([00a0046](https://github.com/opicaud/pact-reference/commit/00a0046121932cc96b4614dc910864dcd966b35b)) * add a test to reflect behaviour as per V4 spec ([1c45b63](https://github.com/opicaud/pact-reference/commit/1c45b63c02fbb059cc4014faf27f3ea43097793a)) * add callback timeout option for verifcation callbacks ([4afa86a](https://github.com/opicaud/pact-reference/commit/4afa86a785686d3bd5aa16c3c1fff17969613948)) * add cc_library ([78daf7a](https://github.com/opicaud/pact-reference/commit/78daf7a9024fd0a75db7c6605928a025aeebb944)) * Add Custom Header option not replacing already existing headers [#275](https://github.com/opicaud/pact-reference/issues/275) ([71b38a8](https://github.com/opicaud/pact-reference/commit/71b38a87258590a689d58f0b8b28a620121a139f)) * add final newline to verifier output (Jest will overwrite it with the test name) ([8c2152e](https://github.com/opicaud/pact-reference/commit/8c2152ea7a311d8d64d5b1ca96bebf718f0b0f52)) * add function to display binary data in a meaningful way ([2ca2fe4](https://github.com/opicaud/pact-reference/commit/2ca2fe495baea63879d57c573d7cd01e38619921)) * add matching implementations for Vec<u8> and &Vec<u8> ([ede663e](https://github.com/opicaud/pact-reference/commit/ede663ec6a94258e3b7ac7bcb14dc655c38886b4)) * add missing params to provider state change executor ([17682dc](https://github.com/opicaud/pact-reference/commit/17682dcca70558ba7e47cad2ff9f8b72d409c4bc)) * add missing provider-branch to verifier CLI ([0af1830](https://github.com/opicaud/pact-reference/commit/0af18303fbc2898c4edd3fd8b63879cea59cc91d)) * Add OSX to the conan package ([a13c0fc](https://github.com/opicaud/pact-reference/commit/a13c0fc87a0b0bb9819fa04d8be4a9746868c633)) * Add RefUnwindSafe trait bound to all Pact and Interaction trait methods so they can be used in an FFI context ([f8f0e77](https://github.com/opicaud/pact-reference/commit/f8f0e77365429277e62729a30925b7ea4215eba2)) * Add RefUnwindSafe trait bound to all Pact and Interaction uses ([261ecf4](https://github.com/opicaud/pact-reference/commit/261ecf472d468c881c7957fc5b06ad26648e09c3)) * add shallow_since to reproduce build ([8b6385a](https://github.com/opicaud/pact-reference/commit/8b6385a9ee284bdeef859450002c8e2180298bd6)) * add test for publish verification result issue [#231](https://github.com/opicaud/pact-reference/issues/231) ([33a784a](https://github.com/opicaud/pact-reference/commit/33a784a02b4de248ecb525c49afe4e0d949a9461)) * add tests for PUT and POST requests [#220](https://github.com/opicaud/pact-reference/issues/220) ([9fc5658](https://github.com/opicaud/pact-reference/commit/9fc56580390f8ed4c21a8bb0bbdfb99d0dc7dd24)) * add visibility public ([5eed9f7](https://github.com/opicaud/pact-reference/commit/5eed9f7399559850ff0dba2237bd99949b1d1f66)) * add zip file for binary test ([81eed06](https://github.com/opicaud/pact-reference/commit/81eed06215bc71e2688ab768034debcba68817d4)) * Allow dashes in path expressions for headers like Content-Type ([1184203](https://github.com/opicaud/pact-reference/commit/11842036c360487d5eb07f57c272b4d27196fd04)) * allow multiple consumer version selectors ([df23ba3](https://github.com/opicaud/pact-reference/commit/df23ba3de5a1838088d193a23d508d566a4639b0)) * allow the HTTP client to be optional in the provider state executor ([0e8bfad](https://github.com/opicaud/pact-reference/commit/0e8bfadb3b8e4e299ef6695560a1cf15b672c177)) * allow the pact builders to set the overwrite flag ([63be53b](https://github.com/opicaud/pact-reference/commit/63be53b2e84f2a53343bb2a85c319fd7b530b1e7)) * apply generators to the request in the same manor as the response ([ae95e0c](https://github.com/opicaud/pact-reference/commit/ae95e0cddf8d57403edd281a1eeb5969e041ce8a)) * arrayContains matcher JSON was missing match attribute ([c686ce0](https://github.com/opicaud/pact-reference/commit/c686ce04b0b12727b92a70efbb68f141837d3142)) * async message builder was not setting the pact plugin config correctly ([df67b72](https://github.com/opicaud/pact-reference/commit/df67b7232f0189afa4846cdb0886d35994320a87)) * broken message test ([a7e5778](https://github.com/opicaud/pact-reference/commit/a7e57786c80b3524b9c65a47c77cb3fbb9361d57)) * broken test for v2 path matcher ([5167cfb](https://github.com/opicaud/pact-reference/commit/5167cfbad380b6f732ac1a384981d4886260e366)) * broken tests after handling multiple header values ([7616ccb](https://github.com/opicaud/pact-reference/commit/7616ccbc68232cf5e0a323c0688d4c39c2df14fa)) * cbindgen fails in latest nightly rust ([fcfc7c1](https://github.com/opicaud/pact-reference/commit/fcfc7c1633276283df86c3896d808a89419aaea0)) * cbindgen fails in latest nightly rust ([61e4d69](https://github.com/opicaud/pact-reference/commit/61e4d69d0107f92884607d1b43f5576094bdfddd)) * cbindgen fails in latest nightly rust ([4b1ba4a](https://github.com/opicaud/pact-reference/commit/4b1ba4a26957e5c2f65b98cc08c4d8f46a3474fb)) * change filegroup ([7c5c2b6](https://github.com/opicaud/pact-reference/commit/7c5c2b678764dde65d1c9e30c837b2b052af226a)) * Charsets in headers should be compared ignoring case ([a151bcc](https://github.com/opicaud/pact-reference/commit/a151bcc50c548396792dca56ac71066fe1cd3443)) * check the size of the merged pact file [#54](https://github.com/opicaud/pact-reference/issues/54) ([bc044be](https://github.com/opicaud/pact-reference/commit/bc044be0c6b42017e85c1b092ac4a6e83f522a05)) * cleanup compiler warning ([beb1c03](https://github.com/opicaud/pact-reference/commit/beb1c031b8f09d355fc6fbc21916eac25307d98a)) * cleanup env var and set tests to not run in parallel on CI [#54](https://github.com/opicaud/pact-reference/issues/54) ([19e8ced](https://github.com/opicaud/pact-reference/commit/19e8cedfdaf0d4cbc5480c1351d46718cb2a6848)) * cleanup warnings and fixed test ([45fc1a0](https://github.com/opicaud/pact-reference/commit/45fc1a06478b442b3d12dc9ea67da06646f5f390)) * CLI was reporting incorrect pact specification version ([6343607](https://github.com/opicaud/pact-reference/commit/634360793c8cbc70abb5223584164924cde2f92a)) * clippy error ([e5b1f93](https://github.com/opicaud/pact-reference/commit/e5b1f93d96b6195b1f7aa89394c2ff49c9a55ead)) * clippy erros ([cbc7812](https://github.com/opicaud/pact-reference/commit/cbc7812aec0efc48ae303e8a3e9fdb8206df48a9)) * clippy violation - caused a compiler error ([728465d](https://github.com/opicaud/pact-reference/commit/728465d51a6cd2a377a5815308ee8e4516df8098)) * clippy violation: using `clone` on a double-reference ([e588bb2](https://github.com/opicaud/pact-reference/commit/e588bb297ccc1310cfb99f23ed771cfeea420171)) * **clippy:** using `clone` on a double-reference; this will copy the reference instead of cloning the inner type ([0a70d64](https://github.com/opicaud/pact-reference/commit/0a70d64df37100bc56e95fd019aade867ae7b607)) * **clippy:** you are implementing `Hash` explicitly but have derived `PartialEq` ([9852811](https://github.com/opicaud/pact-reference/commit/98528116c02eecb53ad4cf0c28680afa87e25bc1)) * comparing query paraneters where actual has less values but there is a type matcher ([0e3db9d](https://github.com/opicaud/pact-reference/commit/0e3db9dff5029e7f4fad4ad51520e46a3bd52fcf)) * conan packages for pact_ffi ([6d1ff31](https://github.com/opicaud/pact-reference/commit/6d1ff318cb3a8187e071bd94aaed467ba9f01847)) * Consumer DSL needs to increment plugin access to avoid plugin shutting down when mock server starts ([57a8ad7](https://github.com/opicaud/pact-reference/commit/57a8ad7d7d679cc5830fdd36cf5b02e465edc10d)) * consumer version selectors ([f4a7d52](https://github.com/opicaud/pact-reference/commit/f4a7d52b7441e5bc7cac0d6d55b7c662b6174287)) * **consumer:** request and response builders were using the first interaction from plugins, not the correct one ([f6d0c35](https://github.com/opicaud/pact-reference/commit/f6d0c35ecacd7fee4cfd0d10d833abb4590fcdc9)) * **consumer:** Setup multi-value headers correctly [#300](https://github.com/opicaud/pact-reference/issues/300) ([73033f5](https://github.com/opicaud/pact-reference/commit/73033f5490fc9c7a1317e94e227413861f260375)) * content type matcher was not being applied if content type was not octet_stream [#171](https://github.com/opicaud/pact-reference/issues/171) ([65d0514](https://github.com/opicaud/pact-reference/commit/65d05149cb720fa4b41f661f40e87b6d74dac9e4)) * correct build dependencies ([f2c7145](https://github.com/opicaud/pact-reference/commit/f2c7145057cc48a1198825421561e854787ba995)) * correct C examples after adding prefix ([5801e46](https://github.com/opicaud/pact-reference/commit/5801e46e3ae69c45ee221adff228a17c6aaf6c78)) * correct clippy error ([7baf074](https://github.com/opicaud/pact-reference/commit/7baf074bfd86944ad3377f90721340eae7eb2b92)) * correct equality error message to match compatibility-suite ([8a22a66](https://github.com/opicaud/pact-reference/commit/8a22a66a8159ac5de22ffe551be497dfb1b7de6f)) * correct headers attribute with multiple values might not be matched ([eef6b08](https://github.com/opicaud/pact-reference/commit/eef6b0860156b0d66f221a4c2ba990c994be7893)) * correct issue with headers/query with multiple values ([75c965e](https://github.com/opicaud/pact-reference/commit/75c965e476abc3b66bd3634c786d2bb7955be3dc)) * correct overflow of max value for random int generator [#39](https://github.com/opicaud/pact-reference/issues/39) ([91da912](https://github.com/opicaud/pact-reference/commit/91da912c2450e3a0ed661a79ea6836df83887c0a)) * correct pact merging to remove duplicates [#54](https://github.com/opicaud/pact-reference/issues/54) ([a660b87](https://github.com/opicaud/pact-reference/commit/a660b877a8ec48d48a379755a2dfeb91ae48f0de)) * correct parsing of JSON encoded bodies as per V4 spec ([ba24b0a](https://github.com/opicaud/pact-reference/commit/ba24b0a83ac8dac223c590a2529033907911b9b0)) * correct test after changes for compatibility suite ([61bd331](https://github.com/opicaud/pact-reference/commit/61bd331abbc446a3719b2e1d2a91669d85780381)) * Correct test after upgrading pact_models to 1.0.2 ([2cf5d8a](https://github.com/opicaud/pact-reference/commit/2cf5d8addc5a1fe139254bae53bab29a26873378)) * correct tests after upgrading pact_models ([37673fa](https://github.com/opicaud/pact-reference/commit/37673fac07d4cfb59fae42640f545240450cd3b2)) * correct the backing arary list for headers from FFI call ([9c84713](https://github.com/opicaud/pact-reference/commit/9c84713c57a021b156d7fce909d575be18d02342)) * correct the backing array list for query parameters from FFI call ([c93e364](https://github.com/opicaud/pact-reference/commit/c93e3640a170125c8e02f83bef90d472eaf8d560)) * Correct the format of matching errors on JSON ([f88adb2](https://github.com/opicaud/pact-reference/commit/f88adb2a18a9652d208123aafdfa1b581d2493fb)) * correct the matching logic with lists and eachkey/eachvalue matchers ([1a01d11](https://github.com/opicaud/pact-reference/commit/1a01d111e656d743a899545b0b693702275c2119)) * correct the pact_verifier_cli release scripts ([f9cf35f](https://github.com/opicaud/pact-reference/commit/f9cf35f3a315204ed8b6a8cf6a81933753872657)) * correct the release script ([adf1a97](https://github.com/opicaud/pact-reference/commit/adf1a978b31d23f9adc85643ef79c0d33fa9e092)) * correct the release scripts ([2057f2c](https://github.com/opicaud/pact-reference/commit/2057f2c16e7c16d700919f9f2618e4b22bfc9e22)) * Correct the use of matching rules on repeated header values ([95753e2](https://github.com/opicaud/pact-reference/commit/95753e291312503480c408cbc939a5bd78d8ef11)) * Correct the use of matching rules on repeated query parameters ([6a7e504](https://github.com/opicaud/pact-reference/commit/6a7e504e9347a91aa508aeddbc87f46423e5902b)) * correct the version in pact_verifier_cli ([f9ecd89](https://github.com/opicaud/pact-reference/commit/f9ecd8907945d4b95f0e6fd71c5bb5cc701e018c)) * correct the version of the pact_consumer crate ([2b39873](https://github.com/opicaud/pact-reference/commit/2b39873d9b4ecaba2de6bd4f7e334beda9540458)) * correct the windows lib name in conan package ([4287f0e](https://github.com/opicaud/pact-reference/commit/4287f0ebe179df1acab10c90186ca2acbb8563f0)) * correct the windows lib name in conan package ([c1015d5](https://github.com/opicaud/pact-reference/commit/c1015d5c488f6f2886643a701e54384451b3f904)) * Correct verifier error logging and handling optional JSON fields ([8b0ecd8](https://github.com/opicaud/pact-reference/commit/8b0ecd8b6606570b00ac1eba0ad5aeecd6b593de)) * correct version ([637e814](https://github.com/opicaud/pact-reference/commit/637e814131dd09f77d97ab2bb3b3a79543b59ce9)) * corrected some spelling ([b5c7842](https://github.com/opicaud/pact-reference/commit/b5c7842fefd250240b5c95a2bddbe3ad82b162ea)) * corrected the docker build for the mock server cli [#14](https://github.com/opicaud/pact-reference/issues/14) ([a45d5f8](https://github.com/opicaud/pact-reference/commit/a45d5f86d55ec6e2ffa94b352cc983d418899c5a)) * corrected the docker build for the verifier cli [#14](https://github.com/opicaud/pact-reference/issues/14) ([9d24b7e](https://github.com/opicaud/pact-reference/commit/9d24b7e021dbc2b108e7cda7eda8f40379625abf)) * corrected the release scripts to check for a version parameter ([386ab52](https://github.com/opicaud/pact-reference/commit/386ab52b5ff8915d8733645ff0b82c27b06ba0c4)) * correctly assemble UTF-8 percent encoded query parameters ([7f054e8](https://github.com/opicaud/pact-reference/commit/7f054e844cfe8940a4e698c0d29571ef78755cbc)) * Correctly deal with headers when the value is a string ([97684ad](https://github.com/opicaud/pact-reference/commit/97684ade0d57ff49dc0628a180136235279cdda3)) * **cors:** source allowed origin from origin header, add credentials ([86d32dd](https://github.com/opicaud/pact-reference/commit/86d32ddf09df4c127dba7e2b2e46959ef5f870e6)) * date and time matchers with JSON ([2920364](https://github.com/opicaud/pact-reference/commit/2920364b4e97ffceb68829d6f1bf41a47a9381d4)) * date/time matchers fallback to the old key ([61ab50f](https://github.com/opicaud/pact-reference/commit/61ab50f4d4e859452f2ea24ac0f914ccd915ab9b)) * Date/Time matchers should fall back to ISO 8601 formats if no format string is provided ([ac885b8](https://github.com/opicaud/pact-reference/commit/ac885b898598ad189185b946e58c3d335bbd03ff)) * detect common text types when comparing content type ([a0c9d20](https://github.com/opicaud/pact-reference/commit/a0c9d2030750e2facb716a2a21143d3c861c9996)) * display the error message when the verification can not be run due to an error ([bfa0437](https://github.com/opicaud/pact-reference/commit/bfa0437022a6b0c9ddb4c5a4d736254e13d220f2)) * do not auto-generate the interaction key if not set [#264](https://github.com/opicaud/pact-reference/issues/264) ([cf55b3c](https://github.com/opicaud/pact-reference/commit/cf55b3c59b8d571850ba54cc3ea7f1c7938ab0cf)) * do not split header values for headers like Date, Last-Modified, etc. [#259](https://github.com/opicaud/pact-reference/issues/259) ([b479f23](https://github.com/opicaud/pact-reference/commit/b479f2338fcf5a37dcd5394ed836c99a5545c44f)) * doc tests with Into trait fail to link with Rust beta 1.27.0 ([1e0c65b](https://github.com/opicaud/pact-reference/commit/1e0c65bfc0c51dd766646a87f6ca2f3f026fbea4)) * docker build now requires libclang system library ([9f3ad74](https://github.com/opicaud/pact-reference/commit/9f3ad748db76bf19b92e92978db25131b5876148)) * docker file needs to be able to build Oniguruma lib ([8a0c5c2](https://github.com/opicaud/pact-reference/commit/8a0c5c259157a7523b5e2a325e49a7edca5e99de)) * docker release script ([0dd10e6](https://github.com/opicaud/pact-reference/commit/0dd10e6476edd5407173e4f695b59aa2006aa5c0)) * docker release script ([5b22076](https://github.com/opicaud/pact-reference/commit/5b22076817438d8a62f8370f5933bc7124a4304f)) * DocPath join needs to detect numeric values ([7b2e853](https://github.com/opicaud/pact-reference/commit/7b2e85380f825f0f87a258f38361d4e79a1a5870)) * Docpath join was escaping * ([a3f7471](https://github.com/opicaud/pact-reference/commit/a3f747115a4721180928af3a2c9cb7565db9f948)) * don't clone a double reference (clippy error) ([d8ceb74](https://github.com/opicaud/pact-reference/commit/d8ceb7463ede069ab82cfe3a873856d6382f0b11)) * don't unwrap a result when generating random string from regex ([9389c0a](https://github.com/opicaud/pact-reference/commit/9389c0a1af723e2619bf0bda1c11bbe6c50014d1)) * drop(from_raw(ptr))` if you intend to drop the `CString` ([1cafd00](https://github.com/opicaud/pact-reference/commit/1cafd00a0d8ad441cd5b3aaf8de5ae91c1e772f4)) * Each key matching was not implemented correctly ([28f562e](https://github.com/opicaud/pact-reference/commit/28f562e298ff203c665b3a45ac07f53add7ea652)) * EachValue was outputting the wrong JSON ([48a6be5](https://github.com/opicaud/pact-reference/commit/48a6be5f28552ebc164bb87538c47f00614cb19f)) * error caused an internal mutex to be poisoned ([5251fcf](https://github.com/opicaud/pact-reference/commit/5251fcf5c1df854742e90eafde1374930fe03e0e)) * exclude headers from the pact conflict check ([6f70f30](https://github.com/opicaud/pact-reference/commit/6f70f30a4d4b5e70f42f4b3630fc1f0dddf0b7cf)) * expected opaque type, found enum `Result` ([fe22ae3](https://github.com/opicaud/pact-reference/commit/fe22ae3aba36d3c0c332ad345d81534bd0ddf3ff)) * failing pact_consumer build ([13976f5](https://github.com/opicaud/pact-reference/commit/13976f5285af17d324f7d6d816a2707a727278d8)) * failing test after changing message_with_contents function signature ([78c20d6](https://github.com/opicaud/pact-reference/commit/78c20d6ae90af41c548593668dd37e76236ee9f2)) * failing tests [#116](https://github.com/opicaud/pact-reference/issues/116) ([b1a4c8c](https://github.com/opicaud/pact-reference/commit/b1a4c8cb2cc72b6b7d195e6e486e2129955d759e)) * feat deps pattern to use via external libpact_ffi.a ([85db020](https://github.com/opicaud/pact-reference/commit/85db020c88cef8351c8913b65231796ed5d529f8)) * FFI always detects + stores JSON bodies as plain text ([aff4d30](https://github.com/opicaud/pact-reference/commit/aff4d301c7f674a2131f79fef3e3cf43ee7dc0ac)) * FFI datetime matcher was using incorrect field ([ddacb5d](https://github.com/opicaud/pact-reference/commit/ddacb5d77fdb18b1a6fd13d410f02c7acfa603cc)) * FFI function was exposing a struct from the models crate ([8b075d3](https://github.com/opicaud/pact-reference/commit/8b075d3867113b900fa6d781bee41c9cd6780138)) * FFI mismatch json should have the actual values as UTF-8 string not bytes [#64](https://github.com/opicaud/pact-reference/issues/64) ([a45d0c3](https://github.com/opicaud/pact-reference/commit/a45d0c3b1b49ce9ad3cee6246b41d4b9c8114c7f)) * ffi.pactffi_logger_attach_sink causes seg fault if log directory doesn't exist [#226](https://github.com/opicaud/pact-reference/issues/226) ([9dad5d2](https://github.com/opicaud/pact-reference/commit/9dad5d2a0304bf28c30e05f10f1ce6ef703d8c63)) * **FFI:** Allow pactffi_with_multipart_file to append parts to an existing multipart body [#314](https://github.com/opicaud/pact-reference/issues/314) ([bae6b5a](https://github.com/opicaud/pact-reference/commit/bae6b5a9057990d8dd6bb80d019e23f8a9d076f1)) * **FFI:** broken build after upgrading pact_models ([4f366ac](https://github.com/opicaud/pact-reference/commit/4f366ac5e5b55d967b4497bb9e2d940a4a384adb)) * **FFI:** Check for the intermediate JSON format when setting the body contents with XML [#305](https://github.com/opicaud/pact-reference/issues/305) ([e6484f3](https://github.com/opicaud/pact-reference/commit/e6484f391b06ea3b9d307bbaba1d074bb617890b)) * **ffi:** correct race condition in pactffi_using_plugin ([d41e244](https://github.com/opicaud/pact-reference/commit/d41e2440a8d5011e51a90eeb44dcaa7dbe448b0d)) * **FFI:** Deal with multi-value headers correctly [#300](https://github.com/opicaud/pact-reference/issues/300) ([bfd731b](https://github.com/opicaud/pact-reference/commit/bfd731b8eefb3d1bb5a49c676db9136f7b47b279)) * **FFI:** FFI passes matching rules and generators for paths etc. with a path of $ ([b6bba54](https://github.com/opicaud/pact-reference/commit/b6bba5403f2f5b785f89bd46ab4d4a7522299f03)) * **FFI:** fix matching rule for paths [#205](https://github.com/opicaud/pact-reference/issues/205) ([e95d701](https://github.com/opicaud/pact-reference/commit/e95d701da50984b2fdb578405a39836a9e479f9e)) * **FFI:** fix matching rule for paths [#205](https://github.com/opicaud/pact-reference/issues/205) ([b0fdbb6](https://github.com/opicaud/pact-reference/commit/b0fdbb6eef339fa345c4ad1990e9003f00dfdf74)) * **FFI:** Fix test failing on CI because the plugins dir does not exist [#262](https://github.com/opicaud/pact-reference/issues/262) ([b2d7ec3](https://github.com/opicaud/pact-reference/commit/b2d7ec3a591c9285188405675a6b3381f9be28ba)) * **FFI:** Fix test failing on CI on Alpine [#262](https://github.com/opicaud/pact-reference/issues/262) ([2d43628](https://github.com/opicaud/pact-reference/commit/2d4362889d5dba8c8050c39a2765d8162d5aa91c)) * **FFI:** fixed race condition with Pact handle ids ([8520760](https://github.com/opicaud/pact-reference/commit/852076025500a0347dfe1127c6ec27f1f7d3dd6e)) * **FFI:** Guard against header names being passed in different case [#305](https://github.com/opicaud/pact-reference/issues/305) ([66648b4](https://github.com/opicaud/pact-reference/commit/66648b4ca03f33f57c1f57fa7085c1400035bc49)) * **FFI:** handle headers with multiple values correctly [#205](https://github.com/opicaud/pact-reference/issues/205) ([f634fa9](https://github.com/opicaud/pact-reference/commit/f634fa91dace0daa3163aa9600f4055039915490)) * **FFI:** handle query parameters with multiple values correctly [#205](https://github.com/opicaud/pact-reference/issues/205) ([52b7009](https://github.com/opicaud/pact-reference/commit/52b7009763e55d00b42cbc8fa5f62796d464d062)) * **FFI:** log and capture the error when the verification fails [#262](https://github.com/opicaud/pact-reference/issues/262) ([96ac10c](https://github.com/opicaud/pact-reference/commit/96ac10c10d39e508451882902b2e0700f8a44648)) * **FFI:** Message metadata was not being passed on to the mock server ([a56bc05](https://github.com/opicaud/pact-reference/commit/a56bc05601ea439acc4840e1fed32b0e50fcf563)) * **ffi:** OSX CMake file had the wring filename ([1307dde](https://github.com/opicaud/pact-reference/commit/1307dde047635cb18533f463e9383b322927a11b)) * **ffi:** pactffi_create_mock_server_for_transport was returning the wrong status for invalid address ([a78f2a1](https://github.com/opicaud/pact-reference/commit/a78f2a1d74491b0d7269204bbdbae4d14f90f8f5)) * **FFI:** pactffi_with_binary_file was incorrectly setting the response content type to application/octet-stream [#171](https://github.com/opicaud/pact-reference/issues/171) ([3c5c45d](https://github.com/opicaud/pact-reference/commit/3c5c45d4e6f1b6f7f8a8e29787fb12074eeb53e1)) * **ffi:** plugin data was not merged into the Pact file correctly ([797d1cc](https://github.com/opicaud/pact-reference/commit/797d1cceb5e703c0112766e2db690167c26c5d98)) * **FFI:** Replaced the matching rule union type with 3 FFI functions which should support Go better ([7756d30](https://github.com/opicaud/pact-reference/commit/7756d305f03577ae28fe33943968e397d0b8758b)) * **ffi:** resources were not freed correctly when the mock server is provided by a plugin ([873f0c9](https://github.com/opicaud/pact-reference/commit/873f0c938b5af33b4fa2163c7af0368f5f88530b)) * **FFI:** Stupid Windows [#314](https://github.com/opicaud/pact-reference/issues/314) ([37fa901](https://github.com/opicaud/pact-reference/commit/37fa901c454550ee358c06c47b2813972ed629ce)) * **FFI:** update the example in docs to use new function [#205](https://github.com/opicaud/pact-reference/issues/205) ([f0cde4e](https://github.com/opicaud/pact-reference/commit/f0cde4e949a9c9b12a617a524d7e4e1329416246)) * **FFI:** use a multi-threaded reactor for FFI setup_contents call to plugins ([ec2ed51](https://github.com/opicaud/pact-reference/commit/ec2ed51dc2f45c4a1dfeb75784b3d357f72c14ed)) * **FFI:** Use a star for the path with values matcher [#216](https://github.com/opicaud/pact-reference/issues/216) ([b8be05c](https://github.com/opicaud/pact-reference/commit/b8be05c1c4363391379997b692e48438df38e6f1)) * **FFI:** When appending parts to an existing multipart body, matching rules should still be configured for the new part [#314](https://github.com/opicaud/pact-reference/issues/314) ([7fc7bbc](https://github.com/opicaud/pact-reference/commit/7fc7bbc7340111e661713887e29daff2bdc454b6)) * fix missing last tag ([36f7e47](https://github.com/opicaud/pact-reference/commit/36f7e477761bea6eda1945e08b3d946e65c7e4bd)) * fix the build after refactoring the pact write function ([2fb0c6e](https://github.com/opicaud/pact-reference/commit/2fb0c6e3005872636f45677e1824d092e548727b)) * for failing integration test ([2679653](https://github.com/opicaud/pact-reference/commit/26796531b54baac1de99425644d37e4c3316acaf)) * generators in process_object ([63ab0d2](https://github.com/opicaud/pact-reference/commit/63ab0d2d846378be5ceb07c3449f4a6aa8252a8a)) * generators to_json was only writing the first one for bodies, headers and queries ([cbb6e20](https://github.com/opicaud/pact-reference/commit/cbb6e209df045599f2ced277a77788d64081d5ea)) * get verify_provider_async to wait on the metric call ([8056d7e](https://github.com/opicaud/pact-reference/commit/8056d7e96ca4dfd6db157a06699a5aa355752b48)) * global options no longer incorrectly display a warning about being provided twice [#27](https://github.com/opicaud/pact-reference/issues/27) ([e5af1b0](https://github.com/opicaud/pact-reference/commit/e5af1b077a6479ef9a1d0cb961f1bedb9576fcc7)) * handle path expressions that start with an underscore ([433d9c5](https://github.com/opicaud/pact-reference/commit/433d9c5941ddddb117e96c3c54272a9b4bbb9e99)) * hanlde validation errors from Pactbroker correctly [#273](https://github.com/opicaud/pact-reference/issues/273) ([59946c3](https://github.com/opicaud/pact-reference/commit/59946c3f0b5c77822a930eb9f628d8c1aa29d4c6)) * Header matching rules should be looked up in a case-insenstive way ([445ea1e](https://github.com/opicaud/pact-reference/commit/445ea1ee11a0b1fa55e6557759d21874cc9ccefc)) * Header matching rules with an index were not being applied [#238](https://github.com/opicaud/pact-reference/issues/238) ([2c8467e](https://github.com/opicaud/pact-reference/commit/2c8467ed19ed224b89bdfb51253953049a8ae0f2)) * header matching was incorrectly stripping whitespace around commas [#259](https://github.com/opicaud/pact-reference/issues/259) ([c559bc3](https://github.com/opicaud/pact-reference/commit/c559bc3d6b195841129841d826b4611a01826927)) * http_consumer_feature_test on linux ([52768a3](https://github.com/opicaud/pact-reference/commit/52768a339ffa78fa9311b8664565162c57fb2b34)) * ignore flakey test ([6ff9c33](https://github.com/opicaud/pact-reference/commit/6ff9c33c61df43020a9147dedee9a45fc5cf72be)) * implement display for Interaction and Message ([831ba3d](https://github.com/opicaud/pact-reference/commit/831ba3d1b90ae1cf7852106f0fe89db0f1ff39ca)) * improve the error message when a merge conflict occurs ([6af29ce](https://github.com/opicaud/pact-reference/commit/6af29ce86db7d00f679fc1c079d51963a25afa2c)) * in callback executors, pass self by value to avoid lifetime issues ([a27ce14](https://github.com/opicaud/pact-reference/commit/a27ce14e410e971dc636c08df765a0f46174c6e3)) * include test results for successful interactions when publishing verification results [#92](https://github.com/opicaud/pact-reference/issues/92) ([74bd53f](https://github.com/opicaud/pact-reference/commit/74bd53fdef37396e30998671688629aacfe5413b)) * incorrectly handling provider state parameters from FFI call ([3a12b6f](https://github.com/opicaud/pact-reference/commit/3a12b6feda35f654d4f3d1a479eaae15715e33bf)) * Interaction builder was not copying plugin config data to the Pact metadata ([e91ad62](https://github.com/opicaud/pact-reference/commit/e91ad6221454d894f77eaf1cad745364a77adc10)) * intermediate date/time matcher JSON should use the format attribute ([f94f25a](https://github.com/opicaud/pact-reference/commit/f94f25a41405c18c46dec324ce7df23d9ff38cbd)) * introduce GeneratorTestMode and restrict provider state generator to the provider side ([13ce2f2](https://github.com/opicaud/pact-reference/commit/13ce2f21a830cdf1aeb0c880fc8a45f0a117cea5)) * jsdom does not support access-control-allow-headers: * for CORS pre-flight responses ([326d02d](https://github.com/opicaud/pact-reference/commit/326d02d181e336f8ad515d85e55c3651e17cc974)) * Keep the original value when injecting from a provider state value so data type is retained [#116](https://github.com/opicaud/pact-reference/issues/116) ([e21db69](https://github.com/opicaud/pact-reference/commit/e21db69997f99270c515d1a23fbaa54f6b5d75b5)) * linux verifier ffi shasum path was incorrect. Fixes [#114](https://github.com/opicaud/pact-reference/issues/114) ([12e5170](https://github.com/opicaud/pact-reference/commit/12e51704360c3d323bd030357ce22a6bb88c4790)) * lock the pact crate versions so that updates do not break CLI install [#189](https://github.com/opicaud/pact-reference/issues/189) ([8d58ea3](https://github.com/opicaud/pact-reference/commit/8d58ea349b9a1363ff994c786b64429d05213299)) * log crate version must be fixed across all crates (including plugin driver) ([c208964](https://github.com/opicaud/pact-reference/commit/c20896454047e8e8e69795c0854ee9e6332dc945)) * Macos on conan package ([a0d701e](https://github.com/opicaud/pact-reference/commit/a0d701ee0e83ad785002cb59a46e13e900729a04)) * make application/xml equivalent to text/xml ([6995298](https://github.com/opicaud/pact-reference/commit/6995298e241bf193d906ec2474dee960b2765d81)) * make HAL client fetch and fetch link functions support brokers hosted with context paths [#220](https://github.com/opicaud/pact-reference/issues/220) ([77a7c8b](https://github.com/opicaud/pact-reference/commit/77a7c8ba4d4c60c95081bab040448050ea626873)) * make sure metadata entries are correctly encoded when downgrading a pact ([a859d0e](https://github.com/opicaud/pact-reference/commit/a859d0e1ac53952af7f18913ba59c854a69240e8)) * Make using_plugin consume self so that the builder will have the same lifetime as the returned async one ([6aa389c](https://github.com/opicaud/pact-reference/commit/6aa389c9d0c6f2dcd800e91e31f9ac6c2f875de4)) * map matching logic was not including the EachValue matcher ([cd6fe27](https://github.com/opicaud/pact-reference/commit/cd6fe27a3959e43b867254f673207c48ea9b1349)) * matcher_from_integration_json in mockserver/bodies.rs doesn't support all MatchingRules [#247](https://github.com/opicaud/pact-reference/issues/247) ([3760c2b](https://github.com/opicaud/pact-reference/commit/3760c2b3d1bf20be5f1ace96573b1452e28b56f7)) * matchers in Pact file can have a different order on OSX ([c8ad6d4](https://github.com/opicaud/pact-reference/commit/c8ad6d49a916c5c1232c485a24cfa31b247acba0)) * matching binary data was broken after refactor ([d24cfe3](https://github.com/opicaud/pact-reference/commit/d24cfe30e0bca6bea212589bbca2c5c4a5df2154)) * matching definition parser was incorrectly merging multiple definitions ([e1e0b43](https://github.com/opicaud/pact-reference/commit/e1e0b43ecca23a261438268746ef44015d938087)) * Matching rule parser was not handling decimal values correctly ([74a36a1](https://github.com/opicaud/pact-reference/commit/74a36a1b768908c3b76a44d8a3e36ea1ba41ab34)) * Matching rules are not being applied correctly to message metadata [#245](https://github.com/opicaud/pact-reference/issues/245) ([4409441](https://github.com/opicaud/pact-reference/commit/4409441b21b8f6a3edf8029ba9b49ce640871dcb)) * message pact feature test ([cf679bd](https://github.com/opicaud/pact-reference/commit/cf679bdd3996a41e842cedefd1194c52264cabfa)) * message pact feature test ([84d79a1](https://github.com/opicaud/pact-reference/commit/84d79a10afa86d50097f32adc70b4d33b2e90b74)) * message pact needed matchingrules + generators ([59e23f4](https://github.com/opicaud/pact-reference/commit/59e23f416932638708d20237d6db5fec394738f1)) * Message pact was not loading the IDs from the Pact Broker [#239](https://github.com/opicaud/pact-reference/issues/239) ([64d500b](https://github.com/opicaud/pact-reference/commit/64d500b0c7f47141a39fea36cd989bf15fd99a04)) * message_reify was returning a pointer to a Rust string ([ad0a72e](https://github.com/opicaud/pact-reference/commit/ad0a72ee9cfa7fab8f58bfb29527a59f325cfad0)) * Metadata was missing from the generator categories ([f84adc7](https://github.com/opicaud/pact-reference/commit/f84adc7ad614d548305c27c1d0ade0ae627481dc)) * **metrics:** swap uid for cid ([25d8cd9](https://github.com/opicaud/pact-reference/commit/25d8cd9b516ce619ac3a4e7354b3c7e174eec734)) * min/max type matchers must not apply the limits when cascading ([8bcd1c7](https://github.com/opicaud/pact-reference/commit/8bcd1c7ecad5a1792b6c446a90806be902c11ca2)) * min/max type matchers were not being applied to query parameters ([4e9d837](https://github.com/opicaud/pact-reference/commit/4e9d837430051609da15f0930b44a725f5190673)) * missing $ in macro ([86f8140](https://github.com/opicaud/pact-reference/commit/86f81408bb2d0f876cab73631dfe3f084abaabcf)) * missing import ([6076485](https://github.com/opicaud/pact-reference/commit/607648555e1bb7ba278a55e7d1e32b2a7a41747d)) * Mock server errors were not being printed if the test was panicking due to a failed assertion [#282](https://github.com/opicaud/pact-reference/issues/282) ([4fbd45c](https://github.com/opicaud/pact-reference/commit/4fbd45cc8b9cf8cb4e1b628dbba88d3af5cb73da)) * mock server matching requests with headers with multiple values ([d85f28c](https://github.com/opicaud/pact-reference/commit/d85f28c05cca9fa2548e57c765367c17ff103248)) * mock servers were shutting plugins down twice when shutting down ([30dad6d](https://github.com/opicaud/pact-reference/commit/30dad6d40633dac1bfc1a7f504f7ea6cb48e45ea)) * MockServerURL generator was fetching the incorrect field from the test context ([743b182](https://github.com/opicaud/pact-reference/commit/743b18231dcafc37635ca484a7156306969cf84b)) * MockServerURL generator was using the incorrect field ([56ce20a](https://github.com/opicaud/pact-reference/commit/56ce20a03a33f16f853b5d86e3a8e41ce07bf4af)) * no need to wrap the Pact for a mock server in a mutex (mock server is already behind a mutex) as this can cause deadlocks [#274](https://github.com/opicaud/pact-reference/issues/274) ([e58aa91](https://github.com/opicaud/pact-reference/commit/e58aa9176ed9a89927058668fe6ea69c84268430)) * notEmpty matching rule defintion should be applied to any primitive value ([407cc2e](https://github.com/opicaud/pact-reference/commit/407cc2e5208743a151b1f6e99d3c649b89e49654)) * ok so maybe let's see if this works on linux 🤷 ([eb4b328](https://github.com/opicaud/pact-reference/commit/eb4b328ed43cf0d9dfd50316806248a22d2b40fe)) * Only print errors in the CLI to STDERR [#28](https://github.com/opicaud/pact-reference/issues/28) ([3c33294](https://github.com/opicaud/pact-reference/commit/3c33294887f109f1944c7793a56cd383d2f8b6f3)) * pact specification key in the metadata should be camelcase [#3](https://github.com/opicaud/pact-reference/issues/3) ([b68c893](https://github.com/opicaud/pact-reference/commit/b68c8937e59a8f836e485e573228ae11a1f74060)) * pact_consumer should be a dev dependency ([0c5d6c2](https://github.com/opicaud/pact-reference/commit/0c5d6c27fa8bf1b3c08d2a63c172dfd00897bdb9)) * PACT_DO_NOT_TRACK should be upper case ([43754e6](https://github.com/opicaud/pact-reference/commit/43754e6df296709ccc5be1f5645ad44bfada4bc7)) * **pact_matching:** Correct the mismatch error with content-type header when there are multiple values [#305](https://github.com/opicaud/pact-reference/issues/305) ([5b91796](https://github.com/opicaud/pact-reference/commit/5b91796be035b0814cbee525323a44c5fda2dcab)) * **pact_matching:** EachValue matcher was applying the associated rule to the list and not the items in the list ([af498c7](https://github.com/opicaud/pact-reference/commit/af498c73fc2a76a0be1c9322a6e732d696a7d689)) * **pact_matching:** EachValue matcher was not applying the associated matching rules correctly [#299](https://github.com/opicaud/pact-reference/issues/299) ([4f448b1](https://github.com/opicaud/pact-reference/commit/4f448b1f668fb31f8c91fed929cb10d32135c3cd)) * **pact_matching:** Generators should add headers and query parameters if the key does not exist ([78bc8e2](https://github.com/opicaud/pact-reference/commit/78bc8e23b43930811aa3724537d73826654f80e2)) * **pact_matching:** Number of keys were still be compared when an EachKeys matcher is defined [#301](https://github.com/opicaud/pact-reference/issues/301) ([0459d40](https://github.com/opicaud/pact-reference/commit/0459d40c72cbc655ff1829a300e63e000035f08a)) * **pact_matching:** Support generators for V3 Message interactions ([1299a62](https://github.com/opicaud/pact-reference/commit/1299a622201d41ccb9965be5165a52cb93b38d02)) * **pact_models:** DocPath.parent was creating incorrect paths when the parent is a * ([27bc02c](https://github.com/opicaud/pact-reference/commit/27bc02c9d19e430371f6440852ec81e5c530b87c)) * **pact_models:** Implement add_header for V3 Message ([7e10838](https://github.com/opicaud/pact-reference/commit/7e108383c358e643eea18115393e9e3c4cc5f7d8)) * **pact_models:** MatchingRule::from_json shoud support integration format ([4b4e710](https://github.com/opicaud/pact-reference/commit/4b4e71059d2cf0fb9fb9ea2a485e5bf69b145d24)) * **pact_models:** MatchingRule::from_json shoud support integration format ([b7b7b9c](https://github.com/opicaud/pact-reference/commit/b7b7b9c003bb7ff8ec8f0f080908d79ebdde0882)) * pact_verifier_cli needs to use Tokio 0.2 ([2ebeef9](https://github.com/opicaud/pact-reference/commit/2ebeef9a1e2ec47e05f56f98bf72c6e059715d0d)) * pact_verifier_cli was printing the version from the FFI crate ([e8d6d84](https://github.com/opicaud/pact-reference/commit/e8d6d84414e266d0557d6aee4f7260b70a2caf18)) * **pact_verifier_cli:** log entries were being duplicated ([05e6399](https://github.com/opicaud/pact-reference/commit/05e6399d4568b312b8a65cc80e20cc16fd6d01e8)) * **pact_verifier_cli:** stop using deprecated clap::parser::matches::arg_matches::ArgMatches::values_of_lossy ([b626002](https://github.com/opicaud/pact-reference/commit/b626002c1aebecd8a7697d17fd3faf08148dfc13)) * pact_verifier_ffi release scripts ([6daae85](https://github.com/opicaud/pact-reference/commit/6daae85947f85aef9eec0d4e8dc1db2364a73218)) * **pact_verifier:** Fix missing PATCH version in plugin's version ([6df8ce8](https://github.com/opicaud/pact-reference/commit/6df8ce825239b120f26ed949f40975d0527f62f9)) * **pact-consumer:** Some code for the datetime feature was not being excluded when the feature was turned off [#290](https://github.com/opicaud/pact-reference/issues/290) ([e08119a](https://github.com/opicaud/pact-reference/commit/e08119abf3fbcb2bf732b7bb98e8ef0e310046b3)) * **pact-ffi:** intermediate JSON - add test for JSON with decimal matcher [#179](https://github.com/opicaud/pact-reference/issues/179) ([7688908](https://github.com/opicaud/pact-reference/commit/76889087a5292fd6d131486214a9447d8dace112)) * **pact-ffi:** intermediate JSON - type matcher paths were being incorrectly allocated to children [#179](https://github.com/opicaud/pact-reference/issues/179) ([b10453c](https://github.com/opicaud/pact-reference/commit/b10453c3dec92b95b5e8c201de19385dddc4a382)) * PactBuilder drop handler was cauing plugins to be shutdown twice ([7bd44a0](https://github.com/opicaud/pact-reference/commit/7bd44a0d6d1c6d2ea9f5b807629915b60c6b7a94)) * pacts for verification unmarshal fails if 'pending' attr is not returned in response ([d481bc1](https://github.com/opicaud/pact-reference/commit/d481bc10d379bc68128cce340468fd01ee3d0c5b)) * panicked at 'called on a value' when FFI LevelFilter == Off [#226](https://github.com/opicaud/pact-reference/issues/226) ([d976db0](https://github.com/opicaud/pact-reference/commit/d976db0c3d413fceee6b2cb14353793d9f6c62b0)) * parse the V3 keys as path expressions for query and header matchers ([948e620](https://github.com/opicaud/pact-reference/commit/948e620ca8f14fcb6e4b05cb585076a79aa0fe0a)) * Pass any custom header values on to the plugin verification call ([c368c65](https://github.com/opicaud/pact-reference/commit/c368c651c588db98e8b44e8f828ac0f6eb296ffd)) * path in release scripts ([2f29760](https://github.com/opicaud/pact-reference/commit/2f2976088e468520ee810c012468d13a8a4c35cd)) * pinning version of webmachine until reqwest is updated ([773b4b1](https://github.com/opicaud/pact-reference/commit/773b4b1076f018c14444fd56028064bb404f67c5)) * PluginData configuration is optional ([c0bdd35](https://github.com/opicaud/pact-reference/commit/c0bdd359f792a070e2099256c84f603a3781125d)) * ported matching logic fixes from Pact-JVM ([6633575](https://github.com/opicaud/pact-reference/commit/6633575c148931bdb971ba2741cb9487483066c3)) * provider request timeout should be > 16bit integers. Fixes https://github.com/pact-foundation/pact-js/issues/761 ([0ef3fb9](https://github.com/opicaud/pact-reference/commit/0ef3fb981a53f1858f875fc29ef561ceed1b0c26)) * provider state handlers must be synchronous so they are executed for the actual request ([126b463](https://github.com/opicaud/pact-reference/commit/126b4635613820bcdc827f605a63b72fcc98d7dd)) * Provider state teardown calls were not being invoked when there are no provider states ([693418f](https://github.com/opicaud/pact-reference/commit/693418fb7590649217d78a93b321ee679fe311aa)) * publishing provider branch was broken when invoked via a webhook call ([7f51bdc](https://github.com/opicaud/pact-reference/commit/7f51bdc6ddb64478e5b1e10a618a2d35b64ef430)) * race condition when shutting down plugin via FFI ([e4a445b](https://github.com/opicaud/pact-reference/commit/e4a445ba15e71f7332cf1f411b6b744c40e3c847)) * random decimal generator now includes a decimal point in the generated values ([042bed0](https://github.com/opicaud/pact-reference/commit/042bed0aeb136d2d26e8cd47e861c64ae324f72e)) * Regex matcher was incorrectly being applied to lists ([d5df06a](https://github.com/opicaud/pact-reference/commit/d5df06acd023e99f55a965381444d2d480c5e45b)) * release script ([0fe57d9](https://github.com/opicaud/pact-reference/commit/0fe57d9ca24bcf683f0e74a3cbb59b631e8615c6)) * remove duplicated line ([a7c674a](https://github.com/opicaud/pact-reference/commit/a7c674ab0985cddc73947e2b75dad65856377a08)) * remove generator from crates_repository ([55e16b4](https://github.com/opicaud/pact-reference/commit/55e16b41aa99999467448b5c25c20fa6331e319c)) * repeat the test 3 times [#54](https://github.com/opicaud/pact-reference/issues/54) ([d4dd39f](https://github.com/opicaud/pact-reference/commit/d4dd39f6f305d3dafb4ef321bbdf56701cb4324b)) * request and response builders were incorrectly setting empty bodies from plugin contents ([f8aea4f](https://github.com/opicaud/pact-reference/commit/f8aea4fc337108a8d977addb6a014e5e5dca0f84)) * reqwest is dyn linked to openssl by default, which causes a SIGSEGV on alpine linux ([b4e2684](https://github.com/opicaud/pact-reference/commit/b4e2684404bdcd8543aa352eb937d57f597c8555)) * results for sync messages were not being displayed ([4587a43](https://github.com/opicaud/pact-reference/commit/4587a430247ca3457ac550fe1839a4a14b9e35a2)) * retain the data type for simple expressions [#116](https://github.com/opicaud/pact-reference/issues/116) ([80e3c4e](https://github.com/opicaud/pact-reference/commit/80e3c4e722bdde71a242ad039d2b0f416a757279)) * return a failure if any pact verification fails [#47](https://github.com/opicaud/pact-reference/issues/47) ([665bbd8](https://github.com/opicaud/pact-reference/commit/665bbd8c112c75d4062a3b83020d24faad8f5c10)) * return the most relevant response from the mock server [#69](https://github.com/opicaud/pact-reference/issues/69) ([da53bac](https://github.com/opicaud/pact-reference/commit/da53bacf9238e87413ea7841b9ad03ce462fab6c)) * return version of the mock server via FFI without heap allocation [#80](https://github.com/opicaud/pact-reference/issues/80) ([51eef86](https://github.com/opicaud/pact-reference/commit/51eef864f040d93a112f91e45f742be04ab1fe85)) * rust/pact_mock_server_cli/Dockerfile to reduce vulnerabilities ([fcbee0c](https://github.com/opicaud/pact-reference/commit/fcbee0c2a9e137354c95200778d345bb9628ded8)) * rust/pact_mock_server_cli/Dockerfile to reduce vulnerabilities ([eb92d66](https://github.com/opicaud/pact-reference/commit/eb92d665cdd7aec7c48a0c2d487e6956498e9bce)) * rust/pact_verifier_cli/Dockerfile to reduce vulnerabilities ([c7f6887](https://github.com/opicaud/pact-reference/commit/c7f6887148187cf60cd471883425dee225c496ea)) * rust/pact_verifier_cli/Dockerfile to reduce vulnerabilities ([f709528](https://github.com/opicaud/pact-reference/commit/f709528d6bccae8acc984b7d8f3ad5ce01af68eb)) * serialise v2 path matcher correctly for FFI ([a33718a](https://github.com/opicaud/pact-reference/commit/a33718a096ab2d6d6e79e2a646fbce484918ed78)) * set content-type header in message request ([3e943b1](https://github.com/opicaud/pact-reference/commit/3e943b1677321d4e91ac25ed66e4c847ed92ab0e)) * set the path to the generated pact file [#54](https://github.com/opicaud/pact-reference/issues/54) ([b5474b4](https://github.com/opicaud/pact-reference/commit/b5474b4a91cf2a9d1b3edb85c15ddfa43d926031)) * shared mime-info db not available on Windows ([41b406a](https://github.com/opicaud/pact-reference/commit/41b406aac30bc5ae7b3000a5a1558997dfb074cf)) * shutdown the tokio reactor correctly when there is an error ([c97f5d1](https://github.com/opicaud/pact-reference/commit/c97f5d1a326fb4695be374309f1b18fcdfa02b0c)) * Some matching rules do not have associated configuration ([39338c4](https://github.com/opicaud/pact-reference/commit/39338c46f8e43661605267deac822835aa0ad49e)) * sort the header and query parameter keys when writing the pact [#246](https://github.com/opicaud/pact-reference/issues/246) ([4c04cb6](https://github.com/opicaud/pact-reference/commit/4c04cb65edc8c04abc2dab059cfdfb0d091ef640)) * State change descriptions were not being displayed along with the interaction description ([6cae9b0](https://github.com/opicaud/pact-reference/commit/6cae9b0932eb03a3d8c909ad92b7a9c8c3f12a0d)) * state change URLs should not end with a slash [#110](https://github.com/opicaud/pact-reference/issues/110) ([e993074](https://github.com/opicaud/pact-reference/commit/e99307407c0c24314e73d125a5e1927252502a76)) * store matching rules in a set to avoid duplicates ([a0dc946](https://github.com/opicaud/pact-reference/commit/a0dc9468837f9d3cf05b39d7310b258c30c721ee)) * strip off anchors before generating a value from a regex ([cd9d41c](https://github.com/opicaud/pact-reference/commit/cd9d41cc78bb0dc7f27739eeceeea684594a9589)) * Support fraction of seconds with more then 3 digits [#279](https://github.com/opicaud/pact-reference/issues/279) ([9d3205a](https://github.com/opicaud/pact-reference/commit/9d3205a08a97d2e7c35eec3c97d9d4efd3349117)) * support header values that are not well formed [#228](https://github.com/opicaud/pact-reference/issues/228) ([4f786ff](https://github.com/opicaud/pact-reference/commit/4f786ff4baf568c000bc209d5020a79e381cc1c0)) * support matching rules affected by Pact-JVM defect 743 ([97abce4](https://github.com/opicaud/pact-reference/commit/97abce4d0ffb136e9bb136da9d6cd326e8aad765)) * Support RequestResponsePact loading from V4 formatted JSON [#246](https://github.com/opicaud/pact-reference/issues/246) ([155dae4](https://github.com/opicaud/pact-reference/commit/155dae400c8718121c430f2bf9b84399866b6b21)) * support specifying matching_branch in verifications ([29605ab](https://github.com/opicaud/pact-reference/commit/29605ab06dd6ffcc1c120f0506339eec7a996858)) * support specifying matching_branch in verifications ([260deb7](https://github.com/opicaud/pact-reference/commit/260deb7026c81c3d81d2c277c5777a9ae44c1d9b)) * Support string escape sequences in matching definitions [#283](https://github.com/opicaud/pact-reference/issues/283) ([727ea82](https://github.com/opicaud/pact-reference/commit/727ea824bb92e126e4ec694da739da93393ddf7e)) * switch to the Oniguruma crate for regex matching [#46](https://github.com/opicaud/pact-reference/issues/46) ([defe890](https://github.com/opicaud/pact-reference/commit/defe8907b4f261ca02487ece9c96325b3886f27b)) * tag onig to be able to reproduce deterministic build ([ffb4484](https://github.com/opicaud/pact-reference/commit/ffb44840e1e1f84b61ea80f919015b9ae7fbab57)) * Templated values in HAL links need to be URL encoded [#166](https://github.com/opicaud/pact-reference/issues/166) ([f4fdba3](https://github.com/opicaud/pact-reference/commit/f4fdba3c2a3e81962e096fa2dbfa0632c44b4e4b)) * test test_req_res_message_client was failing on Windows with a channel error ([db59c86](https://github.com/opicaud/pact-reference/commit/db59c865d14e0e3592d7907277f01c20bc4e57cf)) * times with millisecond precision less 3 caused chronos to panic ([850282d](https://github.com/opicaud/pact-reference/commit/850282d70787eee0c015ccbb97daa20f88f8faf6)) * try loosen dependencies to fix dependency cycle issue ([f91dc00](https://github.com/opicaud/pact-reference/commit/f91dc00da1013bbedd8880f1aab821dba343bb1c)) * typo ([ec25400](https://github.com/opicaud/pact-reference/commit/ec2540058ead7e8d041cfd345acb1504368ce022)) * update conan test packages to use updated API ([2eba288](https://github.com/opicaud/pact-reference/commit/2eba2886d77e1cd025d6cbb72d78957654bd9ab5)) * update doc comment on message_with_contents function ([64e0700](https://github.com/opicaud/pact-reference/commit/64e07005ac9b791207e1cad363f952db0086df11)) * update flakey ffi feature test ([7d50453](https://github.com/opicaud/pact-reference/commit/7d50453f50b51edfeace4ab766d9dc571eb5920c)) * Update matching error messages to be in line with the compatibility-suite ([2e45e22](https://github.com/opicaud/pact-reference/commit/2e45e22311460aa2e553494eaba4716e6bb3e36e)) * Update onig to latest master to fix Regex Matcher Fails On Valid Inputs [#214](https://github.com/opicaud/pact-reference/issues/214) ([6ad00a5](https://github.com/opicaud/pact-reference/commit/6ad00a5da941a700ed0443104fc07c88e825461c)) * update to latest driver crate ([fc5be20](https://github.com/opicaud/pact-reference/commit/fc5be20223124292f089d9d5a5a303c2ebfd84de)) * update to latest models and plugin driver crates ([918e5be](https://github.com/opicaud/pact-reference/commit/918e5beb7c4422c061c6f6fff0bc64c2524c42d0)) * Upgrade pact models to 1.0.11 (fixes generated key for V4 Pacts) ([84b9d9e](https://github.com/opicaud/pact-reference/commit/84b9d9e9d6a9570b3b6cbe4e933c0fb2c2095874)) * Upgrade pact_matching to 1.0.6 (fixes some issues with matching HTTP headers) ([11c701b](https://github.com/opicaud/pact-reference/commit/11c701b45a11ef2f079c155ac4322b3579ee09f2)) * Upgrade pact_models to 0.4.5 - fixes FFI bug with generators for request paths ([f8db90d](https://github.com/opicaud/pact-reference/commit/f8db90d2df4b316eed7a93cbf02bf6e79f7fd34a)) * Upgrade pact_models to 1.0 and pact-plugin-driver to 0.1.15 to fix cyclic dependency issue ([577824e](https://github.com/opicaud/pact-reference/commit/577824e70e0571ddf8292cd55cc981cef92c7c31)) * Upgrade pact_models to 1.0.9 (fixes issues with headers) ([e96bc54](https://github.com/opicaud/pact-reference/commit/e96bc54e64c53b0fd7d12e40adccf2d18542f1c1)) * Upgrade pact_verifier to 0.13.13 ([cdb555f](https://github.com/opicaud/pact-reference/commit/cdb555f8adb122c74c394ccad085d1597177c270)) * Upgrade pact-plugin-driver to 0.4.1 (fixes an issue introduced in 0.4.0 with shared channels to plugins) ([779a59f](https://github.com/opicaud/pact-reference/commit/779a59f05911dbf59bfb0c8ac4d53a665c789c13)) * Upgrade plugin driver to 0.1.13 (fixes issue loading plugin when there are multiple versions for the same plugin) ([965a1c4](https://github.com/opicaud/pact-reference/commit/965a1c415dc7df0e3c7d2f45b62a4f9c9e14c6d4)) * Upgrade plugin driver to 0.3.1 ([1e7331f](https://github.com/opicaud/pact-reference/commit/1e7331f15d70ae9a83a10e09dce238aceb42ff7e)) * Upgrade reqwest to 0.11.10 to resolve [#156](https://github.com/opicaud/pact-reference/issues/156) ([73ae0ef](https://github.com/opicaud/pact-reference/commit/73ae0ef000113bb8e6362754a33a3bbbd8e0fa43)) * upgrade to tree_magic_mini 2.0.0 because they pulled 1.0.0 from crates.io and now builds fail ([75c2c1a](https://github.com/opicaud/pact-reference/commit/75c2c1a33e16dc5b49f8f25d8cad5ff349dfcc37)) * upgrade uuid crate ([1651af1](https://github.com/opicaud/pact-reference/commit/1651af19e9a176998b364b511b5d30d0d84388bd)) * use a shared global tokio runtime so shared plugin connections can be used ([0af0035](https://github.com/opicaud/pact-reference/commit/0af00359ddfa5e15176770e1c7ba74ec5964d415)) * use a single result enum [#66](https://github.com/opicaud/pact-reference/issues/66) ([9b1c192](https://github.com/opicaud/pact-reference/commit/9b1c19250bb6422a40612b601ee0658de3dbd683)) * use cargo-bazel-lock local ([d6f56d5](https://github.com/opicaud/pact-reference/commit/d6f56d5351f7fe7fc3c4c36cc8e711e79c0f0b3d)) * use non overriden rust rules in MODULE ([648a61d](https://github.com/opicaud/pact-reference/commit/648a61dffcebf8b49f6758982ab557aaf7cca598)) * use the pacts for verification endpoint if the conusmer selectors are specified [#133](https://github.com/opicaud/pact-reference/issues/133) ([c274ca1](https://github.com/opicaud/pact-reference/commit/c274ca1ac45d65758e59cf897d195dea0686adcf)) * use Vec instead of HashSet to maintain order of matching rules on OSX ([42f0a39](https://github.com/opicaud/pact-reference/commit/42f0a396197ec6e1f0adcf49ac00ee140dc707f0)) * using `clone` on a double-reference ([39c3816](https://github.com/opicaud/pact-reference/commit/39c3816305243c942d0962722313ab5882c135c3)) * using `clone` on a double-reference ([c182c25](https://github.com/opicaud/pact-reference/commit/c182c251cef9a4f1e900c933a69b7ca8c3eb95ec)) * UUID generator should return hyphenated values ([a5f17a5](https://github.com/opicaud/pact-reference/commit/a5f17a54d276eb4034ba138362d1e658e791b009)) * V3 message binary content was not being base64 decoded correctly when loaded from a Pact file ([a03fc5f](https://github.com/opicaud/pact-reference/commit/a03fc5f0f515c337a01c937bc640253c089f48c1)) * V3 path matcher JSON format was incorrect ([b52f095](https://github.com/opicaud/pact-reference/commit/b52f09563897eef11c2e33e431957865de8b1c65)) * V4 models were not including the key in the implementation of equals ([867936d](https://github.com/opicaud/pact-reference/commit/867936d62c82d8787f4b36773e74d6f84202823d)) * **V4:** Bodies specified as a single empty JSON string should be mapped to an empty body ([eeb256d](https://github.com/opicaud/pact-reference/commit/eeb256db2b6236824cd8d3c4fe525e973ece3559)) * **V4:** Bodies where the content attribute is NULL should be NULL bodies ([315e6ae](https://github.com/opicaud/pact-reference/commit/315e6aeef7cd96f459b681220b64e3a1c9f8e4c8)) * **V4:** corrected all the hash functions for all V4 models ([d3cd235](https://github.com/opicaud/pact-reference/commit/d3cd2357b29c8a9bdbd6c3f7dcbc96f0d78e0615)) * **V4:** Status code matcher was not converted to JSON correctly ([457aa5f](https://github.com/opicaud/pact-reference/commit/457aa5fc81bb709cf7524547f8ac28fb850eac66)) * **V4:** when generating the interaction key, treat header keys in a case-insensitive manner ([10239f7](https://github.com/opicaud/pact-reference/commit/10239f7c42088d0fc11186a2485ff7551215d617)) * Values matcher should not be applied to a slice like Equality ([dfa9f61](https://github.com/opicaud/pact-reference/commit/dfa9f6148e7601523cde70c08e89faa66fb5f9fd)) * Values matchers must not cascade ([07e2a3b](https://github.com/opicaud/pact-reference/commit/07e2a3b63598e0828cb7ee878ac414f8833cd829)) * values_matcher_defined should include EachValue matcher ([41a5231](https://github.com/opicaud/pact-reference/commit/41a523199c31350ee8292fec960c9aa9b569a1fd)) * verification CLI was reporting incorrect pact specification version ([4b8fb64](https://github.com/opicaud/pact-reference/commit/4b8fb645ba24b5f0125db548a011b5aa0869e68c)) * Verification output comes from the plugin, so do not display any when a plugin is used ([0a248af](https://github.com/opicaud/pact-reference/commit/0a248af1ee7ca187878776c2f903ea0f123ce03c)) * Verification results across multiple pacts accumulate, publishing invalid results [#231](https://github.com/opicaud/pact-reference/issues/231) ([c12d9a6](https://github.com/opicaud/pact-reference/commit/c12d9a61a6001fe9eeb0b30025d9d61866e529b6)) * **verifier test:** missing addition of teardown impl ([1768141](https://github.com/opicaud/pact-reference/commit/1768141e4e6a9f65d611b71786e90150b268fd6b)) * verifier was returning a mismatch when the expected body is empty [#113](https://github.com/opicaud/pact-reference/issues/113) ([a44cbbe](https://github.com/opicaud/pact-reference/commit/a44cbbeef383abded363fe0f9613fb05d79668b4)) * **verifier:** fix typos in the implementation of Display on the PactSource enum ([b8d263f](https://github.com/opicaud/pact-reference/commit/b8d263f760b71035fc4773d280dbe5a49185e3c6)) * **verifier:** provider state executor teardown function does not need to be async ([6466545](https://github.com/opicaud/pact-reference/commit/6466545f3634032f6e30a5da3c530360c2fb60fc)) * **verifier:** the state_change_teardown option didn't appear to actually be used ([5f782d6](https://github.com/opicaud/pact-reference/commit/5f782d6757bd97ff202a16081b7120c48735efee)) * verify interaction was blocking the thread ([484b747](https://github.com/opicaud/pact-reference/commit/484b747ffeb37e9271395894eff4cf983d27e495)) * was incorrectly selecting the matching rule when weight was equal ([67e2147](https://github.com/opicaud/pact-reference/commit/67e2147deb068733dfb5ec221fe70e5dfe0c9b17)) * was missing setter to set the transport with V4 interactions ([01ac989](https://github.com/opicaud/pact-reference/commit/01ac989b3cab8383a144d36b7fe86c2f3f8e983c)) * when comparing content types, check the base type if the actual content type has a suffix [#224](https://github.com/opicaud/pact-reference/issues/224) ([83d14ce](https://github.com/opicaud/pact-reference/commit/83d14ce1424bcbc0298e717b207f48b91d5080f1)) * when displaying diff, if actual body was empty a panic resulted ([baf3693](https://github.com/opicaud/pact-reference/commit/baf3693ce193e00311613634c6f47c3b21bd8803)) * when loading pacts from a dir, filter by the provider name [#233](https://github.com/opicaud/pact-reference/issues/233) ([34a67cb](https://github.com/opicaud/pact-reference/commit/34a67cb9c76b581f45c1117649dfc100fb9b27c2)) * when loading plugins for Pact files, only take minor + major version into account ([e93c557](https://github.com/opicaud/pact-reference/commit/e93c5574393816d53f3a92e5d3d16b7c6ff97773)) * when matching bodies, use any content type header matcher ([88eff15](https://github.com/opicaud/pact-reference/commit/88eff157e138d0b2151859d3341019ba62d7c1a9)) * when merging pacts, it helps to use the new interations in the merged pact, not the old ones [#77](https://github.com/opicaud/pact-reference/issues/77) ([3acf437](https://github.com/opicaud/pact-reference/commit/3acf4376bc475e0b1a2acaa08c2b1505ad36d4b4)) * When writing V4 format, correct the content type set on the body ([f6ba3b2](https://github.com/opicaud/pact-reference/commit/f6ba3b2ab4c172a445a58aa394906730e395b716)) * Windows URL on conan package ([bb1e35e](https://github.com/opicaud/pact-reference/commit/bb1e35ea2858e95220e19206c8585200c1996941)) * write_pact_file was always serialising a v3 pact even if the spec version was set to 2 ([d7632cb](https://github.com/opicaud/pact-reference/commit/d7632cb5b81f7fae9185285872511f3a72092329)) * xml response matching rules ([13f7c36](https://github.com/opicaud/pact-reference/commit/13f7c36fa8af2eec06c880320c9f692cd14d1059)) ### chore * rename header PACT_MESSAGE_METADATA -> Pact-Message-Metadata ([b3a6f19](https://github.com/opicaud/pact-reference/commit/b3a6f193f7d9012f64ecbf140081e1bf17b44beb)) ### deps * **pact_mock_server_ffi:** remove formdata, add multipart ([3b73b71](https://github.com/opicaud/pact-reference/commit/3b73b71fe4f34511c69e83fcb24a11fd16e70ce0)) ### Features * add --no-color option to verfier CLI [#203](https://github.com/opicaud/pact-reference/issues/203) ([4530dbd](https://github.com/opicaud/pact-reference/commit/4530dbdecc9f35f2487d2a03975fa72dd18e5f6d)) * add a boolean return value for all FFI interaction functions [#108](https://github.com/opicaud/pact-reference/issues/108) ([64adcdc](https://github.com/opicaud/pact-reference/commit/64adcdc4e14c0e604ce8139420ed80d081dc81d3)) * Add a command to shut the master mock server down [#26](https://github.com/opicaud/pact-reference/issues/26) ([40ad75b](https://github.com/opicaud/pact-reference/commit/40ad75bdaea5edf659a5cbb17c4bae025016dc03)) * add a method to join a value onto a doc path ([c707a8c](https://github.com/opicaud/pact-reference/commit/c707a8c05d393aeebc866c795de740a8162e2993)) * add a mock server config struct ([29ba743](https://github.com/opicaud/pact-reference/commit/29ba743638e78c1e127695edab2e45b24a47b776)) * add a mock server URL generator ([09b197d](https://github.com/opicaud/pact-reference/commit/09b197d4d41bc4a3fe37860df392fc3e32084e6b)) * Add a parameter for the server key to the start command [#26](https://github.com/opicaud/pact-reference/issues/26) ([074569a](https://github.com/opicaud/pact-reference/commit/074569ace68cbc8051a35cbddd09e3ae21c0e42c)) * add a simple header parser to pact_models [#259](https://github.com/opicaud/pact-reference/issues/259) ([f04a327](https://github.com/opicaud/pact-reference/commit/f04a327336fa393fc4e2158a511b4949df3b15fa)) * add a test to check for error result with IO error [#213](https://github.com/opicaud/pact-reference/issues/213) ([8ca3303](https://github.com/opicaud/pact-reference/commit/8ca3303bd9417764999e04f8e18b3c31d9afd22f)) * add ability of mock server to expose metrics [#94](https://github.com/opicaud/pact-reference/issues/94) ([5a529fd](https://github.com/opicaud/pact-reference/commit/5a529fd52d0f842213e2d0147b7913f0e00921db)) * add all the CORS headers ([d3c5cf2](https://github.com/opicaud/pact-reference/commit/d3c5cf284e67c64603b12208344e50515be9c888)) * add an iterator over the matching rules from a matching definition expression ([18e1e11](https://github.com/opicaud/pact-reference/commit/18e1e113b05ec6663c637193f3ea5fa06ba09bfc)) * Add application/x-www-form-urlencoded to the known content types ([7dd8938](https://github.com/opicaud/pact-reference/commit/7dd8938476ec00dce4f7ce81e6d44ba42ef04e13)) * Add ARM64 (aarch64) linux targets to the release build [#160](https://github.com/opicaud/pact-reference/issues/160) ([e3bef15](https://github.com/opicaud/pact-reference/commit/e3bef1556a2613cbda7df8616d97f71325a303ff)) * add bazel to build libpact_ffi.a ([317fd6f](https://github.com/opicaud/pact-reference/commit/317fd6f732825dab343d016f357e8b96a352bedd)) * add bazel to build shared library libpact_ffi.a ([07e3b35](https://github.com/opicaud/pact-reference/commit/07e3b35d8630f62d964d663b747284c7a0cd2e04)) * add bazel to build shared library libpact_ffi.a ([3a70bee](https://github.com/opicaud/pact-reference/commit/3a70bee374b250cd530cd8ecc0a18a3998c21706)) * Add builder interface for plugins to provide DSL to construct interactions ([cd53617](https://github.com/opicaud/pact-reference/commit/cd536170357c7573ae4f7e948a723ca1ad1cc568)) * add CLI options to provide different ports when there are different transports ([8cc2948](https://github.com/opicaud/pact-reference/commit/8cc294825d64f20af31804eafc7c617ce653a51f)) * add colons to the allowed path characters ([66c328e](https://github.com/opicaud/pact-reference/commit/66c328edeaff40487282eb543f1e9c025b46ae5c)) * add convience methods to modify headers ([e699061](https://github.com/opicaud/pact-reference/commit/e6990616414890f174f5d6c5030a28d8f745eea4)) * Add crate feature for JUnit report output ([b9e034b](https://github.com/opicaud/pact-reference/commit/b9e034b2f3a04e4aabcd623c2dbfdccbfe98a1eb)) * add cross config to build arm64 binaries ([34f4f6c](https://github.com/opicaud/pact-reference/commit/34f4f6cd567a2f8f78c2c1ba44c188614e45b388)) * add custom-header to the old FFI args for implementations that have not moved to handles ([2e5823a](https://github.com/opicaud/pact-reference/commit/2e5823a015e077fd1701bb5baa8e457efa47371c)) * add date-time matcher to consumer DSL ([be604cc](https://github.com/opicaud/pact-reference/commit/be604cce3c14af3802e979bff594ff641507e7b9)) * add docs on the matching rule IDs ([cfc565e](https://github.com/opicaud/pact-reference/commit/cfc565e3a10e5142ba0fc45bbcaab476111665a6)…
- Loading branch information