## New Infrastructure
- We're excited to announce that DiSky now has its own [Maven repository](https://gradle.itsthesky.net/) (although only DiSky is available for now).
- The project has been updated to fully support Skript 2.10, including comprehensive updates to the module system
> **:warning: From now on, DiSky will only support Skript 2.10 and above!**
- Introduced DiSkyMetrics with bStats integration for better usage tracking and analytics (https://bstats.org/plugin/bukkit/DiSky/)
## :rocket: Major Feature Additions
### :control_knobs: Command Structures Overhaul
- [Implemented a new system for User & Message Command Structures](https://disky.me/docs/interactions/context-structure/)
- [Added support for slash command groups and sub commands](https://disky.me/docs/interactions/slash-structure/#command-groups-and-subcommands)
- Fixed building issues related to slash commands with integer/double arguments that have choices
- Enhanced the slash command un-registration system
### :construction: [Data Structures](https://disky.me/docs/concepts/ds/)!
Launched a new comprehensive data structures system! This is meant to be a more easy-to-use and powerful way to create discord objects, similar to YAML. It's a more user-friendly way to create and manage Discord objects, such as embeds, buttons (and soon, more!). Here's a quick example:
```applescript
set {_e} to a new embed:
title: "Hello, World!"
description: "This is a test embed!"
color: red
field:
name: "Also support complex expressions!"
value: "%event-user%"
reply with {_e}
```
* [Check out the full documentation here](https://disky.me/docs/concepts/ds/)
* [Check out the full list of available data structures here](https://disky.me/docs/docs/ds/)
### :gear: Module System Improvements
- Introduced a new module API
- Added validation to prevent loading of outdated modules
- Removed the feature to enable/disable/reload modules as it was broken asf
> **:warning: See [this page](https://disky.me/docs/modules/0-getting-started/#v4210-update) to update your modules accordingly! All of them are now BROKEN with v4.21.0 if you DON'T UPDATE THEM!**
## :zap: Quality of Life Improvements
- Enhanced the private channel effect with better error logging
- Added the ability to move roles for a specified duration
- Implemented pre-filled values for text inputs
- Added a new section system to the debug file with listener debugging (`/disky debug listener`)
- (Finally) Made every expressions asynchronously changeable & gettable
## :bug: Bug Fixes
- Fixed unban effect functionality
- Resolved issues with the ban effect not completing rest actions
- Updated all deprecated Skript methods to their modern equivalents
- Various performance optimizations and code refactoring
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" }