A list of all tagged versions of WorkflowFM-PEW.
Includes feature updates, bug fixes, and open issues.
- pew-mongo is unavailable until codecs are fixed - since v1.0
- KafkaExecutor, unhandled messages #13 - since v1.0
- AkkaExecutor.Call may timeout #4 - since v0.1
v1.6.1 - 2021-10-03
v1.6.0 - 2021-06-06
- First release in Maven Central!
- Project moved from https://github.com/PetrosPapapa/WorkflowFM-PEW to https://github.com/workflowfm/pew .
- Documentation website added: http://docs.workflowfm.com/pew/
- Reverts alpakka dependency to v0.22 (see #66)
v1.5.0 - 2021-03-19
First open source release under the Apache 2.0 License.
- Restructured the project into multiple modules.
- Fixed long standing issue with
MultiStateExecutor
, which is now renamedMutexExecutor
. - Introduced
CASExecutor
using Java'sConcurrentHashMap
. - Updated simulator to use Proter v0.6 and not use Akka.
- Improved the use of pi-calculus channels to make no assumptions about their data structure (see #63).
- Fixed a race condition in
AkkaExecutor.init
(see this commit). - Various fixes and small improvement in the metrics outputs (e.g. see #60).
- Various minor improvements in unit tests and scaladocs.
v1.4.0 - 2019-07-01
- Improved
PiEventHandlers
. ThePromiseHandler
is now generalized to return a single object at the end of the workflow. The oldPromiseHandler
is an instance calledResultHandler
(see also #26). - Implemented
PiStream
using Akka'sBroadcastHub
to enable more flexible event handling (see also #34). Executors can now be mixed in with (at least) either of the two default observables, namelySimplePiObservable
andPiStream
. SimMetricsActor
no longer keeps a reference to theCoordinator
. This makes for a cleaner, more flexible implementation, allowing multiple simulations across multipleCoordinator
s. The downside is that simulations can be run asynchronously, making it hard to disambiguate which results came from whichCoordinator
. We leave that problem to the user for now.
v1.3.0 - 2019-06-19
For some unknown reason, the version number was increased in build.sbt
back in December without actually merging the intended changes or creating a new tag. In the meantime, #45) was merged with various bug fixes and minor changes, the Ski example was updated and some documentation was added. I decided to create the tag now and push the stream changes to 1.4.0.
- All
PiEvents
now carry an array ofPiMetadata
. The default value contains the system time of the event. Atomic processes can expose additional metadata forPiEventReturn
(see also #21). - Fixed some codec issues (see also #31).
- The simulator now measures the simulation's real (system) duration.
- Some
PiEvents
got rearranged or renamed (see also #45). - Bugfixes and improvements for
KafkaExecutor
andKafkaExecutorTests
(see also #45). - Various improvements in Executor unit tests.
v1.2.2 - 2018-12-03
- Fixed
AkkaPiObservable
registering handlers globally (see also #7). - Improved simulation
Coordinator
. Processes can now interact with theCoordinator
and its clock cycle is a bit more robust (see also #28). - Fixed/improved Codecs for custom data types, which includes
AnyCodec
and associated parts (see also #29). - Fixed issues with the
ClassLoader
crashing in Kafka (see also #30).
v1.2.1 - 2018-11-21
- Fixed problems and improved the
Scheduler
(issue 20). - Added unit tests for the
Scheduler
andTask
priority.
v1.2.0 - 2018-11-14
- Improved simulation analytics #18 (see also #16).
- That code is now disentangled from the individual parts of the simulation and concentrated on a
SimMetricsAggregator
within theCoordinator
. - The classes holding the metrics are cleaner and easier to expand or translate to outputs.
- This also solves the constraint of the
Coordinator
having to start from time1L
. Instead you can now use a custom starting time (such as the current timestamp in milliseconds) with a default of0L
. - Key improvements with the timeline, including a bug with "relative time" mode.
v1.1.0 - 2018-11-07
- Implemented analytics and timeline visualization for any workflow execution using
PiEvent
s. #15
v1.0 - 2018-11-07
- Implementation of
KafkaExecutor
(#10,#11). - Executors are now Observable #8 using
PiEventHandler
s and observingPiEvent
s (see also #5). - Also improved
ProcessExecutor
trait/API. - Various improvements in simulation and the D3 timeline.
v0.1 - 2018-09-18
- Initial port from older SVN repository.
- Main PEW engine for execution of generated pi-calculus workflows.
- First versions of
AkkaExecutor
andMongoExecutor
. - Simulation capabilities with D3 timeline visualization.