Happy Birthday, LuckPerms!
Today marks one year since LuckPerms was first released to the public.
Since then, there have been 754 new commits, 344,571 changed lines, and over 400 resolved bug reports & feature requests! Wew.
A big thank you to everyone who made contributions, whether that be with code, translations or supporting/helping other users in Discord or on the forums.
I've throughly enjoyed working on the project, and hugely appreciate the support that people have given it over the last year.
On with the update...
Argument based command permissions
When this option is enabled, LuckPerms will run extra permission checks when a player tries to modify or view permission data.
These permissions allow for finer control over what changes a player is able to do, including preventing them from granting specific groups, or making changes in certain contexts.
More info
here.
More translatable messages
Command definition and usage messages are now translatable using the language file.
Performance improvements
Some improvements were made to the core permission calculation classes in LuckPerms. This should make the process of determining a players permissions much faster, especially for players with lots of inherited parent groups.
Log entry messages are now sent network wide
Whereas previously log notifications were only sent on the local server, they are now dispatched globally.
The "/lp log notify" command is now also permanent, and persists across all connected servers.
Other misc changes/fixes
- Fixed NPE when reading from the locale file
- Fixed /lp tree max recursion property
- Don't cancel re-allowed connections unless the cancel was made by LP
- Fix bukkit defaults still being applied to subscriptions when disabled
- Export groups in order of weight, then alphabetically
- Fix vault lookups with a specified world
- Add option to use the servers uuid cache/lookup facility
- Add RedisBungee messaging service option for BungeeCord
- Update dependency versions
- Make 'meta info' and 'parent info' clickable
- Fix generating unset commands for temporary nodes
- Improve /lp listgroups output
- Use single quotes in escapeStringForSql
- Add option to disable colored logging
- Improve /lp info output
- Fix IllegalStateException in meta info command
- Fix possible NPEs when calling API storage events
- Cleanup handling of empty permissions when migrating data
- Flush the storage buffer more frequently
- Inject permissions on login as soon as possible
- Fix IndexOutOfBoundsException with 'permission settemp' command
- Give default group if needed after "parent remove"
- Remove unnecessary extra cache in ContextManager
- Fix NPE with Vault #getPlayerGroups
- Fix 'meta settemp' command using duration as the server context
- Updated API to 3.3
- Fix checkinherits command not returning the inheritance data
- Correctly export meta/prefix/suffix nodes to command strings
- Fix issue with casting UUIDs in MongoDB backing
- Allow permission info command to be filtered by context
- Send a more helpful message when the non legacy version of LP is installed on Bukkit 1.7