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.
- Updated uuid version (v14.0.0)
- Made saga
verbose: falseby default
- Preparing to serialization and data storing
- Saga.terminate method to stop all sagas, saga.stopProcessing() to stop chosen saga
- Updated dependencies
- Made saga verbose by default
- Updated dependencies
- Immediately call executor first time
- Fixed timeout between retries
- Fixed retrying beyond the catch block (queue-processor)
- Fixed graph schema in README.md
- Added optional error argument for node executor
- Added keeping execution after the reaching of the pivot point
- Fixed result returning from Saga.process;
- Fixed running of compensator;
- Fixed issue when exit called multiple times;
- Fixed ExecutorNextFunction contract: allow NodeName[] as proper arg for next();
- Removed lastRetryTime from NodeMeta;
- Fixed export: added FactsMetaContract, NodeMeta, and Scaling contracts;
- Removed lastRetryTime from NodeMeta;
- Fixed README.md: wrong argument definition scalingFactor (line 27)
- Added ReturnType for saga.process method
- Changed response of the saga.process method from the Promise<Facts<DataType, NodeName> to the Promise
- Added the ability to run in parallel on multiple nodes (β)
- Added rollbackWhenSuccessNode to NodeMeta and FactsMeta contracts
- Added runAfterNodesSucceed property to NodeMeta and FactsMeta contracts
- Added optional factsMeta argument for the saga.process method
- Added expiresAfter property to the optional factsMeta argument for the saga.process method
- Added executeAfter property to the optional factsMeta argument for the saga.process method
- Replaced compensatorNode with rollbackWhenErrorNode in NodeMeta and FactsMeta contracts
- Added middlewares
- pseudoInterval helper added to export
- Added separated types for next, exit, retry executor arguments
- Made own retries count for each node since it's more clear and correct
- Dynamic horizontal scaling for Nodes in Graph (Saga) instead of static scaling
- Verbose mode made working, added logs
- Added saga.state() method to display the saga current state/loads
- saga.addNode 4-th argument changed form number to object implements Scaling