June 27, 2024
Java SDK v1.24.0
Slot Auto-Tuning (Preview)
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.
Workflow Update (Preview)
This release includes breaking changes to the Workflow Update client API:
temporal.client.UpdateOptions.setWaitPolicyhas been renamed totemporal.client.UpdateOptions.setWaitForStage.WaitForStageis now a required option intemporal.client.UpdateOptionsand no longer defaults toAccepted.io.temporal.client.WorkflowStub.startUpdatenow requires aWorkflowUpdateStageand respects the specified stage. Previously,startUpdatemight have returned a handle before the desiredWaitForStagewas reached.
Spring Boot Integration (Preview)
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-startertemporal-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.