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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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.

  11. 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.

  12. 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.

  13. 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.

  14. 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.

  15. 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.