Summary
Everything since 1.0.1, gathered into one release. SMTP for WordPress system
email now ships in the Free plugin with its own settings tab and a delivery log.
Email Sweep and bulk actions work properly in the combined inbox, respecting
each account's own folders and creating a missing destination folder where it is
needed. Mailbox actions that used to exhaust the request time limit on large
selections now finish in a fraction of the time. Adding a contact works on sites
installed fresh rather than upgraded, licence handling stops retrying a rejected
key forever, and the interface settles on one visual vocabulary.
Added
- SMTP for WordPress system email, in the Free plugin. Password resets, new
user notices, comment notifications, WooCommerce order mail and anything else
sent with wp_mail() can go through your own mail server instead of the
default PHP mailer. It has its own settings tab and does not consume an email
account slot.
- A delivery log for system email, recording date, recipients, subject, sender,
mail server and result, with an expandable error for failures. Retention is 0,
30, 60 or 90 days; zero turns logging off.
- Pro: several mail servers chosen by sender address, plus a fallback server for
failed sends.
- Sweep scope: sweep an entire folder across every account in the view, or only
the messages you selected. The default follows your selection.
- Full-window compose. An expand control opens the composer across the whole
PressedMail window, and switching between pane, pop-out and full view never
loses in-progress edits.
- Combined-inbox sweeps and moves can target any custom folder by name. Accounts
that do not have that folder yet get it created, locally and on the mail
server.
- Progress over the message list now covers bulk AI work (summarize, phishing
check and auto-tag), not only sweeps. PressedOut gains this indicator, which
it never had.
- The reading pane marks a sender who is already one of your contacts, in every
layout.
- The phishing report's safety rating gained a meter, so the score reads as a
position on a scale rather than a bare number.
Changed
- Bulk actions have their own request allowance. A large sweep is no longer cut
short after roughly a thousand messages, and emptying a large Trash runs to
completion.
- After a move or delete only the destination folder is refreshed while you
wait, and that refresh is time-boxed: moved mail appears immediately with its
sender, subject and date, and previews fill in shortly after. The folder you
moved out of is reconciled in the background.
- Marking many messages read or unread writes them in a single database
statement per batch rather than one write per message.
- Folder lookups during a mailbox action reuse one folder listing per request
instead of asking the mail server for the full list four to six times before
the first message is touched.
- Summarize and add-sender-to-contacts moved into the message action row
alongside the other message commands, instead of sitting beside the subject
and sender name.
- PressedOut keeps mailbox and selected-message actions in one compact toolbar
row, leaving more room for the message list and reading pane.
- The PressedMail Pro page in the Free plugin is now a responsive upgrade
overview: a two-column hero, four capability summaries and six scannable
feature panels, replacing repetitive feature boxes.
- Status colour, sidebar metrics and the reading pane's action row settle on one
shared vocabulary across the interface.
Fixed
- **Adding a contact failed outright on any Pro site installed fresh rather than
upgraded**, from both the reading pane and the Contacts screen, and the
interface reported the failure as nothing at all. Two database updates ran
before the table they alter existed. Sites in that state repair themselves on
the first page load after updating; no contacts are lost. Contact sync was
unavailable for the same reason and is restored by the same repair.
- Single and bulk message actions failed with upstream dependency errors when
repeated connection checks and folder listings exhausted the foreground
request time limit.
- Pro sites whose licence the server did not recognise sent a lifecycle request
on every page load, each blocking for about a tenth of a second, forever. A
rejected licence is now treated as final: reported once, then not re-sent.
- A stored licence "known good" snapshot never expired, so a plugin could keep
reporting an active licence long after it was revoked. Snapshots now expire
after 30 days without a successful check.
- Reporting a licence under the wrong product returned "license not found",
which read as "your license does not exist". It now returns a distinct
response.
- Sweeps that could not be cancelled, stalled indefinitely, or ran the same page
twice, along with one serious data-loss path in the background queue.
- Moves no longer send mail toward another account's folder path in the combined
inbox.
- A sweep now reports the accounts it had to skip (disconnected, or missing the
folder) and continues for the rest instead of failing outright.
- A failed contact save reported nothing: no message, no change, no error. Both
saving and removing a contact now confirm what happened.
- Recently verified IMAP connections no longer issue a redundant NOOP before
reuse.
- Three shared components accepted a test identifier and then discarded it
rather than rendering it.
Upgrade Notes
- No configuration changes are required. Sites whose contacts storage was
created fresh repair themselves on the first page load after updating.
- SMTP for WordPress system email is off until you configure it; existing
wp_mail() behaviour is unchanged until then.
- This is the first release of a restarted line. Versions 1.0.2 through 1.0.10
were withdrawn and their builds deleted; 1.0.0 and 1.0.1 remain available.
A site running a withdrawn build will not be offered 1.0.2 as an update and
must be reinstalled.





