Treasury v2.0.0 Changelog
Notice: Downloading Treasury for BungeeCord, Velocity, Sponge, or Minestom instead? See all downloads here.
After many months in the making, we are proud to release Treasury v2!
This is an update which makes brilliant advancements to Treasury as a whole. We've focused most of our efforts into perfecting our APIs, though we have also worked on the general code and documentation (an ongoing effort).
Developers, note that this update is a (very rare) breaking change; please update your Treasury-v1 integrations whenever possible to avoid API incompatibility issues.
Server owners, please do not mix Treasury-v1 plugins with Treasury-v2 plugins as they are unable to talk to each other (different APIs).
To summarise technical details for server owners, we've made several refinements to Treasury's APIs, basically meaning that plugins will have an easier time adopting Treasury and using it to its full potential.
Contributors
Thank you very much to each and every contributor who volunteered their free time to get this update out to you all.
- montlikadani
- yannicklamprecht
- MrNemo64
- A248
- and, of course, the maintainers: lokka30, MrIvanPlays, and Jikoo
General Changes
- Added Sponge platform compatibility
- Added Minestom platform compatibility
- Improved documentation
API Changes
- Removed the whole Subscription concurrency system and moved to Java's own CompletableFuture system.
- Removed Responses and replaced them with just Exceptions. For performance concerns we also have a TreasuryException which can be used to avoid needless stack traces.
- Treasury no longer cares about negative balances.
- Treasury's design has changed slghtly to no longer recommend pointless preconditions prior to the intended action being requested. For a specific example, Treasury's canAfford method has been removed since it is best to just attempt a withdrawal and check if it has failed.
- Switched a handful of String-based identifier systems with NamespacedKeys to reduce inter-plugin name collisions.
- Full-scale API cleanup with many small improvements.
- Removed platform-specific APIs