0.12.0 (2026-06-21)
Features
add composite index on campaignId and status for efficient campaign completion checks (4b752a5), closes #400
add disabledReason field to projects for better tracking of disable reasons (94ceadb)
api: allow API key authentication for domain endpoints (d2496bc)
bulk delete for workflows and campaigns (a05034e)
Contacts: add subscription status filter and enhance query capabilities (8564016)
contacts: make email cell a link to the contact detail page (6759bff)
contacts: make email cell a link to the contact detail page (6d98d51)
EmailService: add worker concurrency settings and improve email queue prioritization (80beb2b)
extend table view to workflows and campaigns list pages (e932b2d)
i18n: add Japanese (ja) translations (e399d0c)
i18n: add Japanese (ja) translations (f34c0e1)
implement deterministic avatar gradient generation for user accounts (e0e79cc)
introduce DataTableFilter and FacetedFilterMenu for unified filtering experience (44e4e45)
make detectCustomHtmlPatterns aware of TipTap's actual capabilities (9797aed)
make detectCustomHtmlPatterns aware of TipTap's actual capabilities (ba3813e)
normalize email addresses for contacts to handle case-variants and whitespace (05c8041), closes #403
refactor DashboardLayout to use DropdownMenu for project and user menus (9cbd5c0)
render template variables in WEBHOOK step url, headers and body (bfecf04)
render template variables in WEBHOOK step url, headers and body (c484da8)
SecurityService: enhance phishing detection by verifying sender domains and institutional TLDs (6ab4d77)
SecurityService: enhance phishing detection by verifying sender domains and institutional TLDs (edfc399)
table view with sorting, faceted filters, and bulk delete for templates, workflows, and campaigns (4ccb3d2)
tanstack table view with sorting, faceted filter, and bulk delete for templates (55a0c4f)
tests: enhance test database setup and cleanup for improved isolation and performance (32dd7bb)
Bug Fixes
coerce boolean and numeric values in custom CSV columns (4a145f3)
dashboard: table empty-state recovery, bulk button sizing, workflow status+steps, header casing (157ff34)
filters: land templates/workflows/campaigns search inputs at 32px to match filter buttons (283f402)
make email templates, campaigns and workflow search inputs same height as the rest of the app (8b3657d)
safeguard JSON data handling in contacts migration to ensure proper object types (55a5e4d)
Code Refactoring
database: increase Prisma connection pool limits for improved test performance (71e2277)
SecurityService: update absolute count ceilings for new projects to improve spam detection (4de40f4)
Documentation
add env-var sync rule to CLAUDE.md (a348d37)
add new recipe pages for waitlist and sync unsubscribes (01ec34a)
correct PHISHING_CONFIDENCE_THRESHOLD default in CLAUDE.md (5c16679)
env: add wiki-documented vars to apps/api/.env.example (81315ea)
env: sync .env.self-host.example with missing variables (1c1c95d)
env: sync env example files, fix CLAUDE.md drift, add process rule (6ebbb50)
wiki: document MAIL_FROM_SUBDOMAIN and NGINX_PORT env vars (971b98a)