π Changelog
All notable changes to Server Assistant. Format follows Keep a Changelog, versioning follows Semantic Versioning.
The latest patches are also posted to #bot-feedback in the support server.
[3.2.6] β 2026-05-10
Fixed
- Directory stats sync switched from threaded urllib to native aiohttp β eliminates a thread spawn every 30 minutes that some hosts associated with a brief cmd-window flash.
[3.2.5] β 2026-05-10
Added
- Bot directory stats sync β pushes live server count to discordbotlist.com and top.gg every 30 minutes. Listings now show live counts instead of βServers: unknown.β
[3.2.4] β 2026-05-10
Security
- AutoMod custom regex ReDoS guard β admin-supplied filter patterns with nested quantifiers, alternation-in-repeat, or optional-in-repeat are rejected at add-time. Stops a single bad pattern from locking the message-handling event loop.
Performance
- Parallel channel scan in user-history search β staff
historynow scans channels concurrently instead of sequentially.
Added
tests/with pytest covering announce, telemetry, and the ReDoS heuristic. CI runs the suite on every push.
[3.2.3] β 2026-05-10
Fixed
- Scheduled tasks not firing β a stub defined later in the module was silently overwriting the real
process_scheduled_tasks()implementation./schedulereminders now actually execute. Thanks to Jules for catching this.
Security
- Vault key file and vault save now use atomic
O_CREAT | O_EXCLwith mode0o600, closing the race where freshly written secrets briefly had umask permissions beforechmod.
Changed
yt_notify.pystate file writes are now atomic (temp + rename), surviving interrupted writes.- Staff
actions/auditcommand no longer blocks the event loop when the log file is large.
Repo housekeeping
- Dependency floors bumped via Dependabot.
[3.2.2] β 2026-05-10
Added
- AI usage tracking β chat completions now record input/output tokens per provider/model; image generations record per-provider call counts. Stored locally in
telemetry.json, never transmitted. - βAI Usageβ¦β tray menu item β opens a window with per-provider totals and an estimated USD cost. Covers xAI Grok, OpenAI chat + DALLΒ·E 3, Stability SDXL, and Pollinations.
[3.2.1] β 2026-05-10
Added
- Public Changelog page at
/changelog/on the docs site, mirrored from the botβs internalCHANGELOG.md. announce.pyβ helper that posts release notes to the public#bot-feedbackchannel.
Changed
- Public docs nav:
PrivacyandTermsare now correctly capitalised.
Removed
- Legacy files no longer used by the bot.
[3.2.0] β 2026-05-10
Added
- First-steps guide β after
/setupcompletes, the bot auto-posts a 5-message walkthrough to the configured staff-chat channel covering core commands, slash commands, right-click menus, and/settings. - Right-click discoverability β
/help, the texthelpcommand, and theon_guild_joinwelcome DM all now surface the Apps βΈ Server Assistant context menus (View Info, View Warnings, Report Message). /voteslash command β links to the botβs directory listings for users who want to support the project.- Public documentation site β full Setup, Commands, Features, FAQ, Support, Privacy, and Terms pages.
Fixed
- Duplicate context-menu entries β View Info / View Warnings / Report Message were appearing twice in the Apps submenu. Startup now clears stale guild-scoped commands and re-syncs cleanly.
detect_action()keyword priority β the parser now matches the earliest-position keyword within each priority tier instead of relying on Python set-iteration order. Fixes cases likeschedule in 3 days: check ...being mis-routed to thecheckaction.
Changed
- Slash commands sync to all configured guilds on startup for instant propagation (no more 1-hour wait after restarts).
[3.1.0] β 2026-05-09
Added
- Premium architecture stub β every guild gets full access during the growth phase; pricing flips on post-launch.
- Privacy-respecting telemetry β anonymous local counters for AutoMod blocks, images generated, warnings issued, etc. Never transmitted off the host.
- Privacy + Terms documents β required for Discord verification.
- GitHub repository with CI workflow, Dependabot, issue and PR templates.
Changed
- Bot version bumped to 3.1.0.
[3.0.0] β 2026-05-01
Added
- Multi-tenant architecture β bot can be invited to any server; each server gets isolated configuration, warnings, notes, AutoMod rules, and settings.
/setupwizard β interactive 3-step config (channels, roles, AI provider) for new server owners./settingsCustomisation Hub β 7 sub-wizards for branding, presets, behaviour, new-member features, verification, channel allowlist, and role tiers.- Encrypted secrets vault β Fernet-encrypted on-disk storage for all credentials.
- AI image generation (
/imagine) β supports DALLΒ·E 3, Stable Diffusion, and Pollinations.ai (free fallback). - Per-server custom branding β embed colour, bot nickname, default timezone.
- Punishment ladder presets β Gentle / Standard / Strict.
- AutoMod filter packs β Off / Scams only / Scams + slurs / Strict.
- Anti-raid sensitivity presets β Off / Normal / Strict.
- Onboarding template gallery β Friendly / Gaming / Professional / Minimal / Custom.
- DM verification gate β button-based new-member verification.
- Custom role tiers beyond Owner / Admin / Moderator.
- Slash commands and right-click context menus.
[2.2.0] β 2026-04-30
Added
- AutoMod engine with curated regex packs.
- Anti-raid protection with mass-join detection and Owner alerts.
- Custom canned response snippets with placeholder substitution.
- Scheduled actions (
schedule in 2 hours: ...,remind at 9am: ...). - AI-assisted reports via right-click on messages.
Changed
- Bot reactions now indicate processing state: π (saw it), β³ (working), β (done), β (error).
[2.0.0] β 2026-04-30
Added
- Persistent warning system with DM notifications and full per-guild history.
- Private staff notes invisible to users.
- Auto-onboarding with placeholder substitution.
- Undo system reversing bans, mutes, channel deletions, and nickname changes within 24h.
- Bulk operations via role mention.
- Audit log channel integration.
[1.0.0] β 2026-04-30
Initial release.
- Role-based moderation (Owner / Admin / Moderator).
- Slash command
/setup(early version). - Basic ban / kick / mute / warn / info / stats commands.
- Owner approval workflow for dangerous actions.