Releases: camunda/camunda
8.9.8
8.8.27
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
8.7.32
8.7.31
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)
InflightActivateJobsRequestobjects 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
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)
InflightActivateJobsRequestobjects 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
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)
InflightActivateJobsRequestobjects 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
What's Changed
- build: add upgrade plan to optimize 8.7.22 by @OmranAbazid in #52629
- build: merge back the 8.7.21 optimize release branch by @OmranAbazid in #52665
- deps: update netty to 4.1.133.Final by @tanjinyi in #52792
- deps: bump tomcat version to 10.1.55 by @tmetzke in #53385
- Optimize/update zeebe identity 8 7 22 by @tsedekey in #54634
- Backport read-db-versions action (#51049, 8.7 scope) to release/optimize-8.7.22 by @tsedekey in #54649
- Backport setup-build action to release/optimize-8.7.22 (fix Post Setup Maven) by @tsedekey in #54717
- Backport working Keycloak smoke-test config to release/optimize-8.7.22 by @tsedekey in #54767
Full Changelog: 8.7.21-optimize...8.7.22-optimize
8.10.0-alpha2
version:8.10.0-alpha2
Enhancements
Java Client
- Configuration option for Java client OAuth credential cache type (#13124)
Misc
- Add
cancelevent 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_ENABLEDstopped 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_EXCEEDEDin 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
bpmnProcessIdfield toAgentInstanceRecord(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
physicalTenantIdfrom 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...
8.9.6
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_SNAPSHOTTIMEOUTto 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
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_SNAPSHOTTIMEOUTto 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)