Camunda Team Blog

Finally! camunda BPM 7.1.0-Final is released

Written by Daniel Meyer on , under Execution category.
Today we release 7.1.0-Final, the new minor version of camunda BPM. Compared to the 7.0.0.Final release, the new version includes many new features and improvements:
  1. Improved process engine with Job Definitions, better BPMN coverage and improved performance,
  2. All-new BPMN Model API for convenient BPMN model access,
  3. New features in the cockpit monitoring web application,
  4. Improved Tasklist and Task Forms, including support for HTML5 and Generated Task Forms.
  5. Support for Oracle WebLogic Server 12c and JBoss Application Server 7.2 and JBoss EAP 6.1 / 6.2
This blog post contains a more detailed feature overview below. The release is now available on camunda.org for download:


All in all, 320 issues were closed. See the complete release notes in Jira.

Enterprise support 

The 7.1 release is the basis for the next supported production release for camunda BPM. It is fully supported in the camunda BPM enterprise subscription. Support includes Help Requests based on different SLAs as well as access to camunda BPM maintenance releases. Maintenance releases allow customers to get bugfixes for production systems based on the 7.1 codebase. While the community project will forge ahead for 7.2, we will backport bugfixes to the 7.1 branch and perform maintenance releases reserved for enterprise subscription customers.

There is a Migration Guide targeting existing camunda bpm 7.0 installations.

Detailed Features Overview


The following is a more detailed overview of the new features:

Job Definitions

Activity with suspended
Job Definition (in Cockpit).
Allows querying, activating & suspending job execution on a per activity level. This allows you to prevent an activity from being executed. This is particularly useful for fixing technical problems or preparing system migrations or updates: process instances can make progress until they reach a given activity and will then queue up until the activity is activated again.
(Documentation).



Improved BPMN Coverage

Added support for non-interrupting event subprocess. Supported start events are signal, message and timer
Support for receive tasks was improved: receive tasks now support the messageRef attribute and can be triggered through correlateMessage().

Improved Message Correlation

Message correlation was improved and it is now possible to use a fluent builder API for correlating a message (Blogpost):

  runtimeService.createMessageCorrelation("orderCancelled")
      .processInstanceBusinessKey("someOrderId")
      .setVariable("CANCEL_REASON", "someReason")
      .setVariable("CANCEL_TIMESTAMP", new Date())
      .correlate();


User Operation Log

A new History Entity allowing to query for operations a user performed on a task.

Performance Improvements

Again, we improved the process engine performance for some constructs mainly in combination with concurrent executions and scopes. We further reduced the number of database queries (SELECTs) necessary at runtime. We also added a performance test suite to our repository which allows running benchmarks and SQL statement logs.

Bpmn Model API

We added a completely new component called the BPMN Model APIThe camunda BPMN model API provides a simple and lightweight library for parsing, creating, editing and writing of BPMN 2.0 XML files. The model API enables an easy extraction of information from an existing process definition or to create a complete new one without manual XML parsing. 

The following example shows how to create a new process with the fluent builder API:

  Bpmn.createExecutableProcess("helloCamunda")
   .startEvent()
   .userTask()
   .endEvent()
  .done();   

Cockpit Open Source Features

Suspension of Process Instances, Process Definitions and Job Definitions:

Suspend process Definition
Job Definition Overview
with "Suspend Buttons"











Improved Handling of Binary Datatypes including upload / download for byte streams and editing of serializable Java variables:

Many, many improvements were done under the hood, including better build infrastructure (grunt / bower), better UI testing (through protractor) and better developer documentation.

Cockpit Enterprise Subscription-Only Features

History for Process Instances including sophisticated querying and searching for finished process instances and drill down into individual instances, providing:

Audit Log, allowing to follow the path of a process instance through the diagram, visualizing running, completed and cancelled activity instances.


As well as a Variable Log and a User Task log:

Tasklist

HTML5 Embedded Task Forms allow you to implement task forms in plain HTML and Javascript. They are rendered inside the tasklist. With the 7.1 release we greatly improve support for Embedded
Taskforms including support for select boxes, radio buttons and custom scripting & validation. (Quickstart ExampleDocs).


In addition, we added the Generated Task Forms feature which allows you to define a simple form in camunda Modeler and have it rendered in Tasklist (BlogpostQuickstart ExampleDocs).


Distributions

We now provide a standalone distribution for the web application (Tasklist + Cockpit) as .war file download. This distribution includes an embedded process engine (configured using spring xml) and can be deployed on most application servers.