Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Oct 5, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
net.dv8tion:JDA 5.3.1 -> 6.1.0 age adoption passing confidence

Release Notes

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

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
@​Override
public void onModalInteraction(@​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>

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), 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 Pull requests that update a dependency file label Oct 5, 2025
@renovate renovate bot changed the title Update dependency net.dv8tion:JDA to v6 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 branch October 9, 2025 09:43
@renovate renovate bot changed the title Update dependency net.dv8tion:JDA to v6 - autoclosed Update dependency net.dv8tion:JDA to v6 Oct 9, 2025
@renovate renovate bot reopened this Oct 9, 2025
@renovate renovate bot force-pushed the renovate/major-jda branch 2 times, most recently from a4313ad to 0045e48 Compare October 9, 2025 15:30
@renovate renovate bot restored the renovate/major-jda branch October 9, 2025 15:31
@renovate renovate bot force-pushed the renovate/major-jda branch from a4313ad to 427fa4e Compare October 19, 2025 12:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant