All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- First release shipped via the tag-triggered GitHub Actions workflow (the
0.1.0tarball was published manually to bootstrap the npm name). No plugin functional changes from 0.1.0. - Release workflow is now idempotent — it skips the
npm publishstep if the tagged version is already on the registry, so reruns and bootstrap-publish overlap don't fail the run.
- Initial release.
- Standard-format EmDash plugin registering the exclusive
email:deliverhook. - Block Kit admin page labelled "Postmark Settings" with full settings form, status banner, recent-deliveries table, and dashboard widget showing last-7-days stats.
- WordPress-Postmark-plugin parity: server token, default sender, force-from, default stream, force HTML, track opens, track links, default tag.
- EmDash extras:
- Optional Account API Token enabling the live sender-signature picker.
- Auto-tag with email source.
- Include source as Postmark
Metadata. - Retry on transient errors with exponential backoff.
- Live pickers for Message Streams (server token) and Sender Signatures (account token), with KV-backed 5-minute cache and graceful text-input fallback.
- Webhook receiver at
/_emdash/api/plugins/postmark/webhook?key=<secret>securing with a per-installation 192-bit URL-safe secret. Routes PostmarkDelivery,Bounce,SpamComplaint,Open, andClickevents to the corresponding delivery row. - "Test connection" button (no email sent) and "Send test email" button (to signed-in admin).
- "Make active provider" button toggling the exclusive
email:deliverselection. - "Regenerate webhook secret" button.
- Vitest test suite (112 tests, ≥90% line coverage on backend code).
- Declares
hooks.email-transport:register+network:requestcapabilities (allowedHosts pinned toapi.postmarkapp.com); requiresemdash >= 0.9.0. - Admin handler accepts
/settings,/, and empty page paths so the plugin root URL renders the settings page regardless of how the host admin links to it.