All notable changes to JavaSkript are documented in GitHub Releases.
- Asynchronous Lifecycle Events: Made
ScriptEventasync state dynamic to prevent BukkitIllegalStateExceptionwhen triggered from background file watcher threads. - Config Overload Ambiguity: Added
setFileHeaderandaddFileDefaultinScriptConfigto eliminate compiler ambiguity with vararg overloads. - Command Builder & Context: Added fluent
.playerOnly()and.consoleOnly()methods toCommandBuilder/SubcommandBuilder, and added.args()and.arg(int index)helpers toCommandContext. - Compiler Classpath Enhancements: Added Google Gson and Guava directly to
ScriptCompilerbase classpath and addedPlayers.online()alias.
- Addon Architecture & Public API: Added
JavaSkriptstatic entry point,AddonRegistry, customFieldInjectorsupport, and Bukkit lifecycle events (ScriptLoadEvent,ScriptUnloadEvent,ScriptReloadEvent,ScriptPreCompileEvent). - Inter-Script Shared State & Events: Thread-safe global
Variablescache with atomic math and persistent disk storage; customScriptEventBusfor inter-script pub/sub events. - Built-in Async HTTP & Discord Webhooks: Built-in
HttpHelperwith zero external dependencies, supporting async REST requests and Discord embed webhooks. - Clean Script Diagnostics: Smart stack trace formatter pinpointing the exact script file and line number while filtering internal reflection noise, with a config toggle (
errors.clean-stack-traces). - Display Holograms: Added
HologramHelperusing modern 1.21TextDisplay,ItemDisplay, andBlockDisplayentities. - Commands & Menus: Fluent command builder with subcommands and typed arguments; component-based inventory GUI builder.
- Performance Profiler & Benchmarks: Real-time nanosecond CPU execution tracking (
/js profile) and synthetic throughput benchmarks (/js benchmark). - PDC & ItemBuilder: Fluent persistent data container helpers and Adventure-native item construction.
- Initial release with in-memory ECJ compilation, dynamic Maven dependencies, SQLite database helper, and Folia scheduler support.