Skip to main content
Product Updates

Changelog

Every update, fix, and new feature — shipped fast and documented clearly.

April 2026

v1.1.0New Feature

Priority score on every audit issue

Every audit issue now carries a priority score (0–100) computed from traffic impact × 0.5 + fix ease × 0.3 + confidence × 0.2. A "Top 5 Fixes This Week" card at the top of every audit report shows the highest-impact fixes first, with difficulty badges (Easy / Medium / Complex).

v1.1.0New Feature

Public changelog page launched

A live /changelog page now shows all product updates grouped by month, color-coded by category (green = feature, blue = improvement, amber = fix, red = security). No login required.

v1.0.1Security

Stripe webhook — silent FREE downgrade hardened

getTierFromPriceId now returns __UNKNOWN__ sentinel (not FREE) for unrecognised price IDs. A new assertKnownTier() guard halts webhook processing and logs a CRITICAL alert instead of silently downgrading paying users. STRIPE_PRO_PRICE_ID / STRIPE_AGENCY_PRICE_ID are now validated at startup.

v1.0.1Improvement

Mobile nav hamburger menu added to landing page

Added Menu / X icons, mobileNavOpen state, body scroll lock, and Escape key handler. Full-width right-side drawer with all nav links, Log in, and Get Started CTA. Desktop nav links remain hidden on mobile.

v1.0.1Bug Fix

Skip-nav accessibility link now renders correctly

Added <a href="#main-content" class="skip-nav">Skip to main content</a> as the first child of ClientLayout.tsx. The #main-content anchor already existed in the dashboard — now correctly linked.

v1.0.1Bug Fix

card-surface hover visible in light mode

Changed base hover border-color from rgba(255,255,255,0.1) (invisible on white) to rgba(0,0,0,0.15). Dark mode override remains unchanged.

v1.0.1New Feature

Notifications — real API + dynamic TopHeader

/api/notifications now queries Prisma for recent completed audits, pending blog reviews, and new-user welcome messages. TopHeader replaces hardcoded array with a useNotifications() hook that fetches on mount and every 60 s. Loading skeleton and empty state included.

v1.0.1Improvement

Sidebar tooltips on context-dependent items

Items requiring a siteId now show a "Select a site first" tooltip on hover when no site is active. Items are pointer-events-none (not just dim) to prevent accidental navigation.

v1.0.1Bug Fix

Missing og-image.png — social sharing restored

Added a branded 1200×630 SVG source for og-image generation. Run `node scripts/generate-og-image.js` to produce the PNG, or use @vercel/og for dynamic per-page OG images.

v1.0.1Improvement

AEO empty state — benchmark teaser shown

Empty AEO card now shows "Top brands avg 68/100" instead of generic "Run deep AEO audit" text, with a "See where you rank →" link.

v1.0.1New Feature

Inline onboarding wizard

Replaces the "Add Your First Site" button with a 3-step inline wizard (Domain → Audit Queue → Done). Real-time domain validation calls /api/sites POST without leaving the page. Wired into dashboard isNewUser branch.

v1.0.1New Feature

⌘K Command palette

Global ⌘K / Ctrl+K shortcut opens a full-featured command palette with 15 commands and fuzzy search scoring (exact > prefix > contains > keywords > description). Keyboard navigation with ↑↓ and ↵.

v1.0.1New Feature

Real-time job progress via JobPoller component

Generic polling component polls a pollUrl every 5 s while status is PENDING/RUNNING. Animated progress bar with elapsed/estimated time. onComplete and onError callbacks.

v1.0.1New Feature

Shareable audit link button

"Share" button next to Export in the audit detail header. Uses navigator.share() on mobile; clipboard copy fallback on desktop. Shows "Copied!" confirmation for 2 s.

v1.0.1New Feature

Keyword rank history sparkline

SVG sparkline component for position-over-time in keyword rows. Color-coded by trend: green = improved, red = declined, gray = flat. Delta badge (↑3 / ↓2) shown next to the sparkline.

v1.0.1New Feature

Annual pricing toggle on landing page

Added billingAnnual state with animated toggle switch in the pricing section. Pro: $39/mo → $31/mo annual. Agency: $99/mo → $79/mo annual. "Billed annually — 2 months free" badge shown when annual is selected.

v1.0.1Bug Fix

Placeholder social links in footer replaced

Footer now links to the correct twitter.com/aiseoseo and github.com/aiseoseo handles instead of placeholder values.