Stable release with major compatibility and deployment improvements.
Highlights
- Finalized version
1.5.0(removed beta labeling in build metadata). - Added full admin subcommands under
/moontrixlogin:force_loginforce_logoutinforeload
- Added runtime hot-reload support for key modules:
- security
- antiBot
- rememberMe/JWT
- listeners + command rebinding
Compatibility
- Declared support for Bukkit ecosystem variants:
- Bukkit
- Spigot
- Paper
- Purpur
- Pufferfish
- Folia
- Added compatibility matrix CI with API profiles across JDK versions.
- Added runtime smoke-test workflow for:
- Paper
- Purpur
- Folia (runtime job currently pinned to
1.20.1)
Java Target Refactor
- Refactored project to Java 8 target bytecode.
- Updated dependencies to Java 8-compatible versions.
- Removed Java 11+/16+ language/API usage:
record,var, pattern matchinginstanceofString.isBlank,Optional.isEmpty,Map.of,CompletableFuture.failedFuturejava.net.httpmigrated toHttpURLConnection
Security / Stability
- Hardened AbuseIPDB integration:
- fail-open behavior on timeout/rate-limit/errors
- backoff caching
- duplicate-refresh protection
- Improved reload observability with detailed per-module logs.
- Added explicit config guidance for required
MOONTRIX_JWT_SECRET.
Localization
- Added dual-language message support via config:
language: "en"orlanguage: "vi"
- Message loader now resolves language file dynamically with fallback to English.
Templates & Resources
- Removed deprecated root email templates.
- Upgraded active templates in
templates/with professional HTML/CSS styling. - Cleaned old artifacts and standardized packaged output naming.
Notes
- If upgrading from older releases, review
config.ymlfor new/updated keys (especially language and antiBot/AbuseIPDB options). - For CI/runtime claims, see workflows:
compat-matrix.ymlruntime-smoke.yml