Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 30, 2025

This PR contains the following updates:

Package Change Age Confidence
net.dv8tion:JDA 5.6.16.3.0 age confidence

Release Notes

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

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>

Configuration

📅 Schedule: Branch creation - At 12:00 AM through 04:59 AM and 10:00 PM through 11:59 PM, Monday through Friday ( * 0-4,22-23 * * 1-5 ), Only on Sunday and Saturday ( * * * * 0,6 ) in timezone Europe/Brussels, Automerge - At 12:00 AM through 04:59 AM and 10:00 PM through 11:59 PM, Monday through Friday ( * 0-4,22-23 * * 1-5 ), Only on Sunday and Saturday ( * * * * 0,6 ) in timezone Europe/Brussels.

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

Rebasing: Whenever PR is behind base branch, 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 Nov 30, 2025
@renovate renovate bot requested a review from DuncanCasteleyn as a code owner November 30, 2025 01:54
@renovate renovate bot force-pushed the renovate/major-6-jdaversion branch 2 times, most recently from 9118bc7 to 613e12e Compare December 2, 2025 22:04
@renovate renovate bot force-pushed the renovate/major-6-jdaversion branch 4 times, most recently from f34311b to f840db5 Compare December 14, 2025 18:32
@renovate renovate bot force-pushed the renovate/major-6-jdaversion branch from f840db5 to e9ce44e Compare December 18, 2025 21:46
@renovate renovate bot force-pushed the renovate/major-6-jdaversion branch 2 times, most recently from 3bbf3bc to edceab0 Compare January 1, 2026 16:56
@renovate renovate bot force-pushed the renovate/major-6-jdaversion branch 4 times, most recently from 27d561f to fb129ed Compare January 16, 2026 21:38
@renovate renovate bot force-pushed the renovate/major-6-jdaversion branch from fb129ed to 91afeb1 Compare January 23, 2026 00:46
@renovate renovate bot force-pushed the renovate/major-6-jdaversion branch from 91afeb1 to 7d40402 Compare January 23, 2026 00:49
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