Skip to main content
Version: v3.x

v3.x

Stack version: v3.0

ComponentVersion
ledgerv2.2
paymentsv3.0
walletsv2.1
orchestrationv2.1
reconciliationv2.1

Release date: February 10, 2025

Ledger

Stateless Ledger Service

The Ledger service is now fully stateless and can operate with multiple replicas without requiring nodes synchronization.

Zero-Downtime Upgrades

Upgrades between versions now occur with zero downtime, ensuring a seamless transition and uninterrupted service.

New Numscript Interpreter

The new numscript interpreter is now available in experimental mode (numscript used to be bundled in the ledger, but is now a separate, standalone library: https://github.com/formancehq/numscript)

Configurable Feature Disabling at the Bucket Level

You can now disable specific features on a per-ledger basis at the bucket level, allowing for better optimization based on your usage patterns.

Enhanced Write Performance

Significant improvements have been made to write operations, resulting in a higher throughput of transactions per second.

Improved Read Performance

Most endpoints have been optimized for faster read operations, leading to a more responsive system overall.

Enhanced _bulk Endpoint

The _bulk endpoint now supports streaming, parallel processing, and atomic execution, providing greater flexibility and control over bulk processing, optimizing for performance, consistency, and reliability. For details, refer to Bulk processing.

Payments

New dependency: Temporal

Temporal is now required to deploy the Payments service.

New V3 API improvements

New task endpoint

Added an endpoint to fetch a task, which represents a background user operation. Once completed, the task will have a status of either "failed" or "successful." If successful, the ID of any created object can be retrieved from the task.

For connector uninstallation, payment initiation, and bank account creation, HTTP code 202 and a taskID are returned. The operations run in the background, and you can monitor their status and retrieve relevant IDs (e.g., payment or account ID) upon success by polling the task.