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)
- Add zone-aware broker identity to REST cluster management API (#51998)
- [FE] AI Agent Visibility: System Prompt & Model Info (#51934)
- [FE] AI Agent Visibility: Usage Metrics Section (#51927)
- [FE] AI Agent Visibility: Agent Detection & Status Section (#51926)
- [FE] AI Agent Visibility: API Integration & Data Layer (#51919)
- [M1-3] Wire JobPriorityDefinitionTransformer into the engine deployment pipeline (#51846)
- MVF: ES/OS exporter and indexing changes for PD-scoped variable name search (#51827)
- MVF: nested JSON editor — reuse createPortal pattern with improved visual hierarchy (#51813)
- MVF: route-based variable filter modal for deep-linkability (#51811)
- MVF: wire AND-combined multi-row payload to V2 /process-instances/search (#51810)
- MVF: submit-then-blur validation in multi-row modal (#51802)
- MVF: promote PoC to production-quality multi-row filter component (#51800)
- Split ESLint and Prettier tooling (#51671)
- Fix: RocksDB potential write stall (#51669)
- Implement ZONE_AWARE partition distribution scheme (#51587)
- Compute composite node ID from zone and StatefulSet index (#51585)
- Admin "MCP Processes": Display more information for tools (#51581)
- [QA] E2E MVP Validation: Exposing Processes as MCP Tools (#51550)
- Implement record processors for agent instance metrics (#51520)
- Define Command API spec for agent instances (#51504)
- Define Query API spec for agent instances (#51503)
- Add get form by key endpoint (#51483)
- MI EL (test) - Add e2e tests (#51350)
- Setup documentation for orchestration cluster webapp frontend (#51327)
- Setup tracking for orchestration cluster webapp frontend (#51324)
- Setup theming for orchestration cluster webapp frontend (#51323)
- Setup cluster config orchestration cluster webapp frontend (#51322)
- Setup tests for orchestration cluster webapp frontend (#51321)
- Create error pages for orchestration cluster webapp frontend (#51320)
- Setup orchestration cluster webapp frontend login page (#51319)
- Setup orchestration cluster webapp frontend authentication (#51318)
- Setup custom CSS injection for orchestration cluster webapp (#51314)
- Setup cluster configuration endpoint for orchestration cluster webapp (#51313)
- Setup basic social meta tag config for orchestration cluster webapp (#51312)
- Setup static asset caching for orchestration cluster webapp (#51311)
- Create orchestration cluster webapp backend (#51310)
- Fix and integrate Optimize CI into the unified CI (#51302)
- Remove legacy CI for Operate and Tasklist (#51300)
- Remove full index scan during incident tree path search (#51289)
- Migrate existing RPA resources to secondary storage (#51273)
- Migrate tasklist-qa-backup-restore-tests (#51132)
- Explore advanced message correlation (#50288)
- Create smoke E2E tests for orchestration cluster (#50125)
- Add advanced filtering to Tasklist by process instance or process definition in the V2 API (#50122)
- Implement tool repository for loading eligible processes as MCP tools (#49673)
- Create process instances by calling processes as MCP tools (#49153)
- PoC: Surface visual regression screenshot diffs directly on PRs (#48917)
- Compile time data contract for data layer (#48123)
- Centralize secondary storage test versions across workflows (#46966)
- Define CPT JSON Instruction for Judge Assertion (#46462)
- Log which details about authorizations in the workflow engine and search layer (#38765)
- Enable Elasticsearch client to not change ILM policy on exporting. (#28571)
- Fix frontend tests: FlowNodeInstancesTree - modifications with ancestor selection (#20862)
Merged Pull Requests
- fix: use PhysicalTenantRoutingFilter instead of PhysicalTenantRequestMappingHandlerMapping (#53670)
- refactor: add jspecify nullness markers to zeebe-util (#53273)
- fix: Archive Batch Operations and Dependents with GUID Key (#51952)
- feat(8.9): opt-in OIDC userinfo augmentation for bearer tokens (#51549)
- feat: spring boot migration for load test app (#51020)