This update contains some major additions (including support for projects), as well as some key bug fixes.
Additions:
- Added support for multi-file script projects! For more information, see the documentation.
- Calling sys.exit from within a script now works as intended.
Changes:
- Added back the option to specify default permissions in script-option-defaults in the config.yml
- Major improvements to exception throwing and handling, including delegation of most exception handling to Jython
- Miscellaneous code and JavaDocs improvements
- Updated many dependencies to their latest versions
Bug Fixes:
- Fixed a bug where PySpigot would not load if the optional dependencies ProtocolLib and/or PlaceholderAPI were not running on the server
- Fixed a bug where color codes were not printing correctly for /pyspigot listscripts command messages
- Fixed a bug where scripts could desync from their own PySystemState when calling script code at a later time, such as event listeners, tasks, commands, etc.
- Fixed a bug where PySpigot would attempt to shutdown before it was initialized
- Fixed a bug where a script could access a manager before it was initialized
- Fixed a bug where the main server thread would hang on script unload if the script accessed the threading module from an asynchronous context by patching the threading module on script unload. This can be disabled by setting debug-options.patch-threading to false in the config.yml
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.
See the complete change log for this update here:
https://github.com/magicmq/pyspigot/releases/tag/v0.9.0