## New Features
- **New Item Component System (1.20.5+)** - Complete overhaul with 30+ components (Enchantments, Lore, Trim, Tool, PotionContents, WrittenBook, AttributeModifiers, etc.). Improved error handling and case sensitivity.
- **Animated Inventory Titles** - Requires [PacketEvents](https://github.com/retrooper/packetevents).
- **Local Placeholders** - `local-placeholders` section in inventory/pattern configs, cached with Guava for better performance.
- **Actions Pattern System** - Define default actions for all buttons in `actions_patterns/` directory.
- **New Actions**: `message-to` (send to specific player), `open-actions` and `close-actions` for inventories.
- **Console Commands** - Commands can now be executed from console (`console: true`).
- **LuckPerms** - Permission expiration support with time unit configuration.
- MiniMessage support in toasts.
- Multi-line inventory names (useful with zTextGenerator).
- Resin trim material support.
## Bug Fixes
- Fixed Avast false positive on VirusTotal.
- Fixed async access block and container component issues.
- Fixed PacketAnimationListener task execution when plugin is disabled.
- Fixed button reference in updatedButtons iteration.
- Various minor fixes.
## Internal Changes
- Removed `getCustomItemStack(Player player)` method. Use `getCustomItemStack(Player player, Placeholders placeholders)` instead.
- Renamed package `zcore` → `common`.
- Moved Component classes to API module.
- Added nullability annotations and new interfaces (`BuildContext`, `MenuItemStackContext`).
- Improved JavaDoc documentation.
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }