Release Notes
Features
- Local directory backup target — backup/restore can now write to a local directory alongside S3, not just to S3-compatible storage
- Search by envelope ID — look up one exact message by its envelope id, with a copy-id button in the message header; the Advanced filter matches the stored value verbatim
- "No tags" search filter — the tag popover now offers a pinned untagged entry, so messages carrying no tag at all can be found (#379)
- OAuth2 public clients — configs can be created without a client secret, with a client type selector in the OAuth2 form; access and refresh tokens can also be imported from the frontend (#383)
- "Use system theme" toggle — the chosen color family is kept while its light/dark variant follows the OS/browser setting, live (#381, #382)
- Blob repair — a message whose archived email or attachment blobs are missing can be re-fetched from IMAP and restored in place, keeping the envelope and its id; the repair verifies the fetched content against the archived hash and keeps a history of past runs (#371)
- Admin-only reminder while the default admin password is still in use
Bug Fixes
- Attachment reconstruction lost the encoded MIME bodies, so reattached files could differ from what was archived; raw and decoded hashes are now kept apart, and mixed-format detached EMLs are recovered on reattach (#375)
- Empty MIME records and legacy blobs are now isolated from raw MIME keys, so one attachment can no longer shadow another
- Cp1253 encoded message text was not decoded (#378)
- IMAP sync advanced the watermark on partially completed folders and stalled on unparseable emails; unparsable messages are skipped and the watermark only moves on a completed folder (#373, #374, #377)
- The import button never became enabled for
.pstfiles (#372) --pointon restore now acceptsLATESTand pastedm-<id>names- Paused repair reads are preserved instead of being resumed by the nex
What's Changed
- fix(mail): decode Cp1253 message text by @alexballas in #378
- fix(attachments): preserve encoded MIME bodies during reconstruction by @caffeineflo in #375
- feat(message): safely repair missing archived blobs by @MaxRink in #371
- feat(#381): add "use system theme" toggle to theme selectors by @Ksisu in #382
- feat(oauth2): support public clients without a client secret by @jmakr0 in #383
- feat(search): add an untagged-only filter for messages by @myml in #379
New Contributors
- @alexballas made their first contribution in #378
- @caffeineflo made their first contribution in #375
- @MaxRink made their first contribution in #371
- @Ksisu made their first contribution in #382
- @jmakr0 made their first contribution in #383
- @myml made their first contribution in #379
Full Changelog: 2.1.1...2.2.0