MailFlow v3.3.0
Features
- Mailbox Cleanup can now archive, not just trash (#403): a single action selector on the Cleanup view lets you choose Archive (default and recommended) or Move to Trash. The sender-row button and confirmation text name the selected action, and Archive is disabled with a note on accounts that have no archive folder. Exact-sender, bulk-only scope, batching, progress, and count refresh are unchanged.
- Safe GTD classification undo (#370): classifying a message now offers Undo from the context menu, the runtime, and Ctrl+Z / Cmd+Z. When the server supports UIDPLUS, undo removes only the exact copy that was created, verified by Message-ID, without touching Inbox or other labels. It is a safe no-op on replay or a stale token.
- Sanitized, shareable diagnostics report (Settings > About): generates a PII-free JSON snapshot (versions, environment, per-account/folder counts, live sync events, warnings, and connection stats) that you preview before copying or downloading. IDs and custom folder names are salted-hashed; hosts become coarse provider labels; nothing is auto-sent.
- Summarize follows the UI language (#255): the built-in AI summary is now produced in your interface language.
- Full per-message menu on mobile (#234): open the complete action menu (including Snooze) directly from a message row in the list.
- Czech translation (#393): MailFlow is now available in Czech, bringing supported locales to 9.
Fixes
- AI provider test no longer fails on empty completions from reasoning models.
- Sidebar: subfolders are created under their parent instead of as siblings (#395); single-child folders stay visually indented (#398).
- Context menu re-clamps to the viewport when it grows (#396); the bulk-move picker stays on-screen (#397).
- Email links no longer open duplicate tabs on repeated clicks (#394).
Notes
- Docker images rebuilt for backend and frontend. No database migration required.