All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.0.0] - Unreleased

Added

Core infrastructure

  • Weavr.Config — environment-aware (Sandbox/Live) base URL derivation for both Multi and Multi Back Office products, with configurable retry/timeout settings.
  • Weavr.HTTP — zero-dependency transport built on :httpc with exponential backoff + jitter retries on 429/500/502/503/504, idempotency key support, telemetry instrumentation, and proper timeout handling.
  • Weavr.Client — stateful GenServer-based session with child_spec/1 for supervision trees, holding auth/access token and identity selection.
  • Weavr.Auth — login (password/biometrics), Auth Token → Access Token exchange, identity listing, logout, SCA/PSD2 step-up detection. Fully verified.
  • Weavr.Error — structured error hierarchy (API, Network, Timeout, InvalidRequest, Decode) all implementing Exception for use with pattern matching or Weavr.unwrap!/1.
  • Weavr.JSON — vendored dependency-free JSON codec, auto-delegating to Jason if configured. Handles UTF-8 pass-through and \uXXXX escapes.
  • Weavr.Telemetry — emits [:weavr, :request, :start|:stop|:exception] events; delegates to real :telemetry if present, otherwise a compatible built-in dispatcher.
  • Weavr.Resource — internal shared HTTP helper DRY-ing up all resource modules.

Identity & onboarding

  • Weavr.Corporatesfully verified: create, get, update, send/verify email, start/get KYB, charge custom fee.
  • Weavr.Consumersfully verified: create, get, update, send/verify email, start/get KYC.
  • Weavr.Usersfully verified: list (including root users), get, create, update, activate, deactivate, send invite, send enrolment.
  • Weavr.Passwordsfully verified: create, update, lost/send, lost/verify.
  • Weavr.Identities — convenience delegation shim to Corporates/Consumers.

Instruments

  • Weavr.Accountsfully verified: list, create, get, update, assign IBAN, get IBAN, block, unblock, statement, destroy.
  • Weavr.Cardsfully verified: list, create, get, update, block, unblock, destroy, upgrade to physical, statement, get/create/update/delete spend rules.
  • Weavr.LinkedAccountsfully verified: list, create, get, remove.

Transactions

  • Weavr.Transfersfully verified: create, get, list (intra-identity fund transfers between managed accounts and cards).
  • Weavr.Sendsfully verified: create, get, list (Outgoing Wire Transfers between identities or to external bank accounts).
  • Weavr.Bulkfully verified: submit, execute, pause, resume, cancel, get, list, list-operations. Full state machine documented. 10,000-op limit enforced client-side. BulkProcessorConflict detection helper.

Back Office

  • Weavr.BackOfficefully verified auth scheme (Bearer token, distinct from Multi's auth_token): get access token, get delegated access token, invite user, get managed account + statement, get managed card + get/create/update spend rules, get transfer, get/pause/resume/cancel bulk.

Testing

  • Weavr.Simulator — Sandbox-only simulator endpoints: simulate deposit (incoming wire transfer), card purchase (authorisation), card settlement, KYB outcome, KYC outcome. Guards against accidental use in Live environment.
  • Weavr.TestSupport.MockServer — self-contained mock HTTP server (test-env only) with per-route response functions; used by the library's own 171-test suite without any external test dependency.