All updates
Release 0.8.0 - Templates, webhooks & deliverability

Templates, webhooks & deliverability

Collaborative template editing, webhook delivery and retries, custom tracking domains, and deliverability charts in the dashboard.

TemplatesWebhooksContactsTrackingMetricsAPI KeysCollaboration

Planning

  • Email lifecycle webhooks Mapped EMAIL_SENT and KUMOMTA_EVENT bus messages to webhook subscribers for full lifecycle coverage. Designed webhook event schema with delivery attempt tracking.
  • Custom tracking domains Planned granular click/open tracking with per-domain TLS and return-path options. Defined base64url token signing strategy for tracking links.
  • Template collaboration Designed real-time collaborative editing architecture using Yjs with WebSocket and WebRTC providers, IndexedDB persistence, and awareness-based cursor tracking.

Design

  • Template editor UX overhaul Toolbar for design/test modes, side panels for variables and deliverability, animated EmailInspector with modular document/node/text panels, score ring component, and diamond-layout spacing control.
  • Inspector component system Custom UI primitives with standardized property rows, breadcrumb navigation, ButtonGroup for typography controls, react-colorful color picker integration, and flat design aesthetic.
  • Email timeline UI Failure steps, error classification panel, skeleton loaders, and unified lifecycle stepper on contact history page.
  • Deliverability charts Multi-select event types, complaints line chart, custom tooltips with formatted data, and 14-day default date range.
  • Webhook documentation layout SideBySide layout for webhook event details and JSON payloads with dynamic code display portal.
  • Domain status redesign Circuit board aesthetic for status banner and timeline, spinner integration, dot grid patterns, consistent color schemes across verification states.

Frontend

  • Template variables system Typed variables with defaults, triple-brace syntax (e.g., three braces around a variable name), create/edit/delete modals, slash-command insertion in the editor, Valibot + react-hook-form validation.
  • Template send & test Reply-To toggle, test email warnings when from-address is missing, recent send history, variable inputs for test sends, and conditional warning with disabled functionality when from email is missing.
  • Email inspector (side panel) Node-specific controls with breadcrumb navigation, modular panels for document/node/text, alignment/mark/list controls as reusable ButtonGroup components, border width/corner radius support, and spacing control with diamond layout.
  • Collaborative editing Real-time cursor tracking with perfect-cursors interpolation, mouse presence synchronization via Yjs awareness, EditorProvider with collaboration logic, PresenceProvider for user states, and avatar display on remote cursors.
  • Webhooks dashboard Categorized WebhookEventSelector with search, manual delivery retry, secret rotation, masked secrets in UI, create/edit webhook modals with event subscriptions, redesigned webhook table with DocsButton.
  • Contact activity Email and event timeline on contact detail page; auto-capture events surfaced in history with lifecycle stepper.
  • Domain settings enhancements Tracking subdomain, TLS mode control, sending/receiving toggles, advanced accordion, verification polling, auto-configure button for DNS records, DNS provider support with direct management links, domain deletion flow using query state, and DomainApiDetails integration.
  • API keys UI refinements Usage stats display, creator avatars, prefix and last-used columns, optimistic status toggles, dedicated empty state for filtered search results, dynamic theme switching for code blocks.
  • Transaction emails page Interactive API playground and HTML formatter for email body preview on the web app.
  • Send details editor Expandable sender details component with zustand state management, preview text field in editor store, and simplified send details UI layout.

Backend

  • Template engine Automated variable extraction on create/update; resolution at send time; react-email composer and HTML sanitization pipeline. Redis-backed Yjs persistence plugin for collaborative state.
  • Webhook delivery system Webhook trigger endpoint with background delivery logic, delivery attempt tracking and pagination, test event trigger functionality, delivery log schema with status filtering, secret encryption utilities, retry endpoint.
  • Webhook event management Strict event validation, custom error messages for schema validation, webhook status toggling, enabled event IDs in API responses. Centralized environment configuration via webhookConfig module.
  • Tracking system Base64url token signing in Lua, custom tracking domains, click redirect via Location header, TRACKING_SECRET in docker-compose.
  • Metrics & analytics Dynamic date bucketing, domain-scoped email statistics, calendar max-range validation for query parameters.
  • API key audit trail apiKeyId propagated in auth context, usage statistics endpoint, case-insensitive audit actor mapping. Redis-based rate limiting middleware for API key operations.
  • KumoMTA integration Dynamic DKIM configuration and delivery webhook integration. Custom routing policy to Mailpit for local development. SMTP authentication and authenticated relay support.
  • Domain webhooks Added domain.verify webhook event, domain status and event tracking in DNS verification responses, audit logging for domain mutations.
  • Centralized logging (evlog) Integrated evlog service across api-key, domain, contact, group, property, and topic operations. Request metadata and webhook event tracking for all mutations.
  • Multi-auth support Multi-auth middleware with cookie + API key authentication, webhook event schema integration, and delivery tracking field enhancements.

DevOps

  • OpenTelemetry rollout OTLP logging support rolled across all microservices. OpenTelemetry instrumentation added to backend services.
  • KumoMTA policy & configuration Trusted HTTP hosts via environment variables; API key propagation on NATS publish failure. Local KumoMTA service with Mailpit routing, HTTP API port standardization (8020), and SMTP authentication configuration.
  • Email templates Added email confirmation template with sendConfirmEmail utility. Replaced plain text test emails with rendered ConfirmEmail react-email component.
  • Dependency & package management Removed unused AI SDK dependencies, updated lockfile. Updated evlog/webhook-events packages across services.