Changelog
Every feature, fix, and improvement shipped to Email Calculator.
- Tame homepage CTA padding
- Reduce Netlify SSR function bundle size
- Pin Netlify Lambda runtime to Node 22
- Restore Netlify deploy and homepage polish
- Fix TOML syntax - indent redirects properties
- Clean netlify.toml to remove any ANSI escape codes
- Set maxDuration = 26 for Netlify functions (AWS Lambda limit)
- Improve Netlify build - explicit changelog generation and TypeScript config
- Reduce Lambda bundle size by generating changelog at build time
- Comprehensive site improvements and changelog filtering
- Improve AI subject lines blog UX and add copy buttons
- Refine email marketing laws 2026 blog content
- Add email marketing laws 2026 blog post with copy checklist feature
- Add Claude and Copilot AI agent blog posts with images
- Adjust API logo contrast in dark mode
- Optimize PageSpeed image payloads
- Improve SEO accessibility and asset caching
- Add OpenClaw email marketing AI agents entry guide and image
- SEO and readability improvements: attention-per-email blog post
- Fix pricing checkout and usage settings
- Expand API dropdown platforms
- Add resend campaigns blog post
- Update pricing plans and API limits
- Update blog, tools, and reporting UI
- Implement snag list UI refinements
- Pause public desktop downloads
- Fix macOS installer app signature
- Update desktop app icon and Mac installer
- Harden reporting and improve dashboard insights
- Restore mobile header nav links
- Fix sitemap coverage and canonical URLs
- Fix social cards and release download pages
- Ignore desktop build artifacts
- Add desktop downloads and extension landing pages
- Add image for newsletter content filter strategy blog post
- Add SEO blog post: How Many Email Subscribers Do You Need to Sell 50 Units? + cross-linking
- Optimize blog posts for SEO: newsletter point of view and content filtering
- Add SEO-optimized revenue per email blog post
- Fix sitemap to use actual file modification times instead of build date
- Implement dynamic sitemap generation - auto-updates lastmod dates
- Update sitemap lastmod dates to improve Google indexing
- Enhance performance insights: add 1h option, set default to 'All', remove Trends tab, clean up UI
- Add email open rates blog post with SEO optimizations
- Add SEO-optimized blog post: The Great Email Open Rate Scam
- Implement comprehensive dark mode, API/CSV import, settings improvements, and Google OAuth
- Lazy-load Stripe client and add force-dynamic to API routes
- Lazy-load Supabase admin client to prevent build-time errors
- Remove eslint option from next.config.ts for Next.js 16
- Update Netlify build to only build web app
- Add .npmrc for desktop app pnpm hoisting
- Browser extension + desktop app + resend fix
- Migrate to Turborepo monorepo architecture
- Implement trial page SEO, navigation order, and UI polish
- UI/UX improvements: focus styles, dashboard polish, settings redesign, folder fixes
- Update messaging and UI: remove brand mentions, simplify dashboard empty state, add About page to nav
- Performance & UX improvements: autosave, caching, OAuth fixes, homepage updates
- Change route from /platforms to /apis
- Fix platform page consistency
- Update 4 email deliverability blog posts for SEO
- Add three new blog posts on email deliverability and AI inbox filtering
- Update messaging to problem-focused approach
- Fix Twitter card images not displaying - use correct Next.js metadata format
- Fix Twitter image meta tag for email-marketing-highest-roi post
- Add new blog post: Your Best Subscribers Probably Never Click
- Add email marketing ROI blog post and fix performance insights modal mobile layout
- Add new blog post: Simple Email Design Psychology with featured image
- Redesign Performance Insights modal for better UX
- Add social media meta tags to 18 blog posts
- Update homepage and advertise page UI improvements
- Add AI inbox blog post: Your Emails Are Now Being Read by AI Before Humans
- Add new blog post: Why Some Subject Lines Feel Impossible to Ignore
- Update navigation
- Remove About link from header navigation
- Update legal pages for Google OAuth authentication
- Remove test page
- Add animations and micro-interactions to test page
- Redesign test page with clean, minimal style
- Create modern conversion-focused test landing page
- Implement Google OAuth login with provider tracking
- Remove Google OAuth sign-in buttons (temporarily disabled)
- Fix OAuth redirect URL to force production domain (fixes preview URL issue)
- Fix OAuth callback cookie handling for Google sign-in
- Add Google OAuth sign-in to login and register pages
- Fix Twitter/X card images for all blog posts - convert relative paths to absolute URLs for proper social media sharing
- Add new blog post: Why Some Emails Feel 'Heavy' Before You Even Open Them - includes cognitive load analysis, fixed related articles, updated sitemap
- Add new blog posts: inbox competition problem and deferred email attention
- Add image for resending to non-openers blog post
- Update resending to non-openers blog post with natural writing and fix related articles
- Add and optimize two blog posts with sitemap updates
- Update nav links and careers listings
- Add new blog posts and related article updates
- Rewrite and enhance email marketing predictability blog post, update sitemap, fix related links
- Remove newsletter signup from home, update blog CTAs, and layout fixes
- Update email ROI calculator blog: improved tags, human tone, correct tool links, sitemap entry
- Check and document homepage meta image for Twitter cards
- Update blog content, related links, and tags for email subscriber segmentation articles
- Update downloads page text, ensure sitemap.xml includes downloads and browser-extensions pages
- Update homepage: move newsletter section, comment out testimonials, add performance insights to features, blog content and sitemap improvements
- Soften grid lines and add fade effect to PainPointsSection
- Use shared Navigation component on Advertise page for consistent header
- Rewrite and optimize blog post for SEO, update related links format
- Remove How It Works and Feature Grid sections from homepage
- Update footer and home page improvements
- Update hero section heading and subheading
- Expand careers page with 12 open positions
- Remove KPI badge from feature card
- Redesign homepage sections: problem, features, and how it works
- Add new blog post: subscriber value article (rewritten for human tone)
- Add email-calculator.png as default social media image for all pages
- Add blog post: Email Marketing Then vs Now (90s vs 2026) - comprehensive comparison with traditional marketing context, trial-and-error learning narrative, and HTML email evolution
- Add comprehensive blog posts: Email Marketing Clean Slate and Birthday Email Marketing
- Add SEO-optimized email marketing funnel optimization blog post
- Add advanced features migration and documentation
- Add comprehensive enterprise features suite
- Fix Lisa's testimonial - was too perfect
- Make testimonials sound more authentic and believable
- Link careers page to contact form instead of email
- Update careers page to reflect solo founder reality
- Add careers page with CTO/Co-Founder listing
- Fix all remaining JSX parsing errors in quality score calculator
- Fix JSX parsing error in email-list-quality-score-calculator
- Add 15 new email marketing calculator tools for SEO
- Update homepage messaging
- Add new blog post: Why Your Email Campaign 'Improved' (But Actually Got Worse)
- Add new blog post: Email Marketing Is a System - Not a Campaign
- Add new blog post: Monthly Email Reporting
- Improve gradient blend between FAQ and Testimonials sections
- Match homepage section styling: update title/description sizes, remove platform names from pain points, match hero button style
- Redesign homepage: improve pain points and how-it-works sections, remove pricing and who-its-for sections
- Add new blog post: The Hidden Cost of Bad Email Data
- Implement Tier 1 analytics features - Performance Score, Revenue Dashboard, Goals & Health Tracking
- Update home page content
- Update pricing section copy for better flow
- Add blog post: Your Best Email Campaign Is Hidden in Your Worst One
- Add new blog post: Most Email A/B Tests Are a Waste of Time - rewritten for natural human tone
- Add newsletter page to sitemap and refine signup layout
- Add dashboard updates and legal notice workflow
- DataInsights OR query to match user_id or workspace_id
- Add blog post: How to Actually Make Data-Driven Decisions in Email Marketing
- Add blog post: The Email Dashboard You Actually Need
- Update homepage SEO for conversion optimization
- Update homepage for conversion optimization
- Add two new blog posts and update sitemap
- Detect silent RLS save failures — show error toast when 0 rows updated
- Report saves and DataInsights refresh
- Performance Insights, gauge chart arc, blog post improvements
- Fix homepage features section: remove broken inline cards, use HomeFeatureGrid with all 16 features
- SEO & content improvements across blog, about, tools, platforms
- Add newsletter signup to blog posts and homepage
- Fix free plan copy: 3 reports total (not per month)
- Add 10 missing tool pages to sitemap.xml
- Add compounding email performance blog post and update sitemap
- Add 10 new free email marketing calculator pages
- Remove animated bar charts from CTA section
- Add Bing verification file
- Replace line chart with animated bar chart in CTA section + session changelog doc
- Add subtle animated line chart background to CTA section
- Rewrite first-24-hours post in human voice, fix 404 related link, update tags, add to sitemap
- DataInsights query uses workspace_id for workspace members, show empty state instead of hiding
- Remove stray brace causing parse error in ReportsList grid card
- Add All time option to Performance Insights day selector
- Restore dashboard top padding, add day-range selector to insights, remove bar chart
- Improved dashboard cards and DataInsights placement
- Spotlight onboarding tour, folder-scoped data insights, realtime cursors (agency)
- Fix canonical URLs, focused keywords, and metadata across all public pages
- Update About and Why Email Calculator page content
- Add email marketing metrics guide 2026 blog post and site updates
- Add blog post image for nobody-reads-your-emails
- Rewrite nobody-reads-your-emails blog post with prose, add internal links, update sitemap
- Restore all 50 missions (keeping End Game button and anytime leaderboard submission)
- Game improvements: reduce to 15 missions, allow leaderboard submission anytime, add End Game button, responsive H1
- Update editor button grouping and folder icon styling
- Fix navigation and blog CTAs
- Remove Upstash rate limiting - simplify setup
- Implement roadmap features: onboarding flow, rate limiting, templates, insights, recommendations
- Bypass Supabase email rate limit - disable confirmation requirement
- Revert image optimization - breaks on Netlify static hosting
- Update dashboard alert to reference Features instead of Experimental
- UX improvements: Rename Experimental to Features, remove beta elements, fix dashboard loading flash, organize docs
- Platform fixes: Enable image optimization, fix support chat Pro check, organize docs into guides folder, add scheduled reports fix instructions
- Add April Fools blog post about deleting email lists - expands on list quality vs size with humor and real insights
- Add blog post image: why-email-campaigns-fail.jpg
- SEO update: improve structure, fix related links, add to sitemap
- Fix FAQ: Remove Arabic text from blog post
- Add new blog post: Why Two Identical Email Campaigns Perform Completely Differently
- Header z-index so popups/modal overlays always cover editor bar
- Add 'More vs Better Emails' blog post, update sitemap, remove emojis, and fix related links
- Add email deliverability blog post with image and sitemap
- Add email deliverability blog post with natural paragraph flow
- Add 9-second email reading blog post with image and sitemap
- Add 9-second email reading blog post with natural paragraph flow
- Add March 2026 blog posts
- Add AI vs Human email blog post with sitemap entry
- Add Email Metrics Stack blog post with enhanced narrative content
- Fix agency account support: add workspace and team features
- Manual push to GitHub as requested
- Buffed up 'Good Email Conversion Rate 2026' blog post, verified related links, and added to sitemap.xml
- Fix cookie consent: Add reactive script loading and cookie deletion
- Add new blog post: Behavioural Email Metrics 2026
- Add comprehensive blog post: Simple Email Wins 2026 - covers 8-second attention span, mobile-first email strategies, plain-text vs HTML, technical advantages, testing methodology, and industry-specific guidance
- Fix YAML formatting in blog post frontmatter
- Add email marketing data hygiene section with scoring and reputation focus
- Add AI data preparation blog post with image and update sitemap
- Update Inbox 2.0 blog post FAQs
- Add Inbox 2.0 blog post, fix related links, update sitemap, fix blog performance
- Add AI-generated emails blog post, update sitemap, clean up rogue docs from repo
- Add blog post hero image for AI tools article
- Add comprehensive '27 Best AI Tools for Email Marketing' blog post with enhanced prose and website links
- Add email personalization click rates blog post and update sitemap
- Add email deliverability 2026 blog post and update sitemap
- Make game header and stats sticky on desktop with scrollable actions section
- Expand game from 5 to 50 missions with realistic email marketing scenarios covering e-commerce, B2B, SaaS, deliverability, automation, and crisis management
- Add documentation for game leaderboard authentication update
- Add user authentication to game leaderboard: auto-populate name from profile, save user_id with scores
- Make game full-width and single-screen: remove container constraints, reduce spacing, hide footer
- Implement team and platform persistence across missions for strategic progression
- Fix mission stuck bug: Add skip turn button and allow early mission completion
- Fix game stuck bug: Replace single-use actions with cooldown system - basic actions 1 turn, advanced 2 turns
- Major game enhancement: Add team hiring, platform upgrades, reputation system, and realistic email marketing mechanics
- Fix game action selection bug: prevent stale state and clicks during events
- Add AI agents for email marketing blog post with comprehensive tool guide and SEO optimization
- Update game title styling: remove emoji, use theme-aware colors
- Add comprehensive SEO and structured data for game page
- Add game page to sitemap and footer resources section
- Add Email Marketing Rescue game with public leaderboard
- Add related tools internal linking sections to all calculator pages
- Fix invalid nested URL tag in sitemap.xml
- Add SEO metadata and consistent styling to all calculator tools
- Add perfect email length blog post with 8-second attention span insights
- Update platforms dropdown: add backdrop blur, hover states with gray-50 bg and borders, improve visibility and interactivity
- Add platforms dropdown menu to navigation with 9 platform icons, update PlatformLogoCard to square design, add mobile platforms link
- Update calculator link in blog post to correct tool page
- Add email click-through rate calculator tool page
- Add email click rate improvement blog post, update sitemap, and include post image
- Add Plus Jakarta Sans for headings, keep Inter for body text
- Fix create report modal z-index via portal, match grid/list button styles, improve homepage SEO
- Add plain-text-vs-html-email blog article to sitemap
- Remove liquid and waffle chart types, reorganize experimental features, fix AI modal z-index, and remove benchmark report page
- Add Waffle/Radial charts, improve liquid visual, disable experimental by default, add Instagram
- Raise header bar z-index to z-[9999] so dropdown renders above all cards
- Increase all dropdown z-index to z-[9999] to prevent overlay issues with liquid chart cards
- Add explicit pointer-events:none to all liquid chart child elements to prevent click interference
- Liquid chart: fill card edge-to-edge, slow wave (8s/12s), fix 100% wave; campaign_cost: separate save to avoid schema cache error; update .gitignore
- Add liquid fill chart type with animated wave surface
- Fix data normalization, add campaign_cost field, revenue per subscriber, fix Shopify response shape
- Demo editor: show only save button and timestamp in toolbar
- Experimental features: export/share/charts/refresh gating, manual report fixes, testimonials slider start at 0
- SEO content, blog fixes, dashboard UX improvements, sitemap update
- Workspace context plan check, WorkspaceSwitcher dialog for new Agency users, workspace loading timing
- Fix Agency workspace loading timing in ReportsList
- Optimize blog post images: compress large files (5.4MB→109KB, 2.5MB→118KB, 3.0MB→171KB), add lazy loading, quality settings, and responsive sizes to reduce scrolling lag
- Add new blog post: The Psychology Behind Email Clicks with sitemap update
- Update docs and terms with correct pricing: Pro unlimited reports, remove priority support from Agency, add Story/Compare to all plans, fix checkmarks
- Add unique SEO metadata for all tool pages
- Disable Netlify secrets scanning
- Update pricing and features: enable story, compare, AI for free; update plan descriptions, export, FAQ, docs, error messages; remove priority support and client share links from Agency; link account creation; synchronize plan limits.
- Mobile horizontal scroll, clean up FAQ content and styling
- Platform logo circles losing bg/border color on mobile
- Remove emojis/badges, update CTAs, add to sitemap
- Fix Create Free Account links in tools pages: /auth/signup -> /auth/register
- Move Free Tools column to last in footer
- Add Free Tools column to footer
- Add /tools SEO calculator pages: open rate, CTR, ROI, list growth, deliverability, campaign performance
- Update contact page and config
- Fix platform pages: remove Security Note, What we access blocks; standardise metrics sections and Pro/Agency alerts
- Remove 'Need Help' section from all platform pages
- Standardise all platform pages to match acoustic template
- Add email deliverability metrics guide to sitemap
- Fix image format: update deliverability blog post to use jpg instead of png
- Enhance email deliverability blog post for SEO
- Update pricing section: add Share via email to Pro features list
- Update free tier features: add AI, Story, Compare, Charts, Share (send now); remove Deep Dive (requires API); add Terms/Privacy links to auth pages
- Fix related link to benchmarks article and add to sitemap.xml
- Push all code and updated images
- Fix parsing errors in platform pages (customer-io, shopify, sitecore, tally, typeform, webflow)
- Update all platform pages for consistency: remove FAQ sections, update styling, fix parsing errors
- Add Pro/Agency plan requirement alert to Acoustic integration page
- Remove FAQ section from Acoustic platform page
- Improve Acoustic page: add indent to metrics list, rename to 'Frequently asked questions', rewrite FAQs with Acoustic-specific valuable content
- Update Acoustic page cards to use dark:bg-gray-900 in dark mode
- Improve Acoustic platform page: smaller icon, add clickable link to acoustic.com with URL text and external link icon
- Remove horizontal scrollbar from navigation by removing overflow-x-auto
- Fix admin page infinite re-render: move supabase client inside useEffect
- Remove feedback and users admin pages, add Private Email link for contact inbox access
- Further optimize blog images to 800px for better card display performance
- Optimize all blog images: resize to max 1200px width for better performance
- Disable Next.js image optimization to fix broken blog images
- Switch session-depth blog image to JPEG format for better Next.js compatibility
- Optimize session-depth image: convert to actual PNG format and resize to 1920px
- Update session-depth-email-analytics.png image
- Convert blog images from JPEG to actual PNG format to fix Next.js image optimization
- Update blog posts to use .png image references
- Optimize blog post images: convert large PNGs to web-optimized JPEGs (33MB+31MB -> 858KB+833KB) to fix Next.js image optimization timeouts
- Update homepage
- Fix blog post images: convert from JPEG to actual PNG format to fix Next.js image optimization
- Improve homepage FAQ formatting and content structure
- Update email marketing benchmarks blog post
- Update session-depth blog post
- Fix related links in session-depth blog post and add to sitemap
- Add email notifications for support chat messages to contact@emailcalculator.com
- Add email notifications for contact and feedback forms, fix blog post images on mobile
- Update all email addresses to contact@emailcalculator.com
- Update contact page layout
- Add contact link to navigation and footer
- Add contact page with form, SEO, and schema markup
- Update 404 page styling to match site design
- Fix favicon issue and enhance 404 page
- Fix duplicate featuresSEO export in seo.ts
- Improve features page with enhanced copy, SEO metadata, and better content structure
- Update blog alert banner with chart icon and blue gradient design
- Add dismissible alert banner to blog posts and update sitemap
- Revert "Fix sticky navigation header by removing overflow-hidden from parent containers"
- Fix sticky navigation header by removing overflow-hidden from parent containers
- Fix structured data errors and blog post heading hierarchy
- Update email list loss blog post content
- Update blog post and generated files
- Fix related blog post links to point to existing articles
- Add email list loss revenue impact blog post to sitemap
- Update platform cards - dark mode styling with gray-900 bg, lighter borders, and sky-500 hover
- Restore testimonials slider side view with overflow-visible
- Update platform logo icons - white in light mode, dark gray in dark mode
- Fix horizontal scroll on mobile - fixed TestimonialsSlider overflow and added overflow-x-hidden to main containers
- Fix platform icons visibility in dark mode
- Update testimonials with shorter, more realistic content and adjusted text size
- Add brand blue border to testimonial avatar images
- Redesign platform logos slider with infinite auto-scroll and performance optimizations
- Redesign platform logos slider with infinite auto-scroll effect
- Use theme default border color for navigation to match footer
- Add TikTok social icon to footer
- Lighten platform card borders in dark mode
- Add visible bottom border to navigation for light and dark mode
- Fix feature images for large displays and add missing placeholders
- Add email marketing math cheat sheet blog post
- Redesign HTML and PowerPoint exports with modern Email Calculator styling
- Update testimonials with Agency workspace focus
- Remove About link from Website section (now in Product)
- Add About link to Product section in footer
- Enable sticky navigation with scroll-aware blur effects
- Update platform CTA card to match blog post blue gradient style
- Add sky blue border hover effect to platform cards
- Update Twitter card metadata format for proper image display
- Expand blog content, add reading times, update pricing page
- Simplify admin dashboard cards and change to 4-column grid
- Add timestamp to last login display
- Add last login time to users display
- Refactor users to show preview card with link to full page
- Add all users card to admin dashboard
- Ensure all users have at least one workspace automatically
- Allow free users to create reports by auto-creating default workspace
- Fix ESLint check in pre-push hook
- Fix TypeScript errors and adjust pre-push hook strictness
- Add comprehensive pre-deployment testing system
- Add comprehensive scheduled reports debugging tools
- Allow agency accounts to access all Pro features
- Fix scheduled reports to properly gate Pro feature
- Registration flow - add auth/callback route and fix database trigger
- Update pricing: Pro £9.99/mo, Agency £29/mo
- Auto-generate changelog from git log at build time, add footer link
- Rebuild changelog with full accurate history from Jan 28 launch
- Add /changelog page with full release history and update sitemap
- Add Bing Webmaster Tools link to admin useful links
- Fix BingSiteAuth.xml: move to public/ so it is served at /BingSiteAuth.xml
- GEO audit fixes: robots.txt, llms.txt, BingSiteAuth, sitemap, platforms SSR, blog authors, schema and security headers
- Add Workspaces and Team Members to features page (Agency plan)
- Fix gray code blocks in blog post light mode
- Remove 7-day trial banner from blog post pages
- Update email marketing formulas blog post
- Remove internal setup/guide files from repo, add to .gitignore
- Expand email marketing formulas blog post (SEO), add to sitemap
- Add Workspaces & Teams section for Agency plan
- Trial removal, 3-tier pricing, workspaces/teams, legal updates, Stripe checkout fix
- Remove container constraint from navigation for full width
- Change navigation link from APIs to Platforms
- Make mobile menu overlay content instead of pushing it down
- Fix mobile navigation layout
- Remove unused public-navigation component
- Add centered navigation links to header
- Add navigation links to public header
- Fix Twitter/X card image - use absolute URL for social sharing
- Add blog post image for email marketing analytics article
- Expand email analytics blog post for SEO - 70% more content with new sections on tools, maturity model, best practices, and actionable insights
- Fix SVG logo loading on Amazon SES and HubSpot platform pages
- Fix Free Plan to show correct limit of 3 reports
- Fix Free Plan report limit inconsistency in docs
- Update About page platform count from 35+ to 50+
- Fix Eloqua page PlatformLogoCard props
- Add comprehensive Cookie Policy page
- Fix Zoho page SVG path to use correct filename
- Fix status check logic with proper response time thresholds
- Remove platform status note from status page
- Add DPA page, real-time status monitoring, and optimize RLS performance
- Add missing PlatformLogoCard imports to fix Netlify build errors
- Reduce platform icon size to half (w-12 h-12) on platforms index page
- Update platforms index to use PlatformLogoCard with 2px borders
- Update all platform pages to use PlatformLogoCard for consistent branded card styling
- Fix PlatformLogoCard import to named import in platform pages
- Refactor platform pages (Aweber, Klaviyo, Brevo) to use PlatformLogoCard for consistent logo card style
- Make border slightly lighter than bg in dark mode for PlatformLogoCard
- Lighten border to match bg in dark mode for PlatformLogoCard (slider cards)
- Refactor Mailchimp platform page to use PlatformLogoCard for consistent card style
- Set Zoho platform card color to dark gray
- Make platform SVG icons white in light mode in PlatformLogosSlider
- Use slightly darker brand color for platform card borders and verify all brand colors
- Update Acoustic brand color to #706cff in PlatformLogosSlider
- Use full brand color for platform card backgrounds in PlatformLogosSlider
- Use brand color for card border in light mode in PlatformLogosSlider
- Add brand color backgrounds to PlatformLogosSlider cards
- Fix related article links in hidden-email-metrics blog to valid posts
- Remove closing promo text from hidden-email-metrics blog, add to sitemap.xml
- Make Feature Highlights card descriptions short and equal length for homepage layout
- Update homepage SEO with enhanced metadata and keywords
- Update homepage features, dashboard list view, and navigation styling
- Add Unsplash attribution system with photographer credits
- Remove aggressive polling from admin support chat to prevent memory leak
- Move subscription warning to delete dialog only, hide from danger zone card
- Add subscription check to prevent account deletion for active paid plans
- Remove icons from password/danger sections, make danger zone a full card, remove pro badge
- Add password change and account deletion features to settings
- Remove Website Features card and add Lucide icons to core services
- Add platform icons to status page
- Remove contact message from status page
- Update status page cards to consistent style
- Add status page for system and platform monitoring
- Remove roadmap link from footer
- Remove roadmap page and update sitemap
- Add admin navigation, update feedback API auth, add useful links card to admin dashboard
- Always use absolute URL for Twitter card images on blog posts
- Add blog post and image: email-marketing-benchmarks-by-list-size-2026
- Add email-marketing-benchmarks-by-list-size-2026 blog post to sitemap.xml
- Clean repository: ignore and remove obsolete docs/scripts/sql files
- Fix Unbounce platform page styling to match standard layout
- Add complete-email-marketing-metrics-guide to sitemap
- Fix related article links in metrics guide
- Expand email metrics guide and adjust blog spacing
- Update GetResponse logo
- Add comprehensive /features page with screenshots and update sitemap
- Force dynamic no-cache support chat APIs
- Add polling fallback for support chat realtime sync
- Enable realtime support chat updates and disable cached fetches
- Make support chat bubbles full width and reduce timestamp size
- Fix admin chat user identity mapping and avatar fallback
- Fix admin conversations API - join subscriptions table to get subscription status and profile data
- Fix user profile display in chat - show uploaded images and names
- Implement secure admin authentication and profile images in chat
- Fix admin dashboard conversations and email notifications
- Fix Supabase server imports for support chat API routes
- Temporarily disable Pro check for support chat testing
- Add Pro user live chat support system with admin dashboard
- Move Feedback link from Resources to Website section in footer
- Re-add drag functionality with better click prevention
- Remove drag functionality from platform slider
- Add drag/swipe functionality to platform logos slider
- Hide platform slider pagination dots on mobile
- Add asterisk to Free plan and trial information text
- Remove button from Free plan and shorten card height
- Remove generic features from Pro pricing table
- Improve pricing cards and increase Free plan to 3 reports
- Add RSS feed for blog posts
- Fix Netlify build error: wrap useSearchParams in Suspense boundary
- Add blog post image for prove-email-marketing-roi
- Add prove-email-marketing-roi blog post to sitemap
- Update documentation, platform filtering, and footer navigation
- Update homepage and footer copy to improve clarity and messaging
- Update all remaining lead and ROI platform pages with blue gradient CTA sections
- Update remaining platform pages (Calendly, Jotform, WooCommerce, Stripe) to use Acoustic blue gradient CTA style
- Standardize CTA sections on new platform pages to match Acoustic blue gradient style
- Add Sitecore, Tally, Webflow, Unbounce lead integrations and standardize platform pages
- Blog post from stage
- Add email metrics blog post
- Add email metrics vs revenue blog post
- Standardize all platform pages to match Acoustic layout and styles
- Include ROI and lead metrics in all exports and shared reports
- Uncomment TestimonialsSlider import and remove unused variable
- Remove ROI and Leads feature cards from main branch
- Fix build error: move JSON.parse outside JSON.stringify
- Fix feature cards grid: parse JSON-LD for features
- Restore feature cards grid on home page
- Restore blog post image: how-many-emails-should-you-send-per-week.png
- Restore blog post: How Many Emails Should You Send Per Week?
- Add/update platform SVG icons
- Update HubSpot Forms icon to hubspot.svg in PlatformLogosSlider (homepage)
- Update HubSpot Forms icon to hubspot.svg on platforms page
- Add platform integration guide pages for all Stage 2 platforms (PayPal, Gumroad, Square, BigCommerce, Paddle, Google Forms, WordPress, HubSpot Forms, Formstack, Wufoo)
- Update all pages with Stage 2 platform integrations
- Add Stage 2 platform integrations: PayPal, Gumroad, Square, BigCommerce, Paddle (ROI) + Google Forms, WordPress, HubSpot Forms, Formstack, Wufoo (Leads)
- Add WooCommerce, Stripe, Jotform, and Calendly to settings dropdown
- Add Stage 1 integrations: WooCommerce, Stripe, Jotform, and Calendly
- Add 'How Many Emails Should You Send Per Week?' blog post and update sitemap
- Fix trial expiry automation and scheduled reports
- Add why-email-calculator page with honest, human-written content and accurate pricing
- Restore Platform Logos Slider to original location in Final CTA section
- Add Customer.io platform integration with full API support
- Add test and check scripts to gitignore and remove from repo
- Add Product/Offer schema.org JSON-LD to pricing page for Google rich results with pricing info
- Add SoftwareApplication schema.org JSON-LD for product info, pricing, and features in Google search
- Add BreadcrumbList schema.org JSON-LD for blog posts to display breadcrumbs in Google search results
- Add Organization schema.org JSON-LD for brand recognition and Google knowledge panel
- Add BlogPosting schema.org JSON-LD for blog posts to enhance SEO and Google rich results
- Add FAQPage schema.org JSON-LD for blog post FAQs for Google rich results
- Fix unterminated JSX and misplaced FAQ JSON-LD script injection on homepage
- Fix social media meta tags for blog posts - ensure images display on X/Twitter
- Improve email benchmarks blog post with expanded content and add calculator icon to footer
- Update about page with concise, professional content
- Reorganize footer into categorized layout with Product, Resources, Company, and Legal sections
- Add About page with dark mode support
- Add new blog post: AI Email Marketing Metrics That Actually Predict Performance in 2026
- Update landing page: improve card text size and CTA section layout
- Remove 'Setup Guide' text from PlatformLogosSlider component
- Fix malformed sitemap.xml: remove duplicate urlset and ensure valid XML structure
- Add blog post: Email Dashboard Reporting Guide, update sitemap.xml, and include blog image
- Add Story button to DemoReportEditor header
- Link all platforms in docs page to their platform pages
- Update pricing in home page FAQ to £9.99/month or £99.99/year
- Revert blog images to relative URLs, add platforms link on home, update sitemap
- Fix blog post meta images for social sharing - convert to absolute URLs
- Improve platform pages: standardize CTAs, metrics, troubleshooting, add breadcrumbs
- Add pricing page to sitemap.xml
- Update footer with Platforms and Pricing links, simplify platforms index page, enable search functionality
- Enhance platforms index page with SEO metadata, convert to server component, add comprehensive descriptions and benefits section
- Remove Advanced Analytics sections from all platform pages, keep only Core Email Metrics
- Standardize platform pages: update titles to 'Connect [Platform]', remove long descriptions, keep only core metrics, maintain troubleshooting sections
- Update all platform pages: remove Quick Stats cards, enhance SEO metadata, add comprehensive intro paragraphs for better Google rankings
- Add pricing page with monthly/yearly toggle and update pricing section across site
- Update navigation upgrade button to link to pricing page
- Update email A/B testing reporting blog post
- Add related posts section to email A/B testing blog post
- Add email A/B testing reporting blog post image
- Add email A/B testing reporting blog post with FAQs and SEO optimization
- Add 34 platform integration guides with SEO optimization
- Comprehensive accessibility improvements: ARIA labels, keyboard navigation, skip links, focus indicators, and semantic HTML
- Add traffic light status indicators to API integrations with ping animation
- Improve grid and list view UX: add bulk actions, refine layouts, add button labels
- Add EmailOctopus, Amazon SES, and SparkPost API integrations
- Add email analytics reporting mistakes blog post with SEO optimization and sitemap update
- Fix dropdown: remove conflicting overflow properties from button container
- Add click-outside handlers and container classes for dropdown menus
- Fix dropdown menus: add overflow-visible to parent header container
- Fix dropdown visibility: add overflow-y-visible to button container
- Fix dropdown menus: increase z-index to appear above scrollable container
- Improve mobile button bar: reduce spacing, enable horizontal scroll, prevent shrinking
- Clarify Campaign Story generates written narrative instantly
- Update documentation with Campaign Story and Industry Benchmarking features
- Replace Unlimited Reports card with Campaign Story feature on homepage
- Update Story feature upgrade message
- Expand story report with detailed analysis and insights
- Remove emojis, bold headings, add button padding
- Remove white bg and add bottom padding to story text
- Show story immediately when Story button clicked
- Simplify Story modal UI
- Simplify Story feature to text storyteller only
- Transform Story into actual narrative storytelling with insights
- ♻️ Simplify Visual Storytelling templates
- 🗑️ Remove documentation files from repo
- 📚 Add comprehensive Visual Storytelling documentation
- ✨ Add Visual Storytelling feature with 4 professional templates
- Add industry benchmarking feature to Compare Reports Modal
- Update blog post: optimize ESP metrics discrepancy article for SEO with enhanced meta tags and 500-word rewrite
- UI improvements: update modals, buttons, and add Manual badge to reports
- Fix scheduled reports with comprehensive logging and testing tools
- Update platform SVG logos for better visibility
- Improve platform logos slider: increase logo sizes and align icons
- Fix context menu positioning and width in folder tree
- Move CTA link to beginning of message
- Improve trial CTA card design
- Add trial CTA banner at top of blog posts
- Correct sitemap.xml format for Google Search Console
- Add email marketing KPIs blog post to sitemap with enhanced SEO
- Add SEO and social media meta tags to documentation page
- Add comprehensive documentation page with sidebar navigation and all features
- Use company logo in shared email reports
- Add company logo upload for Pro users in settings - Add company_logo field to profiles - Pro-only feature with 2MB upload limit - Stored in Supabase company-logos bucket - Logo will replace Email Calculator branding in shared reports - Falls back to default if no logo uploaded - Includes database migration and setup documentation
- Add folder breadcrumb navigation above reports list
- Match folder icon color with other icons in report cards
- Move folder toggle to search bar on mobile, fix sidebar full height on desktop
- Add responsive mobile sidebar with floating folder button toggle
- Make dashboard layout fixed height with scrollable sidebar and content, always show folder breadcrumb on all report cards
- Add missing dialog component for folder tree
- Close missing JSX tags in dashboard page
- Add folder tree sidebar for organizing reports with nested folders support
- Add new image to public folder
- Persist banner dismissal state during session using sessionStorage
- Show expired trial message with upgrade link and improve X icon positioning
- Use real Stripe payment link for upgrade button
- Show trial end date and update upgrade button to Stripe checkout
- Use production URL for Supabase email confirmation redirect
- Update SEO meta fields and tags for email campaign performance blog post
- Add new blog post to sitemap and expand content with h3 headers
- Add missing FAQs and italicize testimonials
- Alphabetize platform logos slider
- Add new blog post to sitemap and update content/SEO
- Update DemoReportEditor: add header with buttons, General info card, improve layout and width
- Enhance modal UX: share email improvements, add borders, compare reports updates, platform badge styling
- Update homepage and platform logos slider
- Update FAQ section: make container narrower and cards white when opened
- Fix broken related article links across all blog posts
- Update homepage layout and pricing section
- Update additional platform icons
- Add blog post image for Email Metrics That Actually Matter
- Add new blog post: Email Metrics That Actually Matter with SEO and sitemap
- Update platform logos slider dots to match testimonials style
- Update pricing section to single Pro plan and remove handwriting font from testimonials
- Update platform icons
- Update homepage and registration page copy
- Add error handling in middleware to prevent 500 errors
- Remove space from package name to fix Netlify build
- Update no-more-spreadsheets blog post
- Add new blog post: No More Spreadsheets for Email Marketing Reports
- Update platform icons
- Fix report save failures with better error handling
- Add platform logos carousel to homepage
- Update .gitignore
- Add comprehensive RLS performance optimizations
- Add security fixes for Supabase linter warnings
- Fix Twitter Card meta tags to use custom social media fields
- Add SEO and social media meta tags to list health blog post
- Add blog post: Email List Growth and List Health Metrics
- Fix TypeScript compilation errors in edit page
- Update HeroSection trial message for clarity and accuracy
- Revise title and tags for email campaign article
- Fix sitemap.xml formatting and remove duplicate entries
- Update blog post, FAQs, and sitemap.xml for new content and SEO improvements
- Shorten testimonials to be snappy and feature-focused
- Improve homepage UX and testimonials
- Update hero section CTA and trial messaging
- Update pricing section copy on landing page
- Improve email deliverability blog post with comprehensive SEO content and FAQ accordion
- Add yellow trial promo banner to homepage
- Fix CTA section spacing on homepage
- Implement 7-day free trial system for new users
- Add limited time pricing offer with lifetime price lock-in disclaimer
- Add 7th testimonial and opacity transitions to slider, start on slide 4
- Accessibility improvements: add label to select element, improve button contrast (sky-700), increase touch target size for testimonial dots (44x44px), add main landmark element, fix testimonials slider syntax error
- Additional performance optimizations: remove unused preconnects, optimize testimonial images with Next.js Image, add .browserslistrc for modern browsers, lazy load DemoReportEditor to reduce LCP delay
- Performance optimizations: preconnect hints, image optimization, code splitting, modern JS output, CSS minification, font display swap, RAF for animations
- Remove redundant buttons from compare reports modal
- Fix report save functionality by adding user_id filter to update query
- Fix syntax error and optimize testimonials drag performance
- Remove navigation arrows and improve drag performance
- Prevent text selection when dragging testimonials slider
- Add drag functionality to testimonials slider for desktop and mobile
- Position testimonial arrows closer to card
- Reduce gap on testimonials slider navigation arrows
- Add image type to Open Graph meta tags for better social media compatibility
- Update blog system to be dynamic, improve SEO for new blog post, refactor homepage to server/client components
- Update PowerPoint export: 2-slide format with consistent styling, add API suffix
- Update PDF and Word exports: match formatting, add API suffix to platform names
- Fix syntax error in Word export table header
- Make metadata labels bold in Word export
- Optimize Word export: Remove emoji, use Arial font, reduce spacing for single page layout
- Enhance Word export with improved layout matching Figma design
- Remove incorrect netlify.toml config - scheduled function is defined in code
- Fix scheduled reports: Add cron configuration to netlify.toml
- Update testimonials with more authentic and relatable content
- Make testimonials text responsive (smaller on mobile)
- Add Chrome Web Store icon to footer
- Update testimonials with Shadows Into Light font, increase text size to 4xl, and slow slider to 60s
- Add testimonials slider to landing page with random user images
- Add social media icons to footer (Facebook, Instagram, LinkedIn, X)
- Add Email Calculator logo and branded footer to welcome and share report emails
- Enhanced all export formats with comprehensive metadata, chart visualizations, and branding
- Update Mailchimp blog post date to February 4th, 2026
- Update Mailchimp API integration blog post
- Fix save function with better chart_type handling and error reporting
- Improve General card layout with 3-column grid and platform display
- Add intelligent AI prompt selection system and enhance report metadata display
- Update favicon configuration with comprehensive icon set
- Fix Mailchimp blog post image filename
- Add Mailchimp API blog post to landing page recent posts
- Add Mailchimp API blog post to sitemap
- Add Mailchimp API integration blog post with SEO optimization
- Fix chart type not saving - include in autosave comparison
- Update landing page cards to highlight chart visualizations and deep dive analysis
- Add 2 more suggested prompts to AI Chat modal (5 total)
- Add suggested prompt buttons to AI Chat modal for quick analysis
- Disable API-synced fields in sidebar with informative message and Refresh API link
- Move last saved time to General card on mobile view
- Fix pie chart 100% display to show full color
- Add pie charts visualization option
- Add dynamic chart visualization with gauge speedometer
- Enhance Deep Dive feature with comprehensive recipient data and contextual status display
- Add GDPR compliance sections for Deep Dive feature to Privacy Policy and Terms of Service
- Remove disclaimer text from Deep Dive modal
- Remove duplicate Refresh API button, keep version with loading animation
- Remove duplicate FAQ section from click-through rate blog post
- Remove duplicate FAQ section from email open rate blog post
- Move sitemap.xml to public folder for proper serving
- Update conversion rate blog post image on homepage
- Add FAQs to conversion rate post and Related Guides to all blog posts
- Add search, filters, and pagination to blog page
- Add markdown formatting support to FAQ accordion answers
- Fix FAQ rendering to support YAML frontmatter format
- Move FAQs to YAML frontmatter accordion format for click-through rate post
- Add 5 FAQs to email click-through rate blog post
- Increase FAQ font size, add blog post excerpt, and add recent blog posts section to homepage
- Update favicon to flat orange calculator icon with transparent background
- Add calculator favicon to public folder
- Update favicon to calculator icon
- Update email calculator pro image
- Add Instagram, Reddit, and Pinterest share buttons to blog posts
- Add email click-through rate blog post to sitemap
- Fix dark mode flash on page refresh with blocking head script
- Enhance API integrations settings UI with edit modal and platform icons
- Update Refresh API button with platform icons and dark mode support
- Fix DeepDive bug, add Campaign Monitor support, enhance homepage with SEO FAQ section
- Add text-to-speech audio player to blog posts
- Add blog post: How to Calculate Email Open Rate
- Add beta warning message to dashboard with feedback link
- Add Blog link to footer
- Update blog CTA styling, add blog to sitemap, and add optimized blog post image
- Update blog CTA styling and add blog to sitemap
- Add blog system with markdown support and SEO optimization
- Restrict Deep Dive to Pro accounts only
- Fix duplicate Compare button causing build error
- Add Deep Dive feature for recipient-level campaign analysis
- Add platform icons to dashboard list and fix Excel export
- Add Pro pricing section with wider layout and image
- Update editor page formatting
- UI improvements: update button styling, add text labels, improve form inputs and dark mode consistency
- Update homepage SEO to reflect calculator and comparison features
- Add pricing table and update free plan to 1 report limit
- Add Report Comparison feature for Pro users
- Await cookies() in billing portal route for Next.js 15+ compatibility
- Scope AI chat history to individual reports and update pricing
- Add AI chat history persistence and fix highlight color system
- Remove button zoom animation from login and register pages
- Remove generateDefaultSeo to prevent duplicate <title> tags (Next.js metadata now handles SEO)
- Add unique SEO metadata for all pages with comprehensive keywords and descriptions
- Update Governing Law to England and Wales for UK-based company with worldwide service
- Update Terms of Service to comprehensively cover all app features including API integrations, AI assistant, scheduled reports, PRO plans, and third-party services
- Update privacy policy to reflect all app features including API integrations, AI assistant, scheduled reports, and data handling
- Add PRO feature gate to Scheduled Reports tab
- Show AI tab for all users with PRO feature message, remove upgrade button from API tab
- Restrict AI features to Pro users only: add plan check to AI button, hide AI tab for free users
- Convert AI chat modal to right-aligned full-height sidebar
- Improve chat layout: align all avatars left, names inline right, messages underneath
- Fix API key detection: check for non-empty string, not just truthy value
- Enhance AI chat: add profile images/names to messages, rename to Email Calculator AI, show report name in empty state
- Move AI button: reposition after Save/Refresh, before Export/Share
- Update AI settings tab: replace Sparkles with brain SVG icon, remove icon from How to use section
- Update AI modal: replace icons with brain SVG, add API key setup message
- Add AI chat assistant feature with OpenAI integration
- Add Email Calculator logo to shared and scheduled report emails
- Update .gitignore to exclude additional files
- Use correct production URL in scheduled reports cron
- Configure Netlify scheduled reports with proper environment setup
- Remove Netlify Forms and fix reports RLS policies
- Integrate Netlify Forms with feedback page
- Change contact page to feedback page
- Add dashboard view mode preference persistence to Supabase
- Remove hardcoded email fallbacks to fix Netlify secrets scan
- First commit