June 27, 2024
Java SDK v1.24.0
Introduction of WorkerTuner: This new class consolidates worker tuning options by wrapping the previously introduced SlotSupplier classes. You can now pass the WorkerTuner to the WorkerOptions for streamlined worker tuning.
ResourceBasedTuner and ResourceBasedSlotSupplier: These classes enable tuning of worker slot counts based on available memory and CPU resources. Set your memory/CPU targets, and the worker will automatically try to reach those levels.
CompositeTuner: This feature allows combining different SlotSuppliers to implement a custom WorkerTuner.
We encourage you to try the resource-based tuning and share your feedback on the community Slack. For optimal results, instantiate and pass a ResourceBasedTuner to WorkerOptions. Ensure that your worker is the primary resource-consuming application on the host, and set thresholds to a reasonable value like 0.8. Make sure your JVM -Xmx value is set appropriately.
Note: Custom Slot Supplier remains experimental and is not recommended for production use.
This release includes breaking changes to the Workflow Update client API:
temporal.client.UpdateOptions.setWaitPolicy
has been renamed to temporal.client.UpdateOptions.setWaitForStage
.
WaitForStage
is now a required option in temporal.client.UpdateOptions
and no longer defaults to Accepted
.
io.temporal.client.WorkflowStub.startUpdate
now requires a WorkflowUpdateStage
and respects the specified stage. Previously, startUpdate
might have returned a handle before the desired WaitForStage
was reached.
As we move closer to General Availability (GA) for Spring Boot Integration, we've renamed our Spring Boot packages to remove the alpha designation:
temporal-spring-boot-starter-alpha
-> temporal-spring-boot-starter
temporal-spring-boot-autoconfigure-alpha
-> temporal-spring-boot-autoconfigure
User Impact: Users who leverage the Spring Boot dependencies and upgrade to the latest version of the Java SDK will need to manually update the dependency names.