Skip to content

Release 1.7.0

Choose a tag to compare

@reid-spencer reid-spencer released this 09 Feb 02:31
· 1443 commits to main since this release
c570bf8

What's New

Analysis Passes

  • MessageFlowPass: Builds directed message flow graph (producers, consumers, message types, flow mechanisms)
  • EntityLifecyclePass: Extracts entity state machines (states, transitions, initial/terminal states)
  • DependencyAnalysisPass: Builds cross-context and cross-entity dependency graphs

ValidationPass Enhancements

  • Handler completeness classification: Handlers classified as Executable, PromptOnly, or Empty via HandlerCompleteness and BehaviorCategory
  • RecognizedOptions registry: ~25 recognized RIDDL options validated for name, arity, and parent type compatibility
  • Streaming reachability: Isolated streamlet detection and source-to-sink BFS reachability checks
  • New semantic validations: Entity handler command/query handling, FSM morph/become checks, repository/projector handler patterns, adaptor message type cross-referencing, schema relational link validation, saga do/undo compensation symmetry

DiagramsPass Extensions

  • DataFlowDiagramData: Populated with resolved connections (outlet→inlet via connectors), streamlets, and message types
  • DomainDiagramData: New case class with processors, subdomains, contexts, and epics

StatsPass

  • Statement classification into prompt and executable categories (numPromptStatements, numExecutableStatements)

RiddlLib / RiddlAPI

  • getHandlerCompleteness(), getMessageFlow(), getEntityLifecycles() on shared trait + JS facade

All changes are additive — no breaking API changes. Full clean build: all tests pass on JVM, JS, and Native.