Changelog
Last updated: 2026-04-24Everything we've shipped, in reverse chronological order. Subscribe by RSS (coming soon) or email ops@keepgrid.net to get updates.
v0.15productgrowthPer-category install picker + free single-doc tools
- Per-category install approval in the advanced install-options picker: opt out of Information / Community / Tickets / Voice / Staff categories before bot authorization. Skip list encoded in mode cookie, carried through OAuth callback, enforced by executeInstall with per-category skip pushStep entries
- Three free single-doc generator pages launched at /tools — Whitelist Rubric, RP Server Rules, Ticket Routing — each produces one customized document tuned to server name, platform, RP style, staff size, factions. Rate-limited 5/15min, no signup, no account
- New /tools index page with full pack upsell. Each tool page is SEO-optimized with dedicated title, description, canonical
- Sitemap + llms.txt updated with all 4 new URLs
- Tool generator events wired to GA: preview_started, preview_completed, audit_fix_clicked (for full-pack conversion)
v0.14productopsIncident + Ban Appeal docs, faction auto-onboarding
- Two new docs generated automatically: Incident Report Templates (6 severity templates, triage SLAs, evidence handling) and Ban Appeal Workflow (cooldown table, review panel, scoring rubric, 4 verdict DM templates). Total now 13 docs
- Faction auto-onboarding: owners add a faction in the dashboard → KeepGrid bot creates the matching Discord role (purple, hoisted, mentionable) immediately if the bot is installed
- New faction roles are tracked in the install's created-items manifest so rollback still cleans them up
- Faction name validation: letters/numbers/spaces/_-. only, 1-64 chars, duplicate guard
- New endpoints: POST /api/factions/add
v0.13productpositioningVertical packages, launch calendar, doc drift refresh, shareable logs
- RP style picker added to intake: Serious / Semi-serious / PD-EMS heavy / Gang-economy / Whitelist-only / Streamer / Public. AI prompt now modulates rules strictness, app length, enforcement language to match the chosen style — no more generic RP output
- Launch Calendar on dashboard (launching-stage only): interactive 4-phase checklist (Foundation, Pre-Launch, Launch Day, Post-Launch) with 24 items across infrastructure, docs, Discord, testing, announcements. Target date + progress bar persisted in localStorage
- Doc update reminder card: owners can update staff size, RP style, and factions in place and regenerate all 11 docs against the new state — no need to create a new project when the server evolves
- New endpoint /api/projects/[id]/regenerate (works on ready/paid projects) — replaces docs atomically, restores original status on failure
- Public read-only install log at /install-log/[installId] for support-ticket sharing. Exposes status, progress, summary, mode; redacts guild ID, snapshot, OAuth tokens, created-item tracker
- Share-log button on install progress page copies the public URL in one click
v0.12productgrowthinfraFunnel analytics, 11-lang intake, install modes, Tickets SLA
- Google Analytics funnel events wired end-to-end: preview_started, preview_completed, generate_clicked, project_created, checkout_started, payment_succeeded, bot_authorized, install_started, install_completed, install_failed, rollback_started, ops_scan_run — conversion funnel finally measurable
- /get-started is now fully localized into 11 languages (EN, PT, FR, DE, ES, RU, TR, PL, RO, AR, NL) with RTL support for Arabic; all 10 localized landings pre-pass ?lang= — no more English-only form for non-EN traffic
- Install modes: choose Full / Roles-only / Channels-only / Docs-only before bot authorization. Picker in dashboard, carried through OAuth callback, enforced in executeInstall by per-phase gates
- Tickets SLA tracking integrated into Ops Scan: counts open threads in Tickets category (or heuristic match), flags tickets stale > 24h and breached > 72h, surfaces in dashboard SLA panel and in weekly email report findings
- Ops Scan snapshot now includes ticket metrics (openThreads, staleOver24h, breachOver72h, oldestHours) — tracked over time via existing scan history
v0.11productautomationgrowthWeekly auto-scans + drift detection + email reports
- Ops Health scans now run automatically every Monday 14:00 UTC for all paid projects with an installed bot — no manual trigger needed
- Drift engine compares every scan against the previous one: new/removed channels, new/removed roles, permission flips (public→private or vice versa), new and resolved findings, score delta
- Dashboard Ops Health card surfaces a Changes since last scan panel with granular drift items
- Weekly Ops Report email delivered via Resend: score + grade, drift summary, top 3 findings with fixes, dashboard link
- Cron endpoint secured via Vercel CRON_SECRET bearer auth; gentle 250ms pacing between guilds avoids Discord rate-limit spikes
- Scheduled scans stored with scanType: 'scheduled' so owners can distinguish manual from automatic history entries
v0.10productmonetizationOps Health — Pro tier scans + score history
- Deep Ops Scan via installed bot: reads channel/role/permission data (not just public invite info) for more accurate scoring
- Scoring across 5 categories: onboarding (35pts), structure (25pts), trust (15pts), growth (15pts), compliance (10pts)
- Scan history per project — trend sparkline shows score movement over time
- Dashboard card: current score + grade, latest findings with severity + concrete fix, last 5 findings expandable
- Gated behind paid status: free tier shows Pro upsell card explaining the feature
- Installer tracks complete state so scans only run on servers with active installs
- New DB model OpsScan stores historical scans for diff + trend analysis
- New API: POST /api/ops-scan, GET /api/ops-scan/history/[projectId], GET /api/ops-scan/[scanId]
- Rate limit: 10 scans/hour/IP (manual trigger only for now; scheduled weekly scans in next release)
- This closes Phase 3 (Ops Pivot) — Pro subscription now has recurring daily/weekly value beyond one-time install
v0.9producttrustsecurityInstaller 2.0 — dry-run preview + one-click rollback
- Added dry-run install plan preview: scan your server, see exactly what will be created (every channel, role, pinned message) before executing anything
- Added one-click install rollback: deletes every item KeepGrid created during that install; items that existed before are untouched
- Pre-install snapshot: before the bot makes any changes, it records your server's current channel and role IDs for safe rollback reference
- Plan export as JSON: download the install plan for offline review or audit
- Failed-install rollback: even if an install fails partway, you can roll back the partial changes with one click
- Dashboard UI overhaul: plan preview card, stat counters, filterable plan item list (all/creating/skipping), rollback confirmation dialog
- New API routes: /api/install/plan, /api/install/rollback, /api/install/export-plan/[installId]
- Updated bot-permissions page + landing FAQ to explain preview + rollback safety features
v0.8productgrowthFree Discord Ops Audit — lead magnet
- Launched /audit — standalone tool that scans any public Discord invite and returns a 0-100 Ops Score with concrete fixes across 4 categories (onboarding 40pts, structure 25pts, trust 15pts, growth 15pts)
- No signup, no OAuth, no bot required — uses only Discord's public invite API
- Audit findings pre-fill /get-started intake form when user clicks Fix button — lossless funnel
- Added Free Audit button to hero + nav on all 11 landing pages, translated per locale
- Rate limited to 10 audits per 15 min per IP
v0.7compliancetransparencyTrust Center + strategic pivot to Ops OS
- Published Privacy Policy, Terms, Data Deletion, Security, Bot Permissions, Status, and Changelog pages
- Documented every Discord permission the bot requests with clear removal instructions
- Added GDPR/CCPA data request paths — email-based until self-serve UI ships
- Published strategic roadmap pivoting KeepGrid from one-time install tool to daily Ops OS for RP servers
- Prepared Free Discord Ops Audit as upcoming lead magnet
v0.6.1seoSEO duplication hardening
- All Vercel deploy URLs now 308-redirect to https://www.keepgrid.net/
- Removed dangling aliases from archived keepgrid-site project
- Updated canonical URLs in metadata across all routes
- Added X-Robots-Tag: noindex on non-canonical hosts as defense-in-depth
- Set NEXT_PUBLIC_APP_URL in production environment
v0.6analyticsseoGoogle Analytics + sitemap canonicalization
- Added Google Analytics (G-ME53LMPQWE) to all 11 static landings
- Integrated next/script with afterInteractive strategy in Next.js root layout for SaaS pages
- Updated sitemap.xml — all 12 URLs now use canonical www domain
- Refreshed hreflang tags, robots.txt Sitemap directive, llms.txt references
- Added /get-started to sitemap with priority 0.95
v0.5landingtrustcopyLanding overhaul — 9 trust-building fixes
- Hero rewritten: removed 'control layer' overpromise — now 'Skip 30 hours of Discord setup'
- System Previews: replaced 4 placeholder boxes with real structured excerpts (scoring rubric, SLA table, routing matrix, launch checklist)
- Removed false 'Real deliverables from real installs' claim
- Removed outdated 7-day timeline that conflicted with 60-second positioning
- New section: 'How it works' — 5 numbered steps with precise timings
- New section: 'What gets delivered' — concrete numbers (11 docs / 30+ channels / 9 roles / ~90s)
- New section: 'Compared to alternatives' — price anchoring vs DIY, Fiverr, resource packs, agencies
- New section: 'Trust signals' — Claude Sonnet 4, Discord OAuth, idempotent installer, 63 tests, Stripe
- FAQ doubled to 10 questions targeting cold-visitor anxieties
- All 11 languages updated with consistent positioning and metadata
v0.4infraarchitectureMonorepo merge + domain unification
- Merged landing site and SaaS app into single Next.js monorepo
- All 11 localized HTML files moved into /public with Next.js rewrites
- Archived previously separate keepgrid-site repository
- Single deploy, single domain, single git workflow
- Ready for www.keepgrid.net DNS connection
v0.3.5securityaccessibilityperformanceProduction-readiness audit + fixes
- WCAG AA contrast fix: all muted text colors raised above 4.5:1 ratio
- Keyboard-accessible language switcher (focus-within + button element)
- Added visible focus states via :focus-visible everywhere
- prefers-reduced-motion support
- Arabic keywords properly localized
- Fixed canonical URLs pointing to root instead of language path in pl/, ro/, pt/, fr/, de/
v0.3productmonetizationPaywall + plan selector + retry flow
- Free tier now shows 3 of 11 documents; remaining 8 gated behind Unlock button
- Download endpoint returns 402 Payment Required until project is marked paid
- Added pricing cards on project page for install ($49) vs retainer ($19/mo)
- Retry button for error state: re-runs generation with progress tracking
- Generating status page with auto-refresh loader
- Stripe checkout success banner with celebration
v0.2securitySecurity audit + rate limiting + prompt injection protection
- In-memory rate limiter added to /api/preview (5/10min), /api/discord-scan (10/5min), /api/projects (3/hour)
- Prompt injection protection: user input wrapped in <server_context> tags
- Discord invite URL strictly validated — only discord.gg/discord.com allowed
- Removed insecure auto-linking of Discord accounts by email
- Added OAuth state CSRF parameter with secure cookie
- Sessions upgraded to SameSite=Strict
v0.1productdiscordDiscord bot one-click installer
- Built complete Discord bot installer: 5 categories, 27+ channels, 9 roles, full permission matrix
- Adaptive role hierarchy based on staff count
- Automatic faction role creation from intake
- Pinned messages with customized content (welcome, rules, how-to-join)
- Idempotent install — safe to re-run, skips existing items
- Live progress tracking via polling (1.5s interval)
- Install success/error states with retry button
v0.0launchLaunch
- Next.js 16 app bootstrap with Prisma, Stripe, Claude API integrations
- 11-language static landing site
- AI document generation (11 docs) with Claude Sonnet 4 system prompt
- Intake wizard with Discord invite auto-scan
- Discord OAuth + email fallback login
- 63 automated tests passing
Roadmap Highlights
Upcoming work tracked in ROADMAP.md:
- Free Discord Ops Audit (next release) — standalone audit tool that scans an invite and returns an Ops Score with specific issues.
- Installer 2.0 — dry-run preview, rollback, per-category approval.
- Launch Pro 2.0 — weekly ops reports, SLA tracking, permission drift detection.
- Vertical packages — Serious RP, Semi-Serious, Police/EMS, Gang/Economy, Streamer, etc.