Skip to content

fix(deps): update dependency net.dv8tion:jda to v6#53

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/major-jda_version
Open

fix(deps): update dependency net.dv8tion:jda to v6#53
renovate[bot] wants to merge 1 commit intomainfrom
renovate/major-jda_version

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Oct 5, 2025

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
net.dv8tion:JDA 5.0.0-beta.226.4.1 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

discord-jda/JDA (net.dv8tion:JDA)

v6.4.1

Bug Fixes

  • Fixed CheckboxGroup.Builder.setRequiredRange() incorrectly setting min and max by @​replaceitem in #​3065
  • Fix getCommandType reading value of interaction type instead of command type by @​freya022 in #​3074

Full Changelog: discord-jda/JDA@v6.4.0...v6.4.1

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:6.4.1")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>6.4.1</version> 
</dependency>

v6.4.0

Overview

This release adds support for new checkbox and radio groups in modals as well as support for voice channel effects and soundboards.

[!WARNING]
All animated assets now use .webp by default instead of .gif.

Checkboxes and Radio Groups (#​3010)

You can now include checkboxes and radio groups in your modals:

Modal.create("modal", "Welcome Screening")
        .addComponents(
                Label.of(
                        "How did you find this server?",
                        RadioGroup.create("radio")
                                .addOption("I was told by a friend", "friend")
                                .addOption("I found it online", "online")
                                .addOption("Other", "other")
                                .build()),
                Label.of(
                        "Server Rules",
                        CheckboxGroup.create("checkbox-group")
                                .addOption(
                                        "I've read the server rules and agree to follow them.", "rule-checkbox")
                                .setMinValues(1)
                                .build()))
        .build();
image

When a user submits a modal with a checkbox group, the selected values can be accessed in the ModalInteractionEvent with getValue(groupId).getAsStringList() and radio groups using getValue(groupId).getAsString().

New Features

Changes

Full Changelog: discord-jda/JDA@v6.3.2...v6.4.0

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:6.4.0")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>6.4.0</version> 
</dependency>

v6.3.2

Overview

Small bug fix release.

Changes

Bug Fixes

Full Changelog: discord-jda/JDA@v6.3.1...v6.3.2

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:6.3.2")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>6.3.2</version> 
</dependency>

v6.3.1

Overview

This is primarily a bug fix release, but also includes a minor breaking change for emojis.

Enable users to choose the requested format of assets (#​3009)

Most methods, that previously returned ImageProxy or an image URL, now support passing ImageFormat to choose a different format. This enables users to easily switch from PNG to WEBP or other formats.

Additionally, most of the template strings used to create image URLs, such as User.AVATAR_URL, have been deprecated in favor of the new DiscordAssets utility class. You can use DiscordAssets.userAvatar(ImageFormat.PNG, userId, avatarId) to get an ImageProxy instance and use ImageProxy#getUrl to get the respective URL.

[!WARNING]

Breaking Changes

  • CustomEmoji#getImage and CustomEmoji#getImageUrl will now use webp format by default. This is due to API changes which make the gif format unreliable. See #​2999 for details. You can use CustomEmoji#getImage(ImageFormat) to choose a different format, like ImageFormat.PNG or ImageFormat.GIF.

New Features

Bug Fixes

Deprecations

Full Changelog: discord-jda/JDA@v6.3.0...v6.3.1

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:6.3.1")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>6.3.1</version> 
</dependency>

v6.3.0: | DAVE Protocol Support

Overview

This release adds initial support for the DAVE Protocol.

[!IMPORTANT]
Audio connections without the DAVE Protocol will stop working on March 1st, 2026. If you use JDA to connect to voice channels or stage channels, you will have to update to this release and add the required DAVE Protocol implementation.

Setting up DAVE Protocol in JDA

Since the implementation for DAVE requires native library dependencies, it is not included by default by JDA. We've decided that dependencies related to audio features will no longer be included by default in the future.

Starting with JDA 6.3.0, audio features require additional setup in your JDABuilder or DefaultShardManagerBuilder. Once you have added a dependency that implements DaveSessionFactory, you can configure it in your builder using setAudioModuleConfig:

builder.setAudioModuleConfig(
  new AudioModuleConfig()
    .withDaveSessionFactory(daveSessionFactory)
)

You can use JDAVE, which provides an implementation for this interface. Note that this library requires Java 25 and only supports a few platforms for now. Read the README for setup instructions.

[!WARNING]
This library is still in its early stages and might have some issues. However, I wanted to get this released as soon as possible to allow people to test and report issues, since the deadline is only a few weeks away. I recommend to test this thoroughly before going into production.

There are other libraries still in development that will add support for older java versions, such as libdave-jvm which uses JNI instead of the modern FFM API.

New Features

Full Changelog: discord-jda/JDA@v6.2.1...v6.3.0

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:6.3.0")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>6.3.0</version> 
</dependency>

v6.2.1

Overview

In this release, we have added new compliance tests that automatically validate some of our enums against the Official Discord OpenAPI Specification. This allows us to easily verify the completeness of our enums, which is why we added a lot of new enum constants. In the future, we might use this spec for serialization / deserialization internally, or even expand it to a public REST-only module.

[!IMPORTANT]

Important Announcement: Changes to Audio Connections in March 2026

Discord has announced in their Changelog: Deprecating Non-E2EE Voice Calls, that all voice connections will require End-to-End-Encryption starting March 1st, 2026.

Support for this in JDA has been blocked by Discord's slow release of their library libdave. However, they have finally released a usable C-interface 2 weeks ago. The next feature release of JDA will add a new opt-in interface to support the DAVE protocol and will log warnings and errors if this interface is not implemented. The development for this has started in my pull request: Add support for libdave #​2988.

On March 1st, 2026, all JDA audio connections will require an implementation of DAVE. Users of JDA are responsible to choose or provide their own implementation of this protocol. There are already some work-in-progress implementations that directly use libdave, such as JDAVE (requires Java 25) and libdave-jvm (requires Java 8).

If you are affected by this change, you should start migrating to JDA 6 as soon as possible.

New Features

  • Support retrieving available SKUs via /applications/{application.id}/skus by @​rainbowdashlabs in #​2828
  • Adds new locales: DiscordLocale.ARABIC, DiscordLocale.HEBREW
  • Adds new audit log action types:
    • ActionType.SOUNDBOARD_SOUND_CREATE, ActionType.SOUNDBOARD_SOUND_UPDATE, ActionType.SOUNDBOARD_SOUND_DELETE
    • ActionType.AUTO_MODERATION_QUARANTINE_USER
    • ActionType.CREATOR_MONETIZATION_REQUEST_CREATED, ActionType.CREATOR_MONETIZATION_TERMS_ACCEPTED
    • ActionType.ONBOARDING_PROMPT_CREATE, ActionType.ONBOARDING_PROMPT_UPDATE, ActionType.ONBOARDING_PROMPT_DELETE
    • ActionType.ONBOARDING_CREATE, ActionType.ONBOARDING_UPDATE
    • ActionType.HOME_SETTINGS_CREATE, ActionType.HOME_SETTINGS_UPDATE, ActionType.GUILD_PROFILE_UPDATE
  • Adds AuditLogKey.GUILD_BRAND_COLOR_PRIMARY
  • Adds new audit log target types:
    • TargetType.SOUNDBOARD_SOUND
    • TargetType.ONBOARDING_PROMPT_STRUCTURE
    • TargetType.ONBOARDING
  • Adds ChannelType.GUILD_DIRECTORY

Changes

Full Changelog: discord-jda/JDA@v6.2.0...v6.2.1

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:6.2.1")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>6.2.1</version> 
</dependency>

v6.2.0

Overview

This release includes a permission change that will go into effect on February 26th, 2026. Any versions older than this will not have the correct permission checks for the new rules, or only partially support the new rules.

Permission Changes (#​2967)

After the deadline of February 26th, 2026, some permissions will lose capabilities in favor of new permissions.

  • MESSAGE_MANAGE will no longer allow users to Pin/Unpin Messages or Bypass Slowmode. Instead, the new BYPASS_SLOWMODE and PIN_MESSAGES permissions have been added.
  • MANAGE_GUILD_EXPRESSIONS will no longer allow users to Create Emojis/Stickers. Instead, the new CREATE_GUILD_EXPRESSIONS permission has been added.
  • MANAGE_EVENTS will no longer allow users to Create Scheduled Events. Instead, the new CREATE_SCHEDULED_EVENTS permission has been added.

See the Discord Changelog for details.

Retrieve Role Member Counts (#​2973)

The guild role member count can now be retrieved with Guild#retrieveRoleMemberCounts.

Example:

guild.retrieveRoleMemberCounts().queue(counts -> {
    int boostRoleMemberCount = counts.get(guild.getBoostRole());

    IO.println("This guild has " + boostRoleMemberCount + " boosters!");
});
Enhanced Role Colors (#​2975)

You can now access and modify the Gradient or Holographic role colors, a feature unlocked through boosting a guild.

Example:

guild.createRole()
     .setName("Gradient Role")
     .setGradientColors(0x0000FF, 0x00FF00)
     .queue(role -> {
         IO.println("Is role a gradient? " + role.getColors().isGradient());
         IO.println("Primary: %X".formatted(role.getColors().getPrimaryRaw()));
         IO.println("Secondary: %X".formatted(role.getColors().getSecondaryRaw()));
     });

New Features

Changes

Full Changelog: discord-jda/JDA@v6.1.3...v6.2.0

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:6.2.0")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>6.2.0</version> 
</dependency>

v6.1.3

Bug Fixes

Full Changelog: discord-jda/JDA@v6.1.2...v6.1.3

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:6.1.3")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>6.1.3</version> 
</dependency>

v6.1.2

Bug Fixes

Full Changelog: discord-jda/JDA@v6.1.1...v6.1.2

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:6.1.2")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>6.1.2</version> 
</dependency>

v6.1.1

New Features

Bug Fixes

Full Changelog: discord-jda/JDA@v6.1.0...v6.1.1

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:6.1.1")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>6.1.1</version> 
</dependency>

v6.1.0: | Modal File Uploads

Overview

This release primarily adds support for file uploads in modals.

Creating a Modal accepting file uploads
Modal.create("modal-id", "Banner Update")
  .addComponents(Label.of("Banner Image", AttachmentUpload.of("banner-file")))
  .build()
Using the uploaded file
@&#8203;Override
public void onModalInteraction(@&#8203;NotNull ModalInteractionEvent event) {
    event.reply("The banner is being updated.").setEphemeral(true).queue();
    
    Message.Attachment attachment = event.getValue("cat-img").getAsAttachmentList().get(0);
    attachment.getProxy()
        .downloadAsIcon()
        .thenCompose(icon -> event.getGuild().getSelfMember().getManager().setBanner(icon).submit())
        .exceptionally(e -> {
            RestAction.getDefaultFailure().accept(e);
            return null;
        });
}

New Features

Full Changelog: discord-jda/JDA@v6.0.0...v6.1.0

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:6.1.0")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>6.1.0</version> 
</dependency>

v6.0.0: | New Component API

Overview

This is the stable release of JDA 6.0.0. To avoid repeating the same information again, please look at the release notes of the release candidates for detailed explanations of the breaking changes and new features.

Release Candidates
  1. v6.0.0-rc.1 New Components
  2. v6.0.0-rc.2 New Pin Pagination API
  3. v6.0.0-rc.3 New pin permissions and removal of bot owned guilds
  4. v6.0.0-rc.4 Change to Modals
  5. v6.0.0-rc.5 Modal Components and Serialization
Migrating to 6.0.0

To help ease the upgrade to JDA 6.0.0, we've provided an OpenRewrite recipe that can automatically refactor parts of your codebase. This will update imports and replace a few method calls with their new equivalents in JDA 6.0.0.

However, not all breaking changes can be handled automatically — for example, code that relied on the mutability of ActionRow will require manual adjustments.

You will also have to update your code for creating Modal instances. Instead of using ActionRow, modals now make use of the Label component. Read the release notes for v6.0.0-rc.4 to learn more.

The OpenRewrite Recipe

Before applying the recipe, make sure you’re using version control (e.g., Git) or back up your project manually. You’ll also need to be using Gradle or Maven to apply the migration.

Gradle

We are using the OpenRewrite Gradle Plugin. Before changing your JDA version in gradle, you can add the rewrite plugin and use the recipe to migrate your code:

plugins {
    id("org.openrewrite.rewrite") version "7.11.0"
}

repositories {
    mavenCentral()
}

dependencies {
    // Your current JDA version before upgrading to 6.0.0
    implementation("net.dv8tion:JDA:5.+")

    rewrite("net.dv8tion:JDA:6.0.0")
    rewrite("org.openrewrite.recipe:rewrite-java-dependencies:1.37.0")
}

rewrite {
    activeRecipe("net.dv8tion.MigrateComponentsV2")
}

Once you configured this plugin, you can use the rewriteDryRun task to generate a git patch in build/reports/rewrite/rewrite.patch to see what the plugin will do with your source code. To apply the changes, either use this patch or use rewriteRun.

After migrating your code, you can then update your JDA version (if the rewrite hasn't done it already) and remove the plugin again.

Maven

We are using the OpenRewrite Maven Plugin. Before changing your JDA version in your pom, you can add the rewrite plugin and use the recipe to migrate your code:

<plugin>
  <groupId>org.openrewrite.maven</groupId>
  <artifactId>rewrite-maven-plugin</artifactId>
  <version>6.13.0</version>
  <configuration>
    <activeRecipes>
      <recipe>net.dv8tion.MigrateComponentsV2</recipe>
    </activeRecipes>
  </configuration>
  <dependencies>
    <dependency>
      <groupId>org.openrewrite.recipe</groupId>
      <artifactId>rewrite-java-dependencies</artifactId>
      <version>1.37.0</version>
    </dependency>
    <dependency>
      <groupId>net.dv8tion</groupId>
      <artifactId>JDA</artifactId>
      <version>6.0.0</version>
    </dependency>
  </dependencies>
</plugin>

Once you configured this plugin, you can use the rewrite:dryRun task to generate a git patch in target/site/rewrite/rewrite.patch to see what the plugin will do with your source code. To apply the changes, either use this patch or use rewrite:run.

After migrating your code, you can then update your JDA version (if the rewrite hasn't done it already) and remove the plugin again.

New Features

Changes

Bug Fixes

Full Changelog: discord-jda/JDA@v5.6.1...v6.0.0

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:6.0.0")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>6.0.0</version> 
</dependency>

v5.6.1

Bug Fixes

Full Changelog: discord-jda/JDA@v5.6.0...v5.6.1

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:5.6.1")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>5.6.1</version> 
</dependency>

v5.6.0: | ApplicationManager and minor improvements

Overview

This release introduces the ApplicationManager, which can be used to update the application's description and other settings through JDA.

New Features

Changes

Bug Fixes

Full Changelog: discord-jda/JDA@v5.5.1...v5.6.0

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:5.6.0")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>5.6.0</version> 
</dependency>

v5.5.1: | Bug fixes and performance improvements

Overview

This is a small release, including a bug fix for editCommand and editCommandById, as well as some performance improvements for looking up members by roles.

Additionally, you can now create threads with a custom slowmode.

New Features

Bug Fixes

Full Changelog: discord-jda/JDA@v5.5.0...v5.5.1

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:5.5.1")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>5.5.1</version> 
</dependency>

v5.5.0: | Improved voice state cache and file proxies

Changes to voice state cache (#​2835)

Voice states are now cached independently of guild members. JDA can now detect when a member connects or disconnects from an audio channel, even when the member is not currently cached.

With this change, you can technically use MemberCachePolicy.NONE and will still receive voice join / leave events, as long as CacheFlag.VOICE_STATE is enabled.

To reduce the memory footprint, we now only cache voice states if the member is connected to an audio channel. While disconnected, we will not keep the voice state cached, meaning we lose track of muted/deafend state and return an "empty" voice state for Member#getVoiceState.

Improvements to FileProxy (#​2782 and #​2727)

The FileProxy, ImageProxy, and AttachmentProxy now all support downloadAsFileUpload to easily stream a Discord proxies URL to a message.

@&#8203;Override
public void onMessageReceived(MessageReceivedEvent event) {
    List<Message.Attachment> attachments = event.getMessage().getAttachments();

    List<FileUpload> uploads = attachments.stream()
        .map(attachment ->
            attachment
                .getProxy()
                .downloadAsFileUpload(attachment.getWidth(), attachment.getHeight()))
        .collect(Collectors.toList());
    
    event.getChannel().sendFiles(uploads).queue();
}

New Features

Changes

Bug Fixes

Full Changelog: discord-jda/JDA@v5.4.0...v5.5.0

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:5.5.0")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>5.5.0</version> 
</dependency>

v5.4.0: | Interaction callback response and security incidents

Access the created or updated message from interaction replies (#​2798)

You can now use InteractionHook#getCallbackResponse to access the messages created by interaction replies.

@&#8203;Override
public void onSlashCommandInteraction(SlashCommandInteractionEvent event) {
  event.reply("React with your favorite emoji")
    .map(hook -> hook.getCallbackResponse().getMessage())
    .flatMap(message -> message.addReaction(emoji))
    .queue();
}

Previously, this could be done using an additional retrieveOriginal request. To reduce requests and improve responsiveness, we recommend preferring this new getter instead.

Guild security incidents (#​2577)

With guild security incidents, you can now be aware when Discord detects raids or spam in direct messages in a guild. These detections are available with Guild#getSecurityIncidentDetections and are updated with GuildUpdateSecurityIncidentDetectionsEvent.

Additionally, you can modify the security incident actions to temporarily pause invites or disable direct messages in your guild. See Guild#modifySecurityIncidents for details.

guild.modifySecurityIncidents(SecurityIncidentActions.enabled(
        // Pause invites for 2 hours
        OffsetDateTime.now().plusHours(2),
        // Disable direct messages for 1 hour
        OffsetDateTime.now().plusHours(1)
)).queue();

// Or disable security incident actions prematurely
guild.modifySecurityIncidents(SecurityIncidentActions.disabled()).queue();

New Features

Changes

  • Add missing exceptions when attempting to move entities before selecting by @​freya022 in #​2797

Bug Fixes

Full Changelog: discord-jda/JDA@v5.3.2...v5.4.0

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:5.4.0")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>5.4.0</version> 
</dependency>

v5.3.2: | Bug fix for PrivateChannel#getName

Overview

Small bug fix release.

Bug Fixes

Full Changelog: discord-jda/JDA@v5.3.1...v5.3.2

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:5.3.2")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>5.3.2</version> 
</dependency>

v5.3.1: | Bug fixes

Overview

Small bug fix release due to API changes regarding user-installed applications.

Bug Fixes

Full Changelog: discord-jda/JDA@v5.3.0...v5.3.1

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:5.3.1")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>5.3.1</version> 
</dependency>

v5.3.0: | User-Installable Apps

Overview

After many months of waiting, this release finally adds support for user-installable apps. This will allow you to make use of interactions (and especially commands) anywhere on Discord, by installing the application on a user directly instead of a guild.

Creating User-Installable Apps

To create a user-installable app, you first have to enable the feature in your application dashboard in the installation settings:

firefox_X9eJoKZ88K

Once enabled, you can create user-installable commands, by changing the integration types:

Commands.slash("say", "Makes the bot say what you tell it to")
// Allow the command to be used anywhere (Bot DMs, Guild, Friend DMs, Group DMs)
  .setContexts(InteractionContextType.ALL) 
// Allow the command to be installed on users instead of guilds
  .setIntegrationTypes(IntegrationType.USER_INSTALL) 
  .addOption(STRING, "content", "What the bot should say", true)
Installing to a User

To actually install your app to a user, you can use the generator provided by discord. In the OAuth2 URL Generator, change the integration type to User Install:

firefox_VGe9NK4Xld

The generated link, can now be used to install your application to the authorizing user.

image

Detached Guilds / Roles / Channels / Members

This comes with a few changes to expectations around JDA functionality. Since interactions can now come from anywhere on Discord, some features aren't available in certain contexts.

Some entities can now appear as Detachable Entity, which essentially means that they come from a guild or private channel, that your bot is not directly involved in.

For instance, if a command is installed on a user and that command is used in a guild, your bot is not necessarily a member of that guild. Since the bot is not a member, it only has access to the guild context, that the interaction event provides. Many features such as channels, roles, or members are not accessible without being an actual member of the guild. If you try to use or access anything that isn't accessible, JDA will throw a new DetachedEntityException.

New Features

Full Changelog: discord-jda/JDA@v5.2.3...v5.3.0

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:5.3.0")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>5.3.0</version> 
</dependency>

v5.2.3

Small bug fix release.

Bug Fixes

Changes

  • Rename ApplicationEmoji#APPLICATION_EMOJI_CAP -> MAX_APPLICATION_EMOJIS by @​freya022 in #​2791

Full Changelog: discord-jda/JDA@v5.2.2...v5.2.3

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:5.2.3")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>5.2.3</version> 
</dependency>

v5.2.2

Small bug fix release.

Bug Fixes

Full Changelog: discord-jda/JDA@v5.2.1...v5.2.2

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:5.2.2")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>5.2.2</version> 
</dependency>

v5.2.1

Small bug fix release.

Bug Fixes

Full Changelog: discord-jda/JDA@v5.2.0...v5.2.1

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:5.2.1")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>5.2.1</version> 
</dependency>

v5.2.0: | Application emoji and premium buttons

Overview

This release adds some new features for applications. We've also started working on more compliance tests to make contributing and reviewing changes easier.

Premium Buttons (#​2752)

The interaction response replyWithPremiumRequired is being phased out in favor of custom messages with a new button style Button.premium(sku) to upsell specific premium features instead.

You can change your code to a simple reply(content) with this button as a component.

event.reply("This feature is only available for premium users.")
  .addActionRow(Button.primary(SkuSnowflake.fromId(PREMIUM_FEATURE_SKU)))
  .setEphemeral(true)
  .queue();

For more info, see the official Discord Changelog.

Application Emoji (#​2726)

Your bot can now manage emoji with JDA by using JDA#createApplicationEmoji. These emojis can then be used like any other emoji with Emoji.fromCustom(name, id, animated).

New Features

Bug Fixes

Changes

  • Deprecated GatewayIntent#GUILD_EMOJIS_AND_STICKERS in favor of GUILD_EXPRESSIONS by @​freya022 in #​2755
  • Remove deprecated permission constants
  • Remove deprecated and stage instance privacy level

Full Changelog: discord-jda/JDA@v5.1.2...v5.2.0

Installation

Gradle

repositories {
    mavenCentral()
}
dependencies {
    implementation("net.dv8tion:JDA:5.2.0")
}

Maven

<dependency>
    <groupId>net.dv8tion</groupId>
    <artifactId>JDA</artifactId>
    <version>5.2.0</version> 
</dependency>

v5.1.2: | Message Forwarding and Voice Messages

Overview

This release adds support for new message features.

Forwarding messages (#​2744)

You can now handle forwarded messages using the new message snapshots.

@&#8203;Override
public void onMessageReceived(MessageReceivedEvent event) {
    MessageReference messageReference = event.getMessage().getMessageReference();
    // Forwarded messages have a reference of type FORWARD
    if (messageReference != null && messageReference.getType() == MessageReference.MessageReferenceType.FORWARD) {
        // The content of the forwarded message is provided as a snapshot
        MessageSnapshot snapshot = event.getMessage().getMessageSnapshots().getFirst();
        System.out.println("Received forwarded message with content: " + snapshot.getContentRaw());
    }
}

A bot can also forward a message using [Message#fowardTo](https://docs.jda.wiki/net/dv8tion/jda/api/entities/Message.html#forwa


Configuration

📅 Schedule: Branch creation - Only on Sunday and Saturday ( * * * * 0,6 ) (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies label Oct 5, 2025
@renovate renovate bot added the dependencies label Oct 5, 2025
@renovate renovate bot changed the title fix(deps): update dependency net.dv8tion:jda to v6 fix(deps): update dependency net.dv8tion:jda to v6 - autoclosed Oct 9, 2025
@renovate renovate bot closed this Oct 9, 2025
@renovate renovate bot deleted the renovate/major-jda_version branch October 9, 2025 10:47
@renovate renovate bot changed the title fix(deps): update dependency net.dv8tion:jda to v6 - autoclosed fix(deps): update dependency net.dv8tion:jda to v6 Oct 12, 2025
@renovate renovate bot reopened this Oct 12, 2025
@renovate renovate bot force-pushed the renovate/major-jda_version branch 2 times, most recently from 6d619dc to b93e34b Compare October 12, 2025 01:57
@SerenModz21 SerenModz21 removed their assignment Oct 12, 2025
@renovate renovate bot changed the title fix(deps): update dependency net.dv8tion:jda to v6 fix(deps): update dependency net.dv8tion:jda to v6 - autoclosed Oct 12, 2025
@renovate renovate bot closed this Oct 12, 2025
@renovate renovate bot changed the title fix(deps): update dependency net.dv8tion:jda to v6 - autoclosed fix(deps): update dependency net.dv8tion:jda to v6 Oct 19, 2025
@renovate renovate bot reopened this Oct 19, 2025
@renovate renovate bot force-pushed the renovate/major-jda_version branch 2 times, most recently from b93e34b to 0e8ebfe Compare October 19, 2025 02:27
@renovate renovate bot force-pushed the renovate/major-jda_version branch from 0e8ebfe to 7356104 Compare November 2, 2025 17:12
@renovate renovate bot force-pushed the renovate/major-jda_version branch from 7356104 to b0055c5 Compare November 23, 2025 20:50
@renovate renovate bot force-pushed the renovate/major-jda_version branch 2 times, most recently from 42a8045 to 56f079e Compare December 14, 2025 16:51
@renovate renovate bot force-pushed the renovate/major-jda_version branch from 56f079e to a8cc091 Compare January 1, 2026 18:52
@renovate renovate bot force-pushed the renovate/major-jda_version branch from a8cc091 to 67ea289 Compare January 11, 2026 17:01
@renovate renovate bot force-pushed the renovate/major-jda_version branch from 67ea289 to b405385 Compare February 15, 2026 17:01
@renovate renovate bot force-pushed the renovate/major-jda_version branch from b405385 to 20b5e22 Compare March 15, 2026 13:05
@renovate renovate bot force-pushed the renovate/major-jda_version branch from 20b5e22 to c39f605 Compare March 31, 2026 16:53
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@renovate renovate bot force-pushed the renovate/major-jda_version branch from c39f605 to 78c863c Compare April 2, 2026 22:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant