Versions
The following table describes our current available versions, their support status, Discord API versions and compatibility with other projects like Spring Boot.
Discord4J | Support | Gateway/API | Intents | Reactor | Spring Boot | Artifact VERSION |
---|---|---|---|---|---|---|
v3.3.x | In development | v9 (Threads) | Mandatory | 3.4 (2020) | 2.3 and above | Snapshots only |
v3.2.x | Current | v8 | Mandatory | 3.4 (2020) | 2.3 and above | |
v3.1.x | Maintenance Only | v6 | Optional | 3.3 (Dysprosium) | 2.2 and above |
Discord API v8 and above require mandatory intents, Discord4J uses non-privileged intents by default.
All supported versions have JDK 8 baseline. Spring Boot compatibility is a general guideline as other versions might work through shading techniques for transitive libraries like Reactor and Netty.
"Maintenance only" support means we'll try to address critical issues only but no new features will be added to that branch.
If you want to use experimental snapshot versions, refer to Using Snapshots.
Recent features supported
Feature | v3.3.x | v3.2.x | v3.1.x |
---|---|---|---|
Slash commands | Yes | Yes | Yes |
Buttons | Yes | Yes | Yes |
Select menus | Yes | Yes | Yes |
Context menus | Yes | Yes | Yes |
Guild stickers | Yes | Yes | No |
Unique usernames | Yes | Yes | No |
Stage channels and instances | Yes | No | No |
Threads | Yes | No | No |
Forums | Yes | No | No |
Compatibility
Discord4J uses a Generation.Major.Minor
version scheme so the following guidelines apply:
- Upgrades from a
x.y.z
tox.y.z+1
version don't affect public API and behavior changes are not expected unless they mean to fix a major issue. - Upgrades from a
x.y
tox.y+1
generally need a migration guide as they can have public API changes. We will try to offer a migration period of at least 1 major version whenever possible.
Classes and methods marked as Beta or Experimental are not affected by this policy.