Skip to main content
0.14.0 (2026-10-08) consolidates the executable Java DSL, with fluent completion for non-returning final children and clearer authoring diagnostics. The first executable-DSL milestone was 0.13.0; this is not full R1 completion. It depends on Agent Judge 0.18.0.

Executable DSL milestone

Write ordinary constructor-injected Step<I,O> objects. Workflows.define(...) builds a ValidatedWorkflow; DurableWorkflows executes its validated graph. Concrete Java types derive inputs, earlier-value captures and combined record inputs. Ambiguity refuses at build time. StepContext holds execution metadata, while business data travels through arguments and results. Supports typed sequences, nested same-run reusable workflows, exhaustive enum decisions, native Verdict routing, static parallel groups and bounded runtime fan-out. Fan-out accepts an immutable indexed manifest before item execution, isolates each occurrence (including equal values), applies item-count and logical in-flight bounds and collects results in input order. Logical whole-body occupancy is separate from physical Step capacity; nested coordination consumes no worker slots. Six runnable typed lessons · Complete compiling deterministic example · Release notes
Native Verdict routing additionally needs agent-judge-json-jackson2:0.18.0. The examples are deterministic fixtures, not live provider demonstrations; they need no provider or API key.

Recovery and limits

Local JDBC durability reuses committed results, assessments, selected routes and exact inputs after process death. The application reopens the compatible deployment and explicitly resumes unfinished runs. Unresolved external effects can repeat within saved attempt/deadline limits; there is no exactly-once external-effect guarantee. One local JVM owns a store. Cancellation and expiry prevent late result acceptance but do not stop application calls. Store/run format 9 refuses older formats; no migration or automatic conversion. Keep earlier data with its matching deployment. Terminal failed/cancelled runs cannot be reopened; fresh reruns can repeat effects. Rolling back binaries does not downgrade stores.

Subsequent work

Durable loops, waits/timers, Workflow committed-event Journal projection, non-routing evaluation, visualization/AI authoring and broader hardening remain deferred. Unsupported constructs refuse runtime admission. Legacy in-memory composition and agent-loop APIs remain companion APIs without this durable contract; their retirement and consumer migrations are subsequent work. The typed tutorial teaches this milestone; remaining historical trace and companion guides are labeled for their earlier APIs. Source · Business Source License 1.1