Activiti 5.22.0

@balsarori balsarori released this Nov 3, 2016 · 26 commits to master since this release

Release containing bug fixes and improvements. Includes an important bug fix for a concurrency bug caused when deleting a variable (task or process variable) and attempting to save the delete variable event.


Activiti 6.0.0.Beta4

@tijsrademakers tijsrademakers released this Sep 7, 2016 · 60 commits to activiti6 since this release

Bug fix release for Beta3. There was an issue with Oracle and SQL Server upgrade scripts that's fixed in this Beta4 release.


Activiti 6.0.0.Beta3

@tijsrademakers tijsrademakers released this Aug 31, 2016 · 76 commits to activiti6 since this release


  • Introduction of 2 new engines, a DMN (Decision Model Notation) Rule Engine and a Form Engine. The DMN Engine allows you to create decision tables and get an outcome based on the input values and the rules defined in the decision table. These decision tables can be invoked from a decision rule task in a BPMN definition, but also independently of a process instance. The Form Engine centralizes the form logic that was introduced with the new Activiti 6 UI. Forms can be deployed with BPMN process definitions but also seperately. A start or task form references a form definition defined in a JSON format with a logical key. The Activiti 6 UI includes the new Rule Engine and Form Engine by default.
  • Ad-hoc sub process support was added, a blog post is available here.
  • The job executor has been refactored. In Activiti 6 there's only one job executor (based on the async executor from Activiti 5. Jobs are now divided into 4 different tables: executable jobs, timer jobs, suspended jobs and deadletter jobs. All jobs in the executable jobs table can be executed as soon as possible. Timer jobs are now stored in a separate table and a thread will look for timer jobs that are due and then the timer jobs due will be moved to the executable jobs table. When a process instance is suspended, the suspended jobs will be moved to the suspended jobs table. And when the retries of a job have been exhausted, the job will be moved to the deadletter jobs table. This refactoring was done mainly to improve the job queries, that were very complicated because it had to take into account due timer jobs, suspended jobs and deadletter jobs. The job query to look for executable jobs is now a lot less complex, because every job in the executable jobs table needs to execute.
  • Implementation of a message queue based Activiti job executor, you can read more about it here
  • Introduction of transient variables. Transient variables won't be persisted in the Activiti variable tables, but are still available on the execution for the duration of a single transaction. Transient variables can for example be used to store a REST response that is only needed to create a request to another REST service, or to use a Java service task result in the next Java service task without it getting persisted.
  • Introduction of two new experimental performance flags: 'eager execution tree fetching' will fetch a complete execution tree while fetching a part of a process instance, as typically following parts of the tree are needed when continuing a process instance. 'Execution relationship counting' keeps a count of various related objects to an execution and thus removes the need for explicit checking and deleting related objects when an execution is removed (which happens frequently). First performance benchmarks using these flags gave some great results. The flags have been tested against the Activiti test suite and all test pass, but the flags are currently not enabled by default.
  • Introduction of transaction dependent listeners. You can now register a listener which will be executed before commit, after commit or on rollback. The transaction dependent listener is an addition to the already existing execution, task and event listeners and provides more ways to listen to the execution of a process instance in the Activiti Engine.
  • A simple DMN editor has been added to the Activiti 6 UI app.
  • Added terminate multi instance end behaviour: this allows to use an end event that will end all instances of a multi instance.
  • Optimize the compensation activity behaviour and added support for the use of subprocesses as compensation activity.
  • Expose start time and start user id on runtime process instance and executions. Expose claim time on runtime task. Before: only on historical counterpart.
  • Fix the use of database schema's (oracle/postgres) properly (workarounds were needed before).
  • Fix historical data capturing (vs Beta2 especially, but also against certain v5 cases).
  • Lots of refactoring in the Activiti 6 UI app, for example app definitions are now deployed as normal Activiti deployments without separate app definition tables.
  • Lots of improvements to Activiti 6 QA.
  • Various and many small bugfixes all around.

Release remarks

  • The Activiti 6 Engine is now considered feature complete for a final version 6 release and mainly needs community testing and bug fixes when issues are found.
  • A first refactor of the userguide has been completed for version 6, but there's still work left.
  • A lot of changes were made to the Activiti 6 UI app and we expect there will still be breaking changes before the final version 6 release.
  • The DMN and Form Engine are feature complete but there can still be some changes before the final version 6.
  • An Admin application has been added to the Activiti Github project but is not yet included in the Beta 3 release. The Admin application will provide query capabilities on deployments, process instances, tasks, jobs, forms and decision tables. For the final version 6 release the Admin application will be added to the release.


Activiti 5.21.0

@jbarrez jbarrez released this Jun 13, 2016 · 141 commits to master since this release

This release contains some quite important bugfixes, more specifically

  • It fixes some cases where the end time was not set for activities in a process definition under certain conditions.
  • A concurrency bug was discovered when using delegateExpressions together with field injection. Make sure to read the updated documentation section on the use of 'delegateExpression'.
  • support for multiple start timer/signal events

Included in this release is the 'secure scripting' feature (for javascript), which allows to execute scripts in a secure way. You can find the documentation in the 'advanced' section of the user guide.


Activiti 5.20.0

@jbarrez jbarrez released this Apr 18, 2016 · 224 commits to master since this release

This is a bugfix release (mainly fixing the bug around losing message and signal start event subscriptions on process definition redeployment, see ACT-4117).



@jbarrez jbarrez released this Jan 29, 2016 · 316 commits to master since this release

This is a bugfix release:

  • Security fix around using commons-collection (ddf9b51)
  • Upgrade to MyBatis 3.3.0
  • Enhancing AsyncExecutor for high load scenarios (especially when the job queue is full)
  • A few small bug fixes


Activiti 6.0.0.Beta2

@jbarrez jbarrez released this Dec 23, 2015 · 606 commits to activiti6 since this release

Second release of Activiti 6.


Activiti 5.19.0

@tijsrademakers tijsrademakers released this Nov 5, 2015 · 392 commits to master since this release

  • We introduced a new service DynamicBpmnService that allows you to change a defined set of properties of a process definition without needing to redeploy
  • Improved support for the terminate end event. According to the BPMN spec a terminate end event should only terminate the current scope. So in case of a multi instance sub process, a terminate end event inside that multi instance sub process should only kill a single instance and the rest of the instances (of the multi instance) will continue. And in case a call activity kicks off a sub process, a terminate end event in the sub process will only kill the sub process instance, and the parent process will continue. We've added a new attribute on the terminate end event (activiti:terminateAll) that allows you to terminate all parent scopes if the value is set to true. By default only the current scope is killed.
  • ACT-4072 was fixed, a repeating timer (time cycle) now works according to the defined duration values
  • Various bug fixes


Activiti 6.0.0.Beta1

@tijsrademakers tijsrademakers released this Sep 2, 2015 · 745 commits to activiti6 since this release

A first beta release of Activiti 6