Back to the changelog

v0.46.0

July 12, 2026

A security hardening pass from the latest audit: closed a few isolation gaps between customer tenants on task opening, manual status change and automation initiatives, and made the real-time channel more resilient against a potential overload.

  • Security

    Tenant isolation

    Task opening. The endpoint that records an operator's first access to a task now always checks that the task belongs to the caller's tenant — it previously read/wrote without that check. Manual status change. The guard that blocks manually selecting an "exception-only" status now only considers statuses of the item's own flow, not a status with the same id from another flow. Automation initiatives. Creating an initiative linked to a process map and a node now verifies that both exist, belong to the right tenant and are consistent with each other — previously accepted with no checks. Runtime event registry. An extra tenant-ownership check on the automatic generation of a flow's system events (timeout/WIP/SLA).

  • Security

    A more resilient real-time channel

    Connection cap. The real-time update channel (used by lists, dashboards and history) now has a configurable ceiling on simultaneous connections (default 1000), beyond which new connections are cleanly rejected instead of degrading the ones already active. Spread-out resync. After a database connection hiccup, the "reload your data" signal sent to clients is now spread over a short window instead of all at once, avoiding a spike of simultaneous requests on the server.