Repository navigation
Release v2.3.0
This release updates the Java SDK, testing library, OpenTelemetry plugin, and preview Durable Execution Telemetry Exporter to 2.3.0.
What's changed
- Add
FileSystemSerDesfor durable operation payloads stored on shared filesystems, with context-aware serialization and support for deserializing step results in local tests. #755, #759 - Return
PENDINGgracefully when the service revokes a checkpoint token, preserving accepted work for replay. Add pause/resume controls to the local test runner. #778 - Fix
DurableFuture.anyOfsuspension handling, handle callback failures without an error payload, and report invalid suspension when no operations remain pending. #730, #774, #785 - Preserve OpenTelemetry context through handler execution and finalize invocation hooks on the handler thread. Export synthetic execution roots and preserve READY wait progress. #771, #767
- Preserve failed-operation span status when diagnostic details are absent, improve callback context and replay behavior, and align local child-history handling with the service. #769
- Add optional calling-operation X-Ray context to new chained-invoke START checkpoints using the released Lambda model, while preserving completed replay behavior. #768
- Isolate incompatible OpenTelemetry API linkage failures and reject conflicting or duplicate durable OpenTelemetry views with a configuration error. #780, #766
- Keep a separate pending telemetry export slot for each execution so interleaved executions do not replace one another's pending records. #716
- Update dependencies, including AWS SDK for Java 2.56.0, Lambda Java Core 1.4.1, and OpenTelemetry 1.67.0.
Upgrade notes
Upgrade the core SDK and OpenTelemetry plugin/layer together. The 2.3.0 plugin requires the core's same-thread invocation-hook capability and rejects a 2.2.1 core. Configure only one durable OpenTelemetry view per handler. The existing 2.x plugin registration API remains available.
The preview Workflow Insight plugin is now Durable Execution Telemetry. Update the Maven artifact from aws-durable-execution-sdk-java-plugin-insight to aws-durable-execution-sdk-java-plugin-telemetry-exporter under the unchanged software.amazon.lambda.durable group. Update Java imports from software.amazon.lambda.durable.insight to software.amazon.lambda.durable.telemetry and APIs such as WorkflowInsight.workflowInsight(...) to DurableExecutionTelemetry.durableExecutionTelemetry(...).
The record discriminator changes from WorkflowInsight to DurableExecutionTelemetry. Default destination resource names and prefixes, the EventBridge source, and the OpenTelemetry instrumentation scope also change. No legacy aliases or fallback readers are provided; existing preview integrations and stored-record consumers need migration. See the complete rename details.
Filesystem serialization requires durable shared storage, stable mount paths, and retention of referenced files throughout replay. Callback and invoke producers must use compatible serialization and shared storage.
Trace propagation scope
Chained-invoke metadata is emitted only when the calling-operation context and effective sampling policy can be established. Unsupported or opaque execution-view providers retain the omitted-header fallback. Deployed child Parent/ancestry qualification remains tracked in conformance #131; this release does not claim that qualification. Invocation-local runtime X-Ray header capture remains tracked separately in #765.
Full changelog: v2.2.1...v2.3.0