Back to the changelog

v0.84.1

August 21, 2026

**What you save is what runs.** Designer rules, events and forms are verified at the source: a default rule can no longer hide a condition that would be ignored, an "on event received" rule must point to an actually subscribed event, an import no longer creates nameless event definitions, and form schemas are checked against what the runtime can interpret. Plus, Human phases gain the Rules tab for event-driven waiting.

  • Improvement

    Event-driven waiting for Human phases too

    The Designer's Rules tab is now available on Human phases as well: you can build "stay in this phase until event X arrives" without inventing helper automatic phases. A hint in the tab explains when rules are evaluated.

  • Improvement

    Unambiguous rules: default and conditions don't mix

    A rule marked as default is the unconditional fallback: the engine has always ignored its condition. Now the Designer visibly clears the condition when you mark it default, and every save path rejects the misleading combination with a clear error. Already-published flows don't break: they get a warning at publish.

  • Improvement

    Event rules point to real events

    An "on event received" rule must reference an event actually subscribed by the phase: previously a misconfigured rule simply stayed silent forever, now it is rejected at save time with the exact problem indicated.

  • Improvement

    More honest imports for events and forms

    An import with an empty event name no longer creates anonymous event definitions visible tenant-wide; a non-canonical name is normalized with an explicit warning in the response. Form schemas are checked against the actually supported subset, on every write path — Designer, import, fork and API.

  • Security

    No more internal errors from empty event references

    An empty event reference in a design save receives a clear, controlled response instead of an internal server error.