Clarification on Versioning Behavior in Camunda 8 Deployments – Are BPMN Content Changes Detected?

Hi Camunda Team,

Tech Stack:

  • Camunda SAAS (8.7)
  • Spring Boot Zeebe

While reviewing the Camunda 8 documentation on versioning process definitions, I came across the following line:

“By default, deploying a process or decision definition means that the workflow engine will check if the version has changed. If it has, it will register that deployment as a new version of the definition.”

From my understanding and observation in practice:

  • Every time I deploy the same BPMN file (with no changes), Camunda 8 creates a new version of the process.
  • There appears to be no content-based comparison or checksum verification of the BPMN XML — the engine simply registers a new version on every deployment.
  • This leads me to believe that the engine treats every deployment as a new version regardless of actual model changes.

My Questions Are:

  1. Does Camunda 8 perform any check on the BPMN file content (e.g., comparing hashes or XML diffs) to determine whether to increment the version?
  2. If not, could you clarify what is meant by “check if the version has changed” in the documentation?
  3. Is there any plan to introduce idempotent deployment behavior or content-diff-based versioning in the future?

My goal is to avoid unnecessary version increments (e.g., during app restarts or CI/CD redeployments), so understanding this behavior fully is important for designing a controlled deployment strategy.


If a new version is created on every deployment regardless of changes, then logically all my process definitions should share the same version number. However, I observe different version numbers for each of these definitions. For context, MAIN is the parent process, and all the other processes are invoked via call activities from the MAIN process.

For example, the deployment log shows:
ZeebeDeploymentAnnotationProcessor : Deployed: <CHECK-PROOF:30>, <COMPILE:40>, <CREATE-PROOF:33>, <FINALISE-FILES:30>, <INTERNAL-PROBLEM:23>, <PRE-CHECK:17>, <MAIN:38>

I would greatly appreciate any insights or suggestions.

Thanks in advance!
SK