Update 1.4.0 – Lean & Reliable
Less moving parts, more uptime.
Tab completion filtering has been rewritten from the ground up — no more reflection on CommandNode.children map, no per-request tree traversal. Command names are cached at reload time, making filtering both simpler and faster.
The config system also got a stability fix: the AbstractMethodError caused by a Jackson relocation mismatch at runtime is gone.
What's Changed
What's new
- Tab completion: Cached command names replace runtime reflection and tree traversal for O(1) filtering
- Config:
List<String>replacesSet<String>with a custom merge adapter, eliminating the runtime crash
Enhancements
- Caching: Auth state uses
ReplicatedCachewith UUID keys for better cross-proxy consistency - TabCompleteFilterListener:
childrenfield is now cached reflectively with null-safety guards
Fixes
- Runtime: Removed
SetTypeAdapterthat causedAbstractMethodErrordue to Jackson relocation mismatch at runtime - Cleanup: Removed unused imports, redundant null checks, and dead code across BungeeCord and Velocity listeners
Full Changelog: 1.3.0...1.4.0