There were numerous changes that were made, here are some of the highlights:
prison-3.3.1.jar - Supports Spigot 1.8+ through to 1.20+
prison26-3.3.1.jar - Supports Spigot 1.21+, Spigot 26, and Paper 26
* Support Spigot 26 - Preliminary, but functional
* Support Spigot 1.21.11
* Updated libraries that Prison relies on:
* XSeries
* NBT-api
* Added support for Spigot 1.21.10 and 1.21.11, including handling for new unknown blocks.
* Initiated an architecture split into legacy (Java 1.8) and modern (Java 21) builds to maintain broad compatibility.
* Upgraded core libraries, including item-nbt-api to v2.15.5 and XSeries up to v13.8.0, to support modern Spigot releases.
* Massively improved performance for large servers (tested with 46,000+ players) by disabling pre-adding players on startup and removing bulk Bukkit offline player lookups.
* Fixed multiple placeholder bugs, including NullPointerExceptions for offline players and incorrect player objects preventing mineplayer placeholders from working.
* Added Premium Vanish support to reject block break events from vanished players and admins.
* Fixed bugs related to selling inventory items held in the off-hand.
* Fixed mine bomb item stack duplication issues that were causing lore and NBT data loss.
* Introduced the ability to throw mine bombs with configurable throw velocities.
* Added full Bukkit Entity support for mine bombs to enable complex armor stand animations like starburst, orbital, and bounce.
* Added an option to bypass block validation, allowing the mining of falling sand and player-placed objects within mines.
* Introduced a new BackpackEvent API to allow external plugins to hook into Prison's backpack auto-pickup and auto-sell processes.
* Added an InventoryFullEvent to signal when a player's inventory becomes full.
* Added a {range: <low> <high>} placeholder to generate random integer values within commands.
* Added new global command placeholders {ifPerm:<perm>} and {ifNotPerm:<perm>} to conditionally control command execution.
* Implemented support for highly customizable complex placeholders using the prison__ prefix.
* Significantly enhanced sellall compatibility for handling custom blocks and blocks with custom names.
* Added the /mines debugBlockBreak tool to test and troubleshoot block breakage events using external tools.
* Completely rewrote the startup air block counting sequence to process one mine at a time, eliminating massive TPS lag.
* Enabled the use of enchantments to trigger auto features like auto pickup, auto smelt, and auto block.
* Created a /mines block preventDrops feature to stop specific blocks from dropping items.
* Updated player file name formats to include player names and safely support Bedrock player UUIDs.
* Introduced a /ranks reload players command to safely reload player files without requiring a server restart.
* Added support for hex color codes in mine bombs and text formatting.
* Integrated new economy support for EdPrison's economy and The New Economy.
* Added zEssentials and zMenu as soft dependencies to ensure proper plugin loading order.
* Fixed block selection rounding errors by using floor integer comparisons to prevent selecting the wrong adjacent block.