Skip to content

v2.21.0

Choose a tag to compare

@jszobody jszobody released this 07 Jul 16:12
· 33 commits to master since this release
72f1e35

Builds on the sandbox Release action from v2.20.0 with new dashboard capabilities and important fixes.

New

  • Delete a message (#24). A Delete button on the message detail page removes a record from the stored history — for scrubbing PII or purging something that shouldn't have been kept. It deletes the message and its timeline; resends of it survive (their link is nulled), and other recipients of the same email are separate records, left untouched. The confirm dialog is explicit that this only removes Postmaster's record — it does not recall or unsend an email that already went out.
  • postmaster:verify runs under sandbox mode (#21). Instead of refusing when POSTMASTER_DELIVERY=sandbox, verify now warns that delivery is sandboxed and sends a single test email that bypasses the sandbox — so you can confirm the whole webhook round trip before switching delivery to normal. Your delivery setting is left unchanged.

Fixed

  • Release no longer creates a duplicate message under a real provider transport (#23). The marker that identified a release could fail to survive the send with a real transport (it held with the log/array mailers, which hid the flaw), causing a brand-new message to be written instead of the sandboxed row being reconciled in place. Release now flags itself out-of-band for the duration of its synchronous send, so it can't be lost in transit — regardless of provider.
  • Resend is gated on the message, not the delivery mode (#22). A message that was released — and so is genuinely sent — is now resendable like any other sent message, even while sandbox mode is on. A sandboxed message still shows Release instead of Resend.

Full suite: 309 tests, 884 assertions. See #21, #22, #23, #24.