Daily: Shared domain verification across all features
dailyaibug-reportsmarketingapi
30 commits — New features: - Add visual regression detection: Claude Vision compares screenshots between runs - Add Schedule button and modal to Exploratory AI page
New features:
- Add visual regression detection: Claude Vision compares screenshots between runs
- Add Schedule button and modal to Exploratory AI page
- Add screenshot comparison overlay on Recon tab
- Add green logo glow during exploration runs
- Add exploration progress endpoint for real-time phase updates
Bug fixes:
- Fix domains page: filter by d.verified boolean, not d.status string
- Fix domains page: CSS variables, global styles, back button uses history
- Fix screenshot comparison: read nested before/after objects from API
- Fix exploration trends: API resilience + field name mapping
- Fix exploration detail page data parsing + clickable link on bug reports
Improvements:
- Shared domain verification across all features
- Improve DNS TXT verification: check all records, log lookups, strip quotes
- Update homepage and docs with latest Exploratory AI features
- Make script parsing resilient — 5 fallback strategies, never fails
- Default schedule timezone to user's browser timezone
Daily: Add 'Autonomously.' in green to homepage tagline
dailyaimarketing
40 commits — New features: - Add 'Autonomously.' in green to homepage tagline - Add green glow animation to logo during code review analysis
New features:
- Add 'Autonomously.' in green to homepage tagline
- Add green glow animation to logo during code review analysis
- Add role grants to claude_connections migration
- Add claude_connections table migration and restore query
Bug fixes:
- Fix review analytics not loading
- Fix open PRs table overflowing past right frame edge
- Fix code review: handle missing migration columns + button layout
- Fix: Code Review button layout breaks during analyzing state
Improvements:
- Update homepage: advanced code review features + unlimited reviews in pricing
- Remove repo selector from Code Review — auto-detect from active project
- Make Integrations page accessible to all users
- Unlimited code reviews for paid plans, Developers access for all users, AI Assistant code review features
- Code Review Phase 3: PR security integration + review analytics dashboard
Daily: Expose bug report status in MCP server API
dailyautomationaibug-reportsapi
114 commits — New features: - Add automated error monitor workflow (GitHub Actions) - Add System Status link to website footer
New features:
- Add automated error monitor workflow (GitHub Actions)
- Add System Status link to website footer
- Add Performance Trends link on analytics dashboard
Bug fixes:
- Fix MCP server build: add appium_js to createMobileAutomation type
- Fix: cannot add postgres_changes callbacks after subscribe()
- Fix: add explicit pricing to AI Assistant to prevent hallucinated prices
- Fix: 'team is not defined' error in AI chat system prompt
Improvements:
- Expose bug report status in MCP server API
- deps(mcp-server): bump @sentry/node from 10.46.0 to 10.47.0
- AI Assistant: user-scoped storage, plan-aware random prompts
- Improve automations empty state with onboarding steps
Daily: Rewrite autonomous agents section with comprehensive platform cycles
dailyautomationai
41 commits — New features: - Add individual feature nav links in docs sidebar - Add Feature Guide link to docs sidebar navigation
New features:
- Add individual feature nav links in docs sidebar
- Add Feature Guide link to docs sidebar navigation
- Add comprehensive Feature Guide to docs with AI Assistant examples
- Add web/mobile automation + performance testing to AI assistant
Bug fixes:
- Fix sitemap: remove www subdomain from site URL
Improvements:
- Rewrite autonomous agents section with comprehensive platform cycles
- Remove Stripe from integrations docs — internal billing detail
- Comprehensive feature docs: standalone sections + Feature Guide additions
- Update docs: collapsible sidebar, AI perf testing, device filtering
- Sidebar: move collapse button to Main header + hover-to-expand
71 commits — New features: - Add p99 to k6 output: include summaryTrendStats in script options
New features:
- Add p99 to k6 output: include summaryTrendStats in script options
Bug fixes:
- Patch @astrojs/node 9.1.3 → 9.5.4: fix 4 moderate Dependabot alerts
- Fix website build: escape {id} in api-reference to prevent Astro eval
- Fix k6 load test data not showing: normalize camelCase/snake_case field names
- Fix k6 metrics: use local execution with cloud streaming
- Fix k6 script: use options.cloud (not deprecated ext.loadimpact), fix distribution format, use k6 cloud run
Improvements:
- Rename feature card: Performance & Load Testing
- Remove vendor names from homepage features: k6 and Lighthouse
- Route all auth flows to /dashboard/analytics instead of /dashboard
- Update docs and marketing for performance testing + dashboard rebrand
- Capitalize first name in dashboard welcome message
Daily: Revert @astrojs/node to v9.1.3 — v10 requires newer Astro
dailyautomationaimarketingnotesapi
117 commits — New features: - Add competitor comparison pages: bugAgent vs Functionize & Mabl - Add error telemetry: client capture, server capture, admin logs, Slack alerts
New features:
- Add competitor comparison pages: bugAgent vs Functionize & Mabl
- Add error telemetry: client capture, server capture, admin logs, Slack alerts
Bug fixes:
- Fix Dependabot alerts: path-to-regexp ReDoS + @astrojs/node memory DoS
- Fix admin logs access: check ADMIN_EMAILS like other admin pages
- Fix geo-snap filters to display on one line
Improvements:
- Revert @astrojs/node to v9.1.3 — v10 requires newer Astro
- Update homepage marketing: no-code automation, team scaling, 2FA icon
- Hide Send to Claude button when ANTHROPIC_API_KEY not configured
- Simplify saving state: remove AI conversion text
- Replace × with trash can icon on schedule calendar cards
Daily: Major homepage overhaul — concise copy, QA Wolf-inspired polish
dailyaimarketing
50 commits — Bug fixes: - Fix npm audit vulnerabilities across all packages - Fix downgrade Stripe cancellation — fetch full team data
Bug fixes:
- Fix npm audit vulnerabilities across all packages
- Fix downgrade Stripe cancellation — fetch full team data
- Fix Mobile+ not showing as active after purchase
- Fix Mobile+ activation — bypass portal for addons + success fallback
- Fix Mobile+ cancel when no Stripe subscription ID exists
Improvements:
- Major homepage overhaul — concise copy, QA Wolf-inspired polish
- Update all Stripe price IDs to new pricing
- Update Pro monthly Stripe price ID to new $49 pricing
- Update pricing: Pro $49/mo, Team $99/mo, annual saves 10%
- Allow downgrade to any lower plan with Stripe cancellation
Daily: Smaller font + spacing in admin modal activity section
dailyaimarketingapi
172 commits — Bug fixes: - Fix modal flash — show placeholders until API data loads - Fix admin modal activity counts — robust queries + hours tracking
Bug fixes:
- Fix modal flash — show placeholders until API data loads
- Fix admin modal activity counts — robust queries + hours tracking
- Fix admin modal: use active team, fresh last sign-in, update plan_limits
- Fix admin user stats, backfill storage, clean up pricing
- Fix nav/footer links to use absolute paths with anchors
Improvements:
- Smaller font + spacing in admin modal activity section
- Admin user modal: IP info, storage, activity counts
- Org-level storage tracking + updated plan limits
- Update all docs, API reference, MCP, and marketing for mobile
Daily: Add beforeunload warning during mobile app upload
dailyautomationaiapi
84 commits — New features: - Add beforeunload warning during mobile app upload - Add comprehensive mobile testing documentation and MCP tools
New features:
- Add beforeunload warning during mobile app upload
- Add comprehensive mobile testing documentation and MCP tools
- Add Mobile Testing feature: BrowserStack + Maestro Cloud
- Add test case metrics to analytics dashboard
Bug fixes:
- Fix mobile run URL: /api/mobile/runs not /runs/create
- Fix mobile automation create URL: /api/mobile/automations not /create
- Fix mobile detail pages: define:vars scope issue
- Fix signed URL upload: use correct Supabase upload/sign endpoint
- Fix mobile app upload: signed URL flow for large files
Improvements:
- Migrate Sentry to new config pattern (fixes deprecation warning)
- deps(mcp-server): bump @modelcontextprotocol/sdk in /mcp-server
- deps(mcp-server): bump @supabase/supabase-js in /mcp-server
60 commits — New features: - Add Test Cases docs, MCP tools, reports tab, homepage marketing - Add complete Test Cases feature: cases, suites, runs, execution
New features:
- Add Test Cases docs, MCP tools, reports tab, homepage marketing
- Add complete Test Cases feature: cases, suites, runs, execution
- Add draft/active toggle to automation detail page
- Add green glow sparkle to Regenerate button while optimizing
- Add download buttons for run history video and screenshots
Bug fixes:
- Fix time tracking: use window.__bugagentActiveProjectId as fallback
- Fix time tracking: always use active project, don't reset on clear
- Fix time tracking: remove project filters, add admin check
- Fix Regenerate Script to use optimize endpoint with version history
- Fix TS type annotation in inline script + update docs
Improvements:
- Show creator name on automation listing and detail pages
- Duplicate automation includes recorded_actions, description, selectors_strategy
- Change Improve with AI to subtle link style with chevron arrow
- Regenerate button: white text + green glow wave effect
- Force download for video/screenshots + spacing
D3 Force-Directed Coverage Mind Map
featuredashboardautomationd3
Replaced the static coverage visualization with an interactive D3.js force-directed graph that auto-spaces nodes, supports drag, zoom, and pan.
The automation coverage mind map on the dashboard now uses D3.js for a force-directed layout. Nodes automatically spread apart to avoid overlap, with stronger repulsion for more scripts. Features include: drag-and-drop node repositioning, zoom and pan, curved link paths, hover highlighting of connected links, pulse animation on failing tests, auto-fit zoom to fill the 700px container, and click-to-navigate to automation details. Color-coded groups with 8 distinct colors make it easy to identify test areas at a glance.
Playwright Runner Improvements
fixautomationrunner
Auto-fixes for common Playwright issues, line-by-line pass/fail highlighting, and intensifying run button glow.
The runner now auto-fixes getByLabel("Password") to locator("input[type=password]") and adds waitForLoadState after bare goto() calls. After a run completes, the script shows green/red line highlighting for passed/failed lines. The Run Now button glows neon green with increasing brightness the longer the run takes. Run history updates inline without page refresh.
Page-Aware AI Assistant
featureai-assistantcontext
The AI Assistant now knows what page you are viewing and can reference the specific content on screen.
When on a bug report detail page, the AI sees the report title, description, status, and severity. On an automation detail page, it reads the full Playwright script (up to 3KB). On a note page, it reads the title and content. When you say "this report", "improve this script", or "explain this note", the AI understands what "this" refers to. Also includes Playwright expert persona that activates when discussing automation topics.
AI Script Optimization Pipeline
featureautomationai
Regenerate Script now sends your Playwright code through a 12-point Sonnet 4 optimization checklist.
The POST /api/automations/:id/optimize endpoint sends scripts to Claude Sonnet 4 with a comprehensive optimization checklist covering: selector reliability, wait strategies, assertions, error handling, authentication patterns, mobile compatibility, timing, cleanup, strict mode, network handling, and result verification. The optimized script is saved automatically with version history.
Script Version History with Undo
featureautomationapimcp
Automation scripts now track up to 10 previous versions with one-click undo.
Every script change — manual edits, AI optimization, or regeneration — is saved to a version history. The undo button on the automation detail page reverts to the previous version instantly. A version badge (v1, v2, etc.) shows the current version number. Available via API (POST /automations/:id/undo) and MCP (undo_automation_script tool).
Duplicate Automation Scripts
featureautomation
One-click duplicate creates a copy of any automation script without version history.
The Duplicate button on the automation detail page creates a new automation named "[Copy] Original Name" with the same script, target URL, and project. The copy starts in draft status with no version history. Device selector moved inline below the title, project dropdown removed (uses sidebar project).
bugAgent Skills + Migration Offer
marketinghomepageintegrations
New Skills ecosystem on homepage with GitHub, Claude, Jira integration cards and free migration offer.
Added bugAgent Skills section to homepage showcasing GitHub (repo sync), Claude (root cause analysis), and Jira (bi-directional sync) with SVG logos. "Build Your Own Skill" card with submission modal sends to support@bugagent.com. Migration section offers free export from existing platforms and dedicated QA team support. All documented in docs, API reference, and MCP pages.
Homepage Rebrand: QA Layer Messaging
marketinghomepage
New hero title, Context Engine section, and quality-of-testing philosophy throughout.
Homepage hero changed to "The QA Layer Your AI Stack Is Missing" with secondary messaging "Your Agents Write Code. We Make Sure It Works." Added Context Engine section explaining how every QA action is fed by deep context. Updated quality score messaging to emphasize measuring testing quality, not just bug severity. Added "Why bugAgent? Our Philosophy" to documentation with context-aware intelligence and continuous improvement loop sections.
Dev Environment + Repo Migration
infrastructuredevops
Full local development environment with Docker-based Supabase and the repo moved to TestLauncher organization.
Repository moved from hamiltonmascioli/bugAgent to TestLauncher/bugAgent. Set up local dev with Supabase CLI (Docker), Google OAuth for localhost, environment-aware configuration (.env.local/.env.example), develop branch workflow, and convenience scripts (npm run dev starts both dashboard:4321 and website:4322). Created bugAgent Test Team in GitHub for QA access. Updated all hardcoded URLs, DNS CNAME, and GitHub Pages.
Quality Score Documentation
docsquality-scoreapi
Added Quality Score feature documentation to homepage, docs, API reference, and MCP pages.
Documented the Quality Score feature across the website: added a new feature card to the homepage describing the 1-10 rating system using Rapid Software Testing heuristics across 10 dimensions (reproduction steps, expected vs actual, environment details, evidence, root cause analysis, impact assessment, context and history, heuristics and oracles, clarity and structure, actionability). Updated the docs capabilities section with Quality Score details. Added quality_score (integer 1-10) and quality_breakdown (object with 10 dimension scores 0.0-1.0) to the API reference GET /reports/:id response fields and example. Updated MCP docs with qualityScore and qualityBreakdown fields on get_bug_report.
Team Booster: Scale your QA team instantly
new-featuremcpapiteam-booster
Added Team Booster feature with scale_team MCP tool, POST /team-booster REST API endpoint, and full documentation across API reference, MCP docs, homepage features, and docs pages.
## Team Booster
Provision pre-configured tester accounts on demand via the new **Team Booster** feature.
### What's new
- **MCP tool**: `scale_team` — specify team size (1-10), location, duration, technical levels, and budget to provision tester accounts instantly
- **REST API**: `POST /team-booster` — programmatic access with Bearer token auth (Pro and Team plans only)
- **Homepage**: Team Booster feature card added to the features grid
- **API Reference**: Full endpoint documentation with request/response examples
- **MCP Docs**: Tool documentation with example workflow
- **Docs**: Team Booster added to capabilities list and solution grid
### How it works
1. Specify team size, location, duration, technical level, and budget
2. Tester accounts are provisioned in seconds
3. New testers appear in your Team Management page with full platform access
4. You will not be charged until approval has been given
Available on **Pro** and **Team** plans.
Claude Analysis via MCP & API + Self-Healing Vision
mcpapiclaudeself-healing
Added push_to_claude MCP tool and POST /claude/push API endpoint. Updated self-healing docs to describe the full-circle autopilot healing engine.
Added push_to_claude MCP tool and POST /claude/push API endpoint for programmatic Claude analysis of bug reports. AI agents and API consumers can now trigger root cause analysis, read results via get_bug_report (claude_analysis and claude_pushed_at fields), and close the loop with automated fixes and re-verification. Updated the Self-Healing Development feature and documentation to describe bugAgent as a full-circle autopilot healing engine: Record > Diagnose > Automate > Heal, with humans in the loop at every stage.
Claude Integration: Self-Healing Bug Analysis
featureintegrationai
Connect your Anthropic API key to push bug reports to Claude for root cause analysis and fix suggestions. Self-healing cycle: detect, analyze, fix, verify.
Connect your Anthropic API key in Settings → Integrations to push bug reports to Claude for root cause analysis and fix suggestions. Choose from Claude Sonnet 4, Opus 4, or Haiku 3.5. Configure per-project auto-push and custom instructions. From any bug detail page, click Send to Claude or Re-analyze for on-demand analysis. Combined with Playwright automation, bugAgent now creates a self-healing cycle: detect → analyze → fix → verify. Pro and Team plans only.
Second-precise timers on bug reports and notes
featurebug-reportsnotestimer
Built-in timers on bug reports and notes track testing time to the exact second. Start, stop, resume, and click to manually edit. Time transfers automatically when converting notes to bug reports.
Bug reports and notes now include built-in timers that track testing time down to the exact second. Start, stop, and resume anytime. Click the time display to manually adjust. The timer appears on both the bug report creation form and detail page, as well as on notes. When converting a note to a bug report, tracked time transfers automatically. Perfect for tracking QA effort and billing testing hours.
The AI Assistant is now a complete QA command center — create and update reports, add comments and notes, search your backlog, use voice input, attach files, and analyze session replays, all through natural conversation.
The AI Assistant goes far beyond report creation. You can now create and update bug reports, change status, severity, and type, add comments, create testing notes in multiple formats (Markdown, Plain Text, Bug Template, Checklist, Outline), list and search reports, notes, automations, and schedules, and send feedback — all through natural conversation. Use voice input powered by Whisper transcription, attach files, and let the AI analyze session replays to auto-draft reports. Start a new chat anytime with the New Chat button. Available in both the dashboard and the in-app FAB popup (no login required for FAB). Updated homepage and documentation marketing copy to reflect the full command center capabilities.
Kanban Board View for Bug Reports
featurekanbanjiradashboard
Drag-and-drop Kanban board with 8 status columns, real-time Jira bi-directional sync, and persistent list/kanban view toggle.
Visualize and manage bug reports with a drag-and-drop Kanban board. Eight status columns (New, Awaiting Triage, Confirmed, In Progress, Resolved, Retesting, Closed, Reopened) let you move cards between stages instantly. Status changes sync bi-directionally to Jira in real time. Each card displays severity, type, description preview, and timestamps. Toggle between list and kanban views with a persistent preference. New batch sync endpoint (POST /api/jira/batch-sync-status) supports syncing multiple reports at once.
Notes feature documented on website
documentationnotesnew-feature
Added Notes feature to the homepage, documentation, API reference (6 endpoints), and MCP page (5 tools). Notes supports Markdown, Plain Text, Rich Text, Checklist, and Outline formats with voice-to-text, time tracking, file attachments, and private/shared visibility.
## Notes Feature Documentation
Updated the bugAgent website to document the new Notes feature across all relevant pages:
- **Homepage Features section** — Added Notes card highlighting 5 formats, voice-to-text dictation, time tracking timer, file attachments, private/shared visibility, auto-save, and keyword search with filters.
- **Documentation page** — Added Notes to the "What is bugAgent?" capabilities list, describing all key features and noting availability on all plans.
- **API Reference** — Documented 6 Notes API endpoints: GET /notes (list with search/filters), POST /notes (create), GET /notes/:id (detail), PATCH /notes/:id (update), DELETE /notes/:id (delete), POST /notes/upload (file attachments up to 10 MB).
- **MCP page** — Added Notes tools section with 5 MCP tools (list_notes, create_note, get_note, update_note, delete_note) and an example workflow.
Notes is available on all plans (Free, Pro, Team).
Quality Score Display
featuredashboardmcp
Added quality score (1-10) display across dashboard and MCP server
Quality score badge on bug detail pages (circular badge with hover tooltip showing breakdown dimensions), colored pill column in reports listing table, Q:score badge on kanban cards, and qualityScore/qualityBreakdown fields added to MCP BugReport type.
Enhanced Analytics Feature Documentation
analyticsdocshomepageimprovement
Added Analytics Dashboard feature card to homepage and comprehensive Analytics docs section with all 12+ chart types, health score formula, and API access details.
Added a new Analytics Dashboard feature card to the homepage with detailed description of all 12+ chart types (Bug Reports Over Time, Quality Score Trend, Severity/Status/Type distributions, Top Bug Reporters leaderboard, Automation Health, Time Tracking, Notes Created sparkline, Resolution Time) and a mini SVG chart preview. Added comprehensive Analytics documentation section to the docs page covering the Quality Testing Health Score formula (Quality 25%, Resolution 25%, Automation 25%, Low Severity 25%), all 12 chart sections with descriptions, filtering controls (7/14/30/90 days + project), crown icon for best-performing area, and API/MCP access details. Updated existing analytics references in docs to link to the new section.
Time Tracking Tools & Analytics
featuretime-trackingmcpapianalytics
Added full time tracking support across MCP, API, and analytics dashboard. Team plan feature.
New MCP tools: list_time_entries, create_time_entry, update_time_entry, delete_time_entry. New REST API endpoints: GET/POST/PATCH/DELETE /time-entries. Analytics dashboard now includes Hours by Day bar chart and Hours by Category horizontal bar chart. Time Tracking feature card added to homepage. Documentation updated across API reference, MCP docs, and main docs pages.
Time Tracking Page
featureteamtime-tracking
Added a dedicated Time Tracking page for Team plan users with daily/weekly summaries, category-based entry tracking, and inline editing.
New Time Tracking page available under the dashboard for Team plan users. Features include a daily summary bar with 8-hour progress tracking, collapsible add-entry form with tester and developer category groups (Manual Testing, Exploratory Testing, Bug Reporting, Code Review, Development, Debugging, etc.), filterable card grid with search, project, category, member, and date range filters, inline card editing, delete confirmation dialog, localStorage-persisted filter state, and pagination for large entry sets.
Analytics Suite
featureanalyticsdashboard
Comprehensive analytics page with 12 chart sections for Pro/Team plans.
Added Analytics page with key stats cards, stacked bar chart for reports over time, SVG line chart for quality trends, donut charts for severity and status, horizontal bar chart for bug types, leaderboard table, automation health bars, sparklines for notes and time spent, resolution time metric, and circular product health gauge. Pure CSS/SVG charts with time range selector and project filter. Gated to Pro/Team plans.
Notes — Testing Memos for Teams
featurenotescollaboration
Capture testing observations, ideas, and findings with the new Notes feature.
Notes gives testers a dedicated space to write and organize their thoughts during testing. Create notes in Markdown, Plain Text, Rich Text, Checklist, or Outline format. Notes auto-save as you type. Mark notes as Private (only you) or Shared (anyone on your team and project can read). Filter by project, author, or date range. Full-width editor with word count, Cmd+S shortcut, and auto-title from content.
Coverage map in pricing and marketing
improvementwebsite
Added Automation Coverage Map as a listed feature for Pro and Team pricing tiers.
Added Automation Coverage Map as a listed feature for Pro and Team pricing tiers. Updated Features, docs, session-replay, and API reference pages with coverage map information.
Gate coverage mind map behind paid plans
improvementdashboard
The Automation Coverage mind map on the dashboard is now only shown for Pro, Team, and Enterprise plans with at least one active automation.
The Automation Coverage mind map on the dashboard is now only shown for Pro, Team, and Enterprise plans with at least one active automation. Free plan users no longer see the section.
Rename Schedules nav to Scheduled
improvementdashboard
Updated sidebar navigation, page titles, and all references from "Schedules" to "Scheduled" across the dashboard for consistency. URL paths remain unchanged.
Updated sidebar navigation, page titles, and all references from "Schedules" to "Scheduled" across the dashboard for consistency. URL paths remain unchanged.
Automation Coverage Mind Map
featuredashboardautomationsvisualization
Dashboard now shows an interactive test coverage visualization instead of recent reports.
The dashboard home page now features an interactive SVG mind map that visualizes your automation test coverage. Claude AI analyzes your Playwright scripts to extract pages, features, and assertions, grouping them into a hierarchical map. Tests are color-coded: green (passing), red (failing), gray (untested). Click any test node to jump to its automation detail page. Failing tests show a pulse indicator. Results are cached and only re-analyzed when automations change.
Slack Integration + Schedule Notifications
featureintegrationsslackautomationsnotifications
Connect Slack and get notified when scheduled automations fail via Slack or email.
Full Slack OAuth integration for teams on Pro and Team plans. Connect your Slack workspace from Settings, then configure per-schedule failure notifications: choose None, Email, Slack (with channel picker), or both. When a scheduled automation fails, a bug report is auto-created AND notifications are sent to your configured channels. The automation detail page now has a Schedule button with an inline form for time, days, timezone, and notification preferences. The Schedules dashboard shows notification icons next to each schedule.
GitHub Integration Docs Added to Website
docsgithubintegrations
Updated website homepage and documentation with GitHub integration feature for Playwright automation script sync.
Added GitHub as an active integration on the homepage with its own card. Updated the Playwright Automation feature and Delegate Testing sections to mention GitHub script sync. Created full GitHub Integration API documentation with five new endpoints (connect, repos, mapping, status, disconnect). Added GitHub FAQ to docs page and updated SDK docs with sync details.
Rewind — replay last 5 actions in the browser
featuresdksrt
New Rewind button on the SRT FAB toolbar. Click it to watch a replay of your last 5 actions — the SDK moves a ghost cursor to each element, highlights it, and executes the real action (clicks buttons, fills form fields with character-by-character typing, toggles checkboxes, scrolls). Supports cross-page navigation. Press ESC or click Stop to abort.
Custom password reset emails via Resend
improvementauthemail
Replaced Supabase built-in password reset emails with custom branded emails sent through Resend. The new flow uses secure tokens with 1-hour expiry, rate limiting, and a dedicated reset page with password confirmation. Email design matches the current slate branding with a security tip callout.
Renamed Session Replay to Session Replay Tools (SRT)
improvementbranding
Session Replay has been renamed to Session Replay Tools (SRT) across the entire platform — dashboard, documentation, pricing, API reference, integrations, and AI assistant. The SRT section on bug report detail pages is now hidden for free plan users.
Default Project auto-created for new signups
featureonboarding
New users signing up via email or Google OAuth now get a "Default Project" automatically created in their team. This does not apply to invited users.
Removed weekly digest and new report email features
improvementcleanup
Simplified notification preferences to only include usage warnings. Removed the weekly digest and new bug report email toggles from settings, API, and MCP server.
Nightly usage warning emails for free plans
featureemail
Account owners on free plans approaching the 5,000 bug report limit now receive a nightly email with their current usage, remaining reports, and a link to upgrade. Warnings send at 80%+ usage.
Manual Jira force sync button
featurejirasync
New sync button next to AUTO SYNC badge forces an immediate bi-directional sync of description and comments.
Added a sync icon button on the bug report detail page next to the existing AUTO SYNC badge. Clicking it triggers an immediate force sync: pushes the current title and description to Jira, pushes any local comments not yet synced, and pulls any Jira comments not yet in bugAgent. The button shows a spinning animation during sync and displays a toast summarizing what was synced (e.g. "Description synced, 2 comment(s) pushed to Jira, 1 comment(s) pulled from Jira"). New API endpoint: POST /api/jira/force-sync.
WCAG audit results displayed on bug report detail page
featuredashboardwcagaccessibilitydocs
WCAG accessibility audit findings now appear in the Session Replay Tools section of the bug report detail page with impact badges, rule IDs, and remediation links.
When a WCAG audit is run before sending a session to the AI, the results are stored alongside the session data and displayed in a new collapsible "WCAG Accessibility Audit" section within the SRT area on the report detail page. Each violation shows an impact badge (critical/serious/moderate/minor with color coding), the axe-core rule ID, WCAG criteria tags, a description of the issue, the CSS selector of the affected element, an HTML snippet of the offending markup, and a link to Deque's remediation documentation. The homepage Features grid now includes a dedicated WCAG Accessibility Audit card, and the SRT documentation page has a full WCAG Audit section covering how it works, what rules are checked, and the report output format.
GitHub Integration for Automation Scripts
featureintegrationsgithubautomations
Connect GitHub to automatically sync Playwright automation scripts to your repos.
Full GitHub OAuth integration that syncs automation scripts bidirectionally with mapped GitHub repos. When you record an automation, the generated Playwright script is pushed to tests/bugagent/ in the mapped repo. Editing the script in bugAgent updates the file in GitHub. Deleting an automation removes the file. Project-to-repo mapping is configured in Settings → Integrations. SHA conflict recovery handles cases where files are edited directly on GitHub.
New Automate tool in the FAB records browser actions and generates Playwright test scripts via AI. Run on demand, schedule recurring runs, or integrate into CI/CD pipelines.
Full-stack automation feature: (1) FAB Automate button records clicks, inputs, navigation, and form interactions with enriched selectors (role, testid, aria-label, text, CSS). (2) Claude AI generates reliable Playwright test scripts using semantic selectors and automatic assertions. (3) Separate runner service executes scripts in headless Chromium, captures video and screenshots, uploads artifacts to storage. (4) Dashboard Automations page lists all automations with run history, script viewer/editor, and CI/CD integration section with curl and GitHub Actions examples. (5) Schedules page manages recurring cron-based runs with timezone support. (6) Public CI/CD API at /api/v1/automations/run for pipeline integration with webhook callbacks. New database tables: automations, automation_runs, automation_schedules with full RLS. Timezone setting added to user profile.
AI Assistant now uses all captured FAB data to auto-draft reports
featureaifabwcag
When a session is captured via the FAB, the AI uses every piece of captured data to immediately draft a complete bug report.
The AI Assistant now proactively uses all data captured by the FAB SDK to auto-draft comprehensive bug reports: console errors with stack traces, failed network requests with status codes, user click sequences, form field interactions, WCAG accessibility audit findings (grouped by severity), annotated screenshots, screen recordings, DOM mutations, and performance metrics (FCP, LCP, CLS, TTFB). When session replay data is present, the AI immediately presents a ready-to-confirm draft rather than asking step-by-step questions. On the dashboard (without session data), the AI correctly avoids analyzing the current page and instead guides the user through report creation, using any uploaded media as context.
Jira ADF formatting + sync documentation updates
fixjiraformattingdocs
Bug reports created by AI Assistant now preserve markdown formatting in Jira editor. Sync docs updated with force-sync, last-updated-wins, and media sync.
All Jira sync paths now convert markdown descriptions into proper Atlassian Document Format (ADF) nodes. Headings (## Summary, ## Steps to Reproduce), ordered lists, unordered lists, bold, italic, and inline code are rendered correctly in Jira's editor — no more lost formatting when editing. A new shared markdownToAdf() utility is used by sync.ts, force-sync.ts, merge.ts, push-field.ts, and create-report.ts. API reference updated with the new POST /jira/force-sync endpoint and complete behavior documentation for severity last-updated-wins, bi-directional comments, and media sync with filename deduplication.
Severity last-updated-wins + bi-directional media sync
featurejirasyncmedia
Jira sync now auto-resolves severity conflicts using timestamps and syncs all media/images both directions without duplicates.
Both auto-sync (polling) and manual force sync now compare report.updated_at vs Jira fields.updated to determine which platform was modified most recently — the latest change wins and the other side is updated automatically. Media attachments are now synced bi-directionally: local images/videos are pushed to Jira as issue attachments, and Jira attachments are pulled into bugAgent storage. Deduplication checks both jira_attachment_id and filename (case-insensitive) to prevent any duplicates across sync cycles.
Updated verification email branding
improvementbranding
Updated email verification templates and pages to use current slate (#94A3B8) branding instead of legacy amber (#F59E0B). Updated logo rendering, button colors, and icon styling across register, send-verification, verify-email, and verify-pending pages.
Email verification for signups
feature
New accounts now require email verification before accessing the dashboard. Verification emails sent via Resend with branded templates, resend button, and automatic detection when verified.
Performance optimizations
improvement
Minified SDK (44% smaller), consolidated Jira polling from 3 API calls to 1, added tab visibility detection to pause background polling, reduced font loading overhead, and enabled HTML compression.
Fixed report detail page error
fix
Resolved database column error that could cause failures when loading bug report detail pages with similar reports.
Improved AI chat interface
improvement
Removed Submit quick-reply button and refined Yes/No button detection to only appear for direct yes/no questions.
Microphone audio capture in screen recordings
feature
Screen recordings now capture microphone audio via Web Audio API mixing, enabling voice narration during bug recording sessions.
Stack Trace, Network Waterfall, and Performance Metrics in Session Replay
featuresession-replayperformancedebugging
Three new collapsible sections in bug reports: full console log with search, network waterfall for failed/slow requests, and auto-captured performance metrics including FPS, memory, and page load times.
Added three major new data capture and display features to Session Replay. Stack Trace / Console Log captures all console output (log, info, warn, error, exceptions) with full stack traces — the last 50 entries are shown in a searchable, scrollable section. Network Waterfall shows failed (4xx/5xx) and slow (>1s) API requests with method, URL, status code, and duration — also searchable. Performance Metrics auto-captures page load time, first contentful paint, DOM ready, FPS, memory usage, DOM node count, and long tasks. The SDK now intercepts console.log and console.info in addition to warn/error, runs a lightweight FPS tracking loop, and collects performance data at submit time.
Fix recorder popup size for Chrome permission dialog
fixsdkscreen-recording
Recorder popup now opens large enough (420x550) for Chrome to display its screen sharing permission dialog. Auto-shrinks to compact bar once recording starts.
The recorder popup was opening at 320x72 which was too small for Chrome to render its getDisplayMedia permission dialog (share screen confirmation). Now opens at 420x550 so the full permission prompt with cancel/share buttons is visible. Once the user approves and recording begins, the popup auto-resizes to a compact 320x80 recording bar with timer and stop button.
Cleaner report layout: video player in attachments, no duplication
improvementuiattachmentsjira
Removed duplicate Screen Recording and DOM Replay sections from Session Replay card. Video and DOM replay now appear only in Attachments with full-width playable video player.
Removed the Screen Recording video player and DOM Replay badge from the Session Replay section since they were duplicated in Attachments. Video attachments now render as full-width playable players instead of cropped 140px thumbnails. DOM replay info cards also span full width. This is cleaner and ensures attachments are properly included when reports are pushed to Jira.
Popup-based screen recorder survives page refresh
featuresdkscreen-recording
Screen recording now runs in a separate popup window that continues recording even when the main page refreshes or navigates. Also uses displaySurface constraints to guide Chrome picker to the correct surface type.
Moved the screen recording logic from inline MediaRecorder to a dedicated popup window. The popup handles getDisplayMedia, MediaRecorder, timer, and 60-second auto-stop independently of the main page. Communication between the popup and main page uses BroadcastChannel for real-time status and IndexedDB for blob persistence. When you choose Full Desktop, Chrome shows monitor options; when you choose Browser Window, Chrome shows window options — using the displaySurface constraint to guide the picker.
Fix video upload and session attachments display
fixvideoattachmentssdksession-replay
Video recordings now upload inline with session data instead of a separate request. Session screenshots, videos, and DOM replay data now reliably show in report attachments.
The two-phase video upload (session capture then separate FormData upload) was silently failing for all users — zero video files were ever stored. Replaced with inline base64 upload in the same JSON payload as session data, matching the pattern used for screenshots. Also improved the report detail page to ensure session screenshots and videos always appear in the attachments section even if not in the report media array. DOM replay mutation count card is now properly styled and rendered.
Recording source picker: Full Desktop or Browser Window
featuresdkscreen-recording
Users can now choose between Full Desktop and Browser Window when recording. Tab capture has been removed since it stopped on page refresh.
Added a source picker modal to the SDK screen recording flow. Users now see two options — Full Desktop (captures everything on screen) and Browser Window (captures the entire browser window). This replaces the previous tab-based capture which would stop recording whenever the page refreshed or navigated. The picker features a styled modal with icons, descriptions, and a cancel option, followed by the existing 3-second countdown before recording begins.
Fix video upload CORS, IndexedDB blob persistence, and DOM replay display
fixvideocorssdksession-replay
Fixed critical CORS preflight issue preventing video uploads. Added IndexedDB blob persistence and DOM replay display in report attachments.
Fixed critical CORS preflight issue preventing video uploads by adding separate OPTIONS exports on capture endpoints. Added IndexedDB persistence for video blobs to survive page navigation. Added DOM replay info card with mutation count in bug report attachments. Improved video upload error logging and screen recording tab selection.
Added FAQ Section to Documentation
docsfeature
New FAQ section on the documentation page with 10 expandable accordion items covering: what bugAgent is, how it works, getting started, team management, multiple projects and organizations, pricing plans, subscription cancellation, supported report types, Jira integration, and data security.
Fixed Screen Recording in Session Replay SDK
fixsession-replaysdk
Resolved video recording issues: recordings now survive page navigation by preserving the video blob and flushing MediaRecorder data on unload. Chrome users will see their current tab pre-selected in the screen picker. Session replay videos now appear in the Attachments section of bug report details alongside screenshots and uploaded files.
Updated Marketing & Docs for Expanded Report Types
docsmarketingreports
Homepage, documentation, API reference, MCP docs, and Session Replay docs now reflect the full breadth of 19 supported report types — including feature requests, enhancements, technical debt, documentation, DevOps, UX improvements, and integrations — across the AI Assistant, REST API, and MCP server.
Expanded Report Types Beyond Bugs
featureai-assistantreports
The platform now accepts 7 new report types: feature requests, enhancements, technical debt, documentation, DevOps, UX improvements, and integrations. The AI Assistant, report creation, auto-classification, filtering, and display layers all support the expanded types with new badge styles and classification patterns.
Integrations Page Enhanced
docsdashboard
Expanded the Session Replay section on the dashboard integrations page with a detailed "What gets captured" reference table, screen recording instructions, and FAB toolbar documentation.
Homepage & Docs Updated with New Features
docsfeature
Updated homepage feature cards, Session Replay documentation, API reference, MCP docs, and developer documentation with DOM replay, screen + voice recording, and FAB toolbar features. All CoTester references renamed to AI Assistant across the entire website.
MCP Server CORS Hardened
security
Restricted CORS from wildcard to an explicit allowlist of production origins. MCP clients are unaffected as CORS is browser-only.
DOM Replay Recording
featuresession-replay
Session Replay SDK now records DOM mutations via MutationObserver in a rolling 60-second buffer. DOM snapshot and mutations are stored with the session and displayed on the report detail page.
Screen + Voice Recording
featuresession-replay
New FAB toolbar with satellite record button. 3-second countdown, then captures screen via getDisplayMedia with optional microphone. Records up to 60 seconds and attaches to bug report.
Session Cleanup Automation
improvementinfrastructure
Orphan session replays not attached to a bug report are automatically cleaned up after 24 hours — both database records and storage files. Hourly cron job.
AI Assistant Rebrand
improvementbranding
Renamed all CoTester references across the platform to AI Assistant — sidebar, admin pages, settings, billing, header, and system prompts.
Session Replay setup on Integrations page
featuresession-replayintegrations
The Integrations page now includes a Session Replay section with a full setup guide, copyable script snippet pre-filled with your API key prefix, and configuration options reference.
SDK events persist across page reloads
fixsession-replaysdk
The Session Replay SDK now saves events to sessionStorage so clicks, errors, and navigation are preserved across page reloads. Previously, form submissions that triggered a page reload would wipe the event buffer clean.
User Journey in Session Replay
featuresession-replay
Session replay now shows a User Journey section with the last 10 pages visited during the session, displayed as a vertical timeline with page titles, URL paths, and timestamps. Collapsed by default.
Improved SDK click capture
fixsession-replaysdk
The Session Replay SDK now captures all button clicks including save buttons, form submits, and buttons with nested icon/text elements. A mousedown backup listener ensures clicks are captured even when pages reload.
Improved Duplicate Detection
improvementduplicate-detection
Duplicate detection now weights title similarity at 70% with a lower matching threshold, catching near-identical titles that were previously missed. All existing reports have been backfilled with similarity data.
Duplicate Detection on homepage and docs
docs
Duplicate Detection is now featured on the homepage and in the developer documentation under AI-Native Features.
Activity count badge fixed
fixsession-replay
The session replay badge now shows the count of meaningful user activities (clicks, navigations, errors) instead of all raw events including mouse moves and scrolls.
AI Analysis collapsed by default
improvementsession-replay
The AI Analysis section in session replay is now collapsed by default. Click to expand when you want to review the findings.
User Activity Log replaces Event Timeline
improvementsession-replay
The abstract dot timeline in session replay has been replaced with a readable User Activity log showing timestamped clicks, navigations, errors, and warnings.
Screenshot removed from replay section
fixui
Session replay screenshots now only appear in the attachments section, avoiding duplication on the bug report detail page.
AI Assistant asks one question at a time
improvementai
The AI Assistant now asks a single focused question per message instead of multiple questions at once, making conversations more natural.
Duplicate detection for bug reports
featureaireports
New reports are automatically checked against existing reports in the same org and project using trigram embedding similarity. Similar issues appear on the bug detail page between comments and changelog with links, severity, status, and match percentage. No clutter when no duplicates found.
User display preferences for bug reports
featuresettings
New Bug Report Display section in Settings allows users to toggle Suggested Test Case and Suggested Playwright Script sections on bug report detail pages. Both are off by default. Settings are per-user only.
Feedback system added
featurefeedback
New Support section in sidebar with Feedback button that opens a popup modal. Users can submit feedback with category (general, bug, feature, improvement). Admin page shows all feedback with name, email, message, and status management.
Session Replay SDK and AI Assistant improvements
enhancementsession-replayai-assistant
SDK now filters out clicks on the bugAgent FAB and submit buttons from recorded events. AI Assistant now receives the page screenshot URL and URL navigation history from session replays for more complete bug report drafting.
Session Replay docs updated
docssession-replay
Updated Session Replay documentation to cover new features: page screenshot capture on submit, console.error() and console.warn() interception, 60-second URL navigation history tracking, and updated privacy section to reflect screenshot capture capability.
Impact Score on Bug Reports
featurereportstriage
Bug report detail page now shows an Impact Score (0-100) combining severity, frequency, and affected user count for objective triage.
Each bug report now displays an Impact Score ring that combines three data-driven factors: severity weight (0-40 based on S1-S4), frequency (0-30 based on similar reports in the same project over 30 days), and affected users (0-30 based on distinct reporters). The score uses logarithmic scaling for frequency and user count. Hover the score to see the full breakdown. Helps teams prioritize based on data instead of gut feel.
Session Replay: Console Errors & URL History
featuresession-replaysdk
Session Replay SDK now captures console.error() and console.warn() calls, plus a chronological URL navigation history for the last 60 seconds.
Enhanced the Session Replay SDK to intercept console.error() and console.warn() calls (in addition to uncaught exceptions and unhandled rejections), each tagged with a severity level. Also added a rolling 60-second URL navigation history that tracks every page the user visited in chronological order. Both are included in the session payload, stored in the database, and fed to the AI analysis for richer bug report context.
Admin: Inline Plan & Admin Controls
adminusersplans
Added inline plan dropdown and admin toggle switch to the Admin > All Users page for quick user management.
The All Users admin page now supports: inline plan switching (Free/Pro/Team/Enterprise) per user that updates their team plan and limits, a toggle switch to grant or revoke platform admin access, live admin count in stats bar, and toast notifications for all actions. Added is_admin column to profiles with database migration.
Session Replay Documentation Page
documentationsession-replaysdk
Added a dedicated /session-replay documentation page with full setup guide, SDK reference, and cross-links from docs hub, header nav, and API reference.
New comprehensive Session Replay documentation page covering: SDK installation, configuration options, event types captured, AI analysis workflow, CoTester integration, privacy and security details, API endpoints, and plan comparison. Also added a Docs link to the website header navigation, a Session Replay card to the docs Get Started and Developer Resources sections, a cross-reference callout in the API reference, and linked the feature list entry.
Session Replay SDK & AI Analysis
featuresession-replaysdkaiproteam
Capture the last 60 seconds of user activity before a bug report. A lightweight JavaScript SDK records clicks, navigation, console errors, and network failures. CoTester AI analyzes the session data to auto-draft bug reports with repro steps, error analysis, and suggested severity. Available on Pro and Team plans.
New Session Replay feature: Add bugagent-sdk.js to your site, and when users click Report Bug, the last 60 seconds of their browser session is captured and sent to CoTester AI. The AI analyzes clicks, navigation paths, console errors, and failed network requests to automatically draft a structured bug report. Developers can view the event timeline, errors, and AI analysis directly on the report detail page. New API endpoints: POST /api/sessions/capture, GET /api/sessions, GET /api/sessions/:id, PATCH /api/sessions. Database migration adds session_replays table with RLS policies. Updated pricing, features, docs, API reference, and MCP pages.
Fix website build and deploy
fixwebsitedeploy
Fixed a build error that prevented the website from deploying to GitHub Pages since March 19.
Resolved an esbuild compilation error in the API reference page where raw JSON objects inside HTML code tags were being parsed as Astro template expressions. The fix uses the set:text directive to properly escape inline JSON examples. All homepage updates (CoTester context-awareness, pricing, docs) are now live.
Admin CoTester Knowledge Base
featureaiadmincotester
New admin page for platform-wide testing expertise that enriches every CoTester AI session.
Added a new Admin CoTester Knowledge page with four sections: Master Testing Prompt for core AI instructions, Testing Keywords for domain-specific terminology, Reference URLs for testing frameworks and methodologies, and Knowledge Document uploads for testing guides and best practices. All global knowledge is injected into every CoTester AI session across all organizations, making CoTester a true testing expert that can teach testing concepts and help with complex testing problems.
CoTester AI Context-Aware Branding
improvedwebsitecotesterdocumentation
Updated all website pages to highlight the CoTester AI Assistant as context-aware with voice input, custom instructions, and knowledge document support.
The homepage Features section, Platform Pillars, documentation page, API reference, and MCP page now describe the CoTester AI Assistant as context-aware — reflecting its ability to use custom organization instructions, uploaded knowledge documents (product specs, testing playbooks), voice-to-text input, and full org data awareness in every session.
Knowledge Document Uploads for CoTester AI
featuredashboardcotesterdocuments
Upload reference documents (PDFs, markdown, text files) that the CoTester AI Assistant uses as context in every session.
The CoTester AI Instructions section in Settings now includes a Knowledge Documents area. Upload product specs, testing playbooks, API documentation, or onboarding guides — the AI will reference them automatically in every conversation. Supports PDF (with text extraction), Markdown, TXT, CSV, JSON, YAML, and HTML files. Includes drag-and-drop upload, character usage meter (200K limit), and document management with delete. Up to 20 documents, 10MB each.
Fix Rewind stopping on click-triggered page navigations
fixsdkrewind
Rewind now continues seamlessly when a replayed click navigates to a new page on the same site.
The root cause was that targetEl.click() on an anchor link would navigate the browser immediately, killing JS execution before the remaining rewind state could be saved. The fix adds two layers: (1) pre-click detection checks if the target is inside an <a href> or is a form submit button — if so, the full rewind state is saved to sessionStorage before the click executes; (2) a beforeunload safety net listener saves progress if the page unloads unexpectedly during rewind, covering edge cases like JS-driven window.location navigations. On the new page, the SDK picks up the saved state and resumes with the full progress bar intact.
DOM Replay Mutation Timeline & Recording UI Cleanup
improvementsession-replaysdkwebsite
Interactive DOM mutation timeline in attachments, removed redundant in-browser recording indicator, updated website marketing.
DOM Replay in attachments now shows an interactive mutation timeline with color-coded entries (DOM/ATTR/TEXT), searchable filter, and collapsible panel. Removed redundant in-browser recording indicator — timer and stop button now handled entirely by the popup recorder window. Updated homepage with 10x tester velocity messaging, Delegate/Heal coming soon sections, and footer trademark.
Session Replay features always visible
improvementsession-replaydashboard
Stack Trace, Network Waterfall, and Performance Metrics sections now always show in Session Replay with empty state messages when no data is captured.
All three feature sections (Stack Trace / Console Log, Network Waterfall, Performance Metrics) are now always visible in the Session Replay card on bug reports, even when no data was captured. Each section displays an empty state message when data is unavailable, and includes a feature icon in the toggle header for better visual identification.
DOM Replay moved to Session Replay section
improvementsession-replaydashboard
DOM Replay mutation timeline moved from Attachments into the Session Replay section alongside Stack Trace, Network Waterfall, and Performance Metrics.
The DOM Replay mutation timeline with searchable, color-coded mutation entries has been moved from the Attachments section into the Session Replay card. It now uses the same collapsible toggle pattern as the other session replay features, and is always visible with an empty state when no mutations were captured.
Reset button added to SDK toolbar
featuresdksession-replay
New Reset button in the floating popup clears all captured session data so testers can start fresh without reloading.
A Reset button has been added next to the "Send Session to AI" button in the SDK popup. Clicking it clears all captured data: video recordings, event buffer, console logs, network requests, URL history, DOM mutations, performance metrics, sessionStorage buffers, and IndexedDB video blobs. Any active recording is also stopped. This lets testers discard a bad capture and redo their workflow cleanly.
Fixed video recording upload - videos were 0 duration
bugfixsession-replayvideoapi
Screen recording videos were being uploaded as 7-byte corrupt files due to a base64 parsing bug in the capture API.
The webm video data URL contains commas in its MIME type (e.g. video/webm;codecs=vp8,opus) which caused the base64 split to grab the wrong segment. All previously uploaded videos were only 7 bytes and showed zero duration. The fix now correctly locates the ";base64," marker to extract the actual video payload.
Browser markup annotation tool
featuresdksession-replaymarkup
New annotate tool on the floating button lets testers draw circles, arrows, and freehand annotations directly on the page before sending to AI.
Hover over the bug FAB to reveal the new pen icon. Click it to enter annotation mode with a full toolbar: 7-color palette, circle/arrow/freehand drawing tools, undo, done/cancel. Annotations are composited over a base screenshot and sent as the screenshot in the bug report, replacing the auto-captured one. Reset clears any saved markup.
Auto-display new bug reports in real-time
featuredashboard
Bug reports list now auto-refreshes every 30 seconds to show new reports from team members or the AI assistant without requiring page reload.
New reports appear with a slide-in toast notification and highlighted row animation. Uses polling fallback for reliability alongside Supabase Realtime subscriptions.
Fix video zero duration on bug reports
fixsdk
Fixed an issue where screen recording videos showed zero duration on bug report pages.
Applied a WebM duration metadata fix on the report page (seek-to-end workaround for Chrome MediaRecorder bug). SDK now passes actual recording duration to the capture API instead of hardcoded 60s.
Expanded browser console and network capture
featuresdk
SDK now captures all console levels including debug, trace, and assert. Bug report detail page shows all network requests, not just failed ones.
Added console.debug (purple badge), console.trace (gray badge with stack), and console.assert capture. Report page now displays up to 100 console entries and shows all network requests including successful ones for complete visibility.
Smarter AI Assistant quick reply buttons
improvementai
Yes/No buttons now only appear for direct yes/no questions. A new Submit button appears for questions that need typed answers.
The yes/no detection is stricter — questions with "or" options, information-seeking questions (what, which, how), and multi-part questions no longer show yes/no buttons. Instead, a Submit button appears to expedite sending your typed reply. Bug reports generated by the AI no longer include bugAgent SDK tool steps (recording, annotation, FAB) in the description or repro steps. The session replay FAB is now hidden when the AI chat panel is open.
Rewind feature documentation added to SRT page
docssrtrewind
Added comprehensive Rewind documentation to the Session Replay Tools (SRT) docs including feature highlight, how-it-works guide, supported actions, controls, and element targeting details.
The SRT documentation page now includes full coverage of the Rewind feature: a highlight card in the overview, a capture item in the tools listing, and a dedicated section with step-by-step usage guide, supported actions (clicks, text input, checkboxes, selects, scroll, navigation), controls (ESC key, Stop button), and a callout explaining the CSS selector-based element targeting strategy.
Rewind feature added to homepage
featurehomepagerewind
Added Rewind as a dedicated feature card on the homepage and as a bullet point in the Enrich platform pillar.
The homepage Features grid now includes a dedicated Rewind card describing the real-time action replay capability. The SRT feature card description was updated to mention Rewind. The Enrich pillar in Platform Pillars now lists Rewind as a feature bullet.
Rewind persists progress across page navigations
enhancementsdkrewind
The Rewind progress bar and step statuses now persist seamlessly when replaying actions that navigate to a new page.
Previously, when Rewind replayed a navigation action that loaded a new page, the progress bar would reset and only show the remaining steps — losing visual continuity. Now the full rewind state (all actions, total step count, completed/skipped step statuses, and current index) is serialized to sessionStorage before navigation and restored on the new page. The progress bar shows all original steps with previously completed ones already marked as done, and the step counter updates live (e.g. "step 3/5").
Delete bug reports from the reports list
featuredashboardreports
Hover over a report title to reveal a trash icon. Click it, confirm, and the report is permanently deleted.
Added a trash icon that appears on hover next to each bug report title on the reports list page. Clicking it shows a confirmation dialog. On confirm, the report is deleted via a new DELETE /api/reports/:id endpoint and the row fades out. The DELETE endpoint is scoped to the user's team to prevent unauthorized deletions.
Voice-to-text input for bug report composer
featuredashboardvoice
Click the microphone icon in the bug report toolbar to dictate your bug report instead of typing.
Added a voice input button next to the file attachment button in the bug report composer. Click the mic to start recording — audio is transcribed in 30-second chunks via the /api/ai/transcribe endpoint. A live transcript review panel appears with a timer, recording status, and editable transcript text. Users can review and edit the transcription before inserting it into the bug report textarea. Includes discard/accept workflow, recording dot animation, and pulse effect matching the AI Assistant voice input pattern.
Jira-style bug template toggle for report composer
featuredashboardreports
Enable the Template toggle to prefill the bug report textarea with a standard Jira bug template.
A new "Template" toggle in the bug report composer toolbar prefills the textarea with a structured Jira-style bug template including: Summary, Steps to Reproduce, Expected Result, Actual Result, Environment, and Additional Notes. The setting is saved to localStorage and persists across sessions. When using Rapid Entry mode, the template automatically re-fills after each submission. Toggling off clears the template if it hasn't been modified.
WCAG audit powered by axe-core engine
featuresdkwcagaccessibility
WCAG Audit tool now uses axe-core v4.10.2 by Deque — the industry-standard accessibility engine with 80+ rules and zero false positives.
Replaced the custom inline WCAG checker with axe-core v4.10.2 (by Deque), the same engine used by Google Lighthouse and Chrome DevTools. axe-core is lazy-loaded from CDN on first click so there's no impact on initial SDK bundle size. It covers 80+ WCAG 2.0/2.1 Level A and AA rules with zero false positives, including comprehensive checks for color contrast, ARIA validation, focus management, form labels, heading structure, link purpose, image alt text, and much more. Results now include impact severity levels (critical, serious, moderate, minor), WCAG criterion tags, element CSS selectors, offending HTML snippets, and links to remediation documentation. The overlay shows a richer summary with violation count, affected elements, rules passed, and impact breakdown.
CoTester AI Custom Instructions
featuredashboardcotestersettings
Team admins can now configure persistent custom instructions for the CoTester AI Assistant in organization settings.
A new "CoTester AI Instructions" section in Settings allows admins to define: product description, testing guidelines, documentation links, known issues, custom terminology, and general instructions. These are automatically injected into every CoTester AI session so the assistant always has context about your product and team practices. Each field supports up to 5000 characters and is sanitized before injection into the system prompt.
Voice Memo Transcription with Whisper
featuredashboardcotestervoicewhisper
Upgraded CoTester AI Assistant voice input to support long recording sessions (15-20+ minutes) using OpenAI Whisper chunked transcription.
The voice-to-text feature now uses MediaRecorder with chunked Whisper transcription instead of the browser Web Speech API. Audio is recorded continuously and sent in 30-second chunks to OpenAI Whisper for accurate transcription. Text appears progressively in a review panel where users can edit before accepting. Includes a timer display, discard/use controls, and a new /api/ai/transcribe backend endpoint with full authentication and validation.
Voice-to-Text in CoTester AI Assistant
featuredashboardcotestervoice
Added a voice input button to the CoTester AI Assistant chat panel using the browser-native Web Speech API.
The CoTester AI Assistant now supports voice-to-text input. Click the microphone button next to the attach button to start dictating — real-time transcription streams directly into the text field. A pulsing red indicator shows when recording is active. Works on Chrome, Edge, and Safari. The button is gracefully hidden on unsupported browsers.
CoTester AI Assistant in Pricing & Billing
improvedwebsitedashboardcotesterpricing
Added CoTester AI Assistant as a featured capability across all pricing tiers on the website and dashboard billing page.
CoTester AI Assistant is now listed as a feature in all four pricing plans (Free, Pro, Team, Enterprise) on both the website pricing section and dashboard billing settings. Enterprise tier highlights a dedicated CoTester AI Assistant experience.
CoTester AI Assistant on Homepage
improvedwebsitecotester
Added CoTester AI Assistant to the Enrich pillar on the homepage Platform Pillars section.
Added CoTester AI Assistant to the Enrich pillar on the homepage, highlighting guided bug creation as a key platform capability alongside existing features like Jira sync and email reporting.
Custom domain for MCP server
improvementmcp
Replaced all hardcoded Railway production URLs with mcp.bugagent.com custom domain across codebase.
Updated MCP server OAuth fallback URL, dashboard integrations setup guide, and README to use mcp.bugagent.com instead of the Railway deployment URL. This prepares for the custom domain DNS configuration on Railway.
Sentry MCP Server & Uptime Monitoring
securitymonitoringsentrydevops
Configured Sentry MCP server integration, uptime monitors, and secured credentials from git tracking.
Configured Sentry MCP server for querying issues and alerts directly from Claude Code. Set up Sentry uptime monitors for the bugAgent dashboard (5-minute checks) and marketing site (10-minute checks). Removed .mcp.json from git tracking and added to .gitignore to protect sensitive credentials including Stripe, Supabase, and Sentry tokens. Dependabot already configured for daily dependency scans at 6 AM ET across website, dashboard, MCP server, and GitHub Actions ecosystems.
Consistent www.bugagent.com URLs
seobugfix
Fixed Google Search Console redirect issue by updating all website URLs to use www.bugagent.com consistently.
Updated Astro site config, CNAME, robots.txt, JSON-LD structured data, RSS feed links, OG image, and legal pages to use www.bugagent.com instead of bare bugagent.com. This eliminates the redirect flagged by Google Search Console and ensures consistent canonical URLs for SEO.
Introducing CoTester AI Assistant
new-featureimprovement
The AI chatbot has been rebranded as CoTester AI Assistant across the entire platform and documentation.
The built-in AI assistant is now called CoTester AI Assistant. Updated across the dashboard chat panel, header tooltip, system prompt, homepage features section, API reference docs, general docs, and MCP documentation. CoTester helps teams create detailed bug reports through guided conversation, answer questions about bug data, and suggest testing strategies.
Default project checkbox in settings
new-featureimprovement
Added a checkbox in the project settings section to set the active project as the default for new bug reports.
The project section in Settings now includes a Set as default project checkbox alongside the rename field. When toggled, the previous default is unset and the active project becomes the default. New bug reports are automatically assigned to the default project.
Project switcher in sidebar and streamlined bug report filters
new-featureimprovement
Added a project switcher to the sidebar matching the org switcher design, moved project filtering into the reports filter bar, and added project renaming in settings.
The project selector has been reorganized: a new sidebar project switcher (below the org dropdown) lets users quickly switch between projects or create new ones via a modal. The bug reports page filter bar now includes a project dropdown alongside type, severity, status, and resolution filters. The settings page has a new Project section for renaming the active project. New users automatically get a Default project created with their account.
The MCP SDK auth router uses express-rate-limit in sub-routers that do not inherit the parent Express app trust proxy setting. Behind Railway reverse proxy, this threw ERR_ERL_UNEXPECTED_X_FORWARDED_FOR and crashed the server. Disabled SDK built-in rate limiting since bugAgent applies its own rate limiting at the application level.
Description field added to Jira sync
featurejirasync
Bi-directional Jira sync now includes the description field alongside title, severity, status, and type.
The Jira check endpoint now compares descriptions between bugAgent and Jira. When a description change is detected, the top-of-page sync banner appears. The merge flow handles description updates in both directions, converting between plain text and Jira ADF format.
Jira project dropdown selector
featurejiradashboard
Replaced manual project key input with a dropdown fetching available Jira projects from the team connection.
When pushing a bug report to Jira for the first time, users now see a dropdown of all available Jira projects instead of typing a project key manually. The dropdown pre-selects the default project if one was previously saved. New API endpoint: GET /api/jira/projects.
Fix team invitations and update email branding
bug-fixteamemailbranding
Fixed invite emails using old gold branding — now uses the new chrome/slate color scheme. Fixed "Invalid Invitation" error when clicking invite links by switching to service role client for fetching and accepting invitations. Added RESEND_API_KEY to production environment for email delivery.
Fix team management page and invite form
bug-fixteamrls
Fixed the team settings page showing 0 members and missing the invite form. Root causes: missing foreign key from team_members.user_id to profiles.id (broke PostgREST joins), and a self-referencing RLS policy on profiles that silently failed. Team members, roles, and the invite form now display correctly.
Duplicate bug report button
new-featurereports
Added a Duplicate button on the bug report detail page. Creates a copy of the report with [Copy] prefixed to the title, preserving all fields except status (reset to new), resolution (cleared), and media. The duplicate metadata tracks the original report ID.
Fix RLS recursion breaking team data loading
securitybug-fixrls
Fixed a critical self-referencing RLS policy on team_members that caused PostgreSQL to silently return zero rows. This broke the middleware team loading, causing the plan switcher to always show Free. Replaced with SECURITY DEFINER helper functions that safely bypass RLS recursion.
Admin Plan Switcher Fix and Uplifting Org Names
bug-fixdashboardnew-featureteams
Fixed the admin plan dropdown not persisting changes. All organizations now have unique, uplifting random names generated automatically.
Two fixes in this release:\n\n**Admin Plan Switcher Bug Fix**\n- Root cause: service role key was only checked via process.env which is empty in Astro SSR runtime. Now also checks import.meta.env as fallback.\n- The endpoint was falling back to the user's Supabase client which couldn't update the teams table due to RLS policies, causing silent failure.\n- Now uses locals.team?.id directly instead of a redundant DB query.\n- Returns proper error if service role key is not configured.\n\n**Uplifting Organization Names**\n- All existing teams renamed from "X's Team" pattern to unique uplifting names (e.g., "Noble Wellspring Hub", "Breeze Harbor Works")\n- New accounts auto-generate uplifting names via the handle_new_user() DB trigger\n- Auth callback safety-net also generates uplifting names using the shared org-names utility\n- Organization name field in settings validates non-blank and shows error if empty\n- Unique constraint (teams_name_unique) prevents duplicate org names in the database\n- Uniqueness check with friendly error message before saving\n- DB function generate_org_name() uses 50 adjectives x 50 nouns x 10 suffixes (25,000 combinations) with collision retry loop
Multi-Organization Support, Org Settings, and Downgrade Restrictions
multi-orgnew-featuredashboardbillingteams
Users can now belong to multiple organizations with a sidebar org switcher. Added organization name settings and billing downgrade restrictions.
Major feature additions:\n\n**Multi-Organization Support**\n- Users can belong to multiple organizations with different roles in each\n- Sidebar org switcher dropdown appears when user is in 2+ orgs\n- Shows org name, role, and plan for each org\n- Active team tracked via cookie and profiles.active_team_id column\n- Middleware loads all memberships and resolves active team (cookie > profile > first)\n- New /api/switch-team endpoint validates membership and switches context\n- Invite acceptance automatically sets the new org as active\n- Migration 013 applied: adds active_team_id to profiles with indexes\n\n**Organization Settings**\n- New "Organization" section in account settings\n- Manager, admin, and owner roles can rename the organization\n- Contributors see read-only organization info\n\n**Billing Downgrade Restrictions**\n- Free plan: cannot be downgraded to from any paid plan\n- Pro plan: can only upgrade to Team, no downgrade path\n- Team plan: can downgrade to Pro with confirmation modal\n- Downgrade modal shows warnings if >3 active members (excess will be deactivated) or if storage exceeds 1GB Pro limit\n- Requires typing DOWNGRADE to confirm\n\n**Invite Improvements**\n- Client-side check prevents inviting existing org members\n- Shows info message: user is already in the organization\n- Users in other orgs can still be invited (multi-org supported)
Security Fix: RLS Policies for Team Roles
securityteamsrlsbug-fix
Fixed critical RLS policy issues where team_members INSERT policy referenced deprecated role, and UPDATE/DELETE policies were owner-only. Added email verification on invite acceptance.
Security fixes found during automated audit:\n\n- **Critical**: team_members INSERT policy required role='member' which was removed in migration 011. Users could not accept invitations through the normal auth path. Fixed to allow all valid roles.\n- **Critical**: team_members UPDATE/DELETE policies only allowed team owner. Managers could not manage members despite UI showing controls. Extended to include admin and manager roles.\n- **High**: change_role action had no server-side allowlist validation. Added strict allowlist (contributor, manager, admin) and blocked self-role-change.\n- **Medium**: Invite acceptance did not verify that the logged-in user email matched the invitation email. An authenticated user with a different email could join any team via a shared invite link. Added email match verification.\n- **Fix**: team_invitations management policy now includes manager role.\n- **Fix**: team_members SELECT policy now allows all team members to see each other (was previously self-only).
Team Management with Roles and Invitations
teamsrolesnew-featuredashboardsecurity
Full team management system with role-based access control, invite flow with 5-day expiry, owner transfer, and new user onboarding.
Built comprehensive team management for the dashboard:\n\n- **New roles**: owner, manager, contributor (DB migration 011 applied)\n- **Role-based sidebar**: contributors see limited navigation (no billing, team, integrations)\n- **Middleware protection**: contributors blocked from restricted routes\n- **Team page rewrite**: invite with role selection (owner/manager/contributor), role change dropdown, member status management (activate/deactivate), resend invites with fresh 5-day expiry, owner transfer with confirmation\n- **Settings restrictions**: danger zone sections (delete project, flush reports, delete account) hidden based on role\n- **Invite flow**: new users create password + full name directly from invite link; existing users redirected to login\n- **Send-invite edge function**: supports manager role for inviting, improved welcome email with inviter name and role descriptions, 5-day expiry\n- **Security**: pre-commit scan passed, managers cannot escalate to owner/admin, contributors cannot access restricted pages
Bi-directional Jira Comment Sync
featurejiracomments
Comments now sync between bugAgent and Jira automatically
New comments posted in bugAgent on Jira-synced reports are automatically pushed to the Jira issue. When checking for Jira updates, new Jira comments are detected and can be imported during the merge flow. Comments from Jira appear with a "[Jira — Author]" prefix. Duplicate prevention ensures comments are never imported twice. Reactions and edits are not synced between systems.
Bi-directional Jira Sync
featurejirasync
Bug reports now detect and merge changes from Jira automatically
When viewing a bug report synced to Jira, bugAgent now checks if the Jira issue has been modified. If changes are detected, an amber banner prompts you to review. A merge dialog shows field-by-field comparison (title, severity, status, type) so you can choose which value to keep. After confirming, both systems are updated to match. Comments are never synced. After editing a synced report locally, a Sync to Jira button appears to push your changes.
Team-Scoped Jira Integration
featurejirateams
Jira connections now belong to the team, not individual users
Jira integrations are now shared across all team members. Any member can sync bugs to Jira using the team connection. Only managers and owners can connect, configure, or disconnect. If the person who set up the integration leaves or is removed, the connection persists for all remaining and future team members.
Sentry Error Monitoring
improvementmonitoring
Added Sentry SDK to dashboard and MCP server
Integrated Sentry error tracking with separate projects for dashboard (javascript-astro) and MCP server (node-express). Configured nightly security scan at 3am via scheduled task.
MCP Server Security Hardening
securitymcp-server
Fixed 14 security and reliability issues across the MCP server
Fixed SQL injection in search, added rate limiting on auth, removed Jira sync privilege escalation, added file upload path traversal protection, input validation limits, 15s API timeouts, pendingAuth memory leak fix, credential file permissions, and externalized Stripe price IDs to env vars.
Nightly security scan
featuresecurityautomation
Scheduled automated security scan at 3am daily. Combines Sentry issue monitoring with local code security scanning for comprehensive overnight analysis.
Sentry MCP server
featuremcpsentry
Added Sentry MCP server for AI-powered error investigation and debugging directly from Claude Code. Enables querying Sentry issues, events, and Seer AI analysis.
Sentry integration
featuremonitoringsentry
Added Sentry error monitoring to dashboard and MCP server. Configured @sentry/astro for SSR error capture, @sentry/node for MCP server monitoring, and Sentry release tracking in CI/CD pipeline.
Fix new user signup from invite
fixauthdatabase
Fixed "Database error saving new user" when accepting invites by setting search_path on all SECURITY DEFINER PostgreSQL functions.
Fix invite email branding
improvementemailui
Updated invite email template with clean white CTA button, refined typography, and consistent dark theme. Removed party emoji from invite acceptance page for a more compact layout.
MCP Server Best Practices Update
improvementmcp-server
Tool annotations, pagination metadata, and improved error handling
All 24 MCP tools now include behavior annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) to help clients understand tool behavior. The list_bug_reports tool returns pagination metadata (has_more, next_offset). All error responses now include the isError flag per MCP convention.
5 New MCP Tools + Setup Guides
featuremcp-servertools
Added Jira sync, comments, and team management tools plus easy setup configs
Five new MCP tools: check_jira_sync (detect remote changes), merge_jira_sync (bi-directional merge), add_comment (with auto-push to Jira), list_team_members, and invite_team_member. README updated with quick setup guides for Claude Code, Claude Desktop, Cursor, Windsurf, and remote HTTP connections. Evaluation suite with 10 test questions added for quality assurance.
AI Description Formatter
feature
New AI wand button on bug detail page reformats descriptions into structured bug templates. format_description flag available on MCP create_bug_report and dashboard quick-submit. Jira sync handles pre-formatted descriptions without duplicate sections.
New AI wand button on bug detail page reformats descriptions into structured bug templates. format_description flag available on MCP create_bug_report and dashboard quick-submit. Jira sync handles pre-formatted descriptions without duplicate sections.
Multi-Organization Support
feature
Multi-Organization Support
Pro and Team plan users can now create multiple organizations from the sidebar. Click the org dropdown and select "Create Organization" to start a new workspace. Auto-generates a unique uplifting name or enter a custom one. Free plan users can belong to multiple orgs via invites but cannot create new ones.
Simplified Bug Reports + Internal Notes
improvementfeature
Bug reports now store full descriptions without splitting. Added Internal Testing Notes.
Bug reports now store the full description as-is without splitting into separate sections (steps, expected, actual). Added Internal Testing Notes field — editable on the bug detail page but never synced with Jira or external integrations. AI Format feature still available to reformat descriptions on demand. Removed deprecated fields from all APIs and MCP tools.
Bug Reports RLS Fix for Teams
fixsecurityteams
Team members can now update and sync reports created by other team members
Fixed row-level security policies on bug_reports to allow any team member to update team reports. Previously only the original creator could edit, which blocked Jira sync for reports filed by other team members.
Deleted Jira Issue Handling
featurejira
Graceful handling when linked Jira issues are deleted
When a synced Jira issue is deleted or becomes inaccessible, the report detail page shows a notification with two options: Unlink (remove the Jira reference so the report can be re-pushed as a new ticket) or Keep Reference (grey out the link as a historical record).
Italicize Agent in bugAgent branding across homepage
uibrandingwebsite
Updated all visible bugAgent text on the homepage to italicize the "Agent" portion using em tags, consistent with the logo styling. Applied across 10 section components including Hero, Features, How It Works, Pricing, and Footer.
Fix admin users page 500 error on Railway
bugfixdashboardsecurity
Fixed server-side environment variable access across all dashboard files. Replaced import.meta.env (build-time only) with process.env fallback for SUPABASE_SERVICE_ROLE_KEY so it resolves correctly at runtime in Docker/Railway deployments. Added graceful error handling for admin pages.
Automated security scanning on every commit
securitydevopsnew-feature
Added an 8-category security scanner that runs as a pre-commit hook and CI gate. Checks for hardcoded secrets, SQL injection, XSS, auth gaps, insecure patterns, dependency vulnerabilities, sensitive file exposure, and RLS/data access scoping.
Dashboard chart upgraded to grouped bar layout
dashboardenhancementui
Updated the actual dashboard bug reports chart from a single bar to a grouped 3-bar-per-day layout showing UI (blue), Performance (amber), and Crashes (red) categories with legend, Y-axis labels, gridlines, and detailed hover tooltips.
Homepage repositioned as agentic QA platform
new-featureimprovement
Added three new homepage sections positioning bugAgent as a bug enrichment and QA delegation platform: Platform Pillars, Delegate Testing, and Agent QA Swarm.
Three new sections added to the marketing homepage:
**Platform Pillars** — "Enrich bugs. Delegate testing. Heal code."
- Three-pillar overview with Enrich (Live), Delegate (Coming Soon), and Heal (Coming Soon)
- Each pillar card has feature checklist and interactive visual
- Enrich shows raw-to-enriched bug report transformation
- Delegate shows AI or PM requesting human QA
- Heal shows the agent swarm grid
**Delegate Testing** — "Real humans. Real testing. Requested by agents or you."
- Exploratory Testing card with demo showing CI Agent requesting human testers
- Automation Testing (Playwright) card with demo showing PM triggering test suite
- "Agents in the loop" callout explaining autonomous QA delegation
**Agent QA Swarm** — "Agents that lint, scan, and heal your codebase"
- 10 specialized agent cards: Code Lint, Dependency, Accessibility, Security, Performance, Visual Regression, API Contract, Dead Code, Test Coverage, Localization
- Each card shows what the agent does and its action types (auto-fix, scan, report)
- 3-step flow: Agents scan → Auto-heal → File reports
API reference page and public changelog
new-featureimprovement
Added a comprehensive API reference page at bugagent.com/api-reference documenting all REST endpoints, and a public changelog page at bugagent.com/changelog with tag filtering, date navigation, and RSS subscription.
Two new pages added to the marketing website:
**API Reference** (`/api-reference/`)
- Left sidebar with collapsible navigation sections for all endpoint categories
- Welcome/Getting Started, Introduction, Base URL, Authentication docs
- All REST endpoints documented with method badges, auth requirements, parameter tables, and response examples
- Covers: Auth, Reports, Comments, Projects, API Keys, Profile/Settings, Usage/Stats, Billing, Jira Integration, Changelog
- SDKs section (Node.js, Python, Rust, Go — coming soon)
- Contribute section and MIT License info
- Recommendations with best practices
- Mobile responsive with floating sidebar toggle
**Changelog** (`/changelog/`)
- Fetches entries from Supabase at build time
- Groups entries by date with right-side date navigation
- Color-coded tag filtering (security, api, mcp, new-feature, agents, improvement, bugfix)
- Expandable detail sections for each entry
- Subscribe via RSS button linking to `/changelog.xml`
Footer updated to link both API Reference and Changelog.
Critical security fixes for MCP server
securitymcp
Fixed 3 store functions (listReports, getReport, updateReport) that had no user/team ownership scoping, allowing any authenticated user to access any report via the MCP server.
The MCP server uses a Supabase service role key that bypasses Row Level Security. Three core functions had no application-level ownership checks. Added userId parameter and .or() ownership filtering to all three, plus a shared getUserTeamId() helper to eliminate duplicate team lookups across 7+ functions.
REST API parity with MCP tools
apinew-feature
Added 12 new REST API endpoints so API key holders can programmatically access all features previously only available through MCP tools.
New endpoints:
- POST /api/auth/register, POST /api/auth/login
- GET/POST /api/reports, GET/PATCH /api/reports/:id
- GET/POST /api/keys, DELETE /api/keys/:id, POST /api/keys/:id/regenerate
- GET/PATCH /api/profile, POST /api/profile/password
- GET/PATCH /api/settings
- GET /api/usage, GET /api/stats
All endpoints enforce ownership filtering and work with both session cookies and Bearer API key authentication.
API key authentication for REST endpoints
apisecuritynew-feature
REST API endpoints now accept Bearer token authentication using ba_live_ API keys, in addition to session cookies.
Added middleware that validates Authorization: Bearer ba_live_... headers by SHA-256 hashing the token and looking up the api_keys table. Populates the request context with user and team info so all existing endpoints work automatically with API key auth.
Changelog system with RSS feed
new-featureimprovement
Added a changelog database, admin API for creating entries, and an RSS feed at /changelog.xml for tracking platform updates.
- New changelog_entries table with public read access
- GET /api/admin/changelog (public) lists entries
- POST /api/admin/changelog (admin only) creates entries
- /changelog.xml serves RSS 2.0 feed with content:encoded support
- Entries support tags for categorization (security, api, mcp, new-feature, etc.)
14 new MCP tools for autonomous agents
mcpnew-featureagents
Added full account lifecycle support for autonomous AI agents: registration, login, profile management, project CRUD, API key management, settings, and usage tracking.
New MCP tools:
- register_account, login — agent self-service onboarding
- update_profile, change_password — profile management
- get_settings, update_settings — notification preferences
- create_project, delete_project — project CRUD with plan limits
- flush_reports — bulk cleanup with owner/admin check
- generate_api_key, list_api_keys, regenerate_api_key, delete_api_key — API key lifecycle
- upgrade_plan — returns Stripe checkout URL
Agent accounts are flagged with is_agent=true in profiles.