- Improve | Better compatibility with some Spigot forks or plugins improperly shading Adventure library without relocating.
- Improve | Using /reply to reply to Console now uses native private message logic, adding placeholders support.
- Improve | Reduced memory footprint on proxy. If you still observe increased memory usage please post your heatdump or any concrete evidence here, thank you.
- Improve | The {player_nick} now better takes the effective display name if the player comes from Discord, and attempts to resolve appropriate OfflinePlayer for it.
- Fix | Solved a remote db error "Communications link failure" in some cases by reconnecting automatically.
- Fix | Resolved "hasVaultPermission called - Please install Vault to enable this functionality".
- New | Added support for player message types inside the {chatcontrol_player_is_ignoring_X} variable. You can now thus replace X with join, kick, quit, death, timed, switch etc. such as {chatcontrol_player_is_ignoring_join}.
- Improve | Better compatibility with 1.15.2 and 1.16.5 by using a previous version of Adventure/MiniMessage.
- Fix | Solved BungeeControl issues on boot in certain configurations due to "To register events you must make class org.mineacademy.chatcontrol.bungee.listener.RedisListener implements Listener".
- Misc | Set default proxy.yml > Enabled key to false on new installations, fixes the initial error complaining to set Server_Name.
- Misc | Re-added support for old syntax {chatcontrol_is_ignoring_join} without the "player" prefix temporarily to aid people migrating from v10.
- New | Added "chat-line" and ""chat-line-smooth" to the lang key. Run /chc dumploc to update it.
- Improve | Better stability when switching from local to a remote database driver on a live server.
- Misc | Clarified console warning - basically if you type a non-existing localization in Locale > settings.yml key such as es_ES, but have your file in lang/es_ES.json will read it even if the plugin's jar doesn't have that locale. We will revert to English keys for keys that are missing in your custom lang file.
- Mics | Now using the "ỉ" accented letter for prefix-info to avoid InteractiveChat or item plugins replacing as variable. You need to remove your prefix-info lang key from your .json file and type /chc dumploc to make the plugin write it there again.
- Improve | Properly handle poorly coded PlaceholderAPI extension of full replace mode is enabled. Sigh for poorly coded extensions, if you're a dev please learn to account for the nullability of the OfflinePlayer in your logic.
- Fix | No longer print a console error if update check fails due to BuiltByBit endpoint being down.
- Fix | Solved "placeholders is marked non-null but is null" when turning off conversation mode.
- Fix | Solved Cancel_Event on true in a channel making channel messages not appear in the console.
- Fix | Solved "Index 0 out of bounds for length 0" caused by some chat messages mimicking variable syntax.
- Fix | Solved "toAdventureJson(SimpleComponent.java:758)" rare stack overflow on outdated Paper builds.
- New | Added more proxy variables {player_is_ignoring_<type>} (see Toggle.Apply_On in settings.yml for available types). Note that the variable syntax changed from the old variable {player_ignoring_x}.
- Breaking | Renamed proxy variables {player_vanished} to {player_is_vanished} and {player_afk} to {player_is_afk} to be consistent with Bukkit variables.
- Fix | Solved a few commands reporting the target player is not online on the server.
- Fix | Solved Format_Console not colorizing & ampersand letters.
- New | Added NullCordX and other BungeeCord/Waterfall forks compatibility to BungeeControl.
- New | Added "require command" rules variable.
- New | Split our API chat event into ChannelPreChatEvent and ChannelPostChatEvent to add more API options for developers hooking into ChatControl. Note that the old event has been removed.
- Fix | Solved RuleReplaceEvent event not firing for "then replace".
- Misc | We now store a local copy of cross-server player data, resolving some edge cases where joining a channel resulted in "Player is not online on the proxy" and adding support for directly connecting to your backend servers.
- Remove | Deleted channel join/quit message notifications since most users find them annoying and they were broken over proxy.
