Changelog
v0.10.36
mutate()nodes: now acceptupdate_revision_on_change: trueoption, to have the mutated node trigger downstream computations (idempotent behavior matchingJourney.set/3). (#207)compute()nodes do not trigger downstream computations if the newly computed value is unchanged (idempotent behavior, matchingJourney.set/3). (#208)schedule_recurring()nodes: recompute when upstream dependencies change, adding new semantics for pausing recurring scheduling (node'sf_computereturning{:ok, 0}). (#203, #204)- relaxing
ex_docversion constraint to include 0.39. (#205)
v0.10.33 - v0.10.35
- Metadata support:
Journey.set/3now acceptsmetadata: %{...}option for tracking additional context. - Multinodal nodes: Added
f_compute/2for multi-input compute nodes and enhancedhistorian()for tracking node changes (EXPERIMENTAL). Journey.get/3: New function returning both value and revision (soft-deprecatesget_value/3).Journey.new_graph/4: Added optionalexecution_id_prefix: "..."parameter for easier troubleshooting.Journey.values/2: Addedinclude_unset_as_nil: trueoption.Journey.get_value/3: Enhanced with more ergonomicwait:andtimeout:options, addedwait_for_revision:, superseded byJourney.get/3.- Fully implemented reactive behavior for
:orrecomputations. schedule_once/3nodes now recompute on new upstream revisions.
v0.10.32
- Graph validation:
Journey.new_graph/4to explicitly check for circular dependencies. Journey.list_executions/1'sfilter_by:param to handle:contains,:icontains,:list_contains.- Renamed
Journey.set_value()toJourney.set/2/Journey.set/3andJourney.unset_value()toJourney.unset/2, added support for atomically setting multiple values. - Documentation updates (graph migration notes, modules and functions summary, tidier license text).