Moltaro 0.0.33-beta
Release date: 2026-09-02
This release adds the first governed Tasks administration capabilities, introduces configurable File Protection repositories, expands Entity UI and Work Inbox workflows, and delivers reliability fixes across uploads, deployment retention, mobile navigation, and entity administration.
Highlights
Section titled “Highlights”- The new Tasks module provides lifecycle and security administration, Task Definition and Outcome configuration, owned Input and Working Data designers, completion-eligibility rules, immutable Direct/Queue execution modes, interruption-reason catalogs, and supported .NET automation services.
- File Protection administrators can configure one private protection repository using Moltaro-managed or customer-owned Hetzner storage. Setup is encrypted, reconciled, and crash-safe, and does not start protection or create recovery points by itself.
- Activity Feed comments can mention authorized users and deliver contextual Work Inbox notifications. Users can search, filter, open permitted sources, and archive or restore their own inbox items.
- Entity Card surfaces now support secure Related Tables with role-aware table selection, server-owned parent filters, and independent child operations.
- Runtime and administration fixes improve attachment failure diagnostics, selector validation, mobile navigation and actions, directory replacement, and exact Docker-image retention.
Detailed changes
Section titled “Detailed changes”Tasks administration and extension surface
Section titled “Tasks administration and extension surface”- Administrators can enable the Tasks module, inspect its Work Schedule dependency, assign module roles, and manage Task Definitions and Outcomes.
- Every Task Definition can own separate Entity-backed Input Data and Working Data shapes. Administrators can configure their columns and validation rules and define server-evaluated completion eligibility without custom runtime code.
- Definitions have immutable Direct or Queue modes and an administrator-owned catalog of interruption reasons. The delivered release does not yet execute Tasks, Task Queues, pause/block/postpone transitions, schedules, recovery, or reporting; those remain later Tasks runtime stages.
- The
Moltaro.Package.NET.Taskspackage exposes the supported definition query and mutation services, readiness/status contracts, schema models, and completion-eligibility DSL. Generated project guidance identifies which services are available in each function host.
File Protection repository configuration
Section titled “File Protection repository configuration”- File Protection advances from lifecycle-only administration to one immutable Protection Repository binding shared by future File History and BLOB Protection capabilities.
- Administrators can select Moltaro-managed storage when the deployment allows it or provide customer-owned Hetzner credentials through encrypted Managed Secrets. Account-wide provider credentials and repository secrets are not returned to the workspace runtime.
- Repository provisioning or adoption verifies a private versioned bucket, Object Lock, at least 30 days of Compliance retention, and an ownership marker. Interrupted setup is recoverable and explicit reconciliation checks the stored binding.
- A
Repository readystate confirms storage configuration only. This release does not include backup sources, schedules, backup execution, recovery points, restore, File History capture, or a protection agent. - The File Protection .NET status contract is version 1.1 and reports the safe
ProtectionRepositorycapability without exposing bucket, endpoint, credentials, object keys, or provider responses.
Activity Feed and Work Inbox
Section titled “Activity Feed and Work Inbox”- Activity Feed comments support authorized user mentions. Mention delivery preserves comment and resource context while withholding content when the recipient can no longer read the owning resource.
- Mention history survives comment undo/redo, and Entity mentions require both access to the comment owner and a readable Activity Feed surface.
- Work Inbox notifications use standard responsive grids and detail drawers, full-history search, explicit state/severity/date filters, visible applied filters, direct access-safe source navigation, and personal archive/restore state.
- Realtime and paged inbox queries reject stale responses when filters or cursors change. Mention occurrence time remains the original comment time, including mentions added by a later edit.
Entity UI and administration
Section titled “Entity UI and administration”- Form and Card surfaces can contain Related Tables backed by a direct InverseReference. The server derives the locked parent filter, resolves the effective child Table surface for the caller’s roles, applies Unified Security before paging, and keeps child create/edit/delete behavior governed by the child entity.
- Card Related Tables preserve tabs, role-aware selectors, package/YAML portability, and lazy collapsed rendering. Missing, inaccessible, or invalid targets fail closed rather than falling back to an unrelated surface.
- Responsibility creation now guides administrators directly into assignment rule configuration. Selector writes canonicalize custom surface targets and reject missing or concurrently deleted dependencies.
- Empty Form and Card surfaces show an explicit informational state. Mobile list actions appear below content with one primary action and a compact More actions menu, and the mobile navigation edge handle remains accessible when the app bar is hidden.
APIs and runtime reliability
Section titled “APIs and runtime reliability”- Public OpenAPI documents describe Entity create and mutation result unions
with
oneOfand discriminator mappings that match the existing JSON result contract. This clarifies POST create results versus PATCH mutation receipts without changing their wire payloads. - Batch attachment failures preserve safe per-item reason, lifecycle, cleanup, retryability, and correlation metadata. Non-retryable failures abort the physical attempt and release its reservation; retryable attempts remain resumable.
- On-prem directory replacement no longer follows unsafe replacement paths, quick-filter and responsive UI states are normalized, and deployment cleanup keeps exact current/previous Docker tags without retaining aliases merely because they share an image ID.
Database and upgrade impact
Section titled “Database and upgrade impact”This release adds Workspace schema for the Tasks module foundation, Task Definition administration and owned data designers, definition modes and interruption reasons, File Protection repository bindings, Activity Feed mentions, Work Inbox search, and personal archive state. PortalDb gains the managed protection-storage foundation. Existing business records, files, security assignments, backups, and configured Entity UI surfaces are not deleted or rewritten.
Each Managed App has ordinary full-runtime replacement downtime while its recovery point is captured, Workspace migrations are applied, and API, WebApp, Worker, PostgreSQL, and RabbitMQ readiness are verified. Rollback requires the verified pre-release Workspace recovery point together with the previous runtime. Operators must not manually remove new schema objects or edit EF migration history.
Deployment and operator actions
Section titled “Deployment and operator actions”- Publish this version with full
ReplaceRuntimefor all production Managed Apps. Do not prepare or apply a delta update. - Require the latest automatic backup for every running application to be
Available, preserve the attached Runtime VM staging volume and all managed Object Storage bindings, and capture the normal pre-release recovery points. - Do not enable Tasks or File Protection, create a protection repository, or change module-role mappings as part of the deployment. Those remain explicit administrator actions after release.
- After replacement, verify exact target images, API/WebApp/Worker/RabbitMQ readiness, empty active operation queues, current/previous Docker retention, and successful public Portal/documentation/API routes.
- Verify that existing OMS and Questionnaire entity/board navigation remains usable, Work Inbox opens without stale-response errors, Tasks administration reports its dependency state without changing lifecycle, and File Protection remains disabled without provisioning storage implicitly.
Compatibility and breaking changes
Section titled “Compatibility and breaking changes”No existing REST wire payload or persisted customer contract is intentionally broken. Entity mutation OpenAPI schemas now expose the result union accurately; generated clients may regenerate more specific result types even though the JSON payload remains unchanged.
Moltaro.Package.NET.Tasks is a new supported package surface. It replaces an
unreleased intermediate Operational Task naming draft and therefore has no
compatibility alias. File Protection package consumers can adopt the additive
1.1 repository-status contract; existing status consumers remain valid.