You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
Per-email error history, with an optional SMTP debug log (#58). Each failed attempt is kept in full on the queue row and shown as "Error details" in the Log, cleared when the email later sends. The SMTP Debug Log setting also records the whole SMTP conversation.
The waiting row says why the queue waits (#58). When every SMTP account is capped, it names the limit holding each account (per-cycle, daily or monthly) and roughly when it recovers.
"Queue may not be processing" notice (#57). Warns administrators when mail is waiting and the worker has not run for a while, the usual sign of WP-Cron not firing on a cached or quiet site.
Changed
All database access goes through the repositories (#56). The admin tabs, the REST controller and the notices no longer query the tables themselves; only the schema, the repositories, the retention sweep and the cron lock touch $wpdb. No behaviour change.
Fixed
Per-cycle SMTP quotas no longer get stuck (#58). The cycle counter rolled over from the last send, so an account sending steadily never reset; it is now anchored to the cycle's first send.
SMTP passwords no longer fail to decrypt intermittently (#57). A random IV containing :: broke about 0.4% of stored passwords; decoding now splits by the fixed IV length, and existing values decode unchanged.
A hung send no longer freezes the queue (#57). The cron lock is now a timestamped option with a real TTL, kept alive while a batch progresses, instead of a MySQL GET_LOCK that a hung process held forever.