Shoobx/shoobx.wfmc

View on GitHub
CHANGES.rst

Summary

Maintainability
Test Coverage
=======
CHANGES
=======

4.3.2 (unreleased)
------------------

- Nothing changed yet.


4.3.1 (2023-04-04)
------------------

- Moving CI to github actions

- Removed buildout support

- Added Python 3.10 and 3.11 support.

- Removed Python 2 support.

- Fixed Deadline / ExceptionName parsing.


4.3.0 (2022-04-07)
------------------

- `evaluateInputs`: refactored to handle most common exceptions.

- `getInitialDataFieldsValues`: new function to parse datafields initial values.

- drop Python 2 support.

4.2.2 (2019-09-06)
------------------

- Exposed deadline parsing as `Activity.digestDeadlineDefinition`


4.2.0 (2018-11-12)
------------------

- Add Python 3.7 support.

- Remove Python 3.5 support.

- Remvoe all deprecation and resource warnings.


4.1.1 (2018-02-08)
------------------

- More Python 3 compatibility.


4.1.0 (2018-02-06)
------------------

- Python 3 support.


4.0.4 (2017-11-01)
------------------

- Make the `now` function pluggable.


4.0.3 (2017-06-20)
------------------

- Nothing changed yet.


4.0.2 (2017-05-25)
------------------

- Update and improve Trove classifiers.


4.0.1 (2017-05-25)
------------------

- Fix small ReST issues, so that PyPI description will render.


4.0.0 (2017-05-25)
------------------

- Renamed from `zope.wfmc` to `shoobx.wfmc`.

- Added support for community CI and coverage tools.

- Raise an exception on duplicate `ExtendedAttribute` `Name` in a single
  `ExtendedAttributes` container

- Use IProcessDefinitionFactory to retrieve process definitions instead of
  named utilities. This additional layer of indirection allows to generate
  definitions dynamically.

- Support for synchronious and asynchronous execution of WFMC subflows.
  Subflows are executed   as part of main process, however have their separate
  state (workflow variables).

- The simplistic Python ``evaluate(expr, locals)`` function has been replaced
  by the `PythonExpressionEvaluator` component, which is an adapter from
  `IProcess` to `IPythonExpressionEvaluator`. The evaluation locals namespace
  is automatically filled with workflow- and application-relevant data
  attributes, the context of the process and the passed in locals variable.

  All calls of `evaluate()` have been updated to use the adapter.

  This change allows for easy replacement of the evaluation engine to hook up
  a safe Python engine (i.e. RestrictedPython) and to provide more namespace
  entries.

- Transition conditions can now be evaluated in the larger context of a
  process, instead of just the workflow-relevant data. Thus their calling
  signature changed from `condition(data)` to `condition(process, data)`.

- `TextCondition` has been changed to use the `PythonExpressionEvaluator`
  component. Also, the compile optimization has been removed, since the
  expression evalautor can do this more effectively.

- Support for aborting processes and activities.

  * Work items can be abortable by implementing ``IAbortWorkItem``.

  * Work items can be cleaned up, if they implement ``ICleanupWorkItem``.

  * Activities keep track of finished work items.

  * Activities can clean themselves up by cleaning up work items.

  * Processes keep track of finished activities.

  * When processes are aborted, the following is done:

    + All activities are aborted.

    + All finished activities are cleaned up.

    + isAborted flag is set on a process.

- Support for reading XPDL-2.1 added

- Added reading Pools and Lanes from XPDL


3.5.0 (2009-07-24)
------------------

- Update tests to latest package versions.


3.4.0 (2007-11-02)
------------------

- Initial release independent of the main Zope tree.