| Added - Added a PERMISSION EventType to parse players only with a specific permission, mainly on level requirements. Eg: PERMISSION:custom.permission. - Added a config option to enable or disable offline user data loading when tab complete called tab-complete.load-offline-users. - Added support for legacy versions (1.8.X to 1.15.X). If XLV is on any of those versions, the GUI will be disabled entirely. - New option on config.yml called show-menu-in-main-command. When true, running /xlv with no arguments opens the main system menu (disabled by default). You can add it manually if this option wasn't added automatically.
| Changed - Update Database libraries to newer versions, as well, updated its methods to support async data handling. - Update Scheduler management to support abstract runnables to easier task cancellations. - Update Formula Expression management in order to use another more efficient open source formula library. - Now setlevel, removelevel and removeexp bypass prevent-level-down option to always remove levels if requested.
| Fixed - Error when databases try to manage a lot of data at once. - Level placeholders not updated correctly. - Exp stacking message not updating correctly if enabled. - Error loading data on legacy servers. - Not loading on Folia or forks of it (like Canvas). - Multiple NPE on player messages. - Overflow option not working at all. - User data not being saved at all. - Placeholder {progress_bar} not being parsed. - Levels not being removed correctly.