Overview
Camunda application in this release generation:
- Identity: 8.6.0
- Operate: 8.6.0
- Tasklist: 8.6.0
- Zeebe: 8.6.0
Identity
🚀 New Features
- license checks in identity (#3043)
- add admin web modeler permission and role (#3021)
- support keycloak v25 (#3011)
- fallback to using token algorithm when the algorithm cannot be found via JWKS (#3002)
- support configurable jwks URL (#2981)
- auth scopes configurable (#2935)
- get groups limited result size using backend search offering pagination (#2875)
💊 Bugfixes
- enable proxy selector (#3044)
- update dependency axios to v1.7.4 [security] (#3008)
- fix token revocation for generic provider configuration (#2976)
- fix logout when Identity runs on a subpath (#2964)
- expiresAt being null in keycloak offline_token (#2937)
- update dependency software.amazon.jdbc:aws-advanced-jdbc-wrapper to v2.3.6 (#2906)
- update dependency com.fasterxml.jackson.core:jackson-databind to v2.17.1 (#2905)
- update aws-java-sdk-v2 monorepo to v2.25.64 (#2904)
- use issuerUrl to perform token refresh and revoke (#2886)
- update dependency @ibm/plex to v6.4.1 (#2899)
- update aws-java-sdk-v2 monorepo to v2.25.63 (#2898)
- added audience parameter to generic oidc login uri (#2784)
- upgrade alpine to 3.19.1 (#2822)
- switch mapping rule name to readonly during edit (#2785)
- update dependency com.squareup.okio:okio to v3.9.0 (#2760)
- update aws-java-sdk-v2 monorepo to v2.25.26 (#2758)
- update aws-java-sdk-v2 monorepo to v2.25.25 (#2755)
- update spring boot to v3.2.4 (#2365)
🧹 Chore
- update dlavrenuek/conventional-changelog-action action to v1.2.5 (#3027)
- update dependency body-parser to v1.20.3 [security] (#3042)
- update dependency sass to v1.77.8 (#3026)
- update dependency org.assertj:assertj-core to v3.26.3 (#3025)
- update dependency org.apache.maven.plugins:maven-gpg-plugin to v3.2.5 (#3024)
- update dependency @types/react to v18.3.4 (#3023)
- update dependency kustomize to v5.4.3 (#3015)
- update dependency java to v17.0.12+7 (#3013)
- update dependency @types/react-transition-group to v4.4.11 (#3012)
- introduce merge conflict comments (#3005)
- update dependency @testing-library/jest-dom to v6.4.8 (#3010)
- update amannn/action-semantic-pull-request action to v5.5.3 (#3000)
- add deployment result summary (#2999)
- update dependency testcafe to v3.6.2 (#2917)
- upgrade org.springframework.boot:spring-boot-starter-web from 3.2.5 to 3.2.7 (#2983)
- add dockerhub pull secret for preview environments (#2974)
- upgrade alpine to 3.20.0 (#2927)
- manually upgrade apache-mime4j (#2925)
- upgrade backport action (#2926)
- update europe-docker.pkg.dev/camunda-saas-registry/vendor/cloud-sql-proxy docker tag to v2.11.3 (#2920)
- update spring security to v6.3.0 (#2922)
- update slackapi/slack-github-action action to v1.26.0 (#2921)
- update react-router monorepo (#2919)
- update react monorepo (#2918)
- update dependency sass to v1.77.4 (#2916)
- update dependency org.codehaus.mojo:build-helper-maven-plugin to v3.6.0 (#2915)
- update dependency org.assertj:assertj-core to v3.26.0 (#2914)
- update dependency org.apache.maven.plugins:maven-javadoc-plugin to v3.7.0 (#2913)
- update dependency eslint-plugin-unused-imports to v3.2.0 (#2912)
- update dependency com.tngtech.archunit:archunit-junit5 to v1.3.0 (#2910)
- update dependency cypress to v13.10.0 (#2911)
- update dependency com.puppycrawl.tools:checkstyle to v10.17.0 (#2909)
- update amannn/action-semantic-pull-request action to v5.5.2 (#2907)
- update dependency com.mycila:license-maven-plugin to v4.5 (#2908)
- update dependency @testing-library/cypress to v10.0.2 (#2903)
- update yarn to v3.8.2 (#2897)
- update testing-library monorepo (#2896)
- upgrade software.amazon.awssdk:rds from 2.25.26 to 2.25.40 (#2834)
- update testcontainers-java monorepo to v1.19.8 (#2893)
- update slf4j monorepo to v2.0.13 (#2892)
- update maven docker tag to v3.9.7 (#2890)
- update node.js to v18.20.3 (#2891)
- update dependency typescript to v5.4.5 (#2885)
- update dependency kustomize to v5.4.2 (#2884)
- update alpine:3.19.1 docker digest to c5b1261 (#2882)
- update dependency java to v17.0.11+9 (#2883)
- update compatibility checks (#2877)
- update babel monorepo to v7.24.6 (#2878)
- update snapshot version (#2855)
- fix syntax in maven deploy workflow (#2854)
- add workflow to upload sdk artifacts to maven central (#2847)
- revert include package.json and yarn.lock in docker image (#2846)
- centralize spring boot version (#2833)
- upgrade org.springframework.boot:spring-boot-starter-web from 3.2.4 to 3.2.5 (#2794)
- refactor keycloak preset initializer to use the common presets (#2710)
- update dependency sass to v1.74.1 (#2759)
- update dependency @types/node to v18.19.30 (#2757)
- update docker/setup-buildx-action action to v3 (#2322)
- update s4u/maven-settings-action action to v3 (#2674)
- update dependency kustomize to v5.4.1 (#2756)
- update dependency typescript to v5.4.4 (#2754)
- update dependency org.apache.maven.plugins:maven-source-plugin to v3.3.1 (#2753)
- update junit5 monorepo (#2315)
- include 8.5 release branch in renovate.json (#2743)
- update spring boot to 3.2.4 (#2716)
- update node.js to v18.20.1 (#2750)
- update dependency @types/react-dom to v18.2.24 (#2749)
- update dependency cypress to v13.7.2 (#2747)
- update babel monorepo to v7.24.4 (#2746)
- update dependency @types/react to v18.2.74 (#2745)
- update dependency @types/node to v18.19.29 (#2744)
Operate
Tasklist
Zeebe
Enhancements
Broker
- Migrate intermediate message catch event (#19716)
- Do not evaluate target boundary event correlation key expression on migration (#19527)
- Migrate message event subprocess (#17419)
- Migrate existing message boundary event subscription on process instance migration (#16386)
- Migrate child process instances (#15922)
- Migrate call activity instances (#15921)
- Migrate timer boundary event subscriptions (#15918)
Gateway
- Migrate the Delete Resource gRPC API to REST (#21212)
- Migrate the Evaluate Decision gRPC API to REST (#21211)
- Migrate the Signal broadcast gRPC API to REST (#21210)
- Migrate the Cancel Process Instance gRPC API to REST (#21209)
- Migrate the Migrate Process Instance gRPC API to REST (#21208)
- Migrate the Modify Process Instance gRPC API to REST (#21207)
- Migrate the Set Variables gRPC API to REST (#21057)
- Migrate the Publish Message gRPC API to REST (#21056)
- Migrate the Start Process instance gRPC API to REST (#21055)
- Migrate the Deploy Resource gRPC API to REST (#21054)
- Configure Query API availability (disabled by default) (#20580)
- Migrate the Resolve incident gRPC API to REST (#20085)
- Migrate the Update job retries and timeout gRPC API to REST (#20083)
- Migrate the Throw error gRPC API to REST (#20082)
- Migrate the Fail Job gRPC API to REST (#20081)
- Migrate the Complete Job gRPC API to REST (#20080)
- Add query API to see the status of exporters (#19023)
- A long-polling REST API endpoint is available to activate jobs (#17676)
Java Client
- Support the Set Variables API over REST (#22194)
- Support the Publish Message API over REST (#22193)
- Support the Start Process instance API over REST (#22192)
- Support the Deploy Resource API over REST (#22191)
- Support the Update job retries and timeout API over REST (#21523)
- Support the Resolve incident API over REST (#21430)
- Support the Throw error API over REST (#21412)
- Support the Fail Job API over REST (#21377)
- Support the Complete Job API over REST (#21167)
- The Java client supports Job activation over REST (including long polling) (#18256)
Misc
- Migrate sequential multi-instance element instances (#22184)
- Migrate parallel multi-instance element instances (#22129)
- Migrate error event subprocess (#22032)
- Migrate error boundary events (#21866)
- Migrate signal event subprocess (#21864)
- Migrate intermediate signal catch events (#21863)
- Migrate signal boundary event subscriptions (#21862)
- Migrate script task instances (#21671)
- Migrate event-based gateway instances (#21593)
- Migrate business rule task instances (#21588)
- Migrate exclusive gateway instances (#21580)
- Migrate send task instances (#21538)
- Add Priority field to Tasklist OOTB Front-End consuming from Tasklist v1 REST API (#21516)
- Add version tag column to process instances list (#21327)
- Migrate timer event subprocess (#21218)
- Add version tag to process instances list header (#21185)
- Improve Java client with REST API exceptional flow (#21173)
- Add version tag to process instance details header (#21170)
- Validate correct usage of
bindingType
andversionTag
attributes (#21161) - Add new
ZeebeVersionTag
extension element to BPMN Model API (#21124) - Resolve linked forms to correct version for user tasks with binding type
versionTag
(#21041) - Resolve called decision to correct version for business rule tasks with binding type
versionTag
(#21040) - Resolve called process to correct version for call activities with binding type
versionTag
(#21038) - Store deployed forms by id and version tag (#21037)
- Store deployed decisions by id and version tag (#21036)
- Store deployed processes by id and version tag (#21035)
- Add support for binding type
versionTag
to BPMN Model API (#21034) - Migrate receive task instances (#20938)
- Migrate intermediate timer catch events (#20911)
- Support migration of receive tasks, message event subprocess, timer event subprocess (#20818)
- Support message and timer intermediate events migration (#20817)
- Refactor internal exporter metrics to use Micrometer (#20724)
- Store request data in state (#20568)
- Add Correlate Message command to the client (#20478)
- Add new
CorrelateMessage
REST endpoint (#20477) - Add Intermediate None Event to
StraightThroughProcessingLoopValidator
(#20308) - Static translations of tasklist UI (#20287)
- Add integration tests for new command (#20190)
- Add new message correlation record to
CompactRecordLogger
(#20189) - Add new fields to message record templates (#20187)
- Create template for new message correlation record (#20186)
- Send response in
MessageSubscriptionRejectProcessor
(#20176) - Send response in
MessageSubscriptionCorrelateProcessor
(#20175) - Store request data in message subscription (#20174)
- Create
MessageCorrelationCorrelateProcessor
(#20173) - Extend
MessageSubscriptionRecord
to store request data (#20167) - Create message correlation record and intents (#20164)
- Add validation rule to check for invalid
bindingType
values (#20054) - Support message and timer boundary events migration (#19886)
- Create new version of every resource in multi-resource deployment if at least one has changed (#19859)
- Resolve deployment-bound resource links within same deployment (#19710)
- Store reference to deployment for deployed resources (#19709)
- I can see highlighted associations related to executed compensation events (#19567)
- I can toggle the execution count badges in process instance details view (#19562)
- I can see the number of executions for each element in instance details diagram (#19558)
- I can see which elements were executed/completed in the process instance diagram (#19555)
- Add new
bindingType
attribute to BPMN Model API (#19461) - Guarantee generated requestId is unique within cluster. (#19339)
- Provide a custom middleware mechanism for the Zeebe REST API in the Gateway (#19291)
- [CPT] I can run process tests with Camunda connectors (#19260)
- [CPT] I can trigger a BPMN timer event (#19176)
- [CPT] Create a Spring integration for Process Testing (#18999)
- [CPT] Create a JUnit 5 extension for Process Testing (#18997)
- [CPT] Create a Testcontainer runtime for Process Testing (#18994)
- Pre-select target proceess versions in instance migration mode (#18761)
- Allow enabling an exporter via an API (#18752)
- Support child instances in instance migration (#18594)
- I can copy all variables from a process instance (#18578)
- I can see the date of the last successful migration for a process instance (#18576)
- I can confirm instance migration before starting the migrate operation (#18574)
- I can filter for unmapped source flow nodes in instance migration mode (#18573)
- I can see which flow nodes are not mapped in instance migration mode (#18571)
- I can skip the instance migration modal (#18541)
- I can see automapping for flow nodes in instance migration mode (#18538)
- Support call activity mapping in instance migration mode (#18492)
- Provide observation context to exporters (#18467)
- Allow disabling an exporter via an API (#18030)
- Provide dates of last successful operations (#17704)
- Stop checking Elastic/Open Search healthiness in Tasklist health check (#17544)
- Migrate Spring-zeebe test (#17343)
- Review and address TODOs (#17342)
- Remove leftovers from other components and unused code (#17341)
- Review community-project latest changes (#17340)
- Merge SpringBoot starter SDK and Spring Client (#17339)
- go client jobWorkerBuilder can't set tenantIds (#17167)
- Clients can provide a reference to a command that can be observed in the resulting event (#16916)
- Incident records provide tree path properties that locate the incident in a hierarchy of process instances (#16915)
- Support BPMN Converging Inclusive Gateway (#10031)
- As a user I want to configure
LongPollingActivateJobsHandler
(#8777)
Bug Fixes
Broker
- Limit the number of element in the process caches (#15533)
- NPE "this.appenderFuture" is null when closing the partition (#10227)
- Align deployment rejection message for DMN resources (#8806)
- Replay test has not same state on terminating exclusive gateway (#6652)
- ClassCastException: ExecutableFlowElementContainer cannot be cast to ExecutableMultiInstanceBody (#6152)
- Exporter arguments are always converted to maps instead of list (#4552)
Gateway
- Return a 502 for
MessagingException$ConnectionClosed
in the C8 REST API (#22540) - Endless errors on gateway because the writer is full (#13018)
- Considerable amount of GRPC error details can trigger ingress response header limit (#11284)
Go Client
- zbctl
8.4.0
can't send requests with authorization information (#16015)
Misc
- Operate backup is not proceeding after taking the first snapshot (#22871)
- Operate snapshot names are incorrect (#22861)
- Tests are failing in CollectionRestServiceRoleIT (#22515)
- ProcessOverviewUpdateIT tests are failing (#22509)
- Duplicate resources refer to current
deploymentKey
instead of the one from initial deployment (#22473) - Optimize backup fails with ElasticsearchStatusException when retrieving snapshots (#22430)
- Instance migration should not allow changing the event type of a mapped catch event (#22146)
- Queued command distribution finishes too soon (#22123)
- Operate: Bearer token with typ AT+JWT not supported (#22119)
- Tasklist: Bearer token with typ AT+JWT not supported (#22118)
- The importer doesn't cache the tree path of a container instance when a contained flow node instance is imported (#22074)
- Fix and refactor handle catch event migrations (#21924)
- Job Worker User Task with
Custom Form Key
not being handled properly (#21811) - Task Assignment Notification Displays "{{numTasks}}" Instead of Actual Number (#21768)
- Zeebe's processing schedule service doesn't play well with past dates during tests (#21738)
- Modeler accept Decimal Priority Values in XML Configuration (#21434)
- Custom headers are not supported for Zeebe user tasks on openSearch (#21296)
- Submit button in public forms is hidden under the nav bar ios phone (#21052)
- Multi instance body finishes with less inner activities than expected (#20958)
- Cancel active EL jobs on process termination (#20775)
- NPE in
BpmnStateBehavior.getParentElementInstanceContext
"parentElementInstance" is null (#20762) - Old versions are retrieved when filtering process that require form input to start (#20734)
- Process instance banned for timer trigger command with unknown process (#20677)
- Disable graphql introspection in Tasklist (#20672)
- ILM policy is added to all indices not only archived indices (#20567)
- Possible memory corruption leading to SIGSEGV (#20555)
- StackOverflowError during process instance modification (#20307)
- Exporting decision evaluation records breaks with large
evaluationFailureMessage
values (#20248) - Issue when importing variables in a MT environment (#20199)
- Flaky test shouldBeThreadSafe: io.camunda.zeebe.client.impl.oauth.OAuthCredentialsCacheTest (#20136)
- Snapshot detected as corrupted because of incorrect checksum comparison (#19984)
- Tasklist index prefixes are not correctly setup on OpenSearch (#19905)
- RandomizedRaftTest.livenessTestWithSnapshot is unstable (#19862)
- Concurrency mode check slows down import (#19840)
- No executable process is found after transformation (#19834)
- Native notifications inline message doesn't disappear after enabling notifications (#19592)
- [Spring SDK] Fix unit tests to run into the unified CI (#19520)
- Operate import slows down in case of data loss (#19424)
- Invalid offset when reading record from an older version (#19379)
- CI: fake status checks produced even if Zeebe CI is running (#19289)
- Closing of
StreamProcessor
hangs indefinitely (#19219) - Instance migration subscribes element instance with incident to message event (#19212)
- Instance migration is not triggered with pre-selected target process (#19171)
- Cannot take backup to Azure when using managed identity (#19104)
- Resource authorizations are not working without providing the deprecated CAMUNDA_TASKLIST_IDENTITY_BASEURL (#19007)
- Default tenant id not picked up by Spring Zeebe SDK @Jobworker annotation (#18975)
- Saving a custom filter with all statuses excludes the competed tasks (#18967)
- Tasklist cannot update ISM policy in AWS OpenSearch (#18891)
- Filtering tasks by process retrieves only tasks from latest deployed process version (#18813)
- on openSearch XML retrieved is Null when user has access to the process view (#18772)
ZEEBE_GATEWAY_SECURITY_AUTHENTICATION_MODE:none
does not disable Identity-based authentication (#18726)- Missing Zeebe user task migration doc URL in REST API error message (#18663)
- Remove client's secrets reference in logs (#18656)
- When activating the identity-auth profile, the health and readiness probes fail with status code 401 (#18568)
- Operate import does not work for Opensearch with
UnsupportedOperationException
(#18452) - Opensearch exporter fails with 400 on AWS Opensearch service (#18251)
- Batch modification needs to handle requests containing values for both fromFlowNodeId and fromFlowNodeInstanceKey (#18162)
- java.lang.IllegalArgumentException: type must not be empty (#18139)
- Tasklist importer pod is crashlooping (#18095)
- Operate can't complete backup snapshot (#18049)
- [Spring Zeebe SDK] Token not refreshed (#17799)
- Tasklist is retuning
null
as item in the permissions array (#17688) - Starting the Operate container with an unprivileged may fail to create the
logs
folder (#17685) - Import is blocked after some user task records are lost (#17615)
- NPE in user task import (#17611)
- AWS: Number of Opensearch requests are failing with wrong request signature (#17552)
- Broken job stream aggregation (#17513)
- Failed to close snapshot store (#17452)
- Timestamp values in actuators are serialized as integers instead of date-time strings (#17347)
- Partition stays in force configuration after force failover (#17334)
- Potential duplicate PI creation across partitions in case of request timeouts (#17333)
- Retrieving index settings in Opensearch returns null values for the settings (#17272)
- Cannot update from a previous version to current snapshot (#17229)
- Retention policy is not applied to existing indices when enabled (#17147)
- Duplicate entries in decision output table (#17024)
- Fix element processing flow for Intermediate Catch/Throw Events with Execution Listeners (#16536)
- I can activate a job without retries after resolving the JOB_NO_RETRIES incident (#16484)
- CI: Zeebe build fails due to SBE build errors (#16029)
SetVariables
is not always retryable (#15549)- Oauth token refresh can trigger rate limiting and log errors (#13832)
- Redundant logging of first commit index (#13403)
- NullPointerException in ActivateProcessInstanceBatchProcessor.createChildInstanceRecord (#12918)
- Race condition when closing the log stream and opening a writer (#12870)
- NPE when receiving a log stream writer while shutting down (#12254)
Maintenance
- QA and E2E workflows on main is failing (#22353)
- Provide a way to register indices and index templates for expoirter (#21980)
- Camunda exporter schema manager validator (#21831)
- Updating of index and index templates can be handled by schema manager (#21762)
- Add Elasticsearch implementation for indices and template creation. (#21527)
- Stream platform clock modifications are consistent (#21068)
- Stream platform time is controllable (#21051)
- Retry open of exporter on failure (#20728)
- Update the REST controller developer guide (#20619)
- Mark Query API commands as experimental (#20596)
- Refactor
fold
method argument order inEither
interface (#20588) - Strange use of ObjectMapper in ES/OS DTO (#20556)
- Exclude specific versions from rolling update test (#20157)
- Remove references to unused combined checksum. (#20100)
- Snyk scan for Zeebe is broken after moving modules around (#20011)
- Simplify user task update data model (#19986)
- Update RocksDB to 9.x (#19981)
- Simplify REST test setup to improve test isolation (#19977)
- Index outOfBounds while fetching next snapshot of removed member. (#19642)
- Concurrent maven builds causing failures in CI process. (#19619)
- Move
brokerClient
handling from REST controllers to service layer (#19524) Sequencer#isEntryValid
is slow because it has to calculate the full record size (#19225)- Set default job worker stream timeout (#19188)
- Backward compatibility for zeebe.client SM properties (#19161)
- startup.sh script overrides helm config (#19114)
- Zeebe version compatibility test times out (#19026)
- Zeebe source code refers to old repository name (#18797)
- gRPC thread pool saturated by blocked Identity calls (#18697)
- Do not log MessagingException$ConnectionClosed as an error in the gateway (#18339)
- Relicense to Camunda License 1.0 (#18104)
- Improve error mapping of REST API (#17441)
- Run Spotbugs plugin on the Operate codebase and fix related issues (#17331)
- Zeebe Grafana dashboard uses angular that has been deprecated (#17097)
- Extend generalized command distribution for subsets of partitions (#16385)
- Send rejection if partition's stream processor is not active (#16180)
- Improve
Interceptor
management by theInterceptorRepository
class (#15695) - Reject requests with a helpful error message when processing is paused (#14330)
- Tests in
ActivatableJobsPushTest
class are slow (#13606) - Split files into smaller chunks when replicating snapshots (#12795)
- Dead code in metrics exporter (#9760)
- Reduce test pipeline time (#6477)
- Consider making ASQN_IGNORE part of the
JournalRecord
interface (#6356) - JournalReader seek methods should return the next index (#6354)
Documentation
- Mark Query API as
alpha
feature instead ofexperimental
(#22224) - Update the REST controller developer guide (#20619)
- Provide a REST controller implementation guide (#20444)
- [CPT] I can see an extensive example of a process test (#19268)
Merged Pull Requests
- docs: provide short summaries in OpenAPI (#22755)
- Validate tenant id in REST process instance creation (#22743)
- feat(spec): add example requests to endpoints with mutually-exclusive request fields (#22711)
- Refactor REST field names (#22701)
- Migrate sequential multi instance element instances (#22635)
- Add deploy resource command REST support (#22632)
- Return 502 in REST for closed broker connection (#22542)
- Merge release/optimize 8.6.0 alpha5 back to main (#21961)
- [Backport stable/8.4] build: replace protolock with buf CLI (#21773)
- ci: use bigger runner for release workflow (#21579)
- Only activate/complete child process instance while call activity is active (#20835)
- feat: store deployment key for deployed processes (#20498)
- Limit client request retries to three attempts (#20088)
- Threadsafe oauth credentials cache (#20065)
- Add root QA modul (#19757)
- Not subscribe to new subscription if element is in ACTIVATING state (#19256)
- Add empty Javadoc Jar for Operate/Tasklist (#18921)
- Generate changelog for patch releases (#18342)
- Migrate active call activity (#18328)
- ci: remove parallelization in release arguments (#18271)
- Observe status of Zeebe CI jobs (#18224)
- Merge Tasklist code until hash 3f884eb8086fecdd3d0f7511ba142398bf21533e (#17493)
- Fix actuator serialization (#17454)
- Merge spring-client and spring-zeebe-sdk (#17387)
- test: increase await assertion timeout in OpensearchExporterIT IndexSettingsTest to overcome flaky test runs (#17282)
- fix(transport): use unique schema ID (#14174)
- fix(dist): remove Spring Boot warning around commons-logging (#13300)
- [Backport stable/8.2] Prevent StackOverFlowError during termination of children (#13275)
- deps(maven): bump swagger-annotations from 2.2.13 to 2.2.14 (#13211)
- deps(maven): bump software.amazon.awssdk:bom from 2.20.86 to 2.20.87 (#13170)
- [backport-8.1]: Refactor job processors (#13081)
- [Backport stable/1.2] Fixes flakiness with the ElasticsearchExporter integration tests (#8203)
- [BACKPORT 0.26] fix(broker): fix race condition in persisting snapshot (#6428)
- chore(deps): update module zeebe-io/zeebe/clients/go to v0.26.0 (#6077)
- docs(operate): update migration documentation (#4725)
- fix(docs): fix links to config files in docs (#4545)
- Migrate broker.engine.* sub test packages (#2584)