Repository navigation
Releases: pphilfre/mail
Release list
Dispatch v0.8.0
Dispatch v0.8.0 consolidates mail productivity, local intelligence and security improvements.
- Native mail navigation, advanced search dropdowns and saved-search smart folders.
- Device-local scheduled delivery with cancellation and Undo; organisation rules,
multiple signatures, templates/snippets, scanned PDF attachments and local file OCR. - Explicit List-Unsubscribe actions and original EML export.
- App lock, incoming file sharing and optional on-device mail intelligence, with account
and search scope preserved. Model downloads remain optional. - Evidence-based attachment/QR inspection, original DKIM verification and aligned DMARC
checks with consent. Incomplete checks retain observed concerns and never imply safety. - Faster CI through shared simulator compilation, parallel UI shards, incremental build
caches and device compilation alongside full validation. Publication remains gated on
every release test, device build and checksum check.
Scheduled delivery requires Dispatch to be open, unlocked and online. The unsigned IPA
requires re-signing with a compatible sideloading tool; automated fixtures do not verify
live Gmail delivery, push notifications or installation on a physical device.
Included from v0.7.0: standalone tasks and faster mail controls and reader.
- Create a task from a title without linking an email or connecting an account. Add status, priority, due date, notes, a list and checklist steps; search tasks and filter by list, progress or due date. Personal tasks survive account removal.
- Use a single icon row for inbox search, All, Unread, Starred and selection. Sync status floats above the dock without increasing header height.
- Emails/Tasks and Compose share a 56-point height. Company logos use more of their compact avatars, with bounded caching and shared requests.
- Both mail controls open the smaller mailbox sheet. Darker tiles separate tools and folders; the profile button opens Accounts directly beside Settings. Secondary folders expand the sheet when needed.
- Accounts uses consistent action typography and icons for connection, reconnect, account preferences and queued changes.
- Cached plain-text messages render natively with selectable text and links. The reader fetches the selected conversation rather than the whole mailbox, uses lazy cards, reuses warm HTML renderers and briefly caches successful thread refreshes. Explicit Retry bypasses that cache.
- HTML reports the actual rendered body height instead of the viewport height, avoiding sizing feedback. Mark read/unread now includes an icon.
Included from v0.6.1:
- Inbox and other mailbox titles now live in the top bar. A Liquid Glass Emails / Tasks pill replaces the bottom tagline.
- The mailbox menu puts frequent folders and tools in a compact grid, keeps Settings beside the profile icon, and folds secondary folders and labels into expandable groups.
- Sender profiles put identity, compose, private notes and icon shortcuts first. Activity charts and detailed history are available on demand.
- Compact inbox reduces padding, avatar size and previews. Preview line settings now reduce actual row height.
- Tasks has an All view alongside Open and Completed, with a direct shortcut from the inbox.
- Receipt detection recognises more transaction confirmations and uses HTML when plain text is empty or incomplete.
- Fixed-width HTML emails fit the reader and resize with the available width. Email scripts remain disabled.
Manual GitHub Actions builds run the full test suite alongside packaging. Publication is gated on both succeeding; artifacts from a failed run are not a validated release. Tag builds also publish a release, and manual builds can opt into publication.
Included from v0.6.0: sender profiles, an attachment library, project collections and a subscription centre, alongside the v0.5.0 tasks, receipts and composer improvements.
- Explore sender history, correspondence counts, weekly activity, files, linked tasks and receipts. Save private nicknames and notes on this device.
- Search downloaded attachment metadata and local draft files, filter by category, and open the source conversation or draft. Offline availability reflects whether the file is present.
- Group account-scoped conversations into named project collections with private notes and Mail, Files, Tasks and Receipts views.
- Review suggested newsletter senders, explicitly include or exclude them, and archive downloaded inbox messages with confirmation and Undo.
These views cover downloaded mail. Newsletter suggestions are heuristic; no automatic unsubscribe action is provided. Private notes, collection membership and newsletter choices stay on this device. Live provider actions and installation require signed-device checks.
Included from v0.5.0:
- Attach files or photos, review names/sizes, preview with Quick Look and remove files before sending.
- Attachments persist with local drafts and survive relaunch or discarding edits.
- Send attachments and save/update Dispatch-created attachment drafts in Gmail.
- Choose whether a forwarded message includes its original attachments.
- Gmail draft revision checks protect copies edited elsewhere from replacement.
- Missing-file reminders now recognise attached files; uncertain-send copies retain attachment previews.
- Turn conversations into tasks with notes and due dates, grouped by Overdue/Today/Upcoming. Complete, reopen and link back to the email.
- Find receipts and invoices in downloaded mail, review detected merchant/amount details, exclude false matches and export filtered receipts as CSV.
Up to 20 files and 20 MB total attachment data per message. Larger files need a smaller copy or sharing link. Arbitrary Gmail drafts containing attachments or rich formatting remain protected and should be edited in Gmail. Background refresh, push notifications and Zoho remain deferred.
Tasks and receipt corrections stay on this device. Task due dates do not schedule notifications. Receipt detection uses cached text and may need correction; no AI service or currency conversion is used.
The release retains the v0.4.0 conversation inbox, bulk actions/Undo, search filters/saved searches, account signatures, recipient assistance, UI redesign and Gmail pacing fixes. Automated tests use fixtures and do not send personal mail.
Tag builds run the full iOS test suite and device build; publication requires both to pass.
The IPA requires iOS 26 or later and is unsigned. Sign and install with your compatible sideloading tool and Apple account. Bundle identifier: dev.freddiephilpot.dispatch.
Dispatch v0.7.0
Dispatch v0.7.0 adds standalone tasks and makes the mail controls and reader faster to use.
- Create a task from a title without linking an email or connecting an account. Add status, priority, due date, notes, a list and checklist steps; search tasks and filter by list, progress or due date. Personal tasks survive account removal.
- Use a single icon row for inbox search, All, Unread, Starred and selection. Sync status floats above the dock without increasing header height.
- Emails/Tasks and Compose share a 56-point height. Company logos use more of their compact avatars, with bounded caching and shared requests.
- Both mail controls open the smaller mailbox sheet. Darker tiles separate tools and folders; the profile button opens Accounts directly beside Settings. Secondary folders expand the sheet when needed.
- Accounts uses consistent action typography and icons for connection, reconnect, account preferences and queued changes.
- Cached plain-text messages render natively with selectable text and links. The reader fetches the selected conversation rather than the whole mailbox, uses lazy cards, reuses warm HTML renderers and briefly caches successful thread refreshes. Explicit Retry bypasses that cache.
- HTML reports the actual rendered body height instead of the viewport height, avoiding sizing feedback. Mark read/unread now includes an icon.
Included from v0.6.1:
- Inbox and other mailbox titles now live in the top bar. A Liquid Glass Emails / Tasks pill replaces the bottom tagline.
- The mailbox menu puts frequent folders and tools in a compact grid, keeps Settings beside the profile icon, and folds secondary folders and labels into expandable groups.
- Sender profiles put identity, compose, private notes and icon shortcuts first. Activity charts and detailed history are available on demand.
- Compact inbox reduces padding, avatar size and previews. Preview line settings now reduce actual row height.
- Tasks has an All view alongside Open and Completed, with a direct shortcut from the inbox.
- Receipt detection recognises more transaction confirmations and uses HTML when plain text is empty or incomplete.
- Fixed-width HTML emails fit the reader and resize with the available width. Email scripts remain disabled.
Manual GitHub Actions builds run the full test suite before saving an IPA and checksum as downloadable artifacts. Tag builds also publish a release.
Included from v0.6.0: sender profiles, an attachment library, project collections and a subscription centre, alongside the v0.5.0 tasks, receipts and composer improvements.
- Explore sender history, correspondence counts, weekly activity, files, linked tasks and receipts. Save private nicknames and notes on this device.
- Search downloaded attachment metadata and local draft files, filter by category, and open the source conversation or draft. Offline availability reflects whether the file is present.
- Group account-scoped conversations into named project collections with private notes and Mail, Files, Tasks and Receipts views.
- Review suggested newsletter senders, explicitly include or exclude them, and archive downloaded inbox messages with confirmation and Undo.
These views cover downloaded mail. Newsletter suggestions are heuristic; no automatic unsubscribe action is provided. Private notes, collection membership and newsletter choices stay on this device. Live provider actions and installation require signed-device checks.
Included from v0.5.0:
- Attach files or photos, review names/sizes, preview with Quick Look and remove files before sending.
- Attachments persist with local drafts and survive relaunch or discarding edits.
- Send attachments and save/update Dispatch-created attachment drafts in Gmail.
- Choose whether a forwarded message includes its original attachments.
- Gmail draft revision checks protect copies edited elsewhere from replacement.
- Missing-file reminders now recognise attached files; uncertain-send copies retain attachment previews.
- Turn conversations into tasks with notes and due dates, grouped by Overdue/Today/Upcoming. Complete, reopen and link back to the email.
- Find receipts and invoices in downloaded mail, review detected merchant/amount details, exclude false matches and export filtered receipts as CSV.
Up to 20 files and 20 MB total attachment data per message. Larger files need a smaller copy or sharing link. Arbitrary Gmail drafts containing attachments or rich formatting remain protected and should be edited in Gmail. Background refresh, push notifications and Zoho remain deferred.
Tasks and receipt corrections stay on this device. Task due dates do not schedule notifications. Receipt detection uses cached text and may need correction; no AI service or currency conversion is used.
The release retains the v0.4.0 conversation inbox, bulk actions/Undo, search filters/saved searches, account signatures, recipient assistance, UI redesign and Gmail pacing fixes. Automated tests use fixtures and do not send personal mail.
Tag builds now run the full iOS test suite before building and publishing the device IPA.
The IPA requires iOS 26 or later and is unsigned. Sign and install with your compatible sideloading tool and Apple account. Bundle identifier: dev.freddiephilpot.dispatch.
Dispatch v0.6.0
Dispatch v0.6.0 adds sender profiles, an attachment library, project collections and a subscription centre, alongside the v0.5.0 tasks, receipts and composer improvements.
- Explore sender history, correspondence counts, weekly activity, files, linked tasks and receipts. Save private nicknames and notes on this device.
- Search downloaded attachment metadata and local draft files, filter by category, and open the source conversation or draft. Offline availability reflects whether the file is present.
- Group account-scoped conversations into named project collections with private notes and Mail, Files, Tasks and Receipts views.
- Review suggested newsletter senders, explicitly include or exclude them, and archive downloaded inbox messages with confirmation and Undo.
These views cover downloaded mail. Newsletter suggestions are heuristic; no automatic unsubscribe action is provided. Private notes, collection membership and newsletter choices stay on this device. Live provider actions and installation require signed-device checks.
Included from v0.5.0:
- Attach files or photos, review names/sizes, preview with Quick Look and remove files before sending.
- Attachments persist with local drafts and survive relaunch or discarding edits.
- Send attachments and save/update Dispatch-created attachment drafts in Gmail.
- Choose whether a forwarded message includes its original attachments.
- Gmail draft revision checks protect copies edited elsewhere from replacement.
- Missing-file reminders now recognise attached files; uncertain-send copies retain attachment previews.
- Turn conversations into tasks with notes and due dates, grouped by Overdue/Today/Upcoming. Complete, reopen and link back to the email.
- Find receipts and invoices in downloaded mail, review detected merchant/amount details, exclude false matches and export filtered receipts as CSV.
Up to 20 files and 20 MB total attachment data per message. Larger files need a smaller copy or sharing link. Arbitrary Gmail drafts containing attachments or rich formatting remain protected and should be edited in Gmail. Background refresh, push notifications and Zoho remain deferred.
Tasks and receipt corrections stay on this device. Task due dates do not schedule notifications. Receipt detection uses cached text and may need correction; no AI service or currency conversion is used.
The release retains the v0.4.0 conversation inbox, bulk actions/Undo, search filters/saved searches, account signatures, recipient assistance, UI redesign and Gmail pacing fixes. Automated tests use fixtures and do not send personal mail.
Tag builds now run the full iOS test suite before building and publishing the device IPA.
The IPA requires iOS 26 or later and is unsigned. Sign and install with your compatible sideloading tool and Apple account. Bundle identifier: dev.freddiephilpot.dispatch.
Dispatch v0.4.0
Dispatch v0.4.0 adds everyday mail features, refreshes the interface, and improves Gmail sync recovery.
- Gmail downloads now share request pacing and cooldowns, honour Google's retry delays, reuse cached messages, and resume partially downloaded older pages. Failed sync releases the busy state; temporary cooldowns have a countdown.
- Refreshed inbox, mailbox navigation, message reader, account screens and Settings.
- Optional conversation grouping, account nicknames and colours, and counts for downloaded mail.
- Bulk mail actions, Undo, Spam controls, label assignment, and account-scoped pending-action recovery.
- Search operators and filters, recent searches, and saved searches over downloaded mail.
- Recipient chips, autocomplete from cached correspondents, address validation, per-account signatures, a default sending account, and attachment reminders.
Validation: the combined suite passed all 78 unit tests and all 14 UI tests. The exact merged release commit passed iOS CI before packaging. Live Gmail sync on the updated signed iPhone build remains to be verified.
Download Dispatch-v0.4.0.ipa and sign/install it with your compatible sideloading tool. This IPA is unsigned and requires iOS 26 or later. Bundle identifier: dev.freddiephilpot.dispatch. A SHA-256 checksum is included.
Dispatch v0.3.1
Dispatch v0.3.0 refreshes the inbox and reader while keeping native iOS 26 Liquid Glass controls.
- New animated welcome screen with Google sign-in and a Zoho coming-soon placeholder.
- Compact inbox header, left-hand account/mailbox drawer, full-width message rows and company website icons with initials fallback.
- HTML email rendering, tappable links, selectable text and inline raster images.
- Remote-image controls in Settings and a per-message load option; scripts and active web content remain blocked.
- Custom left/right swipe actions, full-swipe preference, preview length and light/dark appearance.
- Bounded retries for Gmail read throttling and temporary server failures, clearer access-denied diagnostics, and preservation of partially downloaded mail.
Company icons are decorative website icons, not verified sender identities. Zoho, push notifications and general attachment transfer remain deferred. Forwards contain text only. Live Google sign-in and sync must still be checked on a signed device; CI uses fixtures and never sends personal mail.
The IPA requires iOS 26 or later and is unsigned. Sign and install it with your compatible sideloading tool and Apple account. Bundle identifier: dev.freddiephilpot.dispatch.
Dispatch v0.3.0
Dispatch v0.3.0 refreshes the inbox and reader while keeping native iOS 26 Liquid Glass controls.
- New animated welcome screen with Google sign-in and a Zoho coming-soon placeholder.
- Compact inbox header, left-hand account/mailbox drawer, full-width message rows and company website icons with initials fallback.
- HTML email rendering, tappable links, selectable text and inline raster images.
- Remote-image controls in Settings and a per-message load option; scripts and active web content remain blocked.
- Custom left/right swipe actions, full-swipe preference, preview length and light/dark appearance.
- Bounded retries for Gmail read throttling and temporary server failures, clearer access-denied diagnostics, and preservation of partially downloaded mail.
Company icons are decorative website icons, not verified sender identities. Zoho, push notifications and general attachment transfer remain deferred. Forwards contain text only. Live Google sign-in and sync must still be checked on a signed device; CI uses fixtures and never sends personal mail.
The IPA requires iOS 26 or later and is unsigned. Sign and install it with your compatible sideloading tool and Apple account. Bundle identifier: dev.freddiephilpot.dispatch.
Dispatch v0.2.0
Dispatch is a native SwiftUI mail app for iOS 26 or later, with bundle identifier dev.freddiephilpot.dispatch.
This release adds Gmail: native Google OAuth with PKCE and Keychain tokens, cached messages/threads/labels, history-based incremental sync, read/star/archive/trash actions, sending, Gmail/local drafts, reply/reply-all and text forwarding. Open Accounts → Connect Gmail after installing. Your Google project must enable Gmail API, register this bundle ID and list your Gmail address as an OAuth test user; see docs/oauth-setup.md.
The inbox opens cached mail first. Initial sync stores recent All Mail and Inbox messages; mailbox selection fetches recent matching messages and Load older mail continues All Mail pagination. Offline changes are queued until launch, foreground sync or pull-to-refresh. Rich HTML and attachment transfer are pending; HTML is currently shown as native text with remote images blocked. Forwards contain text only. Zoho and push are deferred.
If sending has an unknown outcome, Dispatch preserves the copy and never automatically resends it. Use Check Sent or inspect Gmail before creating another message. CI uses fixture HTTP responses; a live sign-in/send smoke test remains necessary on your signed device.
The IPA is unsigned. Use a compatible sideloading tool to sign and install it with your own Apple account. It cannot be installed directly as downloaded. No signing certificate or private key is included. APNs is not configured; unsigned/re-signed apps may not support push entitlements.
Dispatch v0.1.1
Dispatch is a native SwiftUI mail app for iOS 26 or later, with bundle identifier dev.freddiephilpot.dispatch.
This release is a project foundation: a native inbox shell, an optional sample inbox, a plain-text sample reader, accounts/settings screens and persistent on-device drafts. Gmail/Zoho connections and sending are not implemented yet.
The IPA is unsigned. Use a compatible sideloading tool to sign and install it with your own Apple account. It cannot be installed directly as downloaded. No signing certificate or private key is included. APNs is not configured; unsigned/re-signed apps may not support push entitlements.
Mail v0.1.0
Native SwiftUI mail app for iOS 26 or later.
This release is a project foundation: a native inbox shell, an optional sample inbox, a plain-text sample reader, accounts/settings screens and persistent on-device drafts. Gmail/Zoho connections and sending are not implemented yet.
The IPA is unsigned. Use a compatible sideloading tool to sign and install it with your own Apple account. It cannot be installed directly as downloaded. No signing certificate or private key is included. APNs is not configured; unsigned/re-signed apps may not support push entitlements.