Back to the changelog

v0.79.1

August 4, 2026

Nine decisions closed, no grey areas. The ambiguous behaviours accumulated over the past weeks — who receives an event, what a script knows about the child flow it created, when an item is genuinely concluded, how views are ordered at equal priority — were decided one by one and implemented together.

  • Improvement

    Events reach the right recipient

    A subscription with no entity reference now receives only untargeted events: "no filter" used to mean "everything", and an event addressed to a specific entity could trigger the wrong item. The asynchronous-integration callback now emits domain events like every other channel, so alerts and listening flows fire on outcomes reported by n8n too — and a callback reporting an error without an explicit outcome now counts as failed, going through the fallback branch designed for failures. The payload towards external systems carries a code and the activity label, never the error message: consumers reading the `error` field must switch to `errorCode`.

  • Improvement

    Scripts, child flows and honest conclusions

    `spawnItem()` now returns its outcome to the script — `{ ok, itemId }` when the child started, a code when its entry failed: there was previously no way to know. The legacy "direct" event transition joins the common path: gates, entry activities and subscriptions fire there too. An item on a final phase awaiting required data stays open until the data arrives, closing on its own upon delivery — it previously ended up concluded with data missing. At equal priority, views follow arrival order, like the work-in-progress queue. And the wait-duration help now tells the truth: a bare number counts in seconds, with the designer suggesting an explicit unit.