Additions
- LuckPerms context support (account linked, boosting server, has role)
- Environment variables for limiting uploading plugins via the console channel and disabling update checks
- Join, leave & death messages are now embeds & can be sent over webhooks (what you have set for these will be overridden with the default)
- New VentureChat hook that supports BungeeCord channels
- Dynmap web chat support
- /discord language command to change plugin's language more easily
- Added other plugin listeners to debug reports for common events
- Automatic top role color translation experiment
- Automatic nickname updater, and customizable nickname format
- Debugs now fall back to saving to a zip if an exception occurs or uploading takes more than 20 seconds
- Webhooks now support phrases from DiscordChatChannelCutPhrases
- Webhook avatar & name can now be set to the player's linked Discord account's info
- Death Message events were added to the API
- Added a error when deleting voice channels fails (voice module)
- Added some debug messages for linked commands
- Added a default rest action failure handler
- Some common issue detections are now included at the beginning of debug reports
- The token can now be put into a seperate file (.token) or an environment variable (DISCORDSRV_TOKEN)
- The link code in /discord link can now be copied by clicking on the message on 1.15+ clients
- /discord broadcast can contain PlaceholderAPI placeholders now
- Username placeholder for Discord -> Minecraft messages
- %displayname% placeholder to DiscordAccountLinked
- Webhook username configurability with Experiment_WebhookChatMessageUsernameFormat
Changes
- Completely revamped the group synchronization system to work both ways (Discord <-> Minecraft) using Vault and while players are offline
- The topic updater’s default of 5 minutes changed to 10 minutes to comply with Discord's recent rate limit change. Minimum allowed time has been changed from 5 minutes to 10 minutes.
- The DiscordChatChannelPrefix option was renamed to DiscordChatChannelPrefixRequiredToProcessMessage because people didn't know what it's purpose was, and didn't read the comment
- Changed all "sleep interrupted" log messages to debug instead of debug/warning
- Couple privacy oriented changes for debug reports
- DiscordChatChannelConsoleCommandPrefix no longer requires a space after the prefix
- The MCDiscordReserializer config option was split into 3 (Broadcast, Minecraft -> Discord, Discord -> Minecraft)
- The permissions.txt file of debug reports has more permission info as well as console, guild and voice permissions
- Removed the dot at the end of the /discordsrv debug response (some users have had trouble with the dot)
- The voice lobby's permissions aren't forced to allow everyone to join the channel
- Improved the error for illegal key size in debug reports
- Many improvements to the reloadability of DiscordSRV; it is still advised to restart the server due to plugin integrations and other reload sensitive plugins
- The update check now runs every 6 hours
- Changed the default webhook/embed avatar url to minotar.net due to unreliability with default skins on the previous api
- JDA threads are named to indicate that they’re DiscordSRV’s JDA’s threads
- The /discord command now has a permission attached to it (discordsrv.discord)
- /discord broadcast now translates mentions
- System DNS has a chance to fix itself before switching to fallback dns, configurable with: MaximumAttemptsForSystemDNSBeforeUsingFallbackDNS
- JDBC start errors are more informative now
Fixes
- Adjusted "not linked" message to say linking.yml instead of config.yml
- Changed no-break's to regular spaces in some voice.yml files to fix parsing
- PlaceholderAPI replacements no longer cause role mentions to break
- Fixed NPE after unlinking account when the user left all Discord servers the bot is in
- Properly shut down the console appender, server watchdog and remove JDA listeners on shutdown
- Added check to see if the shutdown message format contains placeholders; to skip placeholder replacement if there are no placeholders (replacement takes ages during shut down)
- Fixed not being able to have a number at the beginning of database name (now encased in backticks)
- Added Class#forName for the MySQL driver (sometimes required for the class to get loaded)
- Made the voice module thread safe
- Connections & PreparedStatements are closed properly now
- Using JDA's default OkHttp settings to fix some issues with connections
- Fixed MinecraftDiscordAccountLinkedRoleNameToAddUserTo being in a different Discord server
- Fixed a NPE with Multiverse-Core with worlds that aren’t managed by it
- Support for UltimateChat 1.9.0
The PebbleHost startup message has been removed. Pebble has mostly dissolved their partnership system. They're still a good budget-oriented host, though. Maybe check 'em out.