MailFlow v3.7.0
PDF and image attachments open in a viewer, the conversation view gets the actions the reading pane has, GTD keeps one state per conversation, and several fixes stop mail being deleted. Thanks to @prudenciooficial for the attachment viewer, the password eye button and admin profile photos, @salmonumbrella for the GTD state switches and shortcuts, @Monkey7539 for the refused-recipient and AI language fixes, and @jokhond, @computrav, @phonkala, @ianpleasance and @Orevin for the reports behind the fixes below.
New
- Preview PDFs and images (#513). Clicking a PDF or image attachment opens a full-screen viewer with Download and Print, instead of saving the file first. PDF text can be selected and searched with Ctrl+F, an encrypted PDF asks for its password, and arrow keys move between attachments. Scripts inside a PDF never run. Other file types, files over 30 MB, and anything flagged as risky download as before.
- Conversation view actions (#521). Each open message in the conversation view now has Star, Mark unread, Print, Download .eml and, when AI is enabled, the AI actions menu. The thread bar has Print conversation, which prints every message in order under one title.
- One GTD state per conversation (#485). Moving a conversation to another GTD state removes it from the old one, so it no longer shows in two sections. Its inbox copy and ordinary labels stay.
- More GTD shortcuts.
vfor Reference,bfor Someday andShift+Efor Done, alongside the existingt,wandd. All can be changed in keyboard settings. - Show the password while typing. The sign-in and reset-password fields have an eye button.
- Profile photos in Admin > Users.
Fixed: mail that could be deleted
- GTD Done and removing a GTD label (#524). When a GTD folder held a message's only copy, for example mail moved there from another client, both deleted it. Done now archives that copy instead, and removing the label refuses and says to archive or move the message.
- GTD after replying. When you replied to a Todo or Someday conversation, its GTD copy was removed even when it was the only copy. It is now removed only when a copy outside the GTD folders, Drafts, Trash and Junk remains.
- Servers without UIDPLUS. Deleting permanently, or moving on a server without MOVE, also removed messages another client had marked as deleted but not yet removed (Thunderbird's "mark as deleted", older Outlook). Those are now left alone, and a delete the server refused is no longer reported as done.
Fixed
- Refused recipients (#518). When the mail server accepted a message but refused some recipients, MailFlow reported a full success. Compose now lists the refused addresses.
- Google Contacts sync (#503). Google's CardDAV server refuses the address book query MailFlow sent, so a Google address book always failed to sync. When a server refuses it, MailFlow now lists the address book and fetches its contacts in batches, the way Google's documentation describes.
- GitHub conversations (#509). With conversation threading on, GitHub notification threads failed to open behind some reverse proxies, Apache among them.
- Renamed favorites in Move (#505). The Move pickers now show a favorite under the name you gave it.
- Connection errors (#510). When every address of a mail server refused the connection, the error said only "AggregateError". It now gives each address's reason.
- AI language (#522). AI replies and drafts now come back in Czech or Brazilian Portuguese when that is your language.
- GTD summaries on labeled copies. On servers with UIDPLUS, the copy a label created lost the message's GTD summary, which cost another AI call to regenerate.
- Dependencies. nodemailer, undici and ip-address are updated for advisories published September 28. None was reachable in MailFlow's configuration.
Upgrading
ghcr.io/maathimself/mailflow-backend:latest points at 3.7.0, published for amd64 and arm64. There are no database migrations in this release. After updating, reload any open MailFlow tabs to get the new interface.