Changelog
Changelog
What has shipped, newest first. Features have a page of their own. Fixes are listed here and nowhere else, because a bug is not an announcement.
Block templates over the API, with a validator and a real preview
Building an email from blocks is no longer dashboard-only work. Create or update a template with a document instead of bodyHtml and the server validates the blocks and compiles the HTML itself, so what gets stored is exactly what the blocks say.
Sending domains and sender identities over the API
Nine new endpoints put the whole sending setup under your own scripts: add a domain, read back the DNS records to publish, poll for verification, and create, update, delete or default a sender identity. Provisioning a workspace end to end no longer needs anyone clicking through a dashboard.
- Fix
Validation errors describe the problem instead of naming the rule
A rejected payload used to come back as "domain: matches". It now reads "domain: domain must be a bare hostname such as acme.com, with no scheme, path, or port". Error codes and translation keys are unchanged, so anything branching on them keeps working.
Verifying a sending domain now takes one TXT record too
Alongside the DKIM CNAMEs, a domain needs a TXT record at _sendheron-challenge.yourdomain.com set to sendheron-verification= plus the token shown when you add it. It can be removed once verification succeeds.
- Fix
The sequence graph endpoint validates step configuration on write
PUT /sequences/{id}/graph checked the shape of a graph but stored whatever configuration arrived with each step, so a delay with the wrong field name saved with no duration and failed silently at run time. Each step's config is now validated against its type, and the per-step contract is published in the API reference.
Templates keep their last 50 saved states
Every save on a template keeps the one before it, up to fifty, and any of them can be restored in a click.
Build an email from blocks, without writing HTML
Templates have a second authoring mode: stack blocks instead of writing markup. Twelve block types cover headings, text, buttons, images, image beside text, dividers, spacers, lists, quotes, social links, custom HTML and the unsubscribe link, with document-wide design settings and bounded per-block controls.
Image hosting and a media library for templates
Upload a PNG, JPEG, GIF or WebP up to 5 MB and it is published to a permanent public URL on media.sendheron.com, so an email still resolves its images years after it was sent. Past uploads collect in a searchable library that any template can reuse.
- Fix
Only a real opt-out link counts as an unsubscribe
An anchor reading "unsubscribe" that pointed at your own site used to satisfy the opt-out requirement, so a message could look compliant while the opt-out it advertised recorded nothing. Those now get the standard footer added alongside them. Authors still choose where the link sits and how it is worded.
A "Sent with SendHeron" line on marketing mail, off in one click
Marketing emails carry a small "Sent with SendHeron" text link below the unsubscribe: one muted line, no logo, no banner. It is a per-workspace setting that switches off in one click on any plan.
Bulk sends are repeatable, and traceable by batch
Re-sending a template to the same audience is now fully supported: every launch is its own batch rather than colliding with the last one. The send-bulk response returns a batchId alongside queued and blocked counts, so one campaign can be traced end to end.
All email now delivered from the EU
Every message we send, yours to your contacts and ours to you, is delivered by Amazon SES in Frankfurt.
Per-step sequence analytics
Every node in a sequence now reports its own sends, opens and clicks, so you can see which branch of a flow is doing the work instead of only the sequence total.
Tags in the REST API
Tags are listable and creatable over the API, and adding a tag to a contact is what triggers a tag-based sequence.
Visual sequence builder
Build lifecycle flows on a canvas: triggers, delays, conditions that branch on tags, and send steps. Conditions support AND and OR rules, so a single sequence can cover several paths through the same journey.
Private beta
See the next one land
Beta members get the release note in the same batch email that opens their account.