Changelog.

A record of what we have shipped, improved, and fixed.

v1.16.1

Fixed

  • sample-unavailable text injected on real failure only (kills the recurring false positive)

v1.16.0

New

  • category keywords in title tag and visible copy (audit Phase 2.2)
  • entity schema + real pricing offers + llms.txt (audit Phase 2.1/2.4)
  • mobile navigation menu + 44px touch targets (audit Phase 2.5)
  • self-host fonts, WebP avatars, immutable asset caching (audit Phase 2.3)

Fixed

  • 72h paid-state grace window on ExtPay failure + trial-ended notice (MAZ-288)
  • meaningful alt text on voice portraits (audit Phase 2.6)
  • serve security headers on HTTPS responses + www→apex 301
  • true up privacy copy to shipped analytics (audit Phase 1.2)
  • wire contact form to real Formspree endpoint (audit Phase 1.1)

v1.15.2

Fixed

  • expose window.posthog — goodbye survey events silently never sent

v1.15.1

Fixed

  • highlighter matches beyond 500 words — backtrack window + uncapped fallback, position preserved on miss (MAZ-287)

v1.15.0

New

  • uninstall exit survey — setUninstallURL + /goodbye page (MAZ-286)

Fixed

  • highlight and autoscroll survive background tabs; resync + scroll on resume (MAZ-285)

v1.14.3

Fixed

  • Play Article narration composer — ordered intro, junk-block skip list (MAZ-284)

v1.14.2

Fixed

  • serialize install-id minting (one install = one analytics identity)

v1.14.1

Fixed

  • free-limit and error cards escape the rail into a readable flyout

v1.14.0

New

  • anonymous product telemetry with opt-out + honest privacy disclosure (MAZ-282)

Fixed

  • body-level overlay play button — kills overflow clipping and host-CSS deformation (MAZ-281)
  • show Upgrade CTA on free-limit error instead of dead-end Retry (MAZ-281 Chunk D)

v1.13.3

Fixed

  • soundwave mark everywhere (extension icons + site favicon)

v1.13.2

Fixed

  • brand icons derived from redesign mark

v1.13.1

Fixed

  • save toast invisible - styles were shadow-scoped, toast is light-DOM

v1.13.0

New

  • save-feedback toast + unbound-shortcut hint (MAZ-279/280)

v1.12.0

New

  • listen-later queue v1 (MAZ-279)
  • settings sync + global shortcuts (MAZ-280)

Fixed

  • trial countdown anchored to first-seen install time

v1.11.0

New

  • promote redesigned landing page (MAZ-278 Chunk A)

Fixed

  • terms/pricing guarantee alignment + CTA event beacon transport (MAZ-278)

v1.10.0

New

  • in-extension first-run onboarding (MAZ-277)
  • per-site disable + Gmail selector self-check (MAZ-257 B/C/D-draft)
  • /welcome post-install onboarding page (MAZ-259 Chunk C)
  • PostHog EU analytics + favicon/footer polish (MAZ-259 Chunk B)

Fixed

  • highlighter guards for editable and live regions (MAZ-257 Chunk A)
  • MV3 service worker lifecycle hardening (MAZ-256)
  • remove Discord links sitewide (no server exists yet) (MAZ-259)
  • stop losing cta_install_click events on store navigation (MAZ-259)

v1.9.0

New

  • production build hardening + CWS submission package (MAZ-252)
  • rebuild GmailShowcase to match the real Gmail experience
  • rebuild Hero demo with the new player + real Sarah voice
  • rebuild ProductShowcase with the new player design + real avatars
  • rebuild Solution + Features to the new player + real voices

Fixed

  • recolor injected buttons to Refined Violet (retire the cyan)
  • mobile responsiveness for the rebuilt player sections

v1.8.0

New

  • add 4 curated Inworld voices (Rowan, Vivienne, Willow, Silas)
  • sentence-skip arrow keys, shortcut hints in tooltips, HearIQ wordmark

Fixed

  • regenerate voice previews so the audio says the HearIQ names

v1.7.6

Fixed

  • Playback speed control now changes audio speed correctly, both mid-playback and across sentences

v1.7.5

New

  • Added Gmail integration showcase section with 'Listen' button demo
  • Added 'Right-Click to Read' feature card in Features section

Changed

  • Updated Solution section to show paragraph play buttons instead of article button

v1.7.4

Changed

  • Optimized chunk transitions by skipping redundant pause state

Fixed

  • Fixed voice change mid-playback reverting to previous voice
  • Added voice tracking to invalidate stale prefetched audio

v1.7.3

Changed

  • Added language_boost parameter to Minimax API for better language accuracy
  • Enabled text_normalization for improved number pronunciation

Fixed

  • Fixed Gmail pause/resume restarting from beginning instead of resuming
  • Fixed numbers being read in wrong language (Spanish/French) in English emails
  • Added 'playback:complete' event to properly track multi-chunk playback completion
  • Improved text matching with fuzzy comparison for Gmail's varying DOM extraction

v1.6.0

New

  • New Extension v2 architecture with accurate word-level text highlighting
  • Minimax API word-level timestamps for precise audio-text synchronization
  • Landing page scroll-triggered animations using Intersection Observer
  • Hero section entrance animations with staggered timing

Changed

  • Features section now uses stagger animations for card reveals
  • Pricing section cards animate sequentially on scroll
  • GitHub Actions workflow for Extension v2 builds

Fixed

  • Fixed alignment field mapping (time_begin/time_end) for Minimax API response
  • Fixed highlight timing by emitting events after audio loads
  • Added word-level scroll tracking to keep highlighted words in view

v1.5.0

New

  • Extension now uses production API at api.heariq.io
  • Logo components and icon options pages for branding

Changed

  • Simplified CI/CD workflow for Plesk Apache-only setup

Fixed

  • Corrected rsync deployment path for landing page
  • Added missing description prop to Layout components

v1.4.0

New

  • GitHub Actions workflows for landing page, backend, and extension
  • Health endpoint for api.heariq.io monitoring
  • PM2 process management with ecosystem config

Changed

  • Apache diagnostics and webroot verification
  • Backend port changed to 4713 to avoid conflicts
  • Refactored header and footer with Lucide icons and reusable Logo component

v1.3.0

New

  • Expanded voice library to 67 voices across 17 languages
  • Product Showcase section with language support visualization
  • Play/pause toggle for Gmail Listen button with real-time state

Changed

  • PlayArticleButton state management and improved article detection
  • Non-destructive Range API-based highlighting preserves HTML structure

Fixed

  • Rewrote text highlighting system for zero DOM churn and perfect sync
  • Fixed text node invalidation after first word highlight
  • Fixed highlighting desync after voice change

v1.2.0

New

  • HearIQ violet color palette (#7C3AED) for word highlighting
  • New gradient icon design (purple/blue gradient)

Changed

  • Simplified sidebar branding with split text styling
  • Improved word highlighting sync with 25ms polling

Fixed

  • Gmail integration 'Listen' button now fully functional
  • Robust DOM selectors resilient to Gmail HTML structure changes
  • Fresh callback references ensure UI updates correctly

v1.1.0

New

  • NeuTTS Air TTS provider integration for self-hosted voice synthesis

Fixed

  • TypeScript errors resolved and missing dependencies added

v1.0.0

New

  • Gmail integration with one-click Listen button
  • Language flags and avatar generation scripts
  • Comprehensive Gmail integration documentation

Changed

  • UI improvements and visual polish

v0.9.0

New

  • HearIQ landing page with Astro and Tailwind CSS
  • New color scheme and branding across UI

Changed

  • Complete voice selection UI overhaul

Fixed

  • Minimax TTS API integration and documentation updates
  • Resolved TypeScript errors and added Chrome types

v0.8.0

New

  • Text selection with floating play buttons
  • Voice options panel with multiple providers
  • Synchronized word-by-word highlighting
  • Extension icons and branding
  • Chrome extension with content script injection
  • Backend server with ElevenLabs integration