Summary
1.5.0 stops sync from getting stuck, and gives every spam and phishing check a number you can read.
Added
- Spam and phishing checks always end in a confidence number from 0 to 100, like "Spam confidence 86%" or "Phishing confidence 62%". You see it on the list, in the reading pane, in toasts and in the report. "Uncertain" and "Could not tell" are gone (Pro).
- Marking mail Not spam in Junk now tells PressedMail the sender is fine (Pro).
Changed
- The spam and phishing checks now decide with a model fitted on thousands of real and public messages, not fixed rules. On 1,470 public messages the checks had never seen, ordinary mail marked "Looks unsolicited" or worse fell from 21% to 1%, and spam caught rose from 79% to 95%. Ordinary mail marked "Suspicious" or worse by the phishing check fell from 33% to 5%, and phishing marked "Likely phishing" rose from 25% to 86%. The cost: about 1.7% of old, unauthenticated mailing-list mail now reads "Likely phishing" (it was 0.1%) (Pro).
- Settings, rules and sweep ranges for spam and phishing say "confidence" for the same 0 to 100 number. "At an exact score" is now "At a confidence of at least", which is what it always did (Pro).
- Dropdown lists use the same colours as the rest of the app, in light and dark.
- The phishing report's summary and advice are translated (Pro).
Fixed
- New mail reaches your list while a sweep, a backfill or message downloads are running. PressedMail used to wait one second for its own storage lock, read the miss as a lost connection and hold the mailbox back for up to 15 minutes.
- Folder counts that disagree with the server no longer raise errors or stall a folder. PressedMail compares what it holds with the server's list: mail that is gone disappears, mail that is missing is fetched, and a message the server lists but will not give is noted and skipped instead of keeping a folder syncing for good.
- Sync no longer fails, or puts an account on a backoff, when the database says a row changed while PressedMail was writing it (MariaDB 11.6 and newer do this by default). The write is tried again.
- A sync pass that loses a race to another write is no longer listed as Sync failed in Activity.
- Activity jobs no longer sit at "1699 of 1706" for hours.
- A message opens while a sweep is running, and the list no longer sits on loading while a sweep reloads it.
- A sweep no longer ends with a few emails left, and a stalled Activity queue starts again by itself.
- The PressedG mail list no longer scrolls sideways. Long subjects and previews clip inside their card.
- Adding a link in the composer inserts it once the link address is valid.
- The block search in the composer has no icon, and its focus outline is no longer cut off.
- One bad email no longer makes the others in its batch fail a spam, phishing or tagging check. The refused email is tried again alone (Pro).
- An email whose content the mail server did not hand over is tried again later, not checked on its subject alone (Pro).
- A tagging pass whose message download timed out is tried again, not skipped for good (Pro).
- Bulk AI actions and sweeps no longer refuse a list that grew from 50 to 53 emails. A cap you set now asks you to confirm (Pro).
Upgrade Notes
- Nothing to do. This release changes no settings and no data.
- Pro: spam and phishing results saved before 1.5.0 count as out of date, so those emails are checked again the next time a check runs on them.




