This update contains some important bug fixes, as well as some minor additions and changes.
Additions:
- Added a new PluginMessageManager to interface with Spigot's plugin messaging framework and send/listen for plugin messages
- A notification is now sent when using a SNAPSHOT version as opposed to a release version
- A warning message is now displayed if a tab complete function returns something other than a list
Changes:
- PySpigot is now compiled with Java 21. From this version onwards, PySpigot will only work on Java 21+
- PySpigot now uses the Kyori Adventure API for messaging
- Improved the information displayed in the /pyspigot info command
- Logging improvements
- A lot of code cleanup, reorganization, and improvements
- JavaDocs improvements
Bug Fixes:
- Fixed an issue where duplicate scripts/project could be loaded, or the same script/project could be loaded more than once, if case-variant names were passed
- Fixed an issue where the script_options.yml file was never loaded on the BungeeCord platform
- Fixed an error that occurred when listeners, commands, etc. were registered from a utility module or a non-main project file
- The main script displayed in the /pyspigot info command now show the correct script file for single-file scripts
- Fixed a memory leak associated with fetching the latest plugin version from Spigot
- Fixed issue where command registration parameters were not recognized
- Fixed an issue where the configuration files were saved before the plugin folder was initialized/created
- The version checking system now evaluates SNAPSHOT versions as older than release versions of the same number
This release also contains a preliminary release for a BungeeCord-compatible version of PySpigot. This is not an official release because I have not comprehensively tested it.
Download it here. Feel free to test it out and report issues on GitHub or Discord.