Releases: plan-player-analytics/Plan
4.6.0
4.6.0 | Configuration Enhancements | Change log
This update brings improvements to configuration, first batch of database optimizations as well as some much needed bugfixes. It took a while as more bugs kept popping up.
Special thanks to contributors and everyone who reported issues with the DEV releases. :)
New
Configuration revamp
- Configuration format has been cleaned up to reduce confusion.
In order to keep old configs compatible, config patching was written. The new format should still hold the values of your old config after the first enable. - Config values are now validated, and invalid values will error instead of silently failing.
Network-Server Config overhaul
- In order to make life easier for network owners, server configs will now be copied to /plugins/Plan/serverConfiguration.
Any change on the other side will update the config on the other side.
This is achieved via the database, so there is a slight delay on the updates.
The "Server" section was removed from the main proxy config.
Database indexing
- Database structure was flattened to reduce the amount of JOINs needed. This will reduce CPU usage with a small disk space usage increase.
- Database indexes were created to optimize lookups in tables, which should improve query performance.
Other
- There is now a "back" link on top right corner of /player and /server pages (on networks)
- JSON files can now be exported. Export config settings also provide more fine grain control.
- Added PlanEnableEvent that is called when Plan enables or reloads. Following events are available:
- Bukkit: PlanBukkitEnableEvent
- Sponge: PlanSpongeEnableEvent
- BungeeCord: PlanBungeeEnableEvent
- Velocity: PlanVelocityEnableEvent
- /player/name and /player/name/raw can now be accessed via /player/uuid and /player/uuid/raw
- PlanAPI#fetchFromPlanDB has been deprecated
- Player links are now opened in the current tab by default.
- Memory debug logging now based on Plugin.Debug setting - Now supports combined values eg "file, console, memory" for logging to all 3 possible places.
Bugfixes
Empty config values
- A bug was present in 4.5.2 that caused default values not copying for some settings on new installs.
One of the settings was AFK Threshold, which meant that every session was being marked as 100% afk. The empty values will be correctly copied when this update has been installed. - To make the data gathered with bad afk thershold viable, first enable will reset AFK time on sessions with 100% afk time to 0.
Other
- @MicleBrick Fixed an error on enable if running Java 11 or newer
- Fixed SQLite patching on Spigot 1.13.2
- Fixed Geolocations: false resulting in an NPE
- Fixed an error being logged when /plan register was given bad arguments
- Fixed "Active Players might be running out of things to do" times being flipped
- Fixed ClosedByInterruptionException spam
- Fixed errors on server shutdown related to ShutdownHook
- Attempt to prevent NPE related to GriefPrevention
A lot of time was spent on writing tests that ensure smooth sailing between 4.5.2 and 4.6.0 update, including config patch tests as well as database patch tests for all databases.
Plan is now built using Gradle!
If you get any errors or have issues don't be afraid to join the Support on Discord or report the issue (This one is easier for me). Cheers!
4.6.0 DEV4 (Release candidate)
4.6.0 DEV4
Changes from DEV3
- Network-Server configuration transfer now functions correctly
- Database Indexes created for improved read performance (Almost all tables)
- Fixed enable errors on BungeeCord servers
- Fixed #876 Bungee setup message
- Fixed #875 Odd characters due to bad encoding
- Fixed #860 MySQL patching failing due to bad foreign keys
Changes
New
- Configuration enhancements:
- Made things more readable in the config:
- Setting validation (Is the setting correct format)
- Configuration patch system that allows moving old settings to new locations, making it easier to make the config more readable. Back up old config in case of issues.
- It is recommended to move the
Plugins
section to the bottom of the config for better readability - Server configs are now available for editing on network servers
- Database optimizations:
- Reduced the amount of joins for tables by flattening user_id into uuid for tables. This should reduce CPU load with larger queries.
- Resulting database not backwards compatible (eg. 4.5.2).
- Database Indexes created for improved read performance (Almost all tables)
- Added "back" links to /server and /player pages
- /player links now open in the current tab, old behavior available via setting
Bugfixes
- Miclebrick Fixed an error with Java 11
- Prevented NPE when
DataGathering.Geolocations
is false - RegisterCommand error no longer logged
- RegisterCommand success message fixed
- Import command success message added
- Fix Servers tab on /network page opening wrong tab
- Fix Active players message times being flipped
- Attempt to prevent NPE on enable related to GriefPrevention
Known issues
These issues still need to be fixed, but can be included in the final release.
- Task registration on ShutdownHook causing an exception
- AuroraLS3/Abstract-Plugin-Framework#20
4.6.0-DEV3
4.6.0 DEV3
This version might not be stable on network servers because server configs on network-feature is untested
Changes from DEV2
- Plan is now built with Gradle instead of Maven
- Added an event that is called when Plan enables (or reloads)
- Deprecated PlanAPI#fetchFromPlanDB
- Network Setting management (Full configs editable on the network)
- #708 Added "back" links to /server and /player pages
- #483 /player links now open in the current tab
- Fix #839 (Servers tab on /network empty)
- Fix #822 Active players message being flipped
- Attempt to prevent #841 (GriefPrevention NPE on enable)
- Fixed #860 MySQL patching
- Fixed #861 Absolute path was null
- Fixed #844 Config patching
Changes
New
- Configuration enhancements:
- Made things more readable in the config:
- Setting validation (Is the setting correct format)
- Configuration patch system that allows moving old settings to new locations, making it easier to make the config more readable. Back up old config in case of issues.
- It is recommended to move the
Plugins
section to the bottom of the config for better readability - Server configs are now available for editing on network servers Untested
- Database optimizations:
- Reduced the amount of joins for tables by flattening user_id into uuid for tables. This should reduce CPU load with larger queries.
- Resulting database not backwards compatible (eg. 4.5.2).
- Added "back" links to /server and /player pages
- /player links now open in the current tab, old behavior available via setting
Bugfixes
- Miclebrick Fixed an error with Java 11
- Prevented NPE when
DataGathering.Geolocations
is false - RegisterCommand error no longer logged
- RegisterCommand success message fixed
- Import command success message added
- Fix Servers tab on /network page opening wrong tab
- Fix Active players message times being flipped
- Attempt to prevent NPE on enable related to GriefPrevention
4.6.0 DEV2
4.6.0 DEV2
This version might not be stable on network servers because some configuration changes have not been finished for networks.
Changes from DEV1
- Fixed a startup issue when using 1.13.2 and SQLite
- Fixed a bug where the config updater left old settings in the config.
Changes
New
- Configuration enhancements:
- Made things more readable in the config:
- Setting validation (Is the setting correct format)
- Configuration patch system that allows moving old settings to new locations, making it easier to make the config more readable. Back up old config in case of issues.
- It is recommended to move the
Plugins
section to the bottom of the config for better readability
- Database optimizations:
- Reduced the amount of joins for tables by flattening user_id into uuid for tables. This should reduce CPU load with larger queries. Back up database in case patching goes wrong.
- Resulting database not backwards compatible (eg. 4.5.2).
Bugfixes
- Miclebrick Fixed an error with Java 11
- Prevented NPE when
DataGathering.Geolocations
is false - RegisterCommand error no longer logged
- RegisterCommand success message fixed
- Import command success message added
4.6.0 DEV1
4.6.0 DEV1
This version might not be stable on network servers because some configuration changes have not been finished for networks.
Changes
New
- Configuration enhancements:
- Made things more readable in the config:
- Setting validation (Is the setting correct format)
- Configuration patch system that allows moving old settings to new locations, making it easier to make the config more readable. Back up old config in case of issues. The system is still a bit wonky and sometimes needs a reload for the old setting paths to be removed.
- It is recommended to move the
Plugins
section to the bottom of the config for better readability
- Database optimizations:
- Reduced the amount of joins for tables by flattening user_id into uuid for tables. This should reduce CPU load with larger queries. Back up database in case patching goes wrong.
- Resulting database not backwards compatible (eg. 4.5.2).
Bugfixes
- Miclebrick Fixed an error with Java 11
- Prevented NPE when
DataGathering.Geolocations
is false - RegisterCommand error no longer logged
- RegisterCommand success message fixed
- Import command success message added
4.5.2
4.5.2
Change log
- New added 30d 7d 24h disk statistics to performance tab
- Fixed /plan m import not listing any importers
- Fixed SQL Syntax error on BungeeCord servers with not Bukkit servers connected
- Improvement All platforms are packaged in single jar again.
More story on Spigot and Ore, I'll keep it short over here.
4.5.2 DEV1
4.5.1
4.5.1
This update brings some improvements and bugfixes to bugs that slipped into 4.5.0 release.
Special thanks to @Fuzzlemann and @Sprungente for contributions! :)
New
- H2 database support by Fuzzlemann, you can use /plan m move sqlite h2 to migrate your current database.
Improvements
- German locale improvements by Sprungente
- Small performance improvements to decimal formatting & medians by Fuzzlemann
- Large performance improvements to /server/raw/ (Server data JSON) by Fuzzlemann
Bugfixes
- Fixed issues with logging in on servers when Plan and ViaVersion were both installed on BungeeCord
- Fixed issue where TPS was 0 on Spigot & Bukkit
- Fixed sessions not being saved on server shutdown
- [Unit tests] Several issues with test flakiness (JVM crashing / flaky db test) fixed by Fuzzlemann.
4.5.1 DEV2
4.5.1 DEV2
This patch contains a hotfix
- Fixed TPS being 0 on Bukkit based servers (Not paper)
Other changes:
- Improved Median and DecimalFormatter perfomance (by Fuzzleman)
4.5.1 DEV1
4.5.1 DEV1
This is a hotfix release
Bugfixes
- Fixed issue with login if both Plan and ViaVersion are installed #768
- Fixed possible issue with hack kicking if both AAC and Plan are installed
Other Changes
- Improved German Locale by Sprungente