This release combines changes from the unreleased 1.0.9 and includes a large set of improvements, fixes, and internal refactors.
Breaking Changes
A much larger breaking change is planned for the next release. It will likely break around 90% of existing scripts due to a full type system overhaul.
Current breaking changes in this release:
* Overhauled the entire variable system, including global variables
This resolves many inconsistencies and internal issues
See more at: [
https://github.com/LumenLang/lumen/pull/18](https://github.com/LumenLang/lumen/pull/18)
Features
* Added instant inventory hot reload
Saving a script now updates currently open inventories in place without closing and reopening
Supports title, size, and item changes
Documentation: [
https://docs.lumenlang.dev/01-user/...dev/01-user/09-inventories/03-instant-reload)
* Added custom event bus for Lumen
See more at: [
https://github.com/LumenLang/lumen/pull/19](https://github.com/LumenLang/lumen/pull/19)
* Added support for event priorities
Documentation: [
https://docs.lumenlang.dev/01-user/...v/01-user/01-basics/07-events#event-priority)
* Added support for ignoring already cancelled events
Documentation: [
https://docs.lumenlang.dev/01-user/...1-basics/07-events#ignoring-cancelled-events)
* Allowed checking if an event is already cancelled
* Allowed uncancelling an event
* Allowed events to add imports through the API
* Added raw Java support in ConfigOption
* Exposed block access in EnvironmentAccess
* Allowed accessing CodegenContext inside TransformContext
* Implemented hover logic in MiniColorize
Improvements
* Made several conditions and patterns more natural
* Improved internal and user-facing descriptions
* Updated stop pattern to support "(stop|return)"
* Refactored event variable definitions to only include reference type or Java type
Fixes
* Fixed chat event not being cancellable
* Fixed inventory click event variables
* Fixed global variable default value not being set
* Fixed addon classpaths not being properly added
* Fixed raw Java line number preservation
* Fixed math operator coercion issues
* Removed showing experimental features in emit
Internal Changes
* General cleanup and consistency improvements across the variable system, events, and code generation pipeline