Changelog

Product updates and announcements

v0.24.0May 2026
  • 📋 Surveys over the API & MCP: New API-key endpoints to manage surveys without the dashboard — GET /api/v1/projects/{project_id}/surveys (list with response counts), GET .../surveys/{survey_id} (read), GET .../surveys/{survey_id}/stats (per-question analytics), POST .../surveys (create from a blank/nps/csat/ces template), and PATCH .../surveys/{survey_id}/status (draft/live/paused/archived)
  • 🤖 New MCP tools: list_surveys, get_survey, get_survey_stats, create_survey, and set_survey_status — ask Claude to spin up an NPS survey or summarize CSAT results directly
  • ✏️ Template-created surveys land in draft; fine-grained question and trigger editing stays in the dashboard. Set a survey live (API/MCP or dashboard) to start firing it
v0.23.0May 2026
  • 🧭 Survey Widget — SPA route support: URL-pattern triggers now re-evaluate on client-side navigations (pushState/replaceState/popstate/hashchange), so surveys fire in React/Vue/Next/Astro apps without a full page reload
  • 🎯 New data-match-target attribute on seggwat-survey.js — match URL patterns against the path (default), the hash route (#/pricing), or the full URL including query strings
  • 🎲 Sample-rate rolls are now committed at trigger-fire time instead of widget load, so sample_rate reflects "% of users who reach the trigger" rather than everyone who loads the widget
  • 📜 New survey triggers: scroll-depth (show_after_scroll_percent) and exit-intent (show_on_exit_intent), both authored from the survey editor
  • 🚫 Exclude URL patterns (exclude_url_patterns) — suppress a survey on specific paths even when another trigger matches; re-checked on SPA navigation
  • 🛡️ Survey fatigue cap — set a project-wide minimum gap between any two surveys (on top of per-survey cooldowns) from Widgets → Surveys in the dashboard. The data-global-cooldown-days embed attribute overrides it for dev/QA.
  • Survey accessibility: modal surveys now trap focus, restore it on close, and respond to Escape; banner/inline surveys no longer steal focus
  • ⏱️ Time-on-page triggers now count only foreground (visible) time, so they never fire on a background tab the visitor never looked at
  • 🪝 New cancelable seggwat:survey:beforeshow event — preventDefault() to suppress a survey while your own modal/checkout is open
  • 🥇 When multiple surveys match the same URL, the most recently updated one now wins deterministically (was arbitrary order)
v0.22.0May 2026
  • 📝 Survey Widget: New seggwat-survey.js embeddable widget for multi-question, client-triggered surveys (open text, NPS, scale, single/multi choice, boolean) in banner / modal / inline display modes
  • 🆕 New public endpoint GET /api/v1/projects/{project_key}/surveys-config returning live, client-triggered surveys for the widget
  • 🪝 Per-survey trigger evaluation — URL glob patterns, custom events (SeggwatSurvey.trigger(name)), and time-on-page — with per-survey cooldown and sticky sample-rate roll persisted to localStorage
  • 🎁 Renders the server-resolved thank-you action on completion (message, discount offer, reactivate, custom HTML)
  • 📊 NPS via Surveys: Net Promoter Score is now a question kind inside the Survey widget. Start from the NPS template to ship a 0–10 prompt with verbatim follow-up. The /demo/nps page embeds the Survey widget.
v0.21.0May 2026
  • 🔑 Auth migration to FerrisKey — Replaced Zitadel with FerrisKey as the identity provider.
  • 🔍 Feedback Scan — New public tool that analyzes a site and surfaces feedback opportunities.
  • 💳 Self-managed trials — New organizations get a built-in trial management.
  • Reviews — Widget review submission with feedback-rating context.
  • 🎨 Widget appearance & theming — Server-driven appearance config with validation (theme, fonts, button color), new EmbedSnippet component for copy-paste install snippets.
  • 🖼️ Image uploads — Upload avatars and org/portal logos directly
  • 💡 Ideas: completed_in_version — Mark ideas as shipped in a specific app version and surface that in the UI.
v0.19.0May 2026
  • 🇫🇷 French language support: All embeddable widgets (feedback, helpful, star, share, hub) now ship with French (fr) translations alongside English, German, and Swedish
v0.17.2March 2026
  • CLI: Public Repository — The SeggWat CLI is now open source and available as a standalone package
v0.16.0March 2026
  • 🐦 Social Share Widget: New seggwat-share.js embeddable widget for X (Twitter) sharing with reward flow
  • New FeedbackSourceBadge component for displaying feedback sources in the dashboard
v0.15.1February 2026
  • 📱 PWA Install Support: The dashboard can now be installed as a Progressive Web App on desktop and mobile
v0.15.0February 2026
  • 🎁 Feedback Rewards: Create coupons and promo codes for subscribers directly from a feedback item
    • Stripe — Add a restricted Stripe API key in the Stripe integration modal; create coupons and optionally auto-apply them to the subscriber's active subscription
    • Polar — Add a Polar access token in the Polar integration modal; create discounts and optionally auto-apply them to the subscriber's active subscription
    • Subscribers must opt in to the discount via the "Get a discount on future bills" checkbox in the feedback widget (requires SeggwatFeedback.setSubscriptionId() to be called with their subscription ID)
  • 🔒 Integration Access Control: Managing integrations (Stripe, Polar, GitHub) and creating discounts now requires Admin or Owner role — regular Members can no longer modify integration settings or grant discounts
v0.14.0February 2026
  • 📋 REST API: Ideas — New endpoints for managing idea boards via API (/api/v1/projects/{id}/ideas)
  • 📊 REST API: Project Summary — Single endpoint for a complete project overview (GET /api/v1/projects/{id}/summary)
  • 📬 REST API: Contact Messages — New endpoints for managing contact form submissions via API (/api/v1/projects/{id}/messages)
  • 🔔 REST API: Notifications — New endpoints for retrieving and managing user notifications (/api/v1/notifications)
v0.13.0February 2026
  • 🔐 Simplified Portal Authentication: Authentication is now required for all interactive actions (voting, suggesting, commenting) when enabled — no more per-action toggles
  • Auto-Approve Suggestions: New setting to publish end-user suggestions immediately (Open) or hold them for review (Pending)
  • 🎨 Visual Customization: Brand your feature portal to match your product aesthetic
    • Accent Color - Set a custom hex color for vote buttons, badges, and links
    • Background Color - Define page background with automatic theme coordination
    • Logo Upload - Display your logo in the portal header
v0.12.0February 2026
  • 🔐 Zitadel Authentication: Migrated from Auth0 to self-hosted Zitadel with Session API
    • Passkey (WebAuthn) login and registration support
    • OTP email verification with resend throttling
  • 💡 Feature Requests: New idea board for collecting and prioritizing user requests
    • Voting system with lifecycle statuses (Under Review, Planned, In Progress, Done, Declined)
    • Comment threads on ideas
    • Tag system for organizing and filtering ideas
    • GitHub issue creation from ideas with automatic status sync
  • 📖 Built-in Documentation: Integrated docs site powered by dioxus-docs-kit with search, navigation, and example projects
  • 🔧 Dependencies: Major dependency upgrades (Axum 0.8, reqwest 0.13, tower-sessions 0.15, rmcp 0.14, DaisyUI 5)
v0.11.0January 2026
  • Star Rating Widget: New embeddable star and smiley rating widget (seggwat-rating.js)
  • 📬 Contact Widget: New embeddable contact form widget (seggwat-contact.js)
  • 📋 Contact Message Management: View, filter, and manage contact submissions in the dashboard
  • 🔌 Contact API Endpoint: POST /api/v1/contact/submit for programmatic submissions
v0.10.0January 2026
  • 📉 Polar Churn Tracking: Connect your Polar account to track customer cancellations
  • 💳 Stripe Churn Tracking: Connect your Stripe account to track customer cancellations
v0.9.0December 2025
  • 📸 Screenshot Annotation: Capture and annotate screenshots directly in feedback submissions
    • Professional annotation toolkit: Arrow, rectangle, pen, text, and blackout tools
    • Enable with data-enable-screenshots="true" on feedback widget
v0.8.0December 2025
  • 🤖 MCP Server Integration: Built-in Model Context Protocol server at /mcp endpoint
    • Connect AI assistants like Claude Desktop to query and manage feedback
    • Natural language interface for all feedback and rating operations
    • See the MCP Integration Guide for setup instructions
v0.7.0November 2025
  • 🔌 n8n Integration API Endpoints: Complete API for workflow automation
  • 📊 Rating Statistics Endpoint: Get helpful percentage and counts per project or page
  • ✏️ Feedback Management: Update feedback status and type via API
v0.6.0November 2025
  • 👍 Helpful Rating Widget: New lightweight widget for binary feedback
  • 📦 Modular Widget Architecture: Improved performance and flexibility
  • 🎯 Better Widget Organization: "Widgets" section now includes both feedback and rating options
v0.5.0November 2025
  • 🌓 Dark/Light Mode: Widget detects user's preferred mode
  • 📊 Subscription Limit Enforcement: Trial users see a banner when approaching feedback limits
  • CI Caching Improvements: Faster build times in continuous integration
v0.4.0October 2025
  • 🔑 API Access: Programmatic access to your feedback data
    • Create and manage API keys from Settings
    • List all feedback for a project with pagination
    • Retrieve individual feedback items
  • 🏷️ Version Tracking: Track feedback against specific app releases
    • Add data-version attribute to correlate feedback with versions
    • View version info in dashboard feedback list
  • 🌍 Multi-Language Widget: Support for English, German, and Swedish
    • Automatic browser language detection
    • Manual language selection with data-language attribute
  • 🎨 Widget Customization:
    • Icon-only layout option for compact design (data-button-position="icon-only")
    • Hide "Powered by SeggWat" branding with data-show-powered-by="false"
Navigation