Skip to content

Conversation

@YOU54F
Copy link
Member

@YOU54F YOU54F commented Sep 11, 2025

We would like to implement Pact V3 & V4 Specification support for Pact Ruby enabled via the rust core

Pact Ruby V2

Fixes #317, #318, #319

Documentation

https://github.com/pact-foundation/pact-ruby/blob/feat/v2/documentation/README_V2.md

Delivered Features

  • Multiple specification support 1️⃣ 2️⃣ 3️⃣ 4️⃣
  • Multiple interaction types (consumer / provider )
    • ✅ Synchronous/HTTP
    • ✅ Asynchronous/Message
    • ✅ Synchronous/Message
  • Pact Plugin support
    • ✅ gRPC (Consumer / Provider)
    • ✅ Generic Http (Consumer side)
    • ✅ Generic Asynchronous/Message (Consumer side)
    • ✅ Generic Synchronous/Message (Consumer side)
    • 🚧 Generic (Provider side)
  • Matchers
  • Generators

Validation

The following projects were designed for pact-ruby-v1 and have been migrated to pact-ruby-v2. They can serve as an example of the work required.

V3 Related Issues

Will be tagging and closing related v3/v4 issues, and linking to this meta issue

V4 Related Issues

Will be tagging and closing related v3/v4 issues, and linking to this meta issue

@YOU54F
Copy link
Member Author

YOU54F commented Sep 23, 2025

This is published as a test gem to

https://rubygems.org/gems/pact-v2

there are two versions. the first contains only the v1 deps, the second contains both v1 & v2 deps.

It doesn’t seem rubygems supports conditional gems ( i wanted to control it by env var ) i did look at a ruby extension to install additional gems but these wouldn’t be known to bundler

the test gem will ultimately be deleted, so please don’t rely in production. ty

@YOU54F
Copy link
Member Author

YOU54F commented Oct 21, 2025

Lets go!

For anyone who comes across this, if I have inadvertently broken your workflow, you may want to pin to the release prior to this going out

https://github.com/pact-foundation/pact-ruby/releases/tag/v1.66.2

it has been designed to work side by side, so the only blocker for people I imagine, will be the new set of dependencies.

In version 2, the old pact-ruby v1 interface will be removed, and the v2 namespaced code will be moved to the root

@YOU54F YOU54F merged commit 4ff7812 into master Oct 21, 2025
27 checks passed
@YOU54F YOU54F deleted the feat/v2 branch October 21, 2025 22:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Pact FFI Tracking Issue

2 participants