### Platform Parity - All Platforms Now Feature-Complete
This release brings every platform (Paper, Spigot, Folia, BungeeCord, Velocity, Forge) to **full feature parity**. Every feature available on Paper is now available on all other platforms with their native APIs.
### New Features
#### All Platforms
- **Moderation Webhooks** - Discord webhook notifications for all moderation actions: ban, unban, tempban, mute, tempmute, unmute, kick, warn, and player reports. Configure a separate `alert-webhook-url` for moderation events alongside the existing connection webhook.
- **Dashboard Tracking** - Player connection events (allowed/blocked) now reported to the ProtectCord dashboard on all platforms via `dashboard.enabled` and `dashboard.api-url` config options.
- **Complete 25-Subcommand Set** - All admin subcommands now available on every platform:
- `warn`, `warnings`, `clearwarnings`, `removewarning`
- `ban`, `tempban`, `unban`
- `mute`, `tempmute`, `unmute`
- `kick`, `alts`, `check`
- `whitelist`, `list`
- `clear <warning|ban>`, `remove <warning|ban>`
- `alerts`, `migrate`, `purge`, `stats`, `version`, `health`, `trustip`, `report`
- **Alert System Completed** - Staff in-game alerts now fire for all action types including `MUTE`, `UNMUTE`, `TEMPMUTE`, `TEMPBAN`, and all AutoMod detection types (`AUTOMOD_SWEAR`, `AUTOMOD_CAPS`, `AUTOMOD_FLOOD`, `AUTOMOD_UNICODE`).
#### Forge
- **MySQL Storage** - Full HikariCP-backed MySQL database support for warnings, bans, mutes, IP tracking, and audit logs
- **TOML Storage** - NightConfig-based local TOML storage as the default backend (`protectcord-warnings.toml`, `protectcord-ip-tracking.toml`, `protectcord-ip-bans.toml`, `protectcord-audit.toml`)
- **Storage Migration** - `/protectcord migrate <toml|mysql>` to switch backends without data loss
- **StorageProvider interface** - Clean abstraction layer enabling future storage backends
- **LuckPerms Integration** - Group and permission lookups via LuckPerms API
- **UpdateChecker** - Automatic update notifications on startup and hourly
- **AutoMod** - Full 7-module AutoMod system: anti-advertising, anti-spam, anti-caps, anti-swear, anti-zalgo, anti-flood, anti-newline
- **ReportManager** - `/report <player> <reason>` command with cooldown support
#### Velocity
- `/protectcord clear <warning|ban> <player>` - Clear all warnings or the ban record for a player
- `/protectcord remove <warning|ban> <player> [#]` - Remove a specific warning or ban record
- Full tab completion for all new subcommands
### Bug Fixes
- Fixed `isReportNotifyStaffEnabled()` reading wrong config key on Velocity (`reports.notify-staff.enabled` ? `reports.notify-staff`)
- Fixed `getIPMaskFormat()` using wrong config key on Forge (`ip-masking.format` ? `ip-masking.mask-format`)
- Fixed AutoMod swear detection on Forge using non-standard `isAntiSwearRegexEnabled()` flag instead of `isAntiSwearWholeWordOnly()`
- Fixed version string showing `1.2.1` in startup banner on Folia, Spigot, BungeeCord, and Velocity
- Fixed Velocity `@Plugin` annotation version mismatch
### Technical
- BungeeCord dependency updated to `1.21-R0.4` from PaperMC repository (previous Sonatype snapshot no longer available)
- Forge: HikariCP 4.0.3 and mysql-connector-j 8.3.0 added as shaded dependencies
- Velocity: Annotation processor configured to generate `velocity-plugin.json` required for Modrinth validation
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }