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.

  • Title slide that reads "Why Camunda 8"

    Why R-KOM Chose Camunda Platform 8

    In this blog series, we highlight the customers who have chosen to utilize Camunda Platform 8 and explore the challenges those companies are attempting to overcome using process orchestration. For the latest installment of Why Camunda 8, we spoke with R-KOM, a telecommunications company based in Regensburg, Germany. When R-KOM was founded in 1997, its shareholders pooled their telecommunications infrastructure, which had evolved over decades with utility networks for water, electricity, and gas. Initially, R-KOM’s services were limited to business and the public sector, but now it has developed further in line with demand. Over the years, the company’s high-performance infrastructure and a broad range of products have grown. Today, R-KOM has a number of city networks in Eastern Bavaria...

    Read more
  • Title slide that reads "Why Camunda 8"

    Why Gruner + Jahr Chose Camunda 8

    In this new blog series, we explore the reasons why customers are migrating to Camunda 8. For our first installment of Why Camunda 8, we talked to Gruner + Jahr, one of the largest premium magazine publishers in Europe. G+J includes such established (German) print and digital brands as STERN, GEO, BRIGITTE, ESSEN & TRINKEN, and SCHÖNER WOHNEN, as well as younger brands such as CHEFKOCH, BARBARA, BEEF, 11FREUNDE. In addition to the numerous print and digital media offerings, G+J offers products and licenses such as the SCHÖNER WOHNEN collection. The digital business contributes more than half of revenues and is exhibiting continued strong growth. Indeed, the company’s digital products lead the rankings in all publishing segments, from news through...

    Read more
  • Camunda Platform 8.1.0-alpha3 Released

    We’re excited to announce the release of Camunda Platform 8.1.0-alpha3. If you’d like to get started with Camunda Platform 8.1.0-alpha3 right away, you can sign up for a free trial now. Create Process Instance Starting at User-Defined Elements An often requested feature is now available as a preview with Camunda Platform 8.1.0-alpha3: create a process instance starting at user-defined elements. When creating a process instance through the CreateProcessInstance RPC, the process instance is started at the default none start event. For testing purposes, you may want to start at one (or multiple) of the other elements. This feature is now available through both the CreateProcessInstance RPC and the CreateProcessInstanceWithResult RPC. It is available for use in the Zeebe Java client...

    Read more

Ready to get started?

Still have questions?