5.9 build 3867
Curse Maven Snippet
What's new
5.9 build 3867
This update includes a bunch of new features, security improvements, bugfixes, new APIs and more.
Special thanks to AnttiMK, DomasUrbonas, RomainCabaret, Tokas, Axionize, bobhenl & Almost10 for contributions to this update.
Breaking changes
Java 17 or newer now required
Plan now requires Java 17 or newer.
API is still compiled with Java 8, but that will also change to 17 in Plan version 5.10.
snake_case variables changed to camelCase in JSON endpoints
All snake_case variables in Plan /v1/ endpoints were changed to camelCase for consistency.
Change log
⚠ Fixed Denial of Service security vulnerability (CVSS 7.5)
Fixed a Denial of Service vulnerability with the Jetty webserver. This affects all versions prior to this version. Updating is recommended as soon as possible, because the fixed vulnerability can be used to crash a server through memory exhaustion.
If your webserver is behind a reverse-proxy, the reverse-proxy likely mitigates the issue.
If you can not update right away, disabling the webserver temporarily with Webserver.Disable_webserver-setting until you can update also mitigates the issue.
Fabric 26.3
- DomasUrbonas added support for fabric 26.3, older versions are no longer supported.
- Axionize fixed command source mixin collision with another plugin
Data gathering
New data: Minecraft statistics
Plan will now gather all Minecraft statistics from the player json files found in statistics folder on the game servers. They are displayed on Player, Server (sum of players) and Network pages (sum of players / server or sum of all players)
Kill tracking additions
RomanCabaret implemented support for:
- TNT explosion kills on Bukkit, Fabric and Sponge when ignited directly by a player
- Bed and Respawn Anchor explosion kills on Bukkit, Fabric and Sponge
Bugfixes
- Fixed Shutdown session save sometimes storing sessions twice if server was shutdown via keyboard interrupt
- AnttiMK Fixed Folia gathering performance data 20 times more frequently than intended.
- Fixed Exception on Folia when setHealth(0) was called that killed the player.
- Fixed setHealth(0) recording the death as a kill for the last player that damaged the player
Website
- Improved Players table loading speed (From minutes to few seconds) by removing Average ping from the table
- Network performance graph now supports stacking on all graphs except TPS where it doesn't make sense.
- Converted Playerbase trends to Datapoint table (Gets individual values)
- Playerbase Insights were incorporated into the table above
- Converted PvpPve as Numbers table to Datapoint table (Gets individual values)
- Almost10 implemented Query page Date-range presets
- Made it easier to select servers on Query page
- Almost10 implemented Timeframe presets to datapoint tables
- Fixed New Player Retention always counting 0
- Fixed Join Address groups not being stored
- Fixed New Player Retention help sliders not working
- Fixed Registration erroring if same user tries to register twice before code expires
Database
- Fixed database transaction queue size tracking not working correctly.
- Reduced memory impact of transaction queue
Webserver
- Webserver was migrated to Jetty 12 which requires Java 17. This added support for asynchronous response resolution which means more requests can be processed without waiting for previous requests to complete.
- Deprecated /v1/playerVersus, /v1/playersOverview and /v1/network/playersOverview endpoints. Use /v1/datapoint instead.
Placeholders
- bobhenl reduced memory footprint of Plan Placeholders
DataExtensions
There are some new additions to DataExtension API.
DataExtensions Graph API
- New API allows DataExtensions to add their own Line graph data to the website. Documented here: https://github.com/plan-player-analytics/Plan/wiki/DataExtension-API-Graphs
- Vault now graphs player balance over time
- BuyCraft now graphs cumulative income over time.
DataExtensions Statistics API
- New API allows DataExtensions to add numeric data in table format more easily. The difference to existing API is that this allows calculating sums for these numbers across the whole server.
- Jobs now lists job levels as Statistics
- mcMMO now lists skill levels as Statistics
Other
- Plugin data cards can now be collapsed for easier viewing
- Different types of data inside plugin cards now layout slightly better.
- Fixed error in extension page when rendering a number on a table
- Fixed Booleans with 'hidden' flag appearing on the Query page
Locale
- Tokas updated CN and ZH_TW locales
- AuroraLS3 updated FI locale
- Translated missing locale keys in other locales using AI (~5000 missing translations total).
Technical
- Plan frontend code is now formatted with Prettier
- Almost10 helped progress Javascript to Typescript conversion.
This mod has no additional files