github camunda/camunda 8.10.0-alpha3-rc1

pre-release6 hours ago

version:8.10.0-alpha3-rc1

Enhancements

Misc

  • Add OpenSearch metrics to Zeebe dashboard (#51833)
  • Implement CREATE AgentHistoryRecord processor for conversation/history (#51795)
  • Container: Exporter changes for agent conversation/history data (#51521)
  • Exporter changes for agent instance metrics data (#51512)
  • Replication lag monitoring for MSSQL (#51486)

Bug Fixes

Misc

  • Flaky: per-PT multi-tenant authorization ITs time out on awaitAdminReady in CI (#56006)
  • Non-PT / SaaS deployments: 500 on webapp access — SessionStoreAdapter routes session via throwing PhysicalTenantContext.current() (#55849)
  • Soft-pausing followed by hard pause exporting breaks the persisted exporting state (#55838)
  • Agentic Control Plane — KPI tile label uses incorrect terminology "Completed agent runs" instead of "Total Executions" (#55837)
  • OpenSearch exporter does not apply number of shards/replicas configuration property (#55658)
  • Archiver rescheduling task crashes with RejectedExecutionException when executor is already terminated (#55650)
  • Waiting status remains on cancelled element after moving token (#55643)
  • Details panel shows "Waiting" for multiple active elements (#55640)
  • Disabled exporter re-added via leader state distribution pins log compaction (disk fills up) (#55585)
  • KeyGenerator overwritten by rejection records during replay (causes key jump / overflow) (#55571)
  • fix(optimize): HTTPS connector not activating TLS on embedded Tomcat in Optimize (#55403)
  • load-test: broken port-forward prevent successful smoke test verification (#55363)
  • [Bug] wait-states/search: retries field returns configured value instead of current remaining count on incident (#55274)
  • Variable filter cannot find process when variable value is very long (around 8191+ characters) (#55176)
  • Element is not shown as active while waiting for multi-instance beforeAll execution listeners (#55120)
  • Decision result column for rdbms exporter too small (#55114)
  • New Document Unified Config should handle storeId in lowerCase like legacy does (#54999)
  • Flaky test: AuditLogResourceOperationsIT#shouldTrackDecisionInstanceHistoryDeletion (#54984)
  • 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)
  • Improvements in debug-cli update state commands (#54885)
  • c8run: bundled JRE signed without JIT entitlements on macOS, crashing on Apple Silicon (#54877)
  • c8run: JavaVersion.class compiled for Java 25 on stable re-releases, breaking users on Java 21–24 (#54876)
  • Deployed jpg files are corrupted when downloaded (#54837)
  • getMessageKeys() removed from public MessageBatchRecordValue breaks custom exporters (#54823)
  • Optimize DefinitionService throws NPE on missing processDefinitionVersion (#54800)
  • feat(debug-cli): offline command to reset exporter lastIncidentUpdatePosition (SUPPORT-32468) (#54768)
  • [Operate] Instance History panel flickers and loops when scrolling to the end of a partial last page (#54763)
  • Version compatibility CI broken for 8.8.25: brokers default to nodeId=0, failing Raft storage lock (#54663)
  • WaitStateTransformer logs ERROR for execution/task listener jobs on PROCESS, SUB_PROCESS, USER_TASK (#54652)
  • Filtering process instances by a variable with $eq: "null" returns 500 (#54636)
  • [CPT] Variable-based semantic similarity assertions retries inside Awaitility loop (#54576)
  • Optimize fail to deserialize tags (#54425)
  • Edit/Delete action button is misplaced on tenant details page (#54365)
  • InflightActivateJobsRequest objects accumulate in gateway heap when workers disconnect during broker instability (#54159)
  • PATCH /v2/agent-instances/{agentInstanceKey} returns 400 INVALID_ARGUMENT instead of accepting a no-operation request when only elementInstanceKey is provided (#54091)
  • Bug: Variable filter UX issues with scrolling and border offset in Operate (#54085)
  • Filtering process instances by numeric variable with $eq returns 0 results (#54078)
  • POST /v2/agent-instances returns 503 UNAVAILABLE instead of 400 INVALID_ARGUMENT when elementInstanceKey is zero or negative (#54049)
  • Fix dead code in ProcessDefinitionLatestVersionAggregationTransformer that leads to wrong aggregation size (#53998)
  • perf: avoid byte[] allocation when reading snapshot chunks for replication (#53803)
  • bug: @ClusterVariables annotation fails on application restart due to non-idempotent variable creation (#53570)
  • Slow Job CI Optimize E2E smoke tests (#53485)
  • Flaky test: RingBufferTest.findAndRemoveWorksAcrossThreads times out (#53291)
  • User task listeners added in target process are not invoked after migrating an active user task (#53122)
  • Audit log doesn't track history delete operations (#52469)
  • Operate 8.9: "Process Name" filter only loads first 100 process definitions (#51622)
  • Tasklist V2 candidateGroup filter does not resolve Group IDs to Group Names after 8.8 migration (#51608)
  • NullPointerException in StartEventSubscriptions.resubscribeToStartEvents during process deletion (#51425)
  • fix: c8run startup reports success even when Connectors fail to start (#51385)
  • Get process instance statistics API returns 500 when sorting by processDefinitionId (#50945)
  • Broker does not shutdown after ClassCircularityError during S3 backup (#50913)
  • Modal dialog for adding groups to role is flickering (#50090)
  • Performance: Avoid unnecessary exception wrapping in BrokerRequestManager (#46132)
  • Operate – Incorrect process instances count when selecting flow node without active token (#45156)
  • Expected to handle gRPC request, but an unexpected error occurred (#44897)
  • Job reactivation does not add authorizations to request (#42076)
  • Ad-hoc sub-process inner instance popover shows wrong flow node instance data (#39141)
  • I am allowed to change the resource type in create authorization modal (#34889)
  • 8.7 - After Golang update, Unix executable file flag as unverified application. (#25177)

Maintenance

  • fix: remove key field from TenantFilter and MappingRuleFilter builders (#51089)
  • fix: remove key field from UserFilter and GroupFilter builders (#51088)

Task

  • Fix getTopology() calls that silently use the default tenant in per-tenant contexts (#56015)
  • feat: add Operate CollapsablePanel, FiltersPanel, Frame (#55981)
  • Scope conversation history to selected element instance (#55912)
  • Extend ASSERT_VARIABLE satisfiesJudge JSON instruction with document attachment (#55813)
  • Scope RDBMS async-replication backpressure per physical tenant (#55780)
  • PT gRPC: inject handler registry into embedded broker gateway; remove legacy ctor + PhysicalTenantInterceptor (#55755)
  • PT gRPC: merged PT-aware interceptor + Gateway registry ctor; wire standalone gateway (#55754)
  • PT gRPC: build the per-PT AuthenticationHandler registry as a shared bean (fail-fast) (#55753)
  • PT gRPC: consume CSL per-PT OidcClaimsProvider factory for bearer-token claim augmentation (#55752)
  • PT gRPC: expose per-PT AuthenticationConfiguration from the authentication module (#55751)
  • Migrate Operate Processes page to unified webapp (#55735)
  • Add metric overviews to usage section and conversation messages (#55713)
  • Add "available tools" section to agent details (#55711)
  • [s-tile-tool-calls-kpi] Implement Total tool calls KPI tile for the agentic control dashboard (#55695)
  • Engine: Propagate Business ID to jobs (#55685)
  • Engine: Propagate Business ID to user tasks (#55684)
  • Engine: Propagate Business ID to decision instances (#55683)
  • Migrate Operate Batch Operations page to unified webapp (#55642)
  • Fail cluster startup when a physical tenant's security configuration cannot be built (#55606)
  • Skip required initialization-override validation when authorization is disabled on a physical tenant (#55598)
  • Fix broken SM nightly command for Optimize (#55509)
  • Exclude agentic control reports from the Optimize dashboard "Add a Report" picker (#55508)
  • Enable agent instance on EL/OS exporter (#55507)
  • Engine integration tests — executable specification for Message Business ID correlation (#55502)
  • migrate Operate bpmn-js viewer to unified webapp (#55456)
  • Ensure PT scoped configurations and beans are injected to PartitionManager and Engine (#55444)
  • Multi-physical-tenant authorization integration tests + harness (#55443)
  • Per-PT CamundaSecurityLibraryProperties (per-PT authorization enablement) (#55442)
  • Make AdminUserPresenceAdapter physical-tenant aware (per-PT roleServices) (#55441)
  • Route identity & membership resolution to the in-context PT (DefaultMembershipService, BasicCamundaUserService) (#55440)
  • Route control-plane permission checks (AuthorizationRepositoryAdapter) to the in-context PT (#55439)
  • Route data-plane authorization to the per-PT ResourceAccessController (no default) (#55438)
  • Fail-fast PhysicalTenantContext.current() outside request scope (#55437)
  • Optimize: move repeated DB/query strings into constants (#55433)
  • Fix failing PosixSegmentAllocatorTest on OS X (#55391)
  • Add bpmnProcessId to AGENT_HISTORY protocol and engine processor (#55374)
  • PT webapp: per-PT admin-user presence for the BASIC setup redirect (#55316)
  • PT webapp: per-PT durable web-session storage via PhysicalTenantScoped (#55315)
  • PT webapp: make the served SPA physical-tenant-prefix-aware (base href + client-config) (#55314)
  • PT webapp: serve webapp routes + static assets under the physical-tenant prefix (#55313)
  • [s-tile-failure-rate-by-version] Seed failure rate by version report (#55294)
  • AgentHistory search — CamundaClient support (#55272)
  • AgentHistory search — Elasticsearch/OpenSearch secondary storage reader (#55268)
  • AgentHistory search endpoint — controller, DTOs, transformers, and service delegation (#55267)
  • Engine-side ES/OS exporter: index templates for AgentHistory record types (#55263)
  • RDBMS Exporter: AgentHistory write path (#55262)
  • Physical-tenant routing of the authorization layer (memberships + authorization decision reads) (#55252)
  • migrate Operate Dashboard page to unified webapp (#55248)
  • [s-tile-duration-stability] Seed duration stability report for agentic dashboard (#55211)
  • Enforce restricted secondary storage data types via tests (#55188)
  • Cross-tenant storage location collision validator (#55171)
  • Bind per-tenant DocumentServices to tenant-scoped store backend (#55170)
  • Scale/Patch cluster API must be zone aware (#55163)
  • Add Operate setup to unified webapp (#55103)
  • JobWaitStateDetails#listenerEventType should be null for non-listener job-based wait states (#55097)
  • [Nice to have] Add variable search: filter variables by name (#55082)
  • Fix incident rate KPI: implement scoped percentage execution plan for agentic process instances (#55045)
  • Fix Java client OpenAPI generator to correctly emit discriminator-based class hierarchies (#54935)
  • Export start message subscription once for deployment partition (#54927)
  • Retry logic for message-starts rejected on Business ID uniqueness or subscription distribution (#54924)
  • Introduce top-level DocumentReferenceValue and use for agent history/document references (#54912)
  • OC: extend CSL SecurityProperties so security config joins the unified config tree (#54908)
  • Physical Tenants Identity — Slice 2: gRPC PT support (#54896)
  • [s-tile-duration-kpis] Seed P50 and P95 duration reports for agentic control dashboard (#54848)
  • ExporterDirector can run for non-default partition groups (#54830)
  • Server transport can subscribe to given partition group (#54828)
  • Extend nightly tests to cover stable branches (#54790)
  • [s-tile-token-kpis] Implement avg and median tokens per execution number tiles (#54766)
  • Enforce forbidden-override and required configuration validation (#54731)
  • Control IdP per physical tenant by assigned property (#54730)
  • Physical Tenants Identity — Slice 1: API chain per PT provided by CSL (#54728)
  • MVF: Enable Multi-Variable Filter v2 feature (#54716)
  • feat: physical tenant followups for rest & mcp gateway (#54651)
  • [nice-to-have] Prevent serializing unchanged metadata (#54643)
  • [s-tile-execution-kpis-frontend] 2/2 Seed 3 execution KPI reports in AgentDashboardService (#54627)
  • [Nice to have] Add variable filter button: show only variables containing documents (#54610)
  • Track request source in audit logs for MCP calls (#54581)
  • Support requestSource in record metadata (#54580)
  • [FE] Remove feature flag for agent instances (#54568)
  • [FE] AI Agent Visibility: Add markdown preview to agent/user messages in Operate frontend (#54555)
  • [s-shell-service] 2/2 Add processScope filter to dashboard availableFilters (#54528)
  • [s-shell-service] 1/2 AgentDashboardService skeleton + idempotent seeding (#54527)
  • Corrupted Document Preview Error Handling (#54478)
  • Add Camunda Client wait state search command (#54444)
  • Adapt unified webapp monorepo architecture to support reorg pod structure (#54300)
  • Display all documents in truncated documented lists (#54296)
  • Add Spectral rule for security annotation (#54268)
  • [s-shell-filter-api] 1/2 Process Definition Scope filter (#54264)
  • feat: make GatewayRestConfiguration available per tenant (#54227)
  • Wait states tracking can be configured (#54225)
  • Use pattern $zone_$nodeIdx instead of / for brokerId (#54195)
  • Create RDBMS lookup table and exporter for process definition key (#54166)
  • [s-shell-frontend] 2/2 Process ComboBox + L0/L1 scope wiring (#54128)
  • migrate Admin UI to tanstack query (#54117)
  • uncouple defaultRoleIDs in identity frontend (#54115)
  • Zone must be configured to only use alphanumeric characters or - (#54106)
  • test: add missing test coverage for AgentInstance CREATE and UPDATE commands in CamundaClient (#54094)
  • [s-engine-plans] 4/4 Add ProcessViewAgent metric interpreters (ES+OS) with tests (#54075)
  • [s-engine-plans] 3/4 Add ProcessGroupByProcessDefinitionKey/Version interpreters (ES+OS) with tests (#54074)
  • [s-engine-plans] 2/4 Add 17 agent execution plans and register in GenericProcessExecutionPlanInterpreter (#54073)
  • MVF: iinitial-interaction pattern for the variable filter (#54033)
  • MVF: Fields <=> JSON switch (#54031)
  • MVF: smart value transformations (#54029)
  • Implement RDBMS exporter handlers for waitings states (#53997)
  • Implement Camunda exporter handlers for waiting states (#53996)
  • Implement common exporter handling code for waiting states (#53994)
  • PartitionReassignTransformer is using RoundRobinDistributor to assign new partitions/brokers (#53982)
  • Migrate layout and fetching for orchestration cluster webapp frontend (#53942)
  • Migrate tasks custom filters for orchestration cluster webapp frontend (#53940)
  • Migrate tasks builtin filters for orchestration cluster webapp frontend (#53939)
  • Setup Tasklist tasks fetching for orchestration cluster webapp frontend (#53937)
  • Setup layout + header for orchestration cluster webapp frontend (#53934)
  • [M2-9] Single-job priority update — Java client (#53857)
  • [M2-8] Single-job priority update — gRPC: UpdateJobPriority RPC (#53856)
  • [M2-7] Single-job priority update — REST/API (#53855)
  • [M2-6] Single-job priority update — engine (#53839)
  • [M2-5] Operate UI: "Job Priority" row in Details tab + Zod schema update (#53838)
  • [M2-4] Java client: ActivatedJob.getPriority() accessor (#53836)
  • Expand filter and sort surface for AgentInstance search endpoint (#53823)
  • Setup notifications for orchestration cluster webapp frontend (#53821)
  • Expose Business ID across gRPC, REST, and clients (#53726)
  • Use OpenAPI schema types for DocumentReference (#53725)
  • Publish one BrokerInfo per broker per partition group (#53503)
  • [FE] AI Agent Visibility: Move agent status into accordion (#53481)
  • Advanced Business ID Filters in Operate (#53402)
  • Pull-based correlation-key lock release for cross-partition message-starts with Business ID (#53400)
  • Add documentatio for C7/C8 id/key terminology convention in C8 Optimize (#53375)
  • [refactoring] New frontend files to be moved to TS/TSX (#53304)
  • [s-shell-frontend] 1/2 Route fix + date filter dropdown (#53300)
  • Add rootProcessInstanceKey to AGENT_INSTANCE record and populate in processor (#53236)
  • Establish AGENTS.md as a real file (#53129)
  • [FE] AI Agent Visibility: Collapsible status with tool calls and last message (#52969)
  • Document List Detail Modal in Variables Tab (#52915)
  • Add expression validation for versionTag (#52911)
  • Evaluate versionTag expressions for called decisions (#52910)
  • Support Expressions in the Executable Model and Transformer (#52909)
  • Support version tag as expression in the BPMN model builder API (#52908)
  • Implement CamundaClient support for agent-instance Get/Search endpoints (#52821)
  • Implement agent-instance Get/Search endpoints (RDBMS secondary storage) (#52820)
  • Migrate backup to string node identifier (#52809)
  • Define engine record and intents for agent messages (#52806)
  • feat(mcp): resolve physicalTenantId from mcp gateway (#52573)
  • Document Preview Analytics Events (#52208)
  • Document Preview Visual Regression Tests (#52207)
  • Expired Document Handling (#52206)
  • JSON Preview for documents in Variable Tab (#52205)
  • PDF Preview for documents in Variable Tab (#52204)
  • Image Preview for documents in Variable Tab (#52203)
  • Document Download (#52202)
  • Define Query API spec for agent instance history endpoints (#52123)
  • Enhance conditional subscription records with wait state data (#51992)
  • Export timer subscriptions to secondary storage (#51977)
  • [FE] AI Agent Visibility: BPMN Agent Status Overlay (#51935)
  • [FE] AI Agent Visibility: Conversation History (#51928)
  • MVF: investigate contains × truncated-value silent-miss edge case (#51812)
  • Track multiple element instances per agent instance (#51513)
  • Setup AI skills and agent for orchestration cluster webapp frontend (#51326)
  • Start event message subscriptions search - phase 4 (#51043)
  • Round evaluation scores to two decimal places before threshold comparison (#50583)
  • Enrich judge assertion context with binary content from Camunda documents (#50557)
  • Add input variable aware job and user task completion (#50556)
  • Define CPT JSON Instruction for conditional behavior API (#50555)
  • Add advanced filtering to Tasklist by process instance or process definition in the V2 API (#50122)
  • Inspect an intermediate conditional catch event (#49693)
  • Inspect an intermediate/end message throw event (#49430)
  • Inspect message-based wait states (Receive Task, Intermediate Message Catch Event) (#48570)
  • Inspect a User Task (#48556)
  • Inspect a Service Task (#48548)
  • Define CPT JSON Instruction for Semantic Similarity Assertion (#46465)
  • Add command distribution metrics to measure distribution delay/latency (#40360)

Documentation

  • ADR: Business ID Call Activity Propagation BPMN Extension (#56154)
  • Document design decisions for 'Business ID as Message Correlation Constraint' in ADRs (#54915)

Merged Pull Requests

  • Fix missing CODEOWNERS entries for CI and frontend skills (#55819)
  • feat: run acceptance tests under a physical tenant (#55350 Goal 4) (#55768)
  • propagate business ID from process instance to user tasks (#55686)
  • feat: support SSE-C for S3 backup store (#55196)
  • Implement AgentHistory.CREATE processor (#55169)
  • feat: add Operate setup to unified webapp (#55105)
  • deps: Update dependency org.openapitools:openapi-generator-maven-plugin to v7.22.0 (main) (#53367)
  • feat: add reusable camunda-delete-load-test workflow (#52681)

Don't miss a new camunda release

NewReleases is sending notifications on new releases.