Skip to content

Releases: camunda/camunda

8.9.8

10 Jun 12:09

Choose a tag to compare

version:8.9.8

Bug Fixes

  • Resolve nested target refs in subsequent input mappings (#54946)

Misc

  • JobActivationPropertiesImpl.fetchVariables() does not deduplicate, causing corrupt MsgPack when streaming with duplicate fetchVariables names (#54929)

Task

  • Split e2e-sm job into smoke and nightly run (#52773)
  • Move optimize-e2e-test-cloud workflow into unified CI (#52772)
  • Fix and integrate Optimize CI into the unified CI (#51302)

8.8.27

10 Jun 12:34

Choose a tag to compare

version:8.8.27

Bug Fixes

  • Resolve nested target refs in subsequent input mappings (#54946)

Misc

  • DbVariableState.getVariablesAsDocument writes corrupt MsgPack map header when fetchVariables contains duplicate names (#54917)
  • I can overwrite the next key in the key generator in a partition (#41871)

Task

  • Move optimize-ci-data-layer.yml to unified CI and change to nightly run (#52774)
  • Split e2e-sm job into smoke and nightly run (#52773)
  • Move optimize-e2e-test-cloud workflow into unified CI (#52772)
  • Fix and integrate Optimize CI into the unified CI (#51302)

8.7.32

10 Jun 13:15

Choose a tag to compare

version:8.7.32

Bug fix

  • Resolve nested target refs in subsequent input mappings (#54946)

8.7.31

10 Jun 06:14

Choose a tag to compare

version:8.7.31

Warning

This release contains a critical bug affecting a specific input-mapping edge case.
Please do not upgrade to this version.
If you are using this release, upgrade directly to 8.7.32 instead.

Affected release: 8.7.31
Fixed release: 8.7.32

Bug Fixes

Misc

  • JobActivationPropertiesImpl.fetchVariables() does not deduplicate, causing corrupt MsgPack when streaming with duplicate fetchVariables names (#54929)
  • DbVariableState.getVariablesAsDocument writes corrupt MsgPack map header when fetchVariables contains duplicate names (#54917)
  • getMessageKeys() removed from public MessageBatchRecordValue breaks custom exporters (#54823)
  • Disabling SpringDoc API docs breaks startup in Tasklist (#54463)
  • InflightActivateJobsRequest objects accumulate in gateway heap when workers disconnect during broker instability (#54159)

Maintenance

  • ci: eliminate redundant builds in ci.yml by sharing artifacts across jobs (#52693)

Task

  • Migrate to separated dependencies for the load tests (#50947)
  • Install Elasticsearch as separate dependency for our load tests (#43118)

Merged Pull Requests

  • docs: forbid manual edits to responses.json — run npm run responses:regenerate (#54573)
  • fix: Disabling SpringDoc API docs breaks startup in Tasklist (#54465)
  • Fix accumulation of InflightActivateJobsRequest objects in gateway (#54160)
  • fix: add delay to message completion handling in Worker (#53769)
  • Load tests: Add namespace and credentials to resources sub-dir (#52882)
  • fix: rework message batch expiry to avoid scheduled command cache (#50346)

8.9.7

09 Jun 14:44

Choose a tag to compare

version:8.9.7

Warning

This release contains a critical bug affecting a specific input-mapping edge case.
Please do not upgrade to this version.
If you are using this release, upgrade directly to 8.9.8 instead.

Affected release: 8.9.7
Fixed release: 8.9.8

Bug Fixes

Misc

  • getMessageKeys() removed from public MessageBatchRecordValue breaks custom exporters (#54823)
  • [Operate] Instance History panel flickers and loops when scrolling to the end of a partial last page (#54763)
  • CamundaClusterBuilderTest reads broker advertised-host from wrong config path (#54703)
  • BrokerContainerConfigIT asserts wrong key for partitionCount (#54702)
  • Version compatibility CI broken for 8.8.25: brokers default to nodeId=0, failing Raft storage lock (#54663)
  • Disabling SpringDoc API docs breaks startup in Tasklist (#54463)
  • Optimize fail to deserialize tags (#54425)
  • Performance when using Opensearch for secondary storage is much worse compared to using Elasticsearch (#54331)
  • InflightActivateJobsRequest objects accumulate in gateway heap when workers disconnect during broker instability (#54159)
  • Audit log doesn't track history delete operations (#52469)
  • Tasklist V2 candidateGroup filter does not resolve Group IDs to Group Names after 8.8 migration (#51608)
  • Multiple Insecure Direct Object References (IDOR) (#49490)

Maintenance

  • ci: eliminate redundant builds in ci.yml by sharing artifacts across jobs (#52693)
  • fix: remove key field from UserFilter and GroupFilter builders (#51088)

Task

  • Move optimize-ci-data-layer.yml to unified CI and change to nightly run (#52774)
  • Migrate to separated dependencies for the load tests (#50947)
  • Install Elasticsearch as separate dependency for our load tests (#43118)

Merged Pull Requests

  • fix: compile JavaVersion helper with --release 21 for Java 21-25 compatibility (#54867)
  • Fix accumulation of InflightActivateJobsRequest objects in gateway (#54160)
  • Load tests: Add namespace and credentials to resources sub-dir (#52882)
  • fix: rework message batch expiry to avoid scheduled command cache (#50346)

8.8.26

09 Jun 09:48

Choose a tag to compare

version:8.8.26

Warning

This release contains a critical bug affecting a specific input-mapping edge case.
Please do not upgrade to this version.
If you are using this release, upgrade directly to 8.8.27 instead.

Affected release: 8.8.26
Fixed release: 8.8.27

Bug Fixes

Misc

  • getMessageKeys() removed from public MessageBatchRecordValue breaks custom exporters (#54823)
  • Disabling SpringDoc API docs breaks startup in Tasklist (#54463)
  • Optimize fail to deserialize tags (#54425)
  • Performance when using Opensearch for secondary storage is much worse compared to using Elasticsearch (#54331)
  • InflightActivateJobsRequest objects accumulate in gateway heap when workers disconnect during broker instability (#54159)
  • Tasklist V2 candidateGroup filter does not resolve Group IDs to Group Names after 8.8 migration (#51608)
  • Multiple Insecure Direct Object References (IDOR) (#49490)

Maintenance

  • ci: eliminate redundant builds in ci.yml by sharing artifacts across jobs (#52693)

Task

  • Migrate to separated dependencies for the load tests (#50947)
  • Install Elasticsearch as separate dependency for our load tests (#43118)

Merged Pull Requests

  • docs: forbid manual edits to responses.json — run npm run responses:regenerate (#54573)
  • fix: Disabling SpringDoc API docs breaks startup in Tasklist (#54465)
  • Fix accumulation of InflightActivateJobsRequest objects in gateway (#54160)
  • Load tests: Add namespace and credentials to resources sub-dir (#52882)
  • fix: rework message batch expiry to avoid scheduled command cache (#50346)

8.7.22-optimize

05 Jun 17:45

Choose a tag to compare

What's Changed

Full Changelog: 8.7.21-optimize...8.7.22-optimize

8.10.0-alpha2

02 Jun 08:02

Choose a tag to compare

8.10.0-alpha2 Pre-release
Pre-release

version:8.10.0-alpha2

Enhancements

Java Client

  • Configuration option for Java client OAuth credential cache type (#13124)

Misc

  • Add cancel event type for process execution listeners (#52616)
  • Add ReplicationController infrastructure to RdbmsExporter (#51588)
  • Implement metrics update command API (#51515)
  • Implement create agent-instances command API (#51514)
  • Define engine records and intents for agent instance metrics (#51505)
  • Add nightly integration tests for replicated PostgresQL database (#51488)
  • Replication lag monitoring for self-hosted PostgreSQL (#51463)

Bug Fixes

Java Client

  • Configuration option for Java client OAuth credential cache type (#13124)

Misc

  • CI / Lint / C8 REST OpenAPI Failing (#53746)
  • Unknown afterElementId in runtime instructions is not rejected (#53526)
  • StraightThroughProcessingLoopValidator causes actor thread to spin indefinitely on complex BPMN processes (#53120)
  • x-added-in-version Incorrect (#52924)
  • Migrated element instances retain stale processDefinitionPath (#52746)
  • Disabling CamundaExporter does not stop rescheduled flushes (#52612)
  • fix: streamInactivityTimeout default breaks Spring startup when streamTimeout < 10m (#52537)
  • test: BrokerAdminServiceEndpointTest.shouldReturnPartitions is flaky (order-sensitive JSON-string compare over partition health children) (#52506)
  • Core-Features CVE-2026-42198 (#52348)
  • Config-removed exporters that were disabled flip flop between CONFIG_NOT_FOUND and ENABLED (#52260)
  • SEC-2244 (#52256)
  • ZEEBE_BROKER_EXECUTION_METRICS_EXPORTER_ENABLED stopped working (#52078)
  • Support agents are not allowed to access Optimize (#52065)
  • [Zeebe Gateway] BrokerSuspendBatchOperationRequest uses wrong record type, causing Suspend to silently fail (#52022)
  • Global user task assigning listener not triggered for CLAIM (#51990)
  • Exporter is not able to export and stuck in a loop (#51966)
  • Regression in 8.9.1 leads to variables local to an ad-hoc sub-process inner instance scope to leak into the parent scope (#51939)
  • BatchArchiverJob fails after stable/8.8 → 8.9 migration due to audit-log batchOperationKey dependency (#51910)
  • Tasklist 'Assign to me' uses ASSIGN command instead of CLAIM, breaking task-worker permission model (#51814)
  • favicon is not loading in SaaS (#51722)
  • Fix: RocksDB potential write stall (#51669)
  • Handle RocksDB commit conflict gracefully instead of retrying forever (#51625)
  • Get process instance statistics by version returns 500 when sorting (#50976)
  • Partition blocked by endless RocksDB retry loop Caught recoverable exception (#50958)
  • Incident badge not shown on call activity when called process has incident (details page) (#50014)
  • Default tenant cannot be edited (#46676)
  • Flow highlighting missing in Operate after coloring in WebModeler (#45934)
  • Cannot assign user/group/tenant/etc. with slashes in the name (#45215)
  • incidentErrorHashCode filter param is ignored on process instances search endpoint (#45129)
  • JobStreamer can get silently stuck when no streaming response is ever received (#44264)
  • Import API returns 500 instead of 404 for non-existent collection (#40497)
  • Log-Pollution due to io.grpc.StatusRuntimeException: DEADLINE_EXCEEDED in Job-Workers (#40220)
  • Unclear behavior of VersionUtil.getPreviousVersion() (#37828)
  • Enable Elasticsearch client to not change ILM policy on exporting. (#28571)

Maintenance

  • Add jspecify nullness annotations to zeebe/util (#53268)
  • Add jspecify nullness annotations to zeebe/scheduler (#53263)
  • Add configurable maximum retry limit to RecoverableRetryStrategy and EndlessRetryStrategy (#50993)
  • Unclear behavior of VersionUtil.getPreviousVersion() (#37828)

Task

  • Add Spectral Rule to check for malformed x-properties-added-in-version array (#53761)
  • Implement controller and service for Agent Instance Query API (#53686)
  • Add search-layer entities for Agent Instances (#53684)
  • CI Workflow for checking x-properties-added-in-version annotations (#53424)
  • Non-start Message Correlation with Business ID as Additional Constraint (#53389)
  • MVF: Variable filter count warning (#53378)
  • Use zone aware identifier inside the codebase in place of nodeIdx (#53224)
  • Migrate Operate e2e tests to programmatic storage-state auth (#53141)
  • CI: fix or remove broken nightly database Integration Tests (#52892)
  • CI: fix or remove broken nightly C8 REST API Forward Compatibility Tests (#52891)
  • Add bpmnProcessId field to AgentInstanceRecord (protocol, tests, and utilities) (#52861)
  • Memory leaks on Operate FE unit test (#52854)
  • Implement agent-instance Get/Search endpoints (ES/OS secondary storage) (#52817)
  • Migrate backup to string node identifier (#52809)
  • Add zone to BrokerAdminRequest (#52807)
  • Update Netty to 4.2.13.Final (8.9/8.10) and 4.1.133.Final (8.7/8.8) (#52785)
  • Move optimize-ci-data-layer.yml to unified CI and change to nightly run (#52774)
  • Only cache required extension properties and protect from oversized column values (#52708)
  • Bump Thymeleaf to 3.1.5.RELEASE (#52634)
  • feat(rest): resolve physicalTenantId from REST gateway (#52572)
  • Make exported tool attributes configurable (#52527)
  • Export tool properties from extension properties (#52526)
  • Make .ci/db-versions.yml the single source of truth for all CI ES versions (#52507)
  • MVF: Enable Multi-Variable Filter feature (#52462)
  • [QA] MCP: BPMN resources + Message Subscription Search API tests (8.10 new fields) (#52439)
  • Enforce RDBMS schema upgrade path (no skipping minor versions) (#52429)
  • Render reference documents with a friendly UI in Variables Tab (#52201)
  • Adapt Oracle 23ai support to 26ai (#52151)
  • Drop Support for SQL Server 2019 (#52150)
  • Drop support for Postgres 14 (#52146)
  • Skip backport workflow when PR has no backport labels (#52115)
  • Business ID Visibility, Filtering, and Details for Process Instances in Operate ([#52097](https://g...
Read more

8.9.6

02 Jun 08:34

Choose a tag to compare

version:8.9.6

Warning

This release contains a critical bug affecting a specific input-mapping edge case.
Please do not upgrade to this version.
If you are using this release, upgrade directly to 8.9.8 instead.

Affected release: 8.9.6
Fixed release: 8.9.8

Bug Fixes

Misc

  • Unknown afterElementId in runtime instructions is not rejected (#53526)
  • User task listeners added in target process are not invoked after migrating an active user task (#53122)
  • StraightThroughProcessingLoopValidator causes actor thread to spin indefinitely on complex BPMN processes (#53120)
  • RocksDB validation uses partition count instead of partition per broker count. (#52953)
  • Migrated element instances retain stale processDefinitionPath (#52746)
  • Job retry update overrides elementId value to NO_CATCH_EVENT_FOUND (#52366)
  • Job poller is causing a lot of noise and warning logs (#52134)
  • Exporter is not able to export and stuck in a loop (#51966)
  • Fix: RocksDB potential write stall (#51669)
  • Get process instance statistics by version returns 500 when sorting (#50976)
  • Partition blocked by endless RocksDB retry loop Caught recoverable exception (#50958)
  • Get process instance statistics API returns 500 when sorting by processDefinitionId (#50945)
  • Scroll contexts leaked in ElasticsearchUtil.scrollWith on error paths (#50892)
  • Incident badge not shown on call activity when called process has incident (details page) (#50014)
  • incidentErrorHashCode filter param is ignored on process instances search endpoint (#45129)
  • Job reactivation does not add authorizations to request (#42076)
  • Increase default for CAMUNDA_OPERATE_BACKUP_SNAPSHOTTIMEOUT to prevent Operate backup timeout for production environments (#41861)
  • 'Create authorization' modal window: not all entries are displayed in the drop-down list (#37106)
  • Some input field values are always evaluated to NULL (#11968)

Task

  • Fix CPT compatibility tests flakiness (#52884)
  • Update Netty to 4.2.13.Final (8.9/8.10) and 4.1.133.Final (8.7/8.8) (#52785)
  • Bump Thymeleaf to 3.1.5.RELEASE (#52634)
  • Fix: RocksDB potential write stall (#51669)
  • Add comprehensive e2e ITs for the full archiver pipeline (#49826)

Merged Pull Requests

  • ci: harden alwaysgreen pipeline with preflight, downstream category, streak detector (#54231)
  • ci: emit AlwaysGreen failure-context artifacts per job (#54171)
  • deps: update MCP SDK to 2.0.0-M3 (#54155)
  • fix: add delay to message completion handling in Worker (#53769)
  • fix: preserve existing ILM/ISM policies when managePolicy is disabled (#53505)
  • deps: Update camunda/infra-global-github-actions digest to 33a44f8 (main) (#53353)
  • deps: Update dependency com.auth0:jwks-rsa to v0.24.1 (main) (#53349)
  • feat: cut flaky-test gate false positives — lifecycle filter + broader baseline (#53121)
  • Revert "fix: persist processDefinitionPath on element migration" (#52939)
  • [Backport stable/8.8] Persist processDefinitionPath on element migration (#52921)
  • fix: pass version in c8run E2E dispatch payload and add checkout (#52918)
  • feat: expand flaky-test baseline to 20 days and include PR runs (#52685)
  • ci: make check-saas-version generic and add read-db-versions README (#52588)
  • [DO NOT MERGE] smoke test: verify check-action-pins gate fails on unpinned action (#52563)
  • fix: incident count for multi-instance bodies returned by PI statistics endpoint (#51494)
  • feat: spring boot migration for load test app (#51020)
  • ci: pin all 3rd-party GitHub Actions to commit SHA (#50757)
  • feat: Add logic to filter out new flaky tests (#50691)

8.8.25

02 Jun 08:19

Choose a tag to compare

version:8.8.25

Warning

This release contains a critical bug affecting a specific input-mapping edge case.
Please do not upgrade to this version.
If you are using this release, upgrade directly to 8.8.27 instead.

Affected release: 8.8.25
Fixed release: 8.8.27

Bug Fixes

Misc

  • Unknown afterElementId in runtime instructions is not rejected (#53526)
  • User task listeners added in target process are not invoked after migrating an active user task (#53122)
  • StraightThroughProcessingLoopValidator causes actor thread to spin indefinitely on complex BPMN processes (#53120)
  • RocksDB validation uses partition count instead of partition per broker count. (#52953)
  • Migrated element instances retain stale processDefinitionPath (#52746)
  • Disabling CamundaExporter does not stop rescheduled flushes (#52612)
  • test: BrokerAdminServiceEndpointTest.shouldReturnPartitions is flaky (order-sensitive JSON-string compare over partition health children) (#52506)
  • Job retry update overrides elementId value to NO_CATCH_EVENT_FOUND (#52366)
  • Config-removed exporters that were disabled flip flop between CONFIG_NOT_FOUND and ENABLED (#52260)
  • SEC-2244 (#52256)
  • Job poller is causing a lot of noise and warning logs (#52134)
  • Exporter is not able to export and stuck in a loop (#51966)
  • Fix: RocksDB potential write stall (#51669)
  • Partition blocked by endless RocksDB retry loop Caught recoverable exception (#50958)
  • No link back to parent process when navigating into called process (#50011)
  • Flow highlighting missing in Operate after coloring in WebModeler (#45934)
  • Cannot assign user/group/tenant/etc. with slashes in the name (#45215)
  • Job reactivation does not add authorizations to request (#42076)
  • Increase default for CAMUNDA_OPERATE_BACKUP_SNAPSHOTTIMEOUT to prevent Operate backup timeout for production environments (#41861)
  • 'Create authorization' modal window: not all entries are displayed in the drop-down list (#37106)
  • Enable Elasticsearch client to not change ILM policy on exporting. (#28571)
  • Some input field values are always evaluated to NULL (#11968)

Task

  • Update Netty to 4.2.13.Final (8.9/8.10) and 4.1.133.Final (8.7/8.8) (#52785)
  • Bump Thymeleaf to 3.1.5.RELEASE (#52634)
  • Clean up manual no-op patch-to-patch Optimize upgrade plan factories (8.8.0–8.8.8) on stable/8.8 (#51803)
  • Fix: RocksDB potential write stall (#51669)
  • Add comprehensive e2e ITs for the full archiver pipeline (#49826)
  • Enable Elasticsearch client to not change ILM policy on exporting. (#28571)

Merged Pull Requests

  • ci: harden alwaysgreen pipeline with preflight, downstream category, streak detector (#54231)
  • ci: emit AlwaysGreen failure-context artifacts per job (#54171)
  • fix: add delay to message completion handling in Worker (#53769)
  • fix: increase orchestration memory requests and limits to 4Gi (#53437)
  • deps: Update camunda/infra-global-github-actions digest to 33a44f8 (main) (#53353)
  • deps: Update dependency com.auth0:jwks-rsa to v0.24.1 (main) (#53349)
  • feat: cut flaky-test gate false positives — lifecycle filter + broader baseline (#53121)
  • Persist processDefinitionPath on element migration (#52747)
  • feat: expand flaky-test baseline to 20 days and include PR runs (#52685)
  • ci: make check-saas-version generic and add read-db-versions README (#52588)
  • [DO NOT MERGE] smoke test: verify check-action-pins gate fails on unpinned action (#52563)
  • [Backport stable/8.8] feat: auto-generate no-op patch-to-patch upgrade plans (#51756)
  • Backport include optimize in monorepo release (#51445)
  • refactor: centralize db version properties for CI reuse (#51049)
  • feat: spring boot migration for load test app (#51020)
  • ci: pin all 3rd-party GitHub Actions to commit SHA (#50757)
  • feat: Add logic to filter out new flaky tests (#50691)
  • fix: support forward slashes in entity IDs from OIDC providers (#48668)