Today, we’re happy to announce the release of Zeebe 0.21 and Operate 1.1.0.

Refer to the Zeebe docs for instructions to download a release.

In this blog post we’ll highlight the changes since the 0.20 release.

New and Changed in Zeebe 0.21

Java 11

Prior to 0.21, Zeebe was built with Java 8. Zeebe is now built with Java 11 LTS. Please note that client applications that embed the Zeebe Java client library can still be written and compiled with Java 8.

TLS Support on Gateway and Clients

Prior to 0.21, the communication between clients and the gateway was unencrypted.

To make Zeebe secure by default, and make running it in an unsecured configuration for development an explicit operation, the 0.21 release adds TLS (Transport Layer Security) on the gateway and in the clients. This authenticates the gateway to the clients, and encrypts the traffic between the clients and the gateway, using a certificate that you provide.

TLS is disabled by default in the broker, but enabled by default in the Go and Java clients, as well as zbctl.

Note that that this will be a breaking change for existing client applications and automation scripts that are upgraded to use 0.21. You will need to either configure TLS
on the broker and the clients, or else explicitly configure the clients and zbctl to use an insecure connection.

To instruct the Java and Go clients to use an insecure connection, set the environment variable:


The CLI tool zbctl will also respect this environment variable, or you can pass the --insecure flag to it.

OAuth Support in Clients

Some users requested the ability to authenticate clients before allowing them to access the gateway.

In 0.21, we add support for OAuth to the clients. This allows you to run workers that are not on the same private network as the gateway, while securing the gateway from unauthorised access.At this stage, you need to provide your own reverse proxy (such as nginx) with a validator to use it. There is no support for OAuth in the broker or gateway.

Broker Backpressure

Prior to 0.21, under high load, when the broker received more requests than it could process before client timeout, it accepted all requests and wrote them to the logstream. This lead to a state where the broker was doing a lot of work processing already timed out requests, which were then resent by the client.

This could cause high load to cascade.

In 0.21, we’ve implemented an adaptive algorithm to provide backpressure when the broker detects high latency in the stream processor.

When the broker detects that the stream processor is experiencing high latency, it will respond to further client commands with 8: RESOURCE_EXHAUSTED.

This avoids the broker accepting commands that are likely to time out.

FailJob and CompleteJob commands are whitelisted and will never be dropped.

You will need to code a retry strategy to deal with this backpressure in your client applications.

  • Read about Backpressure in the docs here.
  • Read about the available Prometheus metrics in the docs here.
  • Check out the issue where the Backpressure work was tracked here.
  • More information on the adaptive algorithm is available in this PR.

Long-polling Workers

Prior to 0.21, clients would poll for jobs, and the gateway would send back a response indicating that there were no jobs available in a short period of time. This resulted in high network traffic and high CPU load on the broker. (See this blog post for some metrics).

In 0.21, we added support for long-polling. Clients now use long-polling by default.

New BPMN Symbol: Multi-instance marker

Prior to 0.21, Zeebe did not support multi-instance elements.

In 0.21, we added support for the multi-instance BPMN symbol. This requires Zeebe Modeler 0.7.0 or later to model.

Read about multi-instance elements here in the docs.

New and Changed in Zeebe Modeler 0.7.0

Rebased on Camunda Modeler v3.3.2

Prior to 0.7.0, the Zeebe Modeler was based on Camunda Modeler 3.0.0-beta.2.

With this release, the modeler is based on Camunda Modeler 3.3.2.

Support Multi-instance BPMN Marker

Prior to 0.7.0, the modeler did not allow you to model multi-instance processes. With the 0.7.0 release, multi-instance marker support has been added.

New and Changed in Operate 1.1.0

Java 11

Prior to 1.1.0, Operate was built with Java 8. Operate is now built with Java 11 LTS.

Giving Feedback / Getting Help

If you have questions or feedback, please let us know via:

We’d love to hear from you.

  • Camunda Platform 8.1 Released – What’s New

    We’re extremely excited to announce the release of Camunda Platform 8.1.  In this post, we will go into the highlights of this release including Web Modeler, Connectors, Zeebe, Operate, Optimize, and more. Here’s the highlights of what’s included in this release: Easier Installation and maintenance for Camunda Platform Self-managed Hot backups for Self-Managed Token-Based authentication Modeler updates Process Templates FEEL Expression Editor Inline Annotations Changes to Camunda forms Connectors updates Workflow engine updates Operate updates Optimize updates Let’s get started! Easier installation and maintenance for Camunda Platform Self-Managed Improved Guides and Support for OpenShift and Amazon EKS (AWS) With this release, we are introducing official support for deploying and running Camunda Platform 8 Self-Managed on OpenShift and Amazon EKS (AWS)....

    Read more
  • Camunda Platform 7.18 Released – What’s New

    We’re extremely excited to announce the release of Camunda Platform 7.18 Here are some of the highlights: Cockpit: Improved instance selection to avoid unintended batch operations Cockpit: Easier navigation of high batch operation volumes MDC logging features Camunda Forms in Tasklist: Populate select options via process data Exception error codes Filter and order tasks by last updated WebSphere Liberty New and retired supported environments You can download Camunda Platform or run it with Docker. For a complete list of the changes, please check out the release notes. For patched security vulnerabilities, see our security notices. If you want to dig deeper, check out the source code on GitHub. Cockpit: Improved instance selection to avoid unintended batch operations Previously, when performing...

    Read more
  • Increase your resilience with new regions in...

    We’re excited to announce new regions for Camunda Platform 8 SaaS that further strengthen the resilience, performance, and data requirements for our SaaS customers. Enterprise customers can now choose to create their clusters in a number of regions including Europe West, US Central, US East, and the most recent addition, Australia South East. This provides multiple benefits, such as increasing availability, allowing to set up fail-safes, adhering to regulatory requirements for regional data storage, and reduced latency due to closer physical proximity. Resilience and redundancy in technology are important for all modern organizations and are top of mind for many. Across industries, organizations need a solution that scales effectively and is resilient to provide a good base for process orchestration....

    Read more

Ready to get started?

Still have questions?