Repository navigation
Conversation
pact-reference publishes pact_ffi through cargo-dist from 0.5.12, under the release tag `pact_ffi-v<version>`. Each Rust target triple has one archive, `pact_ffi-<target>.tar.xz` or `.zip` on Windows. The legacy `libpact_ffi-v<version>` release with single-file .gz assets stops on 2027-06-30. download-native-libs.sh fetches each archive and its .sha256, verifies the digest, and extracts the shared library to the same build/<os>/<arch>/ path. The checksum files end with a blank line, which is stripped before the check. curl now fails on HTTP errors. The archive layout exists from 0.5.12, so the FFI moves from 0.4.27 to 0.5.12. The tests change with it: - Pact metadata now records ffi 0.5.12 and models 1.3.16. - Since 0.5.10 the FFI splits only known multi-value headers on commas. The tests' two-value custom headers are now one value, and requests that send them get a 500. The tests use Accept-Language, a known multi-value header. Assisted-by: Claude Code:claude-opus-5-5
Member
Author
|
I got Claude to do a sweep across all the downstream users of the FFI. I know that there are other things blocking the upgrade to See: #569 |
Member
|
Thanks @JP-Ellis, appreciate your work in pact-ref on the ci/release workflow side |
This was referenced Oct 28, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goal
pact-reference now builds
pact_ffiwith cargo-dist. From 0.5.12, each release is taggedpact_ffi-v<version>and carries one archive per Rust target triple. The legacylibpact_ffi-v<version>release, with the single-file.gznames this script downloads, stops on 2027-06-30.Changes
build/download-native-libs.sh:pact_ffi-<target>.tar.xz(.zipfor Windows) and its.sha256;build/<os>/<arch>/path as before;CONTRIBUTING.mdnames the new archives and tools.FFI 0.4.27 → 0.5.12
The archive layout only exists from 0.5.12, so this PR also moves the FFI from 0.4.27 to 0.5.12. The tests change with it:
ffi0.5.12 andmodels1.3.16.X-Requestwith a comma-joined value stays one value, and requests that send the two values got a 500. The 8 affected tests useAccept-Language, which is on the allowlist. Users with comma-joined custom headers will see the same change.Testing
dotnet test PactNet.sln: 52 + 146 + 4 + 1 passed, 0 failed.unzipor7z(it falls back totar), and atarthat handles xz.