All updates

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.