Skip to navigation
Getting startedRelease notesSDK

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:

  • params passed to a GET or DELETE call are no longer sent. Pass query parameters as filters (the 4th argument) instead: MangoPay.request(:get, url, {}, filters).
  • before_request_proc now receives req.body == nil for GET and DELETE (previously "{}"). Code that parses the body (e.g. JSON.parse(req.body)) must handle nil – 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 Sandbox ClientId
  • MANGOPAY_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

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 →