|
| 1 | +# **💥 BREAKING CHANGES** |
| 2 | + |
| 3 | +### Nexus (Public Preview) |
| 4 | + |
| 5 | +- ⚠️ **IMPORTANT** ⚠️ This SDK release requires server `>=1.27.0` to properly support the full set of changes from the previous SDK release. Most notably the built-in error translation logic changed in a way that may cause Nexus tasks to retry until the caller specified schedule-to-close timeout on certain failures, see more below. |
| 6 | +- Setting `WorkflowIDConflictPolicy` to `WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING` has been temporarily disabled, and will fail requests with a retryable internal error. |
| 7 | + - This is to protect users from making a false assumption that the same workflow can be used to back multiple operations. This capability will be enabled in a follow up release. |
| 8 | +- `WorkflowClientOperationHandlers` was renamed to `WorkflowRunOperation` |
| 9 | +- `OperationId` was renamed to `OperationToken` and the content for a `WorkflowRunOperation` of it was changed to a structured token instead of copying the workflow ID directly. |
| 10 | +- Removed `WorkflowClient` from the input of all Temporal nexus handlers, a client can now be accessed by calling `Nexus.getOperationContext().getWorkflowClient()` |
| 11 | +- `FailureConverter` now supports serializing and deserializing `HandlerException` . Previously these may have been deserialized as `ApplicationFailure` . |
| 12 | + - Note: This is can potentially cause Non-Determinism exceptions if users were handling `ApplicationFailure` . |
| 13 | +- The promise returned from `NexusOperationHandle.getExecution()` now correctly will return the appropriate exception if the underlying nexus fails in a synchronous manner |
| 14 | + - Note: This is can potentially cause Non-Determinism exceptions if users called `NexusOperationHandle.getExecution()` |
| 15 | + |
| 16 | +### Failure Converter |
| 17 | + |
| 18 | +The `FailureConverter` interface was changed. `FailureConverter.failureToException` now can return any type implementing `RuntimeException` instead of just types implementing `TemporalFailure` |
| 19 | + |
| 20 | +### Java Protobuf 3/4 Support |
| 21 | + |
| 22 | +The Temporal Java SDK now supports `protobuf-java` 3.x and 4.x. To support these, the Temporal Java SDK allows any protobuf library >= 3.25. Temporal strongly recommends using the latest `protobuf-java` 4.x library unless you absolutely cannot. If you cannot use protobuf-java 3.25 >=, you can try `temporal-shaded` which includes a shaded version of the `protobuf-java` library. |
| 23 | + |
| 24 | +# **Highlights** |
| 25 | + |
| 26 | +### Spring Boot API Key support |
| 27 | + |
| 28 | +The Java SDK Spring Boot integration now directly supports API key authentication. |
| 29 | + |
| 30 | +For documentation see: https://github.com/temporalio/sdk-java/tree/master/temporal-spring-boot-autoconfigure#api-keys |
| 31 | + |
| 32 | +### Spring Boot Multi-Namespace support (Experimental) |
| 33 | + |
| 34 | +The Java SDK Spring Boot integration now has experimental support for running multiple none-root namespace along side the root namespace. |
| 35 | + |
| 36 | +For documentation see: https://github.com/temporalio/sdk-java/tree/master/temporal-spring-boot-autoconfigure#running-multiple-name-space-experimental |
| 37 | + |
| 38 | +# What's Changed |
| 39 | + |
| 40 | +2024-12-09 - e1bef897 - Update protocloud submodule (#2344) |
| 41 | +2024-12-12 - 53a8af7e - Remove Experimental annotations from Update APIs (#2347) |
| 42 | +2024-12-27 - c3e0e779 - Set request Id on SignalWorkflowExecutionRequest (#2352) |
| 43 | +2025-01-06 - 82d3c93d - Update Java SDK for Temporal Sever v1.26.2 (#2357) |
| 44 | +2025-01-06 - 9a8894af - Set LastHeartbeatDetails on activity failure (#2354) |
| 45 | +2025-01-06 - ff333ca7 - Add javadocs for ActivityCompletionClient (#2353) |
| 46 | +2025-01-08 - cf061311 - Test server support for Nexus operation complete before start (#2348) |
| 47 | +2025-01-15 - 35e390ea - Add method to get workflow client from an activity (#2369) |
| 48 | +2025-01-16 - 90e51259 - Fix NDE caused by removing Workflow.getVersion with a succeeding Work… (#2370) |
| 49 | +2025-01-16 - b187644b - Add details to manifest (#2355) |
| 50 | +2025-01-16 - b593b35b - [OpenTracing] Wrap returned promises in OutboundCallsInterceptor (#2366) |
| 51 | +2025-01-17 - 3ad0b0e6 - Avoid lock up on unexpected ExecutorService errors while executing Local Activities (#2371) |
| 52 | +2025-01-22 - b471e13e - Access to workflow/activity instance from context (#2384) |
| 53 | +2025-01-22 - c51e5d19 - Upgrade some test dependencies (#2382) |
| 54 | +2025-01-22 - cdbc520a - Split up & use more appropriate timeouts for parallel LAs test (#2385) |
| 55 | +2025-01-28 - 8b17a526 - Support Proto 3 and 4 (#2383) |
| 56 | +2025-01-28 - ce90d24e - Enable speculative workflow tasks (#2390) |
| 57 | +2025-01-28 - f93910b1 - Make sure GetVersion never yields (#2376) |
| 58 | +2025-02-03 - de33b3ad - Update docs for max workflow task timeout (#2396) |
| 59 | +2025-02-04 - fd65ea97 - Inject namespace header (#2400) |
| 60 | +2025-02-07 - 32df8d4b - Remove Nexus sync client handler (#2403) |
| 61 | +2025-02-07 - 76630fef - Update max task timeout (#2407) |
| 62 | +2025-02-10 - 32fbf020 - Fix kotlin child workflow execute varargs (#2395) |
| 63 | +2025-02-10 - f9a9cad9 - Rename WorkflowClientOperationHandlers->WorkflowRunOperation (#2405) |
| 64 | +2025-02-10 - fc4d714b - Update proto v1.44.0 (#2406) |
| 65 | +2025-02-11 - 00f7dd02 - Add API key property to Springboot (#2408) |
| 66 | +2025-02-11 - 24f225c7 - Java test server support for attaching links to signal and signal with start requests (#2411) |
| 67 | +2025-02-12 - c6e0306a - Special behavior for Temporal built-in prefixes (#2409) |
| 68 | +2025-02-17 - c6375d67 - feat: multi namespace support (#2378) |
| 69 | +2025-02-18 - 436d0800 - Add Graal reflection config for UwS (#2363) |
| 70 | +2025-02-18 - 6f4621de - Update readme for multi namespace support (#2416) |
| 71 | +2025-02-18 - a2455aff - Make sure workflow_task_execution_failed always has a failure_reason (#2419) |
| 72 | +2025-02-18 - a643a799 - Add nexus configuration to spring boot readme (#2417) |
| 73 | +2025-02-20 - f92b53c2 - 💥 Nexus error rehydration (#2365) |
| 74 | +2025-02-21 - 963ea9ff - Add sdk name/version to task completions when unset or changed (#2422) |
| 75 | +2025-02-24 - 49bd366a - Add support for operation timeout header (#2427) |
| 76 | +2025-02-24 - 729e25e3 - Workflow run token (#2421) |
| 77 | +2025-02-24 - d0cf3f37 - Add support for attaching to a running workflow (#2424) |
| 78 | +2025-02-25 - 7cd49327 - fix documentation in CapacityConfigurationProperties (#2429) |
| 79 | +2025-02-25 - f90c57b5 - Block using conflict policy UseExisting for Nexus WorkflowRunOperation (#2428) |
0 commit comments