github temporalio/sdk-java v1.30.0

latest releases: v1.31.0, v1.30.1
2 months ago

💥 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)

Don't miss a new sdk-java release

NewReleases is sending notifications on new releases.