github temporalio/sdk-java v1.4.0

latest releases: v1.27.1, v1.27.0, v1.26.2...
3 years ago

Highlights

  • TestWorkflowRule doesn't enforce timeouts anymore, users should use JUnit or other test frameworks functionality to enforce test level timeouts
  • Dynamic Workflow Failures are handled correctly
  • TEMPORAL_DEBUG mode is fixed in regards to Deadlock exceptions
  • JavaSDK migrated to the unified tctl version of history in replays
  • Fixed duplication of workflow metrics during replays
  • Workflow client stubs now respect context propagators set on WorkflowClientOptions#contextPropagators

Migration notes

Previous versions of JavaSDK (<v1.4.0) were generating JSON histories in an incorrect format (#300).
Users who already have pregenerated JSON Workflow Histories as a part of their test suite may need to perform a migration if these histories were generated by the previous version of JavaSDK.
io.temporal.internal.common.HistoryJsonUtils.protoJsonToHistoryFormatJson may be used to convert JSON histories generated by the old versions of JavaSDK to the unified tctl format.
This note is applicable only if you used JavaSDK to generate the original histories. Nothing needs to be done if the histories were generated by the Temporal command-line tool or WebUI, they are already in a correct format.

Full Changeset

  • Post-release cleanup and versions upgrade by @Spikhalskiy in #715
  • WorkflowExecutionUtils refactoring by @Spikhalskiy in #717
  • Move check for isTemporalDebugModeOn down to WorkflowThreadContext#runUntilBlocked to avoid missing checks on the calling side by @Spikhalskiy in #720
  • Improve LongLocalActivityWorkflowTaskHeartbeatFailureTest flakiness by @Spikhalskiy in #703
  • Support tctl format of history by @Spikhalskiy in #729
  • Switch SelfAdvancingTimerImplTest to use fixed clock to reduce flakes and improve the quality of checks by @Spikhalskiy in #728
  • Add error handling for dynamic workflow failure by @mfateev in #723
  • LargeHistoryTest is unignored by @Spikhalskiy in #725
  • User-facing TestWorkflowRule doesn't enforce test timeouts anymore by @Spikhalskiy in #719
  • Removed unnecessary thread interrupt by @vkoby in #722
  • Cleanup LongPoll code and update Async version by @Spikhalskiy in #730
  • Create UnitTest namespace in dockerized Temporal before running temporal-kotlin module tests by @Spikhalskiy in #733
  • Add logback-test to kotlin module to decrease verbosity of building logs on docker from netty by @Spikhalskiy in #734
  • Adapt GetVersionAfterScopeCancellationTest so it runs against external docker without time skipping by @Spikhalskiy in #736
  • Update proto and micrometer dependencies by @vitarb in #750
  • Remove target when setting channel in workflow test environment options by @vitarb in #751
  • Record last worker identity during heartbeat by @vkoby in #698
  • Relocate CODEOWNERS file to be consistent with go-sdk by @Spikhalskiy in #755
  • Improve javadocs around ActivityCancellationType by @Spikhalskiy in #754
  • Fix AbandonOnCancelActivityTest flake by @Spikhalskiy in #757
  • Adapt CheckedExceptionWrapper to Throwables that are not Exceptions and Errors by @Spikhalskiy in #758
  • Expose AuthorizationGrpcMetadataProvider constructor by @Spikhalskiy in #763
  • Fix a timeskipping bug in the test service by @nagl-stripe in #764
  • Cleanup for using external docker in CI and a temporary fix for server namespaces publishing delay by @Spikhalskiy in #735
  • Update and reorganize dependencies by @Spikhalskiy in #776
  • Restore assertion clauses of BinaryChecksumSetWhenTaskCompletedTest by @Spikhalskiy in #767
  • Beautify the output of prettyPrint for history to make test histories much easier to read by @Spikhalskiy in #780
  • Various debugging utils developed during state machine bug investigation by @Spikhalskiy in #781
  • Make TestService ignore heartbeat identity like dockerized server does by @vkoby in #782
  • Handle case where getMemo requests a non-existent key by @jeffschoner-stripe in #783
  • Fix HealthCheckTest to run with dockerized buildkite environment by @Spikhalskiy in #785
  • Fix flaky ActivityThrowingErrorTest by @Spikhalskiy in #786
  • Turn on unit testing with Docker by @vkoby in #644
  • Identity for pending activity comes from pollRequest in TestService by @vkoby in #784
  • Dependency Update by @vkoby in #791
  • Enable IdentityInPendingActivityTest for Dockerized Temporal by @Spikhalskiy in #792
  • Disable emitting of completion metrics when replaying workflow by @asmadsen in #769
  • Use ReplayAwareScope to don't double report completion on replays, fix STICKY_CACHE_THREAD_FORCED_EVICTION double reporting by @Spikhalskiy in #795
  • Deleted this test. DescribeTest already covers this functionality. by @vkoby in #797
  • WorkflowClientOptions#contextPropagators is now used for Workflow stubs if not overridden on WorkflowOptions by @Spikhalskiy in #798
  • Implement activity_succeed_endtoend_latency and local_activity_succeed_endtoend_latency metrics by @Spikhalskiy in #800
  • Fix the way SNAPSHOT versions are created by @Spikhalskiy in #801
  • Make grpc-netty-shaded dep API scoped by @Spikhalskiy in #803
  • Release v1.4.0 by @Spikhalskiy in #804

New Contributors

Full Changelog: v1.3.1...v1.4.0

Don't miss a new sdk-java release

NewReleases is sending notifications on new releases.