2.4.0

Release date

December 17, 2025

Features

User Interface enhanced

  • We added a warning that displays when WebGL is not available on the network diagram page.

  • We added a notice when a consumer contract is not a valid Pact file.

    Note

    Swagger Contract Testing supports consumer contracts that are not Pact files. However, most users typically upload a Pact file.

  • We improved the robustness of pacticipant pages when a pacticipant cannot be found.

  • We improved the contract details view to present bi-directional contract information more clearly and consistently. See the updated Contract Details and Bi-Directional Contract Testing documentation.

  • We now show the release version, rather than the release SHA, as the version in PactFlow on-premises.

Bi-Directional Contract Testing

  • We added support for paths that include colons : in Bi-Directional Contract Testing (BDCT).

API

  • We updated the /audit endpoint to support additional query parameters, allowing more flexible filtering of audit events. You can now filter using:

    • from

    • since

    • userUUID

    • userEmail

    • type

    • sortDirection

    See the updated API documentation.

Fixes

User Interface

  • We fixed an issue that could cause the UI become unresponsive when handling large contracts.

  • We fixed an error that occurred when loading a page after a favorited application had been removed.

  • We fixed an issue where verification results did not appear in certain edge cases.

  • We fixed a crash that occurred on some compatibility tiles under specific error conditions.

  • We improved rendering performance for very large provider self-verification results.

General

  • We updated all dependencies to resolve open CVEs.

  • We fixed an issue where a SCIM/SAML user who had been deactivated and then reprovisioned was unable to log in.

  • We fixed an issue with can-i-deploy and bi-directional contract testing where a V4 Pact with either mixed HTTP and non-HTTP interactions, or only non-HTTP interactions, was incorrectly considered safe to release without a corresponding Pact verification for the non-HTTP interactions.

  • We fixed an issue in V4 Pacts where interaction and message counts were not calculated correctly.

Migration Notes

  • This release includes time-consuming data migrations related to the V4 Pact fixes described above.

  • We added a new has_messages boolean field to the pact_versions table. This field is set to false by default.

  • We strongly recommend performing a manual database migration before upgrading your on-premises instance to avoid extended startup times.

Further background

  • Pact V4 does not include a dedicated messages collection. Instead, it uses a single interactions collection, where each interaction has a type value of one of the following:

    • Synchronous/HTTP

    • Asynchronous/Messages

    • Synchronous/Messages

    Refer to the Pact specification for details.

  • The migration process must inspect all existing Pact versions to correctly determine whether messages are present. This requires evaluating the Pact specification version and the interaction types contained within each Pact.

  • These changes ensure that existing V4 Pacts behave correctly when using can-i-deploy and that metrics and reporting related to message-based interactions are accurate.

Publication date: