Skip to main content
Version: 8.9 (unreleased)

Version compatibility checks

This page describes how Camunda 8 validates version compatibility when you upgrade a self-managed orchestration cluster. It covers:

  • What defines a compatible or incompatible upgrade path
  • How the broker enforces version rules
  • How secondary storage management performs similar checks

Semantic version basics

Camunda 8 versions follow the MAJOR.MINOR.PATCH format (for example, 8.8.3). Early access builds include a pre-release suffix (for example, 8.8.0-alpha1).

  • Major: No cross-major upgrades or downgrades are supported directly.
  • Minor: Feature releases. You may only move one minor step at a time (for example, 8.7.x → 8.8.y).
  • Patch: Bug or security fixes. You can move forward within the same minor (for example, 8.8.1 → 8.8.3).
  • Pre-release (alpha): Builds tagged with -alpha* are not valid endpoints in a supported upgrade path.

Supported upgrade paths

ScenarioExampleCompatibility
Patch upgrade8.8.1 → 8.8.3Compatible
Minor upgrade (single step)8.7.5 → 8.8.3Compatible
Minor upgrade (skipping a minor)8.6.9 → 8.8.3Incompatible
Patch downgrade8.8.3 → 8.8.1Incompatible (broker); secondary storage skips (see below)
Minor downgrade8.8.3 → 8.7.5Incompatible (broker); secondary storage skips (see below)
Major change (upgrade or downgrade)8.x ↔ 9.xIncompatible
Alpha build involved8.8.0-alpha1 ↔ 8.8.0Incompatible

Broker behavior

The broker validates the previous persisted version against the new binary version during startup:

  • Compatible: Proceeds with state (DB) migration if required (skipped for restarts or no-op cases).
  • Incompatible: Starts but marks itself unhealthy and does not apply any state or data migration. Check startup logs, fix the unsupported upgrade path, and restart.

Why incompatible paths are blocked

Skipping minors, downgrading, or involving pre-release versions can result in an incompatible state that the broker cannot safely reconcile. Blocking these paths prevents partial or irreversibly invalid migrations.

Secondary storage (Elasticsearch or OpenSearch) schema manager

Secondary storage holds exported data. Starting with Camunda 8.8, schema upgrades are designed to be backward compatible, allowing older application nodes to continue writing to newer schemas.

When version checks are available

CapabilityIntroduced in patches
Store schema version metadata (no enforcement)8.6.31 / 8.7.18 / 8.8.3
Enforce compatibility rules (same matrix as broker, with tolerant skips for downgrades)8.8.3

If you upgrade from an earlier patch that does not store schema version metadata, the schema manager treats it as an indeterminate case (assumed fresh install) and proceeds.

Schema manager rules

The schema manager compares the stored schema version (the last successful schema upgrade) with the current application version:

CaseActionMetadata updated?Notes
Patch upgradeUpdate schemaYes (to new version)
Minor upgrade (single step)Update schemaYes
Minor downgradeSkipNoTolerated for rolling update restarts
Patch downgradeSkipNoAvoids churn; schema stays forward compatible
Skipped minor (multi-step)Fail startupNoPrevents unsupported jump
Alpha build involvedFail startupNoMust use stable releases for upgrade path
Major changeFail startupNoNot supported

Where the schema version is stored

The schema version metadata is stored in a dedicated metadata index. For current versions, this appears as an index named:

operate-metadata-8.8.0_

Within that index, the document holding the current schema baseline uses the identifier:

id = "schema-version"

The document value reflects the last successfully applied version (for example, 8.8.3). This value is updated only after a successful schema upgrade.
If the document or index is missing (for example, if you upgraded from an older patch that didn’t write it), the system treats the startup as a fresh baseline and writes it after initialization.

Failure behavior

If the schema manager detects an incompatible path, it fails fast during application startup before modifying indices. Existing indices remain unchanged.

Rolling updates and restarts

Because schema upgrades are backward compatible from 8.8 onward, a temporary mix of versions during a rolling update is safe. Older patch or minor nodes encountering a newer stored schema version skip schema changes automatically.

Pre-release (alpha) builds

Alpha builds (-alpha*) are for evaluation and are not valid sources or targets for a supported production upgrade path.
Always upgrade between stable releases.

  1. Before upgrading to a new minor (for example, 8.7.x → 8.8.y), update to the latest patch of your current minor (for example, 8.7.latest) to ensure schema version metadata exists.
  2. Avoid skipping minor versions; perform sequential minor upgrades.
  3. Do not include pre-release builds in production upgrade chains.
  4. Investigate any broker health status showing brokerStatus: DOWN after an upgrade. This typically indicates a rejected upgrade path.

See also