Hey everyone, I hope you are all well. Time for another update!
This update includes a number of important changes and fixes. I encourage all users to ensure that you are using a recent version of LuckPerms on all of your servers.
Before we get started with the changelog, I'd like to draw your attention to some exciting project updates we announced yesterday. I won't include the details here, but if you're interested, check out the #news channel on our
Discord for more info.
Changes:
- Improve file-based database handling
- Properly open URLClassLoader module on Java 9+ to allow reflection and avoid access warning
- Add UltraPermissions and PowerRanks migration support
- Expose uuid/username lookups and validity checks as events in the API
- Slightly optimize weight and display name lookups
- Track individual changes to users/groups instead of writing in full on each save
- Process 'give default if needed' when saving instead of after each change made in the API
- Give false default permissions priority over wildcards (configurable, disabled by default)
- Change permission tree size limits to be less restrictive
- Conserve expiry time when promoting/demoting
Fixes:
- Fix verbose and 'parent clear' command translations key errors
- Fix ArrayIndexOutOfBoundsException from null environment in BukkitPlayerCalculator
- Reduce translation cache refresh slightly to 23 hours
- Ensure meta keys are always lowercase, and fix 'similar' comparison case sensitivity
- Fix saving to flatfile storage when sections become empty
- Fix NPE from null path in AbstractFileWatcher
- Include note in verbose command-exec-as response if there were no matches
- Ensure child permissions are handled as lowercase when resolving
- Fix issues with Bukkit-Forge hacks which add enum constants at runtime
- Fix client crash caused by brigadier arguments in the same parse tree needing unique names
- Only store ids of received messages for 1 hour to prevent high memory usage on instances with high uptime
- Tidy up Node add/remove/clear API events