The release of Mojaloop v12.0.0 has been committed to the Helm GitHub repository. You can learn more about a Mojaloop Helm release mechanism on one of our previous blogs. Additionally, you will find an overview of Mojaloop and documentation available on mojaloop.io.
Below are some of the highlights of what’s new in version 12. For more information, check out the official release notes for Mojaloop v12.0.0. These include the versions of all the microservices included, a summary of features, breaking changes, validation mechanisms, and configuration details.
Highlights of version 12.0.0.
Continuous gross settlement
This release now includes a major community contribution that provides support for Continuous Gross Settlement (CGS) model and Interchange Fees. This means that in addition to its real-time clearing capabilities, Mojaloop now supports the real-time (or continuous) settlement of transfers upon completion (clearing). This makes it possible for Mojaloop to operate simultaneously with both CGS and existing deferred net settlement models across different currencies.
Rules support on settlement
Rules can be configured on deployment or modified by upgrading an existing compatible Mojaloop deployment. For example, you can add a rule to calculate interchange fees on the final commit notification event of a transfer.
Validating Mojaloop deployments with Testing Toolkit & Helm
Mojaloop introduced several major enhancements for validating Mojaloop Helm deployments thanks to the Mojaloop Testing Toolkit (TTK).
The first group of major improvements is that Hub-setup, Simulator-Onboarding, and Postman Golden Path have been migrated to the TTK. Historically, Postman has proven to be ill-suited for testing asynchronous request patterns because one must manually set up post-test scripts to poll simulators for callbacks. In our experience, this has been unreliable and required unreasonable wait times, which often resulted in re-running postman tests to validate observed failures. The TTK solves this issue with a web-socket-based push-notification integrated between the TTK and the Mojaloop-Simulators. This results in the following direct benefits:
- Test execution time reduced from 12+ minutes (Postman) to 1.5min (TTK) – a 700% improvement!
- Improved test consistency due to push-notifications
- Automated setup and validations on deployments
- Additional validations for JSON Web Signature (JWS) which weren’t available with Postman
- Customizable reporting
The next significant improvement is the ability to introduce Helm tests to the Mojaloop Helm chart. Users can now execute the “helm test” command to run the Hub-setup, Simulator-Onboarding, and Golden-Path collections to validate an existing Mojaloop deployment. The output of this command will indicate the status of validation tests with a log-file optionally displayed by using the following command:
helm -n <namespace> test <release_name> –logs
Additionally, these tests can be configured to:
- Export reports to AWS S3 buckets
- Enable chat-op notifications to Slack with a result summary including links to exported reports on AWS.
To take advantage of these features, you will need Helm v3 and deploy Mojaloop v12.0.0 with the TTK and Simulators both enabled. Moving forward, the Mojaloop development team will shift focus from supporting Postman to TTK-based test collections for validating Mojaloop.
Coming up next
The Mojaloop Design Authority has accepted a proposal to externalize dependencies from the Mojaloop helm charts. With this change, external dependencies will be installed as separate prerequisites. This will improve the upgradability of existing deployments going forward, and increase the maintainability of Mojaloop’s helm chart source-code.
Some major improvements to transfers are currently in the pipeline or design phase such as:
- Reliable Notifications
- Cascaded Timeouts
- Improved usability of the CGS and rule processing capabilities with improved configuration capability and separation for multiple handlers
If you have any questions or issues with upgrading or deployment, please raise an issue on the Mojaloop Github or contact the #help-mojaloop channel on Mojaloop Slack.
If you want to learn more about Mojaloop, visit the overview page on our website. You can also find helpful information about resources including the Mojaloop Training Program and the Mojaloop Lab.