Back to the changelog

v0.86.9

September 5, 2026

**Clear contracts, nothing lost:** free drafts with strict publishing, a Document trash with guided restore, errors that speak plainly, and a complete audit of automatic rules.

  • Feature

    Document trash

    A new dedicated view lists logically deleted item documents: for each one you see item, flow, field, deletion date and how long until the grace period expires — with no promises beyond that date. Restore asks for confirmation, reports the outcome per document and explains every block (for example an archived flow) instead of just hiding the button.

  • Security

    Free drafts, strict publishing

    Saving a draft with document fields no longer requires storage to be configured first: design now, configure later. In exchange, publishing became strict: document fields without a resolvable provider and form widgets that don't match a compatible field — including phase forms and nested sections — are blocked with dedicated errors, before they can cause trouble in production.

  • Security

    Document errors that speak plainly

    All document-domain errors now flow through a single catalog shared between server and interface: known cases get a clear message in Italian and English, unknown ones a generic message with a correlation code to share with support. Internal server details never appear on screen.

  • Security

    Every rule leaves a trail

    In automatic state transitions, the history now records an audit of every evaluated rule — not just the winning one: outcome, global variables used with their version, and values redacted by sensitivity, with secrets always masked. Even when no rule fires, the history says which ones were discarded, so the decision can be reconstructed.

  • Improvement

    Verified deletion for historical documents too

    The administrative storage re-attestation now requalifies, one by one, document versions uploaded before the upgrade whose identity exactly matches the attested one: for these, verified physical deletion resumes. Versions whose identity changed remain prudently excluded — never a blind requalification.

  • Improvement

    Request limits fixed per route

    Some operations — including invitation acceptance and several administration functions — mistakenly inherited the very strict request limit of adjacent, more protected operations, causing unexpected rejections during normal use. Now every operation has its own limit; the check was extended across the whole API surface.

  • Improvement

    Three ways to delete, three clear names

    "Remove reference", "Move to trash" (logical deletion) and "Delete permanently" now always mean the same thing, everywhere: interface, API and guide. The Documents chapter includes a table explaining, for each operation, reversibility, required permissions and the effect on storage space.