What's Changed
Breaking Changes
See the migration guide for upgrade instructions from 1.x to 2.x.
StepConfig.semantics(...)has been removed. UsesemanticsPerRetry(...)instead, and addretryStrategy(RetryStrategies.Presets.NO_RETRY)when preserving oldAT_MOST_ONCE_PER_RETRYbehavior by @zhongkechen in #476- Logger MDC fields were renamed to align with the other Durable Execution SDKs:
durableExecutionArn->executionArn,contextId->operationId, andcontextName->operationNameby @zhongkechen in #465 - Replay-sensitive logging and replay APIs were updated to use per-context replay state.
isReplaying()now belongs onDurableContext, andStepContextno longer exposes replay state by @zhongkechen in #481 - Invalid context usage now throws
IllegalStateExceptioninstead ofIllegalDurableOperationExceptionby @zhongkechen in #477 - Serialized operation results and exceptions are now deserialized before checkpointing by default, so custom
SerDesimplementations must support SDK-managed round trips by @zhongkechen in #480
New Preview Feature: OpenTelemetry Plugin
See the OpenTelemetry plugin documentation.
- Added the
plugin-otelpreview artifact for OpenTelemetry instrumentation, with support for X-Ray context extraction and trace ID priority by @ayushiahjolia in #464 - Prepared
plugin-otelfor independent publishing to Maven Central by @ayushiahjolia in #494 - Renamed the OpenTelemetry plugin artifact to
plugin-otelby @ayushiahjolia in #496 - Renamed
OpenTelemetryDurablePlugintoOtelPluginby @ayushiahjolia in #497 - Added X-Ray end-to-end integration tests for span validation by @ayushiahjolia in #444
- Fixed span emission for cross-invocation operations and replay by @ayushiahjolia in #482
Features
- Added a linear retry strategy by @nanookclaw in #468
Fixes and Improvements
- Added a user-friendly message for
StepInterruptedExceptionby @zhongkechen in #495 - Moved Javadoc publishing to GitHub Actions-based GitHub Pages by @zhongkechen in #473
- Fixed the new Javadoc jobs by @zhongkechen in #478
- Consolidated milestone badge publishing into the Pages build by @zhongkechen in #483
- Added notifications for discussions by @zhongkechen in #460
- Updated Dependabot schedule to weekly by @zhongkechen in #490
New Contributors
- @nanookclaw made their first contribution in #468
Full Changelog: v1.2.1...v2.0.0