Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
Phronomy::Graph::Contextmodule — canonical module for defining workflow context classes (replaces the removedPhronomy::Graph::State).Phronomy::Graph.register_context_class— registers context classes for deserialization from external stores (Redis, DB).Phronomy::Workflow.defineDSL — primary high-level API for declaring stateful workflows (state,wait_state,event,after,initial).Phronomy::Graph::WorkflowRunner— state-machine execution engine backing the Workflow DSL. Replaces the removedCompiledGraph.app.send_event(event, config:)— event-driven resume for workflows halted at await_state.state.halted?— returnstruewhen the workflow is paused at await_state.state.phase— single source of truth for execution state.
Removed
Phronomy::Graph::StateGraph/CompiledGraph— usePhronomy::Workflow.define.Phronomy::Graph::State— usePhronomy::Graph::Context.Phronomy::Graph.register_state_class— useregister_context_class.state.current_nodes/state.halted_before— usestate.phase/state.halted?.compiled.interrupt_before/compiled.interrupt_after— usewait_state+event.compiled.resume— useapp.send_event.
[0.2.0] - 2026-05-13
Added
Phronomy::Graph::WorkflowRunner— state_machines-based execution engine (introduced as the internal successor toCompiledGraph).state.phase— single source of truth for graph execution state (replacescurrent_nodes+halted_beforedual attributes).state.halted?— returnstruewhen the graph is paused.CompiledGraph#add_wait_state— declared a named wait state that halts automatically when reached (later superseded bywait_stateDSL inWorkflow.define).CompiledGraph#send_event(state:, event:, input: nil)— event-driven resume API (later superseded byapp.send_event).
Removed
ParallelNodeandadd_parallel_nodeDSL. UseThread.neworConcurrent::Futureat the application level instead.Phronomy::Graph::TimeoutError(was only used byParallelNode).