Changelog
This changelog tracks all notable changes across the Maiilo product: the app, the builder, the API and integrations.
[0.9.2] - 2026-09-18
Section titled “[0.9.2] - 2026-09-18”- Builder: faster editing
- Click any element to select it; clicking a second element switches the selection
- Quick tools on the selected element or section: common style settings, Move up, Move down, Duplicate, All settings and Delete
- Edit text is the first quick tool on a Text block, so its words are one step away
- Save to Block Library is now a quick tool on sections
- The builder toolbar shows which version SendGrid has next to the save status
- Needs Attention selection — Stale-block and SendGrid-behind rows have
checkboxes, all ticked to start. Batch buttons read “Re-publish all N” or
“Re-push N selected”; every row keeps its own one-click action
- Stale templates are grouped by the block that changed
- Attention popover — Click the Needs attention count in the sidebar to see the items behind it and fix them in place
- Plan & usage page with your plan, API requests this period, and template and block usage
- Template search on Templates — by name, subject or template ID
Changed
Section titled “Changed”- Subject is optional until you push — Build and publish without a subject; SendGrid asks for one before a push
- Drag and drop no longer jumps: the dragged item keeps its place, and drop targets are steadier
- Calmer canvas: the grid background is gone, and hover, selection and drop targets each look different
- The per-element hover toolbar is removed; its actions are in quick tools
- Integrations, Needs Attention, Templates, Blocks and API keys pages use the new layout
- Duplicating a template now counts toward your plan’s template limit, like creating one
- The preheader field is removed. Templates no longer have a separate preheader setting; add preview text in your HTML if you need it. Templates that already had a preheader keep it
- Deleting one API key deleted all of your keys. Only the chosen key is deleted now, and deleting asks you to confirm
- The push button explains when a subject was added after the last publish (“Publish to include your subject”) instead of failing
- New accounts always get the “Edit me” starter template, even if a sign-up step is delayed
- The Needs attention count no longer breaks the page if it cannot be loaded
[0.9.1] - 2026-09-07
Section titled “[0.9.1] - 2026-09-07”Changed
Section titled “Changed”- Flatter sidebar — Two groups instead of nested menus: Workspace (Dashboard, Templates, Blocks, Needs attention) and Configure (Integrations, API keys). Every destination is one click away, and the collapsed icon rail now shows all of them
- Buttons, cards, dialogs and forms across the app were restyled to match the new design
[0.9.0] - 2026-09-07
Section titled “[0.9.0] - 2026-09-07”- New dashboard — Once you have published a template, the dashboard reports on template health, what needs attention, SendGrid status and recent activity (publishes and pushes)
- Guided first run — Before your first publish, the dashboard shows three steps in order (create, publish, connect) with one clear next action. Connecting SendGrid is optional
[0.8.3] - 2026-09-06
Section titled “[0.8.3] - 2026-09-06”Changed
Section titled “Changed”- Template details page is now the template’s source of truth:
- The published preview beside the API endpoint that serves it
- A version rail: every version, when and by whom it was published, with Live or Restore
- A Destination card with SendGrid’s sync status, which version it is running, and the push button. It replaces the separate “SendGrid has vN” alert
- The push log: every push attempt, its version, timing and outcome
[0.8.2] - 2026-09-06
Section titled “[0.8.2] - 2026-09-06”Changed
Section titled “Changed”- App redesign — The app uses the same design system as maiilo.io: new type, colours and status styles in light and dark mode
[0.8.1] - 2026-09-06
Section titled “[0.8.1] - 2026-09-06”- Needs attention count in the sidebar — How many items need action: stale blocks, templates behind in SendGrid, and recent failed pushes. Nothing shows at zero, and it caps at 99+
[0.8.0] - 2026-09-05
Section titled “[0.8.0] - 2026-09-05”- SendGrid integration (Pro) — Push published templates straight into
SendGrid. See SendGrid
- Connect on the Integrations page. Your key is verified with SendGrid before it is stored, stored encrypted, and never shown again. The card shows which account you connected (“Connected as …”)
- Push a published version into a SendGrid dynamic template. Later pushes update the same template in place, so SendGrid has one template per Maiilo template
- Drift detection — Maiilo shows when SendGrid is running an older version than the one you published, on the template and on Needs Attention, with Re-push all for batches
- Push history — Every push attempt, including failures and the reason
- Variables pass through unchanged, and your preheader is added as hidden preview text
- Clear error messages for bad keys, missing permissions, SendGrid outages and templates SendGrid cannot parse
- Disconnecting deletes the stored key. Reconnecting the same account keeps your template links and push history
[0.7.4] - 2026-08-30
Section titled “[0.7.4] - 2026-08-30”- Sign-up is more reliable: an account is set up on first sign-in even if a background sign-up step was missed, and re-using an email from a deleted account no longer blocks sign-up
[0.7.3] - 2026-08-23
Section titled “[0.7.3] - 2026-08-23”- Block staleness — When you edit a shared block, templates published before the edit are flagged as needing a re-publish. See Staleness and re-publishing
- Needs Attention page — Lists every stale template with the block that changed, with Re-publish per template or in a confirmed batch
Changed
Section titled “Changed”- Block edits no longer change published output. A block edit updates drafts; each template picks it up when you re-publish
[0.7.2] - 2026-08-23
Section titled “[0.7.2] - 2026-08-23”- Version history on the template details page — Every published version, when and by whom it was published, and which one is live
- Restore — Copy any earlier version (content, subject, preheader and variables) into your draft, then publish to make it live as a new version. Restore always asks you to confirm. See History and rollback
[0.7.1] - 2026-08-22
Section titled “[0.7.1] - 2026-08-22”- Versioned publishing — Every publish freezes your draft into a numbered, immutable version (v1, v2, v3…) with its HTML, subject, preheader and variables. See Publishing and versions
- Autosave — The builder saves your draft automatically about two seconds after each change. The toolbar shows Saving…, Saved, or a retrying state
Changed
Section titled “Changed”- The API serves the published version.
GET /api/v1/templates/:idreturns the frozen published version, not the live draft. Draft edits and shared-block edits no longer change API output until you publish - Never-published templates return
404with{"error":"template_not_published"}from the API - Export gives the published version’s HTML
- The Save button is removed. Editing a published template keeps it published; your changes go live when you publish again
[0.7.0] - 2026-07-04
Section titled “[0.7.0] - 2026-07-04”- Code Editor — The Code Block now uses a full code editor instead of a plain
text box
- HTML syntax highlighting and line wrapping for long lines
- Format and Minify buttons to tidy up or compact your HTML
- Fullscreen Expand mode for editing large snippets
- Variables (
{{first_name}}) keep working inside code
- HTML Import (Pro) — Create a template from an existing HTML email
- Paste your HTML or upload a
.htmlfile - Your HTML is imported exactly as-is and exported unchanged — nothing is rewritten or wrapped
- Imported templates open in a dedicated code editor canvas; edit the HTML directly
- Paste your HTML or upload a
[0.6.4] - 2026-06-22
Section titled “[0.6.4] - 2026-06-22”- Pro Trial (14-day, no credit card) — Try every Pro feature free for 14 days
- Start your trial from the pricing page or the in-app upgrade menu — no card required
- Unlocks unlimited templates and blocks, the Code Block, and higher API limits
- Sidebar shows “Pro Trial — X days left” with a dismissible reminder banner
- One trial per account; automatically returns to the Free plan when it ends, unless you upgrade
[0.6.3] - 2026-06-10
Section titled “[0.6.3] - 2026-06-10”- Onboarding emails — New users now receive a welcome email on sign-up and a follow-up a few days later with tips to get started
[0.6.2] - 2026-06-01
Section titled “[0.6.2] - 2026-06-01”- Starter template on sign-up — New accounts begin with a ready-made “Edit me” template so you can explore the designer right away instead of a blank canvas
[0.6.1] - 2026-04-20
Section titled “[0.6.1] - 2026-04-20”- Multi-column sections — Split a section into 2 or 3 columns for side-by-side
layouts like feature lists, product grids, and footers
- Each column accepts its own elements and nested content
- Responsive-friendly output that renders across major email clients
[0.6.0] - 2026-04-01
Section titled “[0.6.0] - 2026-04-01”-
Block Library — Save any Section as a reusable block and drag it into any
template- Linked sections stay in sync — editing a linked section prompts to update the
source block or detach- Changed in 0.7.3: a block edit updates drafts only. Published versions keep their block content until you re-publish; see Staleness and re-publishing
- Block edit mode — enter a dedicated edit state from the section header; all changes apply on Save or are discarded on Cancel
- Block preview — inspect a block’s content before dropping it
- Search — filter saved blocks by name in the Block Library panel
- Linked sections stay in sync — editing a linked section prompts to update the
-
Block Library Quota — Free plan is limited to 5 saved blocks; Pro and
Founding plans are unlimited- Quota enforced server-side on block creation
- Usage counter shown in the sidebar Free Plan status and in the Block Library
panel - Upgrade prompt with action button when the limit is reached
-
Section nesting prevention — Dropping a section inside another section is
blocked
Changed
Section titled “Changed”- Drag overlays — All drag overlays (sidebar elements, blocks, sections) now
use a unified compact pill style - Element action menus — Replaced the
⋮dropdown menu on each element with
inline Pencil and Trash icon buttons shown on hover - Section border — Removed the always-visible dashed border; replaced with a hover ring that does not cause layout shift
- Canvas drop — Dragging an existing element to blank canvas space below all
elements now correctly repositions it - Block count sync — Block usage counter updates immediately on add or delete
without requiring a page refresh
[0.5.2] - 2026-03-20
Section titled “[0.5.2] - 2026-03-20”- Independent padding controls — Section, Text, and Template Settings now expose
separate Top, Right, Bottom, and Left padding fields instead of a shared X/Y pair; existing templates migrate automatically at load time
[0.5.1] - 2026-03-20
Section titled “[0.5.1] - 2026-03-20”- Superscript formatting — Apply superscript to text in the editor via toolbar
button or
Cmd+.; renders as<sup>in email output and designer preview - Link Styling — Apply color, bold, and italic to hyperlinks in text blocks
- Smart Enter in text editor — First Enter inserts a line break (
<br>) within the same paragraph; second consecutive Enter splits into a new paragraph. Heading and list behavior is unchanged. - Heading level badges — H1–H4 labels displayed inline in the editor for visual
clarity
- Hard breaks rendered in email output —
<br>nodes are now correctly output as
<br>tags in both the email HTML and the designer preview (previously rendered as
empty spans) - Paragraph spacing in designer canvas — Paragraph breaks now show visible top margin in the canvas, distinguishing them from line breaks
[0.5.0] - 2026-03-16
Section titled “[0.5.0] - 2026-03-16”- Code Block (Pro) — Drop custom HTML anywhere in your template
- Paste any HTML — tables, layouts, custom structures
- Variables (
{{first_name}}) work inside code blocks - Validation warns about scripts and unsafe code
- Clean export — no wrapper divs, your code as-is
[v0.4.0] – 2026-02-17
Section titled “[v0.4.0] – 2026-02-17”New Features
Section titled “New Features”- Variable System
- Insert
{{variables}}in text, links, and image URLs for dynamic content. - Variables are visually highlighted in the text editor.
- Variables are automatically detected and stored on template save.
- Preview screen includes Test Data panel to preview emails with sample values.
- Test data persists in browser for convenience.
- Insert
Improvements
Section titled “Improvements”- Export Dialog
- Added “Variables” tab to export dialog showing all detected variables.
- Copy variables list for easy ESP integration.
GET /templates/:id?format=variablesendpoint to retrieve variables used in a template.- Variables array included in standard template response.
[v0.3.1] – 2026-01-12
Section titled “[v0.3.1] – 2026-01-12”- Outlook Button Background Fix
- Fixed button background colors not rendering correctly in Outlook.
Improvements
Section titled “Improvements”- Button Border Radius
- Added border radius options for buttons: none, small, medium, and full.
[v0.3.0] – 2025-12-15
Section titled “[v0.3.0] – 2025-12-15”New Features
Section titled “New Features”- Send Test Email
- Added the ability to send test emails directly from the designer.
- Supports rendering the current template state and delivering it to a specified email address.
- Text Lists Support
- Added support for unordered (bullet) and ordered lists in the Text element.
- Lists are preserved across designer, renderer, and exported HTML.
Improvements
Section titled “Improvements”- Image Width Control
- Added a
widthproperty to the Image element, allowing precise layout control.
- Added a
- Image Alignment Fix
- Fixed alignment issues where images were not respecting center and right alignment in certain layouts.
[v0.2.1] – 2025-12-08
Section titled “[v0.2.1] – 2025-12-08”Improvements
Section titled “Improvements”- Improved renderer consistency between designer preview and exported HTML.
- Stabilized Section and nested children updates when editing via the Inspector.
- Reduced unnecessary re-renders in the designer canvas.
- Fixed state persistence issues when reopening the Inspector for previously edited elements.
- Fixed issues where linked text marks were not correctly rehydrated from stored JSON content.
[v0.2.0] – 2025-12-01
Section titled “[v0.2.0] – 2025-12-01”New Features
Section titled “New Features”- Public Template Library
- Introduced built-in templates available to all users.
- Added Pro-only templates with plan-based access control.
- Use Template
- Users can copy a public template into their workspace and customize it.
Infrastructure
Section titled “Infrastructure”- Added database schema and seeding for public templates.
- Improved template serialization and hydration from persisted content.
[v0.1.0] – 2025-10-06
Section titled “[v0.1.0] – 2025-10-06”Application & Designer
Section titled “Application & Designer”- Initial release of the Maiilo visual email builder.
- Drag-and-drop, block-based email designer.
- Core layout and content elements:
- Text
- Image
- Button
- Spacer
- Section
- Inline rich text editor with support for:
- Headings
- Paragraphs
- Links
- Bold, italic, and inline formatting
- Inspector panel for editing element properties and layout settings.
- Nested layout support via Sections and child elements.
- Real-time canvas preview with immediate visual feedback.
- HTML rendering powered by React Email.
- Export of production-ready email HTML.
- Persistent template storage using a JSON-based content schema.
- Preview HTML generation for thumbnails and quick previews.
- Public REST API available at
https://app.maiilo.io/api/v1 GET /templates/:id?format=htmlendpoint for retrieving compiled email HTML- API key authentication using
Authorization: Bearer <key> - Plan-based rate limiting (Free, Pro)
- API key management and usage metering
- Production-ready CORS configuration