Release: 1.0.0
Release Blog Post: https://camunda.com/blog/2021/05/camunda-cloud-10-released/
Update Guide: https://docs.camunda.io/docs/guides/update-guide/026-to-100/
Enhancements
Broker
Java Client
- custom serializer configuration for zeebe Java client (#5578)
- Add direct support for cloud in java client (#3932)
- Job worker should apply backoff on job polling in case of service unavailable (#4443)
Go Client
- Job worker should apply backoff on job polling in case of service unavailable (#4443)
Bug Fixes
Broker
- A call activity can't be completed or terminated (#6959)
- Variables are overridden when the subprocess is completed (#6926)
- Deploy command times out for processes with a timer start event (#6911)
- Memory leak in NettyMessagingService (#6878)
- Childs can trigger EventSubProcess when FlowScope is in TERMINATING state (#6846)
- Nullpointer exception when terminating subprocess (#6829)
- On restart journal index is not updated for existing segments (#6786)
- Follower doesn't flush written entries if append is only partially written (#6784)
- ElasticExporter logs flush failures as error (#6741)
- CompletionException: io.zeebe.journal.file.record.CorruptedLogException: Record doesn't match checksum. Log segment may be corrupted. (#6709)
- Follower is not handling outofdiskspace correctly (#6653)
- Boundary events are not correctly terminated (#6587)
- Process instance with parallel flow can't be completed after interruption by Event sub process (#6565)
- StateWriter doesn't use ReprocessingStreamWriter during reprocessing (#6557)
- Process can't be completed after concurrent message correlation (#6552)
- CurrentEntry is not update correctly when LeaderAppender reset the reader. (#6534)
- Can't append entries due to Low system clock granularity causes (#6520)
- Job key is reused when creating incident as the incident key (#6516)
- Redeploying process model with Timer start event causes retriggering (#6515)
- Journal attempts to read truncated entries (#6470)
- ZeebePartition doesn't handle exceptions properly (#6391)
- Snapshot is not valid. There is no checksum file. (#6377)
seekToAsqn()
should not return a record with no ASQN (#6358)- LogStorageAppender should use the LeaderRole from correct term (#6346)
- Failed to append block because it was to large causes next append to fail (#6318)
- Inconsistent log (#6316)
- Concurrent access to snapshotstore causes partial snapshots to get committed (#6255)
- Follower index is sometimes not cleaned up correctly (#6237)
- Startup failure logged at incorrect level (#6109)
- Incorrect snapshot positions based on invalid last processed position (#6049)
- Gateway not able to parse ipv6 addresses (#5951)
- Job worker name should be optional (#5819)
- Gateway communicated with broker in different cluster (#5641)
- IllegalStateException: Expected to find event with the snapshot position ... (#5500)
- Failed to bind TCP server to port 0.0.0.0:8443 due to io.netty.channel.unix.Errors$NativeIoException: bind(..) failed: Address already in use (#5426)
- The source record position may point to a wrong record (#5420)
- Potential race condition in Raft cluster join process (#5292)
- SegmentedJournalWriter.truncate() and readers are not thread safe (#4198)
Go client
- Zbctl human output from status sub command is a bit broken (#6692)
- Go job poller handles error incorrectly when remaking job stream (#6210)
Misc
- Improve handling of time in randomly generated processes (#6568)
- Rename ProcessInstanceSubscription to ProcessMessageSubscription (#6566)
- New BPMN element type for event subprocesses (#6542)
- Key of Message/WorkflowInstance-Subscription Records is not set (#2805)
- Diff in zbctl test output is incorrect (#6967)
- Re-enable Go dependency updates (#6940)
- Snapshot log statement is incorrectly formatted (#6853)
- Intermediate catch event is terminated twice (#6643)
- Most atomix-cluster tests not running on the CI (#6613)
- IllegalStateException: Expected to find a workflow deployed with key '2251799813685249' but not found. (#6518)
- Property based tests don't work with flaky test detection (#6347)
- Gateway keeps retrying rejections (#6166)
- Gateway metric update causes NullPointerException (#6127)
- Panel Number of not processed records is floating around (#6124)
- Open file descriptor graph is not portable (#6079)
- Handle INACTIVE partition role in gateway (#6053)
- TestCommonCommands/using_json_flag fails locally (#6037)
Merged Pull Requests
- Remove ignoreVariablesAbove ES configuration option (#7001)
- Ignore missing files on transient snapshot abort (#6981)
- chore(benchmarks): Reduce exports and PVC claims (#6720)
- Add user task support (#6667)
- chore(benchmark): build project on create (#6585)
- Temporary fix for SBE compilation step (#6584)
- Log key on blacklist process instance (#6578)
- chore(test-util): log substituted numbers for debug conditions (#6574)
- Avoid using the logstream writer on reprocessing (#6573)
- Release 1.0.0 alpha3 (#6572)
- Rename process instance subscription to process message subscription (#6567)
- Replace token count with counting of active sequence flows and element instances (#6562)
- test(test-util): add compact logging for engine records (#6560)
- Apply event-sourcing to the process instance subscription correlate processor (#6558)
- Apply event-sourcing to the process instance subscription close processor (#6556)
- Apply event sourcing to creating a new process instance subscription (#6553)
- chore(engine): generate key for updated variable document event (#6548)
- chore(raft): fix equals implementation of RaftLogEntry (#6545)
- chore(snapshots): remove timestamp from snapshot id (#6544)
- chore(broker): make FileBasedSnapshotStore actor io-bound (#6540)
- Use state writer in BpmnEventSubscriptionBehavior (#6536)
- fix(broker): set currentEntry to null when reset to firstIndex (#6535)
- Apply event-sourcing to the process instance subscription open processor (#6532)
- Incidents on failing jobs generate a new key (#6529)
- Migrate transfer variables on sub process (#6526)
- Migrate unsubscribe event subscription (#6525)
- Migrate activate child instance (#6524)
- Apply event sourcing to incident resolve/resolved (#6522)
- Immutable zeebe state (#6514)
- chore(journal): replace kryo with sbe (#6513)
- Apply event sourcing to the incident create and created processors (#6512)
- Apply event-sourcing to the message start event subscription processors (#6510)
- chore(deps): update dependency io.netty:netty-bom to v4.1.60.final (#6509)
- chore(atomix): rename and restructure raft entry types (#6503)
- chore(ci): use new cloud credentials (#6501)
- chore(clients/go): command results are outputted instead of logged (#6498)
- Migrate creating event scope (#6496)
- Store records for incidents on activating (#6495)
- Improving the message subscription state (#6494)
- chore(deps): update version.protobuf to v3.15.5 (#6493)
- fix(deps): update module github.com/google/go-cmp to v0.5.5 (#6491)
- chore(deps): update version.protobuf to v3.15.4 (#6487)
- chore(deps): update dependency com.fasterxml.jackson:jackson-bom to v2.12.2 (#6486)
- chore(engine): event sourcing for JobBatchIntent processors (#6485)
- Do not write duplicate workflow record (#6483)
- Refactor DbWorkflowState (#6482)
- Apply event-sourcing to the message subscription reject processor (#6479)
- Apply event-sourcing to the message subscription delete processor (#6476)
- chore(deps): update dependency net.alchim31.maven:scala-maven-plugin to v4.4.1 (#6475)
- Apply event-sourcing to the message subscription correlate processor (#6474)
- chore(journal): split journal record into metadata and indexed record (#6473)
- Prevent reading truncated entries (#6471)
- Apply event-sourcing to the message subscription create processor (#6469)
- chore(deps): update dependency org.apache.commons:commons-lang3 to v3.12.0 (#6468)
- Make exporter accept multiple elasticsearch hosts (#6467)
- chore(test): ensure to use random process ids for CreateDeploymentTest (#6466)
- chore(test): ensure to use random process ids for CallActivityIncidentTest (#6465)
- Apply event sourcing to variables (#6464)
- Extract variable document merging into specific behavior (#6463)
- Enable getting an existing variable's key from the state (#6462)
- fix(deps): update golang.org/x/net commit hash to e18ecbb (#6460)
- Migrate deployment processors to event sourcing (#6459)
- Improve the stability of the replay tests (#6458)
- fix(deps): update golang.org/x/net commit hash to 39120d0 (#6457)
- Complete Deployment distribution (#6456)
- Rename workflow to process in whole repository (#6455)
- chore(deps): update version.protobuf to v3.15.3 (#6452)
- Apply event sourcing to the parallel gateway processor (#6451)
- Allow detecting if a variable is declared locally in a given scope (#6449)
- Provide a way to get the parent scope key of a variable scope (#6448)
- Extract the document indexing logic out of the variable state (#6446)
- Align deployment distribution (#6444)
- chore(deps): update dependency com.google.api.grpc:proto-google-common-protos to v2.1.0 (#6441)
- fix(deps): update module google.golang.org/grpc to v1.36.0 (#6440)
- chore(broker): use previous index for snapshot id (#6439)
- chore(journal): add more tests for journal seek (#6436)
- Improve the message state (#6435)
- fix(deps): update golang.org/x/net commit hash to 3d97a24 (#6433)
- chore(deps): update version.protobuf to v3.15.2 (#6432)
- chore(deps): update golangci/golangci-lint-action action to v2.5.1 (#6431)
- chore(deps): update version.grpc to v1.36.0 (#6425)
- Lower the log level for unimplemented event appliers (#6424)
- chore(deps): update dependency org.scala-lang:scala-library to v2.13.5 (#6421)
- chore(deps): update dependency org.mockito:mockito-junit-jupiter to v3.8.0 (#6420)
- chore(deps): update dependency org.mockito:mockito-core to v3.8.0 (#6419)
- fix(deps): update golang.org/x/net commit hash to 9060382 (#6418)
- Reset lastAppendedEntry on reset (#6415)
- Introduce DeploymentDistribution COMPLETE-COMPLETED (#6412)
- chore(deps): update dependency org.yaml:snakeyaml to v1.28 (#6410)
- Make all AppendListener methods default (#6409)
- Simplify log storage abstraction (#6408)
- chore(deps): update version.jqwik to v1.5.0 (#6406)
- chore(deps): update version.protobuf to v3.15.1 (#6405)
- fix(deps): update golang.org/x/net commit hash to 5f55cee (#6404)
- fix(deps): update golang.org/x/oauth2 commit hash to 9bb9049 (#6403)
- fix(deps): update module github.com/golang/mock to v1.5.0 (#6402)
- Remove old journal implementation (#6401)
- Apply event sourcing to the exclusive gateway processor (#6399)
- Remove unused configuration raft storage configuration (#6398)
- Remove unused raft storage StorageStatistics (#6396)
- Use always new appender (#6392)
- chore(snapshot): use actor naming pattern (#6389)
- chore(deps): update version.protobuf to v3.15.0 (#6386)
- fix(deps): update golang.org/x/oauth2 commit hash to ba52d33 (#6385)
- chore(deps): update spring boot to v2.4.3 (#6384)
- fix(broker): fix race condition in persisting snapshot (#6383)
- chore(journal): implement JournalRecord equals and hashcode (#6382)
- 6176 job processors part2 (#6381)
- Apply event sourcing to message publish processor (#6376)
- fix(monitor): rm duplicate id's (#6374)
- Use new journal (#6373)
- chore(deps): update prom/prometheus docker tag to v2.25.0 (#6372)
- Extract common logic used by MappedJournalSegment-Writer Reader (#6371)
- chore(deps): update version.micrometer to v1.6.4 (#6370)
- fix(deps): update module zeebe-io/zeebe/clients/go to v0.26.1 (#6369)
- Skip records with no valid asqn when seeking (#6367)
- Fix flaky BrokerReprocessingTest (#6366)
- Return next index for all seek methods in JournalReader (#6365)
- Generate workflows with a message start event (#6362)
- chore(deps): update golang.org/x/oauth2 commit hash to 16ff188 (#6361)
- chore(ci): run random property based tests in dedicated phase (#6359)
- Add infrastructure to migrate bpmn element processors (#6357)
- chore(atomix/storage): refactor Raft to not rely on reader state (#6353)
- fix(atomix): do not append invalid entries (#6345)
- 6176 event sourcing job processors - part 1 (#6344)
- Remove RaftLogReader#getNextIndex (#6342)
- Apply event sourcing to message expire processor (#6341)
- chore(deps): update golangci/golangci-lint-action action to v2.4.0 (#6340)
- Remove RaftLogReader#isEmpty (#6339)
- chore(deps): update dependency junit:junit to v4.13.2 (#6338)
- chore(deps): update dependency junit:junit to v4.13.2 (#6337)
- java-client: Fix job worker polling schedule (#6336)
- Decouple RaftLogReader from journal (#6335)
- Generate workflows with intermediate message events (#6333)
- chore(journal): improve journal module test coverage (#6330)
- Improve the stability of the replay tests (#6328)
- chore(snapshots): persist chekcksum with snapshots (#6326)
- chore(deps): update dependency org.codehaus.mojo:animal-sniffer-annotations to v1.20 (#6324)
- chore(deps): update version.testcontainers to v1.15.2 (#6322)
- Fix flaky BrokerReprocessingTest.shouldContinueWorkflowInstanceAtSecondTaskAfterRestart (#6319)
- Expose further RocksDB configuration (#6312)
- chore(deps): update module spf13/cobra to v1.1.3 (#6309)
- chore(deps): update golang.org/x/oauth2 commit hash to 6667018 (#6306)
- Drop interim RaftLogWriter interface and inline it via RaftLog (#6305)
- Extract interface from RaftLogWriter and implement it via RaftLog (#6303)
- Decouple RaftLog from old journal interface (#6301)
- chore(deps): update version.jqwik to v1.4.0 (#6299)
- chore(deps): update version.elasticsearch to v6.8.14 (#6298)
- chore(deps): update docker.elastic.co/kibana/kibana-oss docker tag to v6.8.14 (#6297)
- chore(deps): update docker.elastic.co/elasticsearch/elasticsearch-oss docker tag to v6.8.14 (#6296)
- Introduce deployment distribution record (#6295)
- Write WorkflowRecord to the Stream (#6289)
- chore(deps): update module spf13/cobra to v1.1.2 (#6288)
- Restore the key generator on replay (#6285)
- chore(deps): update dependency net.java.dev.jna:jna to v5.7.0 (#6284)
- Ensure safe concurrent access to snapshot store (#6283)
- Make the StateWriter available to the command processors (#6282)
- chore(deps): update dependency io.netty:netty-bom to v4.1.59.final (#6281)
- chore(client/go): update go.mod and docker deps (#6279)
- chore(deps): update dependency org.ow2.asm:asm to v9.1 (#6274)
- chore(deps): update dependency kr.motd.maven:os-maven-plugin to v1.7.0 (#6270)
- BPMN element processors support new commands (#6267)
- Release 1.0.0 alpha1 (#6264)
- Disable WAL of RocksDB (#6261)
- Reuse transaction (#6260)
- chore(deps): update dependency org.junit:junit-bom to v5.7.1 (#6259)
- chore(zb-db): expose maxOpenFiles (#6258)
- The stream processor replays only events (#6257)
- Correctly detect if Epoll is available (#6256)
- Made RocksDB memory limit configurable (#6254)
- fix(journal): clear index mapping on reset (#6253)
- Verify that replay restores the state (#6252)
- Add basic structure for event appliers (#6250)
- chore(zb-db): introduce RocksDBConfig and made statistics optional (#6246)
- chore(deps): update golang.org/x/oauth2 commit hash to 0101308 (#6244)
- chore(broker): move RocksDB to experimental cfg (#6242)
- Generate random workflows (#6241)
- The stream processor processes only commands (#6239)
- Refactor ZeebeDB (#6238)
- chore(deps): update dependency org.apache.maven.plugins:maven-checkstyle-plugin to v3.1.2 (#6235)
- fix(broker): use correct address for binding and advertising (#6234)
- Separate mutable and immutable states (#6233)
- chore(deps): update dependency com.salesforce.servicelibs:proto-backwards-compatibility to v1.0.6 (#6229)
- chore(journal): add a new module for journal (#6216)
- Omit creating an event subscription if no event can be triggered (#6215)
- fix(clients/go): log failure to reopen stream (#6211)
- chore(deps): update golang.org/x/oauth2 commit hash to f9ce19e (#6205)
- chore(benchmarks): portable distribution script (#6193)
- fix(gateway): propagate rejections to clients without retrying (#6192)
- Remove chaos pipeline (#6181)
- chore(deps): update golang.org/x/oauth2 commit hash to af13f52 (#6169)
- chore(deps): update version.prometheus to v0.10.0 (#6165)
- Use one column family with RocksDB (#6162)
- chore(deps): update dependency org.assertj:assertj-core to v3.19.0 (#6154)
- chore(go/clients): update go version to 1.15 (#6153)
- Remove deprecated bootstrap type (#6151)
- Removes Raft#join (#6149)
- chore(atomix): remove Raft#leave (#6142)
- Fix overwrite last written position to zero (#6141)
- chore(deps): update prom/prometheus docker tag to v2.24.1 (#6138)
- chore(deps): update golang.org/x/net commit hash to 5f4716e (#6137)
- fix(gateway): fixes NPE in topology metric update (#6128)
- chore(clients/java): remove unnecessary guava dependency (#6126)
- chore(broker): set new defaults (#6123)
- chore(deps): update dependency org.mockito:mockito-junit-jupiter to v3.7.7 (#6122)
- chore(deps): update dependency org.mockito:mockito-core to v3.7.7 (#6121)
- chore(deps): update version.sbe to v1.21.0 (#6120)
- Handle INACTIVE role in gateway and clients (#6119)
- Makefile contains namespace (#6118)
- Regenerate proto file (#6117)
- chore(deps): update spring boot to v2.4.2 (#6115)
- chore(deps): update dependency com.google.errorprone:error_prone_annotations to v2.5.1 (#6114)
- chore(deps): update dependency org.sonarsource.scanner.maven:sonar-maven-plugin to v3.8.0.2131 (#6113)
- fix(broker): improve logging in broker and atomix (#6110)
- feat(clients/java): ignore changes in the impl package (#6108)
- chore(deps): update module google.golang.org/grpc to v1.35.0 (#6107)
- chore(deps): update dependency io.netty:netty-bom to v4.1.58.final (#6106)
- Remove yaml model support (#6105)
- feat(clients/go): use JSONPB to decode command's responses (#6104)
- chore(deps): update module stretchr/testify to v1.7.0 (#6103)
- chore(deps): update version.grpc to v1.35.0 (#6102)
- chore(deps): update dependency com.google.errorprone:error_prone_annotations to v2.5.0 (#6101)
- chore(deps): update golang.org/x/oauth2 commit hash to d3ed898 (#6100)
- chore(deps): update version.micrometer to v1.6.3 (#6097)
- chore(deps): update dependency io.netty:netty-bom to v4.1.57.final (#6096)
- chore(deps): update dependency io.netty:netty-tcnative-boringssl-static to v2.0.36.final (#6095)
- chore(deps): update module google.golang.org/grpc to v1.34.1 (#6094)
- java-client: Job worker polling backoff mechanism (#6093)
- Add gateway topology metrics (#6091)
- fix(monitor): ignore curator in camunda cloud (#6088)
- chore(deps): update dependency com.fasterxml.jackson:jackson-bom to v2.12.1 (#6084)
- fix(broker): detect out of cluster messages received in NettyUnicastService (#6083)
- fix(gateway): not remove stacktraces (#6081)
- Use process_files_* for file descriptor graph (#6080)
- chore(deps): update module zeebe-io/zeebe/clients/go to v0.26.0 (#6077)
- chore(deps): update prom/prometheus docker tag to v2.24.0 (#6068)
- Lower log level to debug in benchmarks (#6065)
- chore(deps): update dependency org.rocksdb:rocksdbjni to v6.15.2 (#6064)
- chore(clients/go): test zbctl JSON output as JSON (#6063)
- chore(deps): update dependency org.mockito:mockito-junit-jupiter to v3.7.0 (#6058)
- chore(deps): update dependency org.mockito:mockito-core to v3.7.0 (#6057)
- Nightly build with QA Run (#6056)
- chore(deps): update dependency com.github.spotbugs:spotbugs-maven-plugin to v4.2.0 (#6052)
- chore(deps): update golang.org/x/net commit hash to 6772e93 (#6041)
- chore(atomix): update to Kryo 5 (#6039)
- chore(deps): update dependency org.agrona:agrona to v1.9.0 (#6036)
- chore(samples): adjust examples to support connecting to cloud (#6035)
- chore(deps): update version.msgpack to v0.8.22 (#6033)
- chore(deps): update dependency org.rocksdb:rocksdbjni to v6.14.6 (#6032)
- chore(deps): update grafana/grafana docker tag to v6.7.5 (#6025)
- chore(deps): update dependency io.netty:netty-bom to v4.1.56.final (#6024)
- chore(deps): update module prometheus/client_golang to v1.9.0 (#6023)
- CI scripts/pipeline clean up (#6021)
- Fixes multi agent post verification analysis (#6020)
- chore(deps): update golang.org/x/net commit hash to 986b41b (#6019)
- fix(broker): pick latest snapshot on load when multiple snapshots exists (#6017)
- chore(deps): update version.grpc to v1.34.1 (#6013)
- chore(uptdate-tests): disable update tests (#6012)
- chore(deps): update version.guava to v30.1-jre (#6010)
- Use array access when extracting job properties from ActivateJobsResponse (#6009)
- chore(ci): add nightly build trigger (#5999)
- feat(broker): a job worker is optional (#5930)
- feat(clients/java): add capability to change ZeebeObjectMapper (#5742)
- chore(deps): update version.sbe to v1.20.4 (#5586)
- docs(readme): Updated README with ergonomic changes (#5449)