Hi there! I'm finally back :rocket:
It's been a while since the last update (February 1st, oof), and I'm slowly coming back to DiSky, which I still try to maintain in my (shrinking) free time. This release brings **Skript 2.15 support**, a major **JDA v6 upgrade**, brand new **modal components**, and a few quality-of-life improvements!
Thanks to @sovdeeth for the async optimizations and format fixes!
## :sparkles: New Features
- **Checkbox & Radio components for Modals**: You can now use `new checkbox group` and `new radio group` inside your modals, along with their associated `new component option` for dropdowns, checkboxes and radios.
- **Attachment Upload in Modals**: Added the `new attachment upload builder` component and the `received attachments` expression to grab files uploaded through modals.
- **Role Color Properties**: Added `primary role color`, `secondary role color` and `tertiary role color` properties, along with conditions to check a role's colors.
- **Retrieve Role Member Count**: New `retrieve role member count` effect to fetch and store, in a list variable, the members assigned to a role.
- **`Members with roles` expression**: Introduced a cleaner expression to retrieve members by roles — combining sync & async versions — that replaces the now-deprecated `find members with roles`.
> :information_source: You can browse all the new syntax, along with patterns and examples, using the `tag:new` query on [DiSky Syntax](<https://syntax.disky.me/?search=tag%3Anew>)!
## :hammer_pick: Improvements
- **Skript 2.15 support** — DiSky is now compatible with the latest Skript release.
- **JDA updated to v6.4.1** — major dependency bump for better Discord API compatibility and access to newer features.
- Enhanced the `find member` section with native `return` support.
- Improved patterns and documentation for the modal `component value` expression and `new component option` builders.
- Refactored `DocBuilder` to support modern Skript `SyntaxInfo`, improving documentation generation.
- Switched to DiSky's internal registration system over Skript's default one for better consistency.
- Minor performance optimizations on permission checks and array creation.
## :bug: Bug Fixes
- Fixed multi-threading and variable de-sync issues inside the `find member` section.
- Prevented duplicated event values in the event system, with some cleanup around guild events.
- Simplified and fixed boolean checks for the `bot member is in thread` condition and several property conditions.
## :warning: Breaking Changes
- **Skript 2.15+ is now required** — following the dependency update, DiSky v4.28 no longer supports Skript 2.14.
- `find members with roles` is **deprecated** in favor of the new `members with roles` expression. Please update your scripts :slight_smile:
---
That's all for this one! The next update will likely bring **soundboard sounds support**, **voice channel effects**, and more bug fixes if anything pops up. Thanks a lot for your patience and continued support :blue_heart:
**Full Changelog**: <https://github.com/DiSkyOrg/DiSky/compare/4.27.0...4.28.0>
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" }