✨ New Features
- MCP Server - Optional Model Context Protocol server (Streamable HTTP transport at
/mcp) that can exposes the archived mail to AI agents via the toolslist_accounts,list_folders,search_emails,get_emailandget_attachment. See MCP. - Calendar/Meeting Invitations - iCalendar (
text/calendar) parts from meeting invites are now preserved as.icsattachments and rendered as a readable plain-text summary (start, end, location, organizer, attendees, description). - Acknowledge Sync Failures - New "Acknowledge Failures" button on the Jobs page for completed sync jobs with failed emails. .
⚙️ Improvements
- Retention Deletion Logging - Server-side (IMAP/M365) and local retention deletions are now recorded in the AccessLogs page as a new
Retentionlog category. - SQL Injection Hardening in Email Search -
EmailCoreService.SearchEmailsAsyncnow canonicalizessortBy/sortOrdercentrally (any unknown value falls back to the defaults) and parametrizesLIMIT/OFFSETinstead of interpolating integers.
🐛 Bug Fixes
- Client-Side Date Guard for Email Deletion - The IMAP and M365 retention deletion now re-verifies the message date client-side before deleting from the live mailbox, regardless of the server-side date filter. Protects against IMAP servers with non-compliant
SENTBEFOREimplementations. - Retention deletes mails with malformed Message-ID headers - Mails with non-standard
Message-IDheaders (e.g. doubled closing angle bracket<id@host>>) are now correctly matched against the archive byDelete After Daysretention, instead of being silently skipped as "not archived".