Releases: checkmarble/marble
0.27.0
This week's release contains more bugfixes and small improvements
We are working on the next big feature, coming soon !
App
- layout improvements
- better (formatted) display of timestamps in rule executions
- no longer possible to create a field called "id" in the data model which was causing errors (the name is reserved)
API
- It is now possible to configure a separate database for ingested data (separate from the main db containing organizations, scenarios, decisions, cases...). This is mostly useful for our managed service, but may be helpful for some self-hosted deployments at scale.
- Fix a bug where a scheduled execution that found no objects on which to create decisions, remained stuck in "processing" status
- You can now pass the "allowssl" parameter for the DB connection (through the
PG_SSL_MODE
env variable). The default value if not passed is now set toprefered
(though we recommendrequire
in production). - Finally, you can also configure the DB connection by using the
PG_CONNECTION_STRING
env variable (instead of passingPG_USER
,PG_PASSWORD
etc separately). This can be useful as it gives you more granular control on the options passed.
UI improvements and bugfixes
This week's release is lightweight, it mostly includes improvements on some UI pages and some bug fixes (which hopefully you had not noticed).
Also contains some performance improvements if you are creating large volumes of decisions.
Stay tuned for more the next big feature in a couple of weeks !
0.25.0
Helm chart is available !
Marble now publishes a helm chart, to help with your cloud deployment.
You can find more information here.
The helm chart can be found at europe-west1-docker.pkg.dev/marble-infra/marble/marble-application
Nested aggregates
You can now compute aggregates within aggregates, that is to say use aggregate values as filters in another aggregate.
For instance, you could do something like "compute the number of transactions with value higher than the average transaction for that user".
Reworked batch execution mode
We reworked how batch scenario execution works, to make it more reliable.
In particular, any transient errors encountered during a batch execution will now be retried a number of times.
Deployment changes
In particular, running the cron jobs for batch execution, webhooks retry is deprecated and will no longer be supported.
The entrypoint --cron-scheduler
continues to be supported for backwards compatibility, but using the new --worker
entrypoint is recommended.
Bugfixes and improvements
This week's release mostly contains bug fixes and some background work 🪛
Stay tuned for bigger changes next week !
Partial list:
- fix a bug on decision filtering with inbox_id
- fix a bug on french translations on the scenario outcome panel
- fix a bug on the rule name translation when cloning a rule or creating a new rule
Batch exec performance update & batch ingestion by API
EN
This week's release contains the following new features and improvements
- Improvement of the batch execution of scenarios: the computation can now be done on a much larger number of objects without encountering memory errors, and you can view the progress of a batch scenario. More improvements are planned on this soon.
- Batch ingestion by API is now available ! Send your objects by batches of up to 100 (or more if you are self-hosting)
Other improvements and bugfixes
- fixed a bug introduced in the previous release, where scenarios with a trigger condition of the form "constant = constant" no longer properly executed in batch mode
- improvement of the relevance of the liveness check
- removal of the cron job with "--scheduler" entrypoint. Its content has been merged with another cron job. You are invited to remove the corresponding cron job if you are scheduling the jobs yourself (rather than executing the background job "cron-scheduler")
FR
La release de la semaine contient les nouvelles fonctionnalités et améliorations suivantes
- Améliorations sur l'exécution en batch de scénarios: le calcul peut maintenant se faire sur un nombre beaucoup plus grand d'objets sans que le job ne soit en erreur, et vous pouvez observer la progression de l'avancement du job.
- L'ingestion par batch est disponible ! Envoyez vos objets à ingérer dans Marble par batchs de jusqu'à 100 éléments (ou plus en self-hosted).
Autres améliorations et bugfix
- correction d'un bug introduit dans la release précédente, où les scénarios avec une trigger condition de la forme "constante = constante" ne s'exécutaient plus en mode batch
- amélioration du liveness check
- suppression du job cron avec l'entrypoint --scheduler (son contenu a été fusionné avec un autre job cron). Vous êtes invités à supprimer le cron job correspondant (si vous avez vous-mêmes schedulé les cron jobs, plutôt que d'exécuter le job "cron-scheduler" en background)
v0.22 : batch processing & display improvements
This release is the beginning of several major improvements on batch process and frontend UI.
Stay alert, more are coming
Front
- Long field & object names are now displayed properly in the builder
- Language selection is retained after logout
- several dependencies updated for weight and secIT reasons
Backend
- Batch processing is now prepared based on trigger conditions, improving speed of execution in most cases.
v0.21
📖 Translations and 💾 S3, Azure support
In this latest release, french translations arrive for the application !
French will be used by default if it is your browser's default language, otherwise you can select your language by clicking on the "Marble" icon at the top left corner of the app. Please let us know if some translations are misleading or unclear.
Other than this, this weeks release includes some security and performance improvements, and the option to use a document storage backend other than GCP cloud storage for file storing in the case manager and for batch CSV uploads.
It is easy to set up, and you will find an explanation in the .env.example
file on how to set environment variables to select you bucket provider of choice.
⚠️ Warning ⚠️
This release is a breaking release from the point of view of required environment variables, as the following variables have been renamed:
GCS_INGESTION_BUCKET
=>INGESTION_BUCKET_URL
GCS_CASE_MANAGER_BUCKET
=>CASE_MANAGER_BUCKET_URL
If you were already using a GCS storage backend, you now also need to inject a service account json key: see explanation in the .env.example
file. Automatic credentials discovery will no longer work, because it is not compatible (at least, not convenient to make compatible) with URL signing for the case manager file storage.
The FAKE_GCS
and FAKE_S3
environment variables have also been deprecated.
Blocking reviews
New feature : soft block & hard block
When managing transaction monitoring, you might want to set up two different type of checks :
- Post transaction checks, or soft block, where an analyst review the event after it was processed. Useful for low risk AML, it's a good way to optimise your resources
- Pre transaction checks, or hard block, where your system stops the transaction until an analyst validates or cancels it. Perfect for some type of fraud and high risk AML
With this release, you can now set your scenario output to enforce a pre transaction review.
In this case, the decision is put on hold until an analyst checks it, the provides you with a webhook to cancel or release the underlying event in your system.
To deploy on your Marble setup, follow the guide
Rule snoozing & case manager design
We've delivered another major release with the following improvements :
Rule snoozing : One of your rule keeps matching a user and you can't circumvent it by updating the scenario? you can now safely add a temporary whitelisting directly within Marble. When an alerts needs matching a pivot value and a specific rule is displayed in the case manager, you now have the option to temporarily deactivate the rule only for this pivot (account, user...), for a predetermined duration (max 1 year) and keep track of this decision.
Complete documentation available here
Another major update for this release : we delivered a new interface for the case manager : clearer, more condensed design, improved flexibility and more complete, it paves the way for the next improvements on the product. Let us know what you think of it !
Other improvements include :
Front :
- fix rule display on decision
- better display of CSV import status
Backend:
- Several fix / improvements on ingestion management
- Fix webhook delivery
Webhooks !
In this release, webhooks are finally joining the Marble offering ! (available under license)
Be notified automatically by Marble when a decision is created, or something happens in a case. More event types will be covered shortly, so let us know of your business needs and how you want to use the feature.
You can refer to our documentation page to learn how to set up your webhooks endpoint and how to consume webhooks.
Also includes some technical book keeping:
fixed a bug where unnecessary duplicate indexes on ingested data were created when publishing certain scenarios
many dependency version upgrades