**Read this before updating a network.** This release closes a long list of item and money duplication paths. Two setups that used to start are now refused, and operations that used to silently overwrite the database now fail with a message. That is intended, but your players and your staff will see it on day one.
**Before you update**
- **SQLite + the Redis addon is now refused at startup.** Each server kept its own SQLite file, so nothing was ever synchronised while every node claimed to be clustered. Switch storage-type to MYSQL or MARIADB first
- **A server that loses Redis now blocks…
Read more- **Added** FastStats metrics integration alongside the existing bStats reporting. The FastStats client is bundled and relocated in the final JAR, starts after plugin initialization, and shuts down cleanly with the plugin
- **Fixed** The final plugin JAR containing three duplicate META-INF/faststats.properties entries. FastStats is now scoped to the root plugin module, and Shadow keeps a single copy of its identical version metadata
- **Added** Indonesian (id) locale with translated configuration, messages, rules, categories, Discord settings, inventories, and patterns. Automatic language…
Read more- **Updated** CurrenciesAPI dependency from 1.0.13 to 1.0.14 - the misspelled ExcellentEconomy economy type is renamed from EXCELLENTEECONOMY to EXCELLENTECONOMY. Both spellings are now accepted as a type in economies.yml; the old one is deprecated and will be removed in a future CurrenciesAPI release
- **Added** Permission for admin button:
- admin\_expired\_items\_remove, allow players to remove expired items from the auction house
- admin\_logs\_give\_item\_to\_player, allow players to give items to other players from the auction house logs
- admin\_purchased\_items\_remove,…
Read more- **Fixed** Critical cross-server duplication where a sold item reappeared in the seller's items (multi-server / Redis). When purchased-item.give-item: true, a purchase set the database row to DELETED before broadcasting the ItemBought event; on every other server the ItemBoughtListener re-fetched the item via selectItem (which filters out DELETED rows), got null, and bailed out **before** removing the listing from its in-memory store. The ghost listing therefore survived on all non-buyer servers and the seller still saw it in /ah selling. The listener now removes the listing from in-memory…
Read more