💥 BREAKING CHANGES
Workflow Metadata (Public Preview)
The built in __temporal_workflow_metadata
query now uses io.temporal.common.converter.RawValue
for the return type. This should help address issues where users data converters could not properly convert the WorkflowMetadata
protobuf type. If you are using a custom data converter that does not support RawValue
you will need to update it to support this type.
Note: The built in Temporal DefaultDataConverter
already supports RawValue
and does not require any changes.
Nexus
When an ApplicationFailure
is returned from a Nexus operation handler the SDK will now translate it into an INTERNAL
non-retryable error. Previously it was translated to a BAD_REQUEST
error. This is to align with the behavior of Nexus operations in other SDKs.
Highlights
Nexus Operation Cancellation Types (Pre-release)
Users can now specify the cancellation type when cancelling a Nexus operations from a workflow. This allows for more granular control over how Nexus operations are cancelled, and how the caller is notified of the cancellation.
Springboot (Pre-release)
-
Temporal Java SDK Springboot integration now automatically registers Temporal interceptors. Interceptors will be registered in the order specified by the
@Order
annotation. -
Temporal Java SDK Springboot integration now applies to Springboot
Environment
when discovering workflow implementations. This allows users to use the@Profile
annotation to conditionally enable or disable workflow implementations.
Automatic Poller Scaling (Pre-release)
Users can now configure Workers to automatically scale the number of concurrent polls they make. To enable use setWorkflowTaskPollersBehavior
, setNexusTaskPollersBehavior
, and setActivityTaskPollersBehavior
arguments of the WorkerOptions.Builder
constructor to PollerBehaviorAutoscaling
. You can expect fewer unnecessary polls during low load, and increased polls during high load when they can be used to increase task throughput.
Add ApplicationFailure Category
Add a new category property on ApplicationFailure
. This new option allows controlling some of the observability and logging behaviors of the Worker related to a failure thrown from an Activity.
What's Changed
2025-04-21 - afb0183 - ARM64 build for Test Server (#2448)
2025-04-23 - 08d6089 - Remove old workflow run operation token format (#2486)
2025-04-23 - 0f9813c - Handle async completion in TestActivityEnvironment (#2487)
2025-04-24 - 2807771 - Warn if root thread yields (#2483)
2025-04-24 - 620eeaf - Update contrib (#2489)
2025-04-25 - 7460156 - Add application err category (#2485)
2025-04-29 - 3c9e819 - Add RawValue support (#2492)
2025-04-30 - 04fe25a - Fix NPE getting a non existent memo from a schedule. (#2497)
2025-04-30 - f6d4d46 - Make sure user metadata is set on WorkflowExecutionStartedEvent (#2496)
2025-05-01 - 537d99d - Add ApplicationFailure.Builder (#2495)
2025-05-02 - 1feb16f - Remove license in file (#2505)
2025-05-02 - 2e1c89e - Add support for dynamics workflows to Springboot (#2506)
2025-05-05 - 0d539ff - Support WorkflowImplementationOptionsCustomizer (#2503)
2025-05-05 - 0e8ac35 - Make @Profile annotation work (#2501)
2025-05-05 - 8fbb068 - Add interceptor support to springboot integration (#2500)
2025-05-06 - 7a09384 - Update proto v1.49.0 (#2510)
2025-05-07 - 4da87cc - Spring boot: fail creation if duplicate definitions detected (#2511)
2025-05-07 - e5bb3a5 - Bump edge Java SDK test version (#2507)
2025-05-08 - e7a7f0c - Set links in Nexus callback (#2513)
2025-05-09 - 6c961a0 - Make CancellationScopeImpl more deterministic (#2512)
2025-05-13 - b7c72a2 - Add num_pollers metric (#2514)
2025-05-14 - 076f981 - Add test coverage for starting a child workflow from a cancelled work… (#2516)
2025-05-14 - 3f294e1 - Remove license check from contrib (#2522)
2025-05-14 - 58a4200 - RequestIdInfo and links changes in test server (#2515)
2025-05-14 - 7046593 - Add test coverage for cancellation of external workflow (#2517)
2025-05-14 - b9458fc - Wire reason parameter in workflow cancellation request (#2519)
2025-05-14 - e8d9fda - Add API to count workflows (#2518)
2025-05-15 - d01c85b - Add AGENTS.md (#2527)
2025-05-16 - 437c612 - Fix Workflow.getWorkflowExecution for ExternalWorkflowStub (#2529)
2025-05-16 - 95314a2 - Versioning Override support (#2530)
2025-05-16 - e793db8 - Make asyncThrottlerExecutor use a daemon thread (#2528)
2025-05-26 - 2d9b906 - Fix newExternalWorkflowStub on a interfaces without a WorkflowMethod (#2531)
2025-05-26 - f45c947 - Cancel pending heartbeat when activity completes (#2526)
2025-05-27 - 0b88507 - Bump some proto dep. (#2536)
2025-05-27 - 5d64818 - Fix javadoc for ActivityExecutionContext.getHeartbeatDetails (#2525)
2025-05-28 - 44d9abe - Set TemporalChangeVersion when workflow version is updated (#2464)
2025-05-28 - 8613b18 - Fix nexus error translation (#2539)
2025-06-02 - cea73d3 - Add support for calling Workflow.getInfo
from query handler (#2541)
2025-06-03 - ed2b8cc - Add an interceptor for listExecutions (#2524)
2025-06-04 - 35386da - Clear MDC context after each task (#2545)
2025-06-04 - dc1e26d - Update cloud ops apis to the latest (#2544)
2025-06-09 - 402392c - Use link from start workflow request for Nexus operations (#2547)
2025-06-10 - 0268390 - __temporal_workflow_metadata query responses should use "RawValue" (#2551)
2025-06-10 - 746d3c3 - Issue #2057: parsing workflow id from WorkflowExecutionStartedEventAttributes (#2542)
2025-06-11 - 4f313bb - Add poller autoscaling (#2535)
2025-06-11 - bdc94f7 - Add native build to CI and MUSL build (#2490)
2025-06-12 - 5978835 - Set deploymentOptions on other types of poll requests (#2555)
2025-06-12 - a25f6ba - Fix ignoreDuplicateDefinitions to log only if we are ignoring (#2553)
2025-06-12 - b581ede - Add poller autoscaling options for Springboot (#2554)
2025-06-12 - e7e3fa6 - Implement Nexus operation cancellation types (#2520)
2025-06-13 - 231c724 - Don't fail Springboot if a bean is specified twice (#2558)
2025-06-17 - 4686691 - Fix some dependency issues with NonRootBeanPostProcessor (#2556)
2025-06-17 - a120887 - Deprecate VersioningIntent (#2561)
2025-06-18 - 4a05f51 - Fix build-native-image action again (#2567)
2025-06-18 - 7e83945 - Release Java SDK v1.30.0-RC1 (#2563)
2025-06-18 - b3757fc - Fix build-native-image (#2566)
2025-06-24 - e6e0867 - Make sure PollerBehavior is marked as Experimental (#2569)