Packages

Production-grade Elixir SDK for the complete Revolut Developer API — Merchant, Business, Open Banking, Crypto Ramp, and Crypto Exchange.

Current section

Files

Jump to
revolut_client CHANGELOG.md
Raw

CHANGELOG.md

# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.1.0] - 2025-05-05
### Added
- `RevolutClient.Merchant` — Orders, Payments, Customers, Subscription Plans,
Subscriptions, Billing Cycles, Payouts, Disputes, Report Runs, Webhooks,
Locations, and Synchronous Webhooks (Fast Checkout). API version `2025-12-04`.
- `RevolutClient.Business` — Accounts, Cards, Counterparties (with CoP), Expenses,
FX, Transactions, Transfers, Payments, Card Transfers, Payment Drafts,
Payout Links, Team Members, Webhooks v1, Webhooks v2 (with rotation and
failed-event retrieval).
- `RevolutClient.OpenBanking` — Full AISP (accounts, balances, beneficiaries,
direct debits, standing orders, transactions) and PISP (domestic, scheduled,
standing order, international, international scheduled, international standing
order, and file payment bulk consents).
- `RevolutClient.CryptoRamp` — Partner API v2: config, quotes, buy-redirect,
orders, webhook CRUD, signing-secret rotation, and built-in HMAC signature
verification + replay-attack protection.
- `RevolutClient.CryptoExchange` — Revolut X: balances, symbols, order book,
ticker, public trades, order CRUD, cancel-all, active orders, order history,
and own-trade history.
- `RevolutClient.Webhook``use` macro for defining verified webhook handlers;
HMAC-SHA256 verification via `RevolutClient.Webhook.Crypto`; constant-time
comparison; configurable replay-attack tolerance window.
- `RevolutClient.Client` — shared HTTP transport with exponential backoff + jitter,
token-bucket rate limiting (optional), telemetry events, structured error
mapping, and a mockable `RevolutClient.HTTPBehaviour` adapter.
- `RevolutClient.Error.*` — full typed error hierarchy:
`API`, `Network`, `Validation`, `Configuration`, `Webhook`, `Serialization`.
- `RevolutClient.Config` — unified configuration struct with application-level
defaults, sandbox/prod helpers.
- `RevolutClient.TokenBucket` — GenServer-backed token bucket rate limiter.
- Full `@spec` and `@doc` coverage; HexDocs-ready.
- Test suite: client, merchant, business, open banking, crypto ramp,
crypto exchange, webhook, and error modules.
- GitHub Actions CI: test matrix (Elixir 1.16/1.17 × OTP 26/27),
formatting check, Credo, ExCoveralls, and Dialyzer.