Skip to content

Releases: plan-player-analytics/Plan

4.6.0

17 Jan 11:33
Compare
Choose a tag to compare

4.6.0 | Configuration Enhancements | Change log

image

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)

12 Jan 18:29
Compare
Choose a tag to compare
Pre-release

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.

4.6.0-DEV3

08 Jan 12:42
Compare
Choose a tag to compare
4.6.0-DEV3 Pre-release
Pre-release

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

15 Dec 15:12
Compare
Choose a tag to compare
4.6.0 DEV2 Pre-release
Pre-release

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

13 Dec 21:25
Compare
Choose a tag to compare
4.6.0 DEV1 Pre-release
Pre-release

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

02 Dec 17:20
Compare
Choose a tag to compare

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

21 Nov 08:26
Compare
Choose a tag to compare
4.5.2 DEV1 Pre-release
Pre-release

4.5.2 DEV1

Improvements

  • Back to one jar file for all platforms, baby!

Bugfixes

  • #815 Import system is now enabled again
  • #812 Fixed SQL Syntax error on Standalone BungeeCord servers

4.5.1

04 Nov 18:05
Compare
Choose a tag to compare

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

29 Oct 17:50
Compare
Choose a tag to compare
4.5.1 DEV2 Pre-release
Pre-release

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

28 Oct 09:07
Compare
Choose a tag to compare
4.5.1 DEV1 Pre-release
Pre-release

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