{"url":"https://wooscraper.com/changelog","feed":"https://wooscraper.com/changelog/feed.xml","entries":[{"date":"2026-05-12","version":"1.3.0","title":"Production hardening — BotID, observability, GDPR, security headers","tags":["improvement","infra"],"notes":["BotID anti-abuse on signup, Stripe checkout, newsletter, contact, intel/* — verified blocking automated traffic","Structured error logging with /admin/errors viewer (24h/7d counts + stack traces)","Daily error-digest cron emails admin on spike (>=10/day) or new failure mode","Stripe webhook idempotency via webhook_events table + /admin/webhooks viewer","GDPR: /api/account/export-data full JSON dump, confirm-typed delete in /dashboard/settings","Welcome email on signup + job-complete email when state machine closes","First-class job state machine: finalize sweep flips processing→completed when queue is drained","Cookie consent banner — Vercel Analytics + Speed Insights only after explicit accept","Security headers: strict CSP, HSTS preload, frame-ancestors none, permissions-policy","Newsletter signup syncs to Resend audience (best-effort)","Ingest pipeline parallelized — 5k-product runs cut from ~90s to ~18s","New routes: /case-studies, /press, /shopify-to-woocommerce, /woocommerce-to-shopify"]},{"date":"2026-05-12","version":"1.2.0","title":"SEO pass — canonicals, JSON-LD, blog, RSS, telemetry","tags":["improvement","infra"],"notes":["Per-route canonical URLs on every marketing page","JSON-LD: Organization, WebSite, SoftwareApplication, FAQPage on /, Product on /pricing, BlogPosting on /blog/*","Per-route OG images (11 routes) via shared lib/og.tsx renderer","Custom 404 page with Common Destinations card grid","Loading skeletons across all 8 dashboard pages","Sitemap priorities + changeFrequency tuned by SEO intent","robots.txt blocks Ahrefs/Semrush/DotBot/MJ12, allows real search engines","/blog index + launch post + RSS feed at /blog/feed.xml","Vercel Analytics + Speed Insights wired in"]},{"date":"2026-05-12","version":"1.1.0","title":"Public REST API, scheduled re-scrapes, live progress","tags":["feature"],"notes":["/api/v1: bearer-auth REST API with /jobs, /watches, exports — 120 req/min/key","Dashboard → API keys page mints / reveals (once) / revokes keys","Watches feature: hourly/daily/weekly recurring scrapes, /api/cron/run-watches every 15 min","Extension popup polls /api/jobs/:id every 3s for live products/images/reviews counts","Yotpo/Loox/Judge.me/Stamped app-key auto-discovery from storefront HTML"]},{"date":"2026-05-12","version":"1.0.5","title":"Admin panel + payment-provider connector","tags":["feature"],"notes":["/admin overview + /admin/health + /admin/payments + /admin/users + /admin/jobs","Stripe connector — paste keys, auto-register webhook, AES-256-GCM encrypted storage","PaymentProviders registry with env-var fallback","Force-export and force-drain admin endpoints for ops"]},{"date":"2026-05-12","version":"1.0.4","title":"Production deploy + E2E hardening","tags":["launch","fix"],"notes":["Live on https://wooscraper.com (Vercel, Neon Postgres, Vercel Blob)","Stripe webhook auto-registered for prod URL","Fixed product upsert dedup (was matching source_id across jobs)","Fixed image queue enqueuer for 1k+ product catalogs (param-limit)","Fixed export workers: explicit column selection + bulk-load (Neon HTTP-response limit)","Fixed jsonb payload parsing in cron worker","Added queue prioritization (push > export > reviews > image)","Stuck-running orphans now reclaimed after 5min"]},{"date":"2026-05-12","version":"1.0.0","title":"Repo bootstrap + extension v1.0.0","tags":["launch"],"notes":["Monorepo (pnpm + Turborepo) scaffolded","Next.js 16 marketing site, dashboard shell, and API routes","Better-Auth + Neon Postgres + Drizzle ORM wired","Extension shell (WXT MV3) with platform detection","Server-side parser packages for Woo Store API and Shopify products.json","Theme-specific parsers for Astra/Flatsome/Storefront/OceanWP/Divi/Avada","Reviews extraction across native Woo + Judge.me + Loox + Yotpo + Stamped","Exports: Woo CSV, Shopify CSV, image ZIP, reviews CSV (4 formats)","Free intel tools in extension popup + /tools/* landing pages"]}]}