Ruby SDK - 5.0.0
November 4, 2026
Caution – Major version change for possible breaking changes
The technical improvements in this release are minor but could potentially have an impact on your integration. They are therefore being released in a major version increase to ensure that you test your integration before upgrading in Production.
Changed – Potentially breaking
GET and DELETE requests no longer send a request body
Previously, every request sent the JSON-encoded params as its body, regardless of the HTTP method. Since params defaults to {}, GET and DELETE requests went out with a body of {} (Content-Length: 2).
The body is now only attached for methods that allow one (POST, PUT, PATCH), using Ruby’s built-in Net::HTTPGenericRequest#request_body_permitted?.
This affects:
paramspassed to a GET or DELETE call are no longer sent. Pass query parameters asfilters(the 4th argument) instead:MangoPay.request(:get, url, {}, filters).before_request_procnow receivesreq.body == nilfor GET and DELETE (previously"{}"). Code that parses the body (e.g.JSON.parse(req.body)) must handlenil– this could be potentially breaking, but it is unlikely.- Request log lines for GET and DELETE no longer show
{}as the request params — the line now ends right after the quoted URL. POST, PUT, and PATCH log lines are unchanged. - Test stubs matching GET or DELETE requests on
body: "{}"(for example with WebMock or VCR) no longer match, and need updating or re-recording.
Changed – Potentially breaking
Unused request_multipart method removed
The MangoPay.request_multipart method has been removed from lib/mangopay.rb, as it was no longer called anywhere in the SDK. It was a public method — if your code calls it directly, it now raises NoMethodError, which could be a breaking change.
Changed
Sandbox credentials for the test suite are now required environment variables
If you clone the SDK repository to run its test suite, you now need to set Sandbox credentials as environment variables:
MANGOPAY_CLIENT_ID– Your SandboxClientIdMANGOPAY_CLIENT_PASSWORD– Your Sandbox API key
There is a second set of variables for the token-isolation test. The suite fails with a clear error if any required variable is missing.
Added
List PSCs of a legal user
New MangoPay::User.get_pscs method, calling the GET List PSC Sessions for a User endpoint, to fetch the list of PSCs (persons with significant control) of a legal user.
For more details, see the API release note →