GitHub
10/01/2026, 4:18 AMMigration note: the pact diff endpoints return a standard unified diff.
This covers the,diff/previous-distinctanddiff/version/{version}
resources underpact-version/{sha}/diff/pact-version/{sha}
, and the diff notice/pacts/provider/{provider}/consumer/{consumer}
thatreturns when a publish would modify anPOST /contracts/publish
existing pact. Clients that parse this output must handlehunk@@
headers and unchanged context lines. Keys that exist only in the newer
pact now appear aslines.+
As an example, take an interaction whose request method changes from
post to get and which gains anheader. The diff was previously:Accept
"interactions": [
{
"request": {
- "method": "post"
+ "method": "get"
}
}
]
It is now:
@@ -6,7 +6,10 @@
{
"description": "a request",
"request": {
- "method": "post",
+ "headers": {
+ "Accept": "application/json"
+ },
+ "method": "get",
"path": "/"
},
"response": {🐛 Bug Fixes • Require date_helper in HtmlPactRenderer 🚜 Refactor • Remove unused pact/doc generator code • Compare pact content with Hash equality • Move lib/pact/doc under lib/pact_broker/api/renderers • Move the markdown pact renderer under PactBroker • Render pact HTML from the parsed hash 🧪 Testing • Stop snapshotting non-determinate response headers • Replace Pact::Matchers in spec helpers with a subset matcher 🛠️ Miscellaneous Tasks • (ci) Standardize renovate config • (ci) Remove stale internal workflow • Remove the pact-support dependency
Migration note: pact_broker no longer depends on pact-support, so code
alongside the broker can no longer rely on Pact::* constants. Add
pact-support to your own Gemfile if that code needs them.• (release) Render Migration-Note footers in the changelog pact-foundation/pact_broker