- Remove unused protocol ids to avoid exploits #229
- Fix NullPointerException #227
- Remove pipelines if they are not needed anymore #226
- Use correct packet limits for PluginMessagePacket #225
If you're currently on 2.0.20, please immediately update to this version as this fixes a huge issue on BungeeCord servers.
- Only calculate mitigation stats if webhook is enabled #223 (thanks to @hammerxpl)
- Drop connections from unknown protocol versions #221 (thanks to @hammerxpl)
- Implement experimental support for MariaDB #220
- Use correct multiple-byte unit for formatting #219
- Optimize codecs by removing unused dimensions #218
- Remove duplicate audience listener #217
- Cache held components' NBT and JSON #215
- Bump net.kyori.adventure to 4.16.0 #213
- Fix FileNotFoundException #212
- Add German translations #211 (thanks to @micartey)
- Fix Discord webhook embed new lines not working #210
- Use a shared channel handler for Fallback #209
- Recode Sonar's statistics system #208
- Completely recode component handling logic #207
- Correct Russian language in messages #206 (thanks to @F3F5)
This version brings back compatibility with Velocity <b360, although it's still recommended to stay up-to-date.
- Recode and optimize bandwidth counting #201
- Fix incompatibility with Velocity 3.3.0 b360+ #200
- Fully recode injection system #199
- Implement automatic language system #197
- Improve collision checks #192
This version requires Velocity build 360 and above. It's also recommended to reset your configuration files because of the new configuration system.
- Fix issues with the Geyser standalone proxy #189
- Fix incompatibility with Velocity builds 347+ #188
- Use Caffeine cache for blacklist threshold #187
- Fix command delay not working correctly #186
- Remove deprecated API functions #185
- Make blacklist time configurable #184
Sonar now requires Java 11+ to run. You can read more detailed information on version support in the documentation.
- Load Sonar after some other plugins for compatibility #182
- Fix relocations breaking dynamic library loading #180
- Remove unused relocations #178
- Bump adventure-platform to 4.3.2 #177
- Use scheduler instead of custom threads for services #176
- Recode packet handling on BungeeCord #174
- Fix protocol check not using the correct disconnect method #168
- Load all libraries dynamically during runtime #166
- Fix incompatibility with LibreLogin on BungeeCord #164
- Fix broken disconnect packets during login on 1.20.2+ #160
- Implement chat and title attack notifications #158
- Fix compiler errors since Velocity 3.3.0-329 #157
- Remove some duplicate code in the API #156
Please update to this version ASAP if you're running Sonar on BungeeCord. Geyser issues aren't guaranteed to be fixed, please comment on #172 or open a ticket on Discord if you want to report issues.
- Remove lockdown mode (/sonar lockdown) #125
- Implement Minecraft 1.20.4 support #124
- Optimize in-class performance during verification #123
- Add CodeFactor rating to README #121
- Avoid using custom exceptions in the decoder #119
- Add basic map captcha check to verification #118
- Fix permanent "Loading terrain" screen on 1.18.2+ #117
- Remove unnecessary metadata in the compilation process #116
- Relocate some packages of net.kyori #115
- Fix state checks in verification not being handled properly #114
- Make RegistrySync packet use the implemented nbt writing method #112
- Fix Geyser exemption sometimes skipping Java players #103
- Rename MySQL table to avoid naming collisions #102
- Fix MySQL driver issues on BungeeCord and Bukkit #101
- Optimize some parts of the code #100
- Fix NullPointerException in BungeeCord HandlerBoss on 1.20.2 #98
- Compress NBT dimension codecs with GZIP #97
- Recode some of the verification and improve networking #96
- Use a different verbose layout during active attacks #95
- Recode command and subcommand execution logic #94
- Run custom Sonar API events asynchronously #93
- Implement a custom asynchronous service system #92
- Allow verification to only be active during attacks #90
- Fix Geyser exemption not working on the standalone variant #88
- Recode attack detection algorithm to avoid spam #87
- Implement Discord webhook support #86
- Handle database errors instead of just throwing exceptions #84
- Cache BungeeCord kick packets during verification #82
- Implement max-online-per-ip check on BungeeCord #81
- Fix lockdown notification not working as intended #80