Skip to main content

Update 0.26 to 1.0

Intermediate

The following sections explain which adjustments must be made to migrate from Camunda Cloud 0.26.x to 1.0.0 for each component of the system.

caution

Be aware that the major version update from 0.26 to 1.0 is not backwards compatible. Therefore, data cannot be migrated from 0.26 to 1.0 and client applications must be adjusted to the new API versions.

Server​

Zeebe​

Distribution​

With Zeebe 1.0.0, the Java package names were adjusted. They changed from io.zeebe to io.camunda.zeebe. Therefore, any logging configurations and similar, which are based on the package names, must be adjusted.

Additionally, the group id of the Java artifacts were migrated from io.zeebe to io.camunda. This requires all dependencies to the artifacts to be updated to use the new group id.

The downloadable artifact of the Zeebe distribution was renamed from:

  • zeebe-distribution-${VERSION}.tar.gz to camunda-cloud-zeebe-${VERSION}.tar.gz,
  • zeebe-distribution-${VERSION}.zip to camunda-cloud-zeebe-${VERSION}.zip

Workflow Engine​

The support for YAML workflows was removed from the workflow engine, after the deprecation with 0.26. This means only BPMN processes are supported from now on.

Elasticsearch Exporter​

The supported Elasticsearch version of the Elasticsearch Exporter was increased from 6.8 to 7.10, read more about this in the Elasticsearch section.

The index templates of the Elasticsearch Exporter were migrated to use composable index templates.

Protocol​

The Java protocol received the following adjustments:

  • Enum IncidentIntent

    • remove CREATE
    • change short value of CREATED to 0
    • change short value of RESOLVE to 1
    • change short value of RESOLVED to 2
  • Enum WorkflowInstanceIntent renamed to ProcessInstanceIntent

  • Enum WorkflowInstanceSubscriptionIntent renamed to ProcessMessageSubscriptionIntent

  • Enum WorkflowInstanceCreationIntent renamed to ProcessInstanceCreationIntent

  • Enum JobIntent

    • remove CREATE and ACTIVATED
    • change short value of CREATED to 0
    • change short value of COMPLETE to 1
    • change short value of COMPLETED to 2
    • change short value of TIME_OUT to 3
    • change short value of TIMED_OUT to 4
    • change short value of FAIL to 5
    • change short value of FAILED to 6
    • change short value of UPDATE_RETRIES to 7
    • change short value of RETRIES_UPDATED to 8
    • change short value of CANCEL to 9
    • change short value of CANCELED to 10
    • change short value of THROW_ERROR to 11
    • change short value of ERROR_THROWN to 12
  • Enum MessageIntent

    • rename DELETE to EXPIRE
    • rename DELETED to EXPIRED
  • Enum MessageStartEventSubscriptionIntent

    • remove OPEN, OPENED, CLOSE and CLOSED
    • add CREATED, CORRELATED and DELETED
  • Enum MessageSubscriptionIntent

    • rename OPEN to CREATE
    • rename OPENED to CREATED
    • rename CLOSE to DELETE
    • rename CLOSED to DELETED
    • add `CORRELATING
  • Enum TimerIntent

    • remove CREATE
    • change short value of CREATED to 0
    • change short value of TRIGGER to 1
    • change short value of TRIGGERED to 2
    • change short value of CANCEL to 3
    • change short value of CANCELED to 4
  • Interface DeploymentRecordValue

    • rename method getDeployedWorkflows to getProcessMetadata and change type from List<DeployedWorkflow> to List<ProcessMetadataValue>
  • Interface IncidentRecordValue

    • rename method getWorkflowKey to getProcessDefinitionKey
    • rename method getWorkflowInstanceKey to getProcessInstanceKey
  • Interface JobRecordValue

    • rename method getWorkflowDefinitionVersion to getProcessDefinitionVersion
    • rename method getWorkflowKey to getProcessDefinitionKey
  • Interface MessageStartEventSubscriptionRecordValue

    • rename method getWorkflowKey to getProcessDefinitionKey
    • rename method getWorkflowInstanceKey to getProcessInstanceKey
  • Interface MessageSubscriptionRecordValue

    • rename method getWorkflowInstanceKey to getProcessInstanceKey
  • Interface TimerRecordValue

    • rename method getWorkflowKey to getProcessDefinitionKey
    • rename method getWorkflowInstanceKey to getProcessInstanceKey
  • Interface VariableRecordValue

    • rename method getWorkflowInstanceKey to getProcessInstanceKey
    • rename method getWorkflowKey to getProcessDefinitionKey

gRPC​

The following changes were made to the gRPC protocol definition:

  • ActivatedJob message

    • rename field workflowInstanceKey to processInstanceKey
    • rename field workflowDefinitionVersion to processDefinitionVersion
    • rename field workflowKey to processDefinitionKey
  • CancelWorkflowInstanceRequest message renamed to CancelProcessInstanceRequest

    • rename field workflowInstanceKey to processInstanceKey
  • CancelWorkflowInstanceResponse message renamed to CancelProcessInstanceResponse

  • CreateWorkflowInstanceRequest message renamed to CreateProcessInstanceRequest

    • rename field workflowKey to processDefinitionKey
  • CreateWorkflowInstanceResponse message renamed to CreateProcessInstanceResponse

    • rename field workflowKey to processDefinitionKey
    • rename field workflowInstanceKey to processInstanceKey
  • CreateWorkflowInstanceWithResultRequest message renamed to CreateProcessInstanceWithResultRequest

    • change type of field request from CreateWorkflowInstanceRequest to CreateProcessInstanceRequest
  • CreateWorkflowInstanceWithResultResponse message renamed to CreateProcessInstanceWithResultResponse

    • rename field workflowKey to processDefinitionKey
    • rename field workflowInstanceKey to processInstanceKey
  • DeployWorkflowRequest message renamed to DeployProcessRequest

    • rename field workflows to processes and change type from WorkflowRequestObject to ProcessRequestObject
  • WorkflowRequestObject message renamed to ProcessRequestObject

    • remove enum ResourcetType
    • remove field type
    • change field id of definition field to 2
  • DeployWorkflowResponse message renamed to DeployProcessResponse

    • rename field wokrflows to processes and change type from WorkflowMetadata to ProcessMetadata
  • WorkflowMetadata message renamed to ProcessMetadata

    • rename field workflowKey to processDefinitionKey
  • Partition message

    • enum PartitionBrokerRole added INACTIVE state
  • Gateway service

    • rename rpc CancelWorkflowInstance to CancelProcessInstance and change input type from CancelWorkflowInstanceRequest to CancelProcessInstanceRequest and output type from CancelWorkflowInstanceResponse to CancelProcessInstanceResponse

    • rename rpc CreateWorkflowInstance to CreateProcessInstance and change input type from CreateWorkflowInstanceRequest to CreateProcessInstanceRequest and output type from CreateWorkflowInstanceResponse to CreateProcessInstanceResponse

    • rename rpc CreateWorkflowInstanceWithResult to CreateProcessInstance and change input type from CreateWorkflowInstanceWithResultRequest to CreateProcessInstanceWithResultRequest and output type from CreateWorkflowInstanceWithResultResponse to CreateProcessInstanceResponse

    • rename rpc DeployWorkflow to DeployProcess and change input type from DeployWorkflowRequest to DeployProcessRequest and output type from DeployWorkflowResponse to DeployProcessResponse

Exporter API​

In the Java Exporter API, the depracted method Controller#scheduleTask was removed.

Operate​

With Operate 1.0.0, the Java package names were adjusted. They changed from org.camunda.operate to io.camunda.operate. Therefore, any logging configurations and similar, which are based on the package names, must be adjusted.

The downloadable artifact of the Operate distribution was renamed from:

  • camunda-operate-${VERSION}.tar.gz to camunda-cloud-operate-${VERSION}.tar.gz,
  • camunda-operate-${VERSION}.zip to camunda-cloud-operate-${VERSION}.zip

The supported Elasticsearch version was increased from 6.8 to 7.10. Read more about this in the Elasticsearch section.

Tasklist​

With Tasklist 1.0.0, the Java package names were adjusted. They changed from io.zeebe.tasklist to io.camunda.tasklist. Therefore, any logging configurations and similar, which are based on the package names, must be adjusted.

Additionally, the configuration prefix was migrated from zeebe.tasklist to camunda.tasklist, which requires all configurations to be adjusted to the new prefix.

The downloadable artifact of the Tasklist distribution was renamed from:

  • zeebe-tasklist-${VERSION}.tar.gz to camunda-cloud-tasklist-${VERSION}.tar.gz,
  • zeebe-tasklist-${VERSION}.zip to camunda-cloud-tasklist-${VERSION}.zip

The supported Elasticsearch version was increased from 6.8 to 7.10. Read more about this in the Elasticsearch section.

Elasticsearch​

Zeebe, Operate, and Tasklist use Elasticsearch as Datastore to exchange the event stream from Zeebe's exporter, and store their own data model representation.

Camunda Cloud 1.0 requires an update from Elasticsearch 6.8 to 7.10.

Follow the update guide from Elasticsearch, to migrate existing data.

note

Zeebe, Operate, and Tasklist data inside Elasticsearch cannot be migrated, it can only be preserved for histroy or audit purpose, but cannot be loaded by Camunda Cloud 1.0.

If you want to keep the existing data in Elasticsearch, ensure you set a new index prefix for all systems. See the configuration documentation for Zeebe, Operate, and Tasklist.

Client​

Zeebe Java Client​

With Zeebe 1.0.0, the Java package names were adjusted. They changed from io.zeebe to io.camunda.zeebe. Therefore, any imports and logging configurations and similar, which are based on the package names, must be adjusted.

Additionally, the group id of the Java artifacts were migrated from io.zeebe to io.camunda. This requires all dependencies to the artifacts to be updated to use the new group id.

The public API of the Java client changed as follows:

  • Interface ActivatedJob

    • rename method getWorkflowInstanceKey to getProcessInstanceKey
    • rename method getWorkflowDefinitionVersion to getProcessDefinitionVersion
    • rename method getWorkflowKey to getProcessDefinitionKey
  • Class ClientProperties

    • remove deprecated field BROKER_CONTACTPOINT
  • Interface ZeebeClientBuilder

    • remove deprecated method brokerContactPoint
  • Interface ZeebeClientConfiguration

    • remove deprecated method getBrokerContactPoint
  • Interface ZeebeClient

    • change return type of newDeployCommand from DeployWorkflowCommandStep1 to DeployProcessCommandStep1
    • change return type of newCreateInstanceCommand from CreateWorkflowInstanceCommandStep1 to CreateProcessInstanceCommandStep1
    • change return type of newCancelInstanceCommand from CancelWorkflowInstanceCommandStep1 to CancelProcessInstanceCommandStep1

Zeebe Go Client​

The repository of Zeebe was moved from github.com/zeebe-io/zeebe to github.com/camunda-cloud/zeebe. Therefore, all go dependencies and imports must be adjusted to the new GitHub URL.

The public API of the Go client was changed as follows:

  • Interface CancelInstanceStep1

    • rename method WorkflowInstanceKey to ProcessInstanceKey and change return type from DispatchCancelWorkflowInstanceCommand to DispatchCancelProcessInstanceCommand
  • Interface DispatchCancelWorkflowInstanceCommand renamed to DispatchCancelProcessInstanceCommand

  • Interface CancelWorkflowInstanceCommand renamed to CancelProcessInstanceCommand

    • rename method WorkflowInstanceKey to ProcessInstanceKey
  • Interface CreateInstanceCommandStep1

    • rename method WorkflowKey to ProcessDefinitionKey and change DispatchCancelProcessInstanceCommand
  • Struct DeployCommand

    • method AddResource(definition, name, resourceType) remove resourceType from parameter list
  • Interface Client

    • rename method NewDeployWorkflowCommand to NewDeployProcessCommand