Changelog

Notes from the gatehouse.

What's new, what's changed, what got fixed. Dated releases, in reverse chronological order. The current bot version is shown on the status page.

v1.3

Latest

Channel lockdown.

Added

  • /lockdown — one command to make #verify the only channel unverified members can see. GateKeepr scans every channel, shows a preview of what it's about to do (with role names spelled out), and waits for you to click Confirm before changing anything. It denies @everyone view on public channels, allows your Verified role plus any configured Patreon roles, and leaves #verify visible to everyone. Already-private channels (mod-only, etc.) are skipped automatically.
  • /lockdown-undo — reverses what GateKeepr changed. The bot keeps a per-channel record of every overwrite it added during a lockdown, so undo removes exactly those overwrites (the @everyone deny plus any Verified/Patreon overwrites) and leaves everything else untouched.
  • Per-channel logging in a lockdown_history table. No more guessing-by-signature on undo — the bot knows precisely which channels it modified and which role overwrites it set on each one. Re-running /lockdown after adding a new Patreon role picks up the change without breaking what was already locked.

Heads up

  • /lockdown and /lockdown-undo require the bot to have Administrator while they run. Granular per-channel permissions get blocked by category overwrites in too many real-world setups, leading to half-locked channels and confusing partial failures. Gating on admin keeps behavior predictable. You can revoke admin once the lockdown is in place if you prefer; re-grant before running undo. Verification, invite tracking, and every other GateKeepr feature continue to work without admin — only lockdown needs it.
  • Prefer not to grant admin? The setup guide includes manual instructions for setting the equivalent overwrites yourself. See step 4.3.

v1.2

Web dashboard.

Added

  • Web dashboard at /dashboard. Discord OAuth login, a server picker, and a per-server settings form covering verification basics, CAPTCHA tuning, Patreon auto-verify, invite tracking, and admin logs — all the same settings the slash commands expose.
  • Role and channel pickers on the dashboard instead of ID typing. Patreon roles use a checkbox grid with each role's color shown as a swatch.
  • Auto-refreshing server list. When you add GateKeepr to a new server, the dashboard picks it up on your next visit (or you can tap "Refresh the list" for instant gratification).
  • CSRF protection and admin-only access checks on every settings save — you can only edit servers you actually administer.

Changed

  • SQLite databases now run in WAL (write-ahead logging) mode so the bot and dashboard can safely read and write the same files at the same time. No more "database is locked" risk.
  • Status page picks up a decorative torii silhouette in the hero, ambient violet glow, and a count-up animation on the metric cards. The same page now renders gracefully when the bot is offline.
  • Site nav now includes Dashboard, with the active page highlighted and the entry visible from every page.

Fixed

  • Mobile menu drawer no longer covers the GateKeepr brand at the top-left when open — it now sits below the nav so the brand and theme toggle stay reachable.
  • First-load CSS issues from cached stylesheets resolved by version query strings on every release.

v1.1

Live status & analytics.

Added

  • /stats command — admin-only embed showing verifications, joins, kicks, bans, and average CAPTCHA solve time, per server.
  • Public status endpoint at /status — JSON with bot uptime, server count, and aggregate verification activity.
  • Dedicated status page at /status-page with auto-refresh and a real-time "gate open / gate closed" indicator.
  • Live counters on the homepage hero — server count and lifetime verifications, refreshed on every page load.
  • Persistent verification log: every CAPTCHA pass, Patreon auto-verify, and grandfathered membership is now recorded with method and solve time.
  • Persistent kick log for CAPTCHA failures and auto-disabled invite kicks.

Changed

  • Site navigation now includes Status and Changelog links across all pages.
  • /help output now lists /stats in the View & Reset section.

v1.0

Multi-server release.

Added

  • Multi-server support — one bot instance now serves an unlimited number of Discord servers, each with isolated settings.
  • Per-server SQLite storage. No shared database, no leaked data between guilds.
  • Slash command configuration: /set-verified-role, /set-verify-channel, /set-log-channel, and the rest. No more editing a Python file to change settings.
  • Patreon auto-verify — paying tier holders skip the CAPTCHA entirely.
  • Invite tracking with auto-disable: invite codes that produce too many bans are taken offline automatically.
  • /grandfather command for bulk-verifying existing members before locking channels.
  • Mod-channel logging with color-coded embeds for every verification event.

Changed

  • Verification flow rebuilt around image CAPTCHA + ephemeral Discord modal. Only the user sees their own challenge.
  • Cooldowns, kick thresholds, modal timeout, and CAPTCHA length are now per-server settings.