Javacord/Javacord (org.javacord:javacord)
### [`v3.8.0`](https://togithub.com/Javacord/Javacord/releases/tag/v3.8.0)
**‼️ Java Update in SOON™ ‼️**
*Starting in early 2023, support for Java 8 will be discontinued and Java 11 will be the new minimum requirement for using Javacord.
If you are not yet running Java 11+, we strongly recommend that you upgrade before the end of this year.*
### 📦 Download
#### Using a Build Manager
##### Gradle
```groovy
repositories { mavenCentral() }
dependencies { implementation 'org.javacord:javacord:3.8.0' }
```
##### Maven
```xml
org.javacordjavacord3.8.0pom
```
##### Sbt
```scala
libraryDependencies ++= Seq("org.javacord" % "javacord" % "3.8.0")
```
### 📋 Changelog
#### Improvements
- Added support for text in Voice ([https://github.com/Javacord/Javacord/pull/1014](https://togithub.com/Javacord/Javacord/pull/1014)) by [@felldo](https://togithub.com/felldo)
- Added `TextableRegularServerChannel` which contains shared methods for text related functionality of RegularServerChannels ([https://github.com/Javacord/Javacord/pull/1014](https://togithub.com/Javacord/Javacord/pull/1014)) by [@felldo](https://togithub.com/felldo)
- Internal: Change generate changelog gradle task to mention the author next to the changelog instead of the dedicated contributors section ([https://github.com/Javacord/Javacord/pull/1192](https://togithub.com/Javacord/Javacord/pull/1192)) by [@felldo](https://togithub.com/felldo)
- Added ability to set a command as nsfw ([https://github.com/Javacord/Javacord/pull/1193](https://togithub.com/Javacord/Javacord/pull/1193)) by [@RealYusufIsmail](https://togithub.com/RealYusufIsmail)
- Updated jackson-databind to version 2.12.7.1 in response to multiple CVEs. ([https://github.com/Javacord/Javacord/pull/1207](https://togithub.com/Javacord/Javacord/pull/1207)) by [@Saladoc](https://togithub.com/Saladoc)
- Added convenience methods to check timeout permissions. ([https://github.com/Javacord/Javacord/pull/1208](https://togithub.com/Javacord/Javacord/pull/1208)) by [@RealYusufIsmail](https://togithub.com/RealYusufIsmail)
- Added `SUPPRESS_NOTIFICATIONS` message flag ([https://github.com/Javacord/Javacord/pull/1213](https://togithub.com/Javacord/Javacord/pull/1213)) by [@RealYusufIsmail](https://togithub.com/RealYusufIsmail)
- Changed deprecated IP Discovery UDP packet size to 74 which is required from the 15.03.23 onwards. **IMPORTANT** Everyone who is using voice has to upgrade until then otherwise it will no longer work ([https://github.com/Javacord/Javacord/pull/1216](https://togithub.com/Javacord/Javacord/pull/1216)) by [@felldo](https://togithub.com/felldo)
#### Bugfixes
- Fixed a bug where `canWrite` and more methods return always true for Threads ([https://github.com/Javacord/Javacord/pull/1014](https://togithub.com/Javacord/Javacord/pull/1014)) by [@felldo](https://togithub.com/felldo)
- Fixed `NullPointerException` when passing down `null` in `TextInputBuilder#setValue` ([https://github.com/Javacord/Javacord/pull/1204](https://togithub.com/Javacord/Javacord/pull/1204)) by [@ShindouMihou](https://togithub.com/ShindouMihou)
- Fixed a bug when receiving a SelectMenuInteraction where it would throw an error if there is a link button in the components too of the message and fixed checking for the wrong keys `min/max_values` so getting these values (`getMaximumValues`) would always return 1 ([https://github.com/Javacord/Javacord/pull/1206](https://togithub.com/Javacord/Javacord/pull/1206)) by [@felldo](https://togithub.com/felldo)
### [`v3.7.0`](https://togithub.com/Javacord/Javacord/releases/tag/v3.7.0)
**‼️ Java Update in Early 2023 ‼️**
*Starting in early 2023, support for Java 8 will be discontinued and Java 11 will be the new minimum requirement for using Javacord.
If you are not yet running Java 11+, we strongly recommend that you upgrade before the end of this year.*
### 📦 Download
#### Using a Build Manager
##### Gradle
```groovy
repositories { mavenCentral() }
dependencies { implementation 'org.javacord:javacord:3.7.0' }
```
##### Maven
```xml
org.javacordjavacord3.7.0pom
```
##### Sbt
```scala
libraryDependencies ++= Seq("org.javacord" % "javacord" % "3.7.0")
```
### 📋 Changelog
##### Improvements
- Added "nsfw" field to `ServerVoiceChannel` ([https://github.com/Javacord/Javacord/pull/1127](https://togithub.com/Javacord/Javacord/pull/1127))
- Added message reply listeners (via `Message#addMessageReplyListener`) ([https://github.com/Javacord/Javacord/pull/1139](https://togithub.com/Javacord/Javacord/pull/1139))
- Added support for select menus v2 ([https://github.com/Javacord/Javacord/pull/1150](https://togithub.com/Javacord/Javacord/pull/1150))
- Deprecated `SelectMenu#create` methods in favor of `#createStringMenu` ([https://github.com/Javacord/Javacord/pull/1150](https://togithub.com/Javacord/Javacord/pull/1150))
- Added the ability to get a thread member by their user id. ([https://github.com/Javacord/Javacord/pull/1155](https://togithub.com/Javacord/Javacord/pull/1155))
- Deprecated `getThreadMembers` in favor of `requestThreadMembers` ([https://github.com/Javacord/Javacord/pull/1155](https://togithub.com/Javacord/Javacord/pull/1155))
- Added `SlashCommand#getMentionTags` to get all mention tags of all subcommands ([https://github.com/Javacord/Javacord/pull/1157](https://togithub.com/Javacord/Javacord/pull/1157))
- Added new `RestRequestResultErrorCodes` `50039` and `40062` ([https://github.com/Javacord/Javacord/pull/1163](https://togithub.com/Javacord/Javacord/pull/1163))
- Added missing builder methods for setting the `emoji` property to a unicode emoji on Select Menu Options ([https://github.com/Javacord/Javacord/pull/1166](https://togithub.com/Javacord/Javacord/pull/1166))
- Changed how the `delete_message_seconds` field is set when banning a user from as query parameter to the request json body ([https://github.com/Javacord/Javacord/pull/1167](https://togithub.com/Javacord/Javacord/pull/1167))
- Added `MessageDecoration#applyToText(String)` which applies the decoration to a given string ([https://github.com/Javacord/Javacord/pull/1169](https://togithub.com/Javacord/Javacord/pull/1169))
- Added new Javacord compatible library `Discord Interaction handler` and removed `sdcf4j` because it is deprecated ([https://github.com/Javacord/Javacord/pull/1175](https://togithub.com/Javacord/Javacord/pull/1175))
- Added `ApplicationCommandInteraction#getRegisteredCommandServerId` and `getRegisteredCommandServer` to get the id/server the command is registered on from an application command interaction ([https://github.com/Javacord/Javacord/pull/1176](https://togithub.com/Javacord/Javacord/pull/1176))
- Deprecated `ApplicationCommand#deleteGlobal` and `deleteForServer` in favor of `delete` ([https://github.com/Javacord/Javacord/pull/1177](https://togithub.com/Javacord/Javacord/pull/1177))
- Added `Message#canYouReadContent` which checks if you can read the content of a message if you do not have the `MESSAGE_CONTENT` intent enabled to cover special cases like DMs, bot mentions or your own messages ([https://github.com/Javacord/Javacord/pull/1185](https://togithub.com/Javacord/Javacord/pull/1185))
##### Bugfixes
- Fixed MessageUpdater not removing attachments when replacing the message although no new attachments are added ([https://github.com/Javacord/Javacord/pull/1168](https://togithub.com/Javacord/Javacord/pull/1168))
- Fixed moving the audio connection to the new ServervoiceChannel if the bot gets moved ([https://github.com/Javacord/Javacord/pull/1170](https://togithub.com/Javacord/Javacord/pull/1170))
- Fixed not closing the audio connection when kicking the bot from a ServerVoiceChannel ([https://github.com/Javacord/Javacord/pull/1170](https://togithub.com/Javacord/Javacord/pull/1170))
- Fixed wrong links in README ([https://github.com/Javacord/Javacord/pull/1178](https://togithub.com/Javacord/Javacord/pull/1178))
- Fixed not working contributing guidelines link in PR template ([https://github.com/Javacord/Javacord/pull/1181](https://togithub.com/Javacord/Javacord/pull/1181))
##### Breaking Changes
- Removed obsolete application owner methods ([https://github.com/Javacord/Javacord/pull/1147](https://togithub.com/Javacord/Javacord/pull/1147))
- Removed some banning server member methods ([https://github.com/Javacord/Javacord/pull/1147](https://togithub.com/Javacord/Javacord/pull/1147))
- Renamed `downloadAsXY` methods to `asXY` ([https://github.com/Javacord/Javacord/pull/1147](https://togithub.com/Javacord/Javacord/pull/1147))
- Moved some methods from `VoiceChannel` to `ServerVoiceChannel` ([https://github.com/Javacord/Javacord/pull/1147](https://togithub.com/Javacord/Javacord/pull/1147))
- SelectMenuBuilder now requires a `SELECT_MENU_*` component type and a `custom_id` to be instantiated. ([https://github.com/Javacord/Javacord/pull/1150](https://togithub.com/Javacord/Javacord/pull/1150))
- `get/requestSticketById(String)` methods do no longer throw an exception when the id is being parsed and instead return an empty optional or complete exceptionally with the number parsing exception ([https://github.com/Javacord/Javacord/pull/1156](https://togithub.com/Javacord/Javacord/pull/1156))
- `SlashCommand#getMentionTag` now returns the mention tag with only the base command ([https://github.com/Javacord/Javacord/pull/1157](https://togithub.com/Javacord/Javacord/pull/1157))
- Renamed `SlashCommand#getFullCommandName` to `#getFullCommandNames` and changed return type to `List` ([https://github.com/Javacord/Javacord/pull/1157](https://togithub.com/Javacord/Javacord/pull/1157))
- Renamed `SlashCommandOptionsProvider` methods that are only usable for arguments of a slash command from `getOption*` to `getArgument*` and changed the implementation from getting the options from the option to getting always the command arguments if there are any ([https://github.com/Javacord/Javacord/pull/1171](https://togithub.com/Javacord/Javacord/pull/1171))
- Throw an exception when the content of a message is accessed without having the `MESSAGE_CONTENT` enabled ([https://github.com/Javacord/Javacord/pull/1182](https://togithub.com/Javacord/Javacord/pull/1182))
#### Contributors in this release:
[@Bastian](https://togithub.com/Bastian) ([https://github.com/Javacord/Javacord/pull/1188](https://togithub.com/Javacord/Javacord/pull/1188), [https://github.com/Javacord/Javacord/pull/1189](https://togithub.com/Javacord/Javacord/pull/1189), [https://github.com/Javacord/Javacord/pull/1190](https://togithub.com/Javacord/Javacord/pull/1190))
[@felldo](https://togithub.com/felldo) ([https://github.com/Javacord/Javacord/pull/1150](https://togithub.com/Javacord/Javacord/pull/1150), [https://github.com/Javacord/Javacord/pull/1156](https://togithub.com/Javacord/Javacord/pull/1156), [https://github.com/Javacord/Javacord/pull/1157](https://togithub.com/Javacord/Javacord/pull/1157), [https://github.com/Javacord/Javacord/pull/1168](https://togithub.com/Javacord/Javacord/pull/1168), [https://github.com/Javacord/Javacord/pull/1169](https://togithub.com/Javacord/Javacord/pull/1169), [https://github.com/Javacord/Javacord/pull/1170](https://togithub.com/Javacord/Javacord/pull/1170), [https://github.com/Javacord/Javacord/pull/1171](https://togithub.com/Javacord/Javacord/pull/1171), [https://github.com/Javacord/Javacord/pull/1175](https://togithub.com/Javacord/Javacord/pull/1175), [https://github.com/Javacord/Javacord/pull/1176](https://togithub.com/Javacord/Javacord/pull/1176), [https://github.com/Javacord/Javacord/pull/1177](https://togithub.com/Javacord/Javacord/pull/1177), [https://github.com/Javacord/Javacord/pull/1179](https://togithub.com/Javacord/Javacord/pull/1179), [https://github.com/Javacord/Javacord/pull/1181](https://togithub.com/Javacord/Javacord/pull/1181), [https://github.com/Javacord/Javacord/pull/1182](https://togithub.com/Javacord/Javacord/pull/1182), [https://github.com/Javacord/Javacord/pull/1185](https://togithub.com/Javacord/Javacord/pull/1185))
[@Lainika](https://togithub.com/Lainika) ([https://github.com/Javacord/Javacord/pull/1172](https://togithub.com/Javacord/Javacord/pull/1172))
[@Mysterypotatoguy](https://togithub.com/Mysterypotatoguy) ([https://github.com/Javacord/Javacord/pull/1139](https://togithub.com/Javacord/Javacord/pull/1139), [https://github.com/Javacord/Javacord/pull/1166](https://togithub.com/Javacord/Javacord/pull/1166))
[@RealYusufIsmail](https://togithub.com/RealYusufIsmail) ([https://github.com/Javacord/Javacord/pull/1127](https://togithub.com/Javacord/Javacord/pull/1127), [https://github.com/Javacord/Javacord/pull/1155](https://togithub.com/Javacord/Javacord/pull/1155), [https://github.com/Javacord/Javacord/pull/1163](https://togithub.com/Javacord/Javacord/pull/1163), [https://github.com/Javacord/Javacord/pull/1167](https://togithub.com/Javacord/Javacord/pull/1167))
[@Saladoc](https://togithub.com/Saladoc) ([https://github.com/Javacord/Javacord/pull/1147](https://togithub.com/Javacord/Javacord/pull/1147), [https://github.com/Javacord/Javacord/pull/1154](https://togithub.com/Javacord/Javacord/pull/1154))
[@haseeb-xd](https://togithub.com/haseeb-xd) ([https://github.com/Javacord/Javacord/pull/1178](https://togithub.com/Javacord/Javacord/pull/1178))
### [`v3.6.0`](https://togithub.com/Javacord/Javacord/releases/tag/v3.6.0)
**‼️ Java Update in Early 2023 ‼️**
*Starting in early 2023, support for Java 8 will be discontinued and Java 11 will be the new minimum requirement for using Javacord.
If you are not yet running Java 11+, we strongly recommend that you upgrade before the end of this year.*
### 📦 Download
#### Using a Build Manager
##### Gradle
```groovy
repositories { mavenCentral() }
dependencies { implementation 'org.javacord:javacord:3.6.0' }
```
##### Maven
```xml
org.javacordjavacord3.6.0pom
```
##### Sbt
```scala
libraryDependencies ++= Seq("org.javacord" % "javacord" % "3.6.0")
```
### 📋 Changelog
Highlights in this release:
- We're now even contributor-friendlier with issue templates and the all-contributors specification.
- Support for applications being owned by teams
- Out-of-the-box support for delayed deletion of entities.
- Support for message interactions
##### Improvements
- Added support for slash command mentions ([https://github.com/Javacord/Javacord/pull/1137](https://togithub.com/Javacord/Javacord/pull/1137), [https://github.com/Javacord/Javacord/pull/1140](https://togithub.com/Javacord/Javacord/pull/1140))
- Added support for component-only messages ([https://github.com/Javacord/Javacord/pull/1120](https://togithub.com/Javacord/Javacord/pull/1120))
- Increased the granularity of the message removal duration when banning members ([https://github.com/Javacord/Javacord/pull/1113](https://togithub.com/Javacord/Javacord/pull/1113))
- Added convenience methods for creation of nested slash commands ([https://github.com/Javacord/Javacord/pull/1111](https://togithub.com/Javacord/Javacord/pull/1111))
- ***internal*** Switched to session-specific resume urls ([https://github.com/Javacord/Javacord/pull/1102](https://togithub.com/Javacord/Javacord/pull/1102))
- Added server features, including widgets and welcome screens ([https://github.com/Javacord/Javacord/pull/1096](https://togithub.com/Javacord/Javacord/pull/1096), [https://github.com/Javacord/Javacord/pull/1123](https://togithub.com/Javacord/Javacord/pull/1123))
- Added support for the `replied user` mention ([https://github.com/Javacord/Javacord/pull/1091](https://togithub.com/Javacord/Javacord/pull/1091))
- Improved error handling on replying to messages that no longer exist ([https://github.com/Javacord/Javacord/pull/1090](https://togithub.com/Javacord/Javacord/pull/1090))
- Added number of messages to thread metadata ([https://github.com/Javacord/Javacord/pull/1089](https://togithub.com/Javacord/Javacord/pull/1089))
- Added position in thread to `Message` ([https://github.com/Javacord/Javacord/pull/1088](https://togithub.com/Javacord/Javacord/pull/1088))
- Added support for message interactions ([https://github.com/Javacord/Javacord/pull/1078](https://togithub.com/Javacord/Javacord/pull/1078))
- Switched to discord api / gateway version 10 ([https://github.com/Javacord/Javacord/pull/1073](https://togithub.com/Javacord/Javacord/pull/1073))
- Added message content intent ([https://github.com/Javacord/Javacord/pull/1073](https://togithub.com/Javacord/Javacord/pull/1073))
- Improved attachment handling when updating messages ([https://github.com/Javacord/Javacord/pull/1073](https://togithub.com/Javacord/Javacord/pull/1073))
- Added description support for message attachments ([https://github.com/Javacord/Javacord/pull/1072](https://togithub.com/Javacord/Javacord/pull/1072))
- Exposed boosting and avatar metadata for members ([https://github.com/Javacord/Javacord/pull/1070](https://togithub.com/Javacord/Javacord/pull/1070))
- Added message flags to `Message` instances ([https://github.com/Javacord/Javacord/pull/1051](https://togithub.com/Javacord/Javacord/pull/1051))
- Added ability to get full name of a slash command ([https://github.com/Javacord/Javacord/pull/1050](https://togithub.com/Javacord/Javacord/pull/1050))
- Added support for min and max length of String parameters in slash commands ([https://github.com/Javacord/Javacord/pull/1047](https://togithub.com/Javacord/Javacord/pull/1047))
- Added capabilities for scheduled / delayed deletion ([https://github.com/Javacord/Javacord/pull/1038](https://togithub.com/Javacord/Javacord/pull/1038))
- Removed hard-coded rate limits ([https://github.com/Javacord/Javacord/pull/973](https://togithub.com/Javacord/Javacord/pull/973))
- Renamed download methods for consistency ([https://github.com/Javacord/Javacord/pull/641](https://togithub.com/Javacord/Javacord/pull/641))
- Added permission checks for `ServerVoiceChannel` ([https://github.com/Javacord/Javacord/pull/638](https://togithub.com/Javacord/Javacord/pull/638))
##### Bugfixes
- Fixed thread channels mistakenly being removed from cache ([https://github.com/Javacord/Javacord/pull/1136](https://togithub.com/Javacord/Javacord/pull/1136))
- Fixed `ServerThreadChannelChangeInvitableEvent` possibly being thrown for public threads ([https://github.com/Javacord/Javacord/pull/1133](https://togithub.com/Javacord/Javacord/pull/1133))
- Fixed audio connection not being cleaned up when leaving a server ([https://github.com/Javacord/Javacord/pull/1125](https://togithub.com/Javacord/Javacord/pull/1125))
- Fixed ConcurrentModificationException when updating custom emojis ([https://github.com/Javacord/Javacord/pull/1124](https://togithub.com/Javacord/Javacord/pull/1124))
- *SAME-RELEASE* Fixed empty attachments object ([https://github.com/Javacord/Javacord/pull/1122](https://togithub.com/Javacord/Javacord/pull/1122))
- Fixed javadoc build with Java 13+ ([https://github.com/Javacord/Javacord/pull/1107](https://togithub.com/Javacord/Javacord/pull/1107))
- *SAME-RELEASE* Fixed NPE with `Server` ([https://github.com/Javacord/Javacord/pull/1104](https://togithub.com/Javacord/Javacord/pull/1104), [https://github.com/Javacord/Javacord/pull/1130](https://togithub.com/Javacord/Javacord/pull/1130))
- Fixed updates to the bot user being ignored ([https://github.com/Javacord/Javacord/pull/1052](https://togithub.com/Javacord/Javacord/pull/1052))
- Fixed memory leaks with the event queues and sticker sets ([https://github.com/Javacord/Javacord/pull/1045](https://togithub.com/Javacord/Javacord/pull/1045))
- Fixed issues with updates for uncached roles ([https://github.com/Javacord/Javacord/pull/942](https://togithub.com/Javacord/Javacord/pull/942))
##### Breaking Changes
- Removed outdated server features ([https://github.com/Javacord/Javacord/pull/1096](https://togithub.com/Javacord/Javacord/pull/1096))
- Removed `has(Boost|Join)MessagesEnabled` methods from `Server` ([https://github.com/Javacord/Javacord/pull/1096](https://togithub.com/Javacord/Javacord/pull/1096))
- Extracted thread metadata into separate `ThreadMetadata` class ([https://github.com/Javacord/Javacord/pull/1094](https://togithub.com/Javacord/Javacord/pull/1094))
- Changed signature of `MessageEditEvent` to now give two `Message` instances for comparison ([https://github.com/Javacord/Javacord/pull/1051](https://togithub.com/Javacord/Javacord/pull/1051))
- Removed description parameters for context menu commands ([https://github.com/Javacord/Javacord/pull/1049](https://togithub.com/Javacord/Javacord/pull/1049))
- Stickers are no longer shared across shards ([https://github.com/Javacord/Javacord/pull/1045](https://togithub.com/Javacord/Javacord/pull/1045))
- Changed return types from collections to more appropriate types across the API ([https://github.com/Javacord/Javacord/pull/974](https://togithub.com/Javacord/Javacord/pull/974))
- Changed Application ownership return types ([https://github.com/Javacord/Javacord/pull/968](https://togithub.com/Javacord/Javacord/pull/968))
- Removed deprecated `addFile` methods ([https://github.com/Javacord/Javacord/pull/925](https://togithub.com/Javacord/Javacord/pull/925))
### [`v3.5.0`](https://togithub.com/Javacord/Javacord/releases/tag/v3.5.0)
**‼️ Java Update in Early 2023 ‼️**
*Starting in early 2023, support for Java 8 will be discontinued and Java 11 will be the new minimum requirement for using Javacord.
If you are not yet running Java 11+, we strongly recommend that you upgrade before the end of this year.*
### 📦 Download
#### Using a Build Manager
##### Gradle
```groovy
repositories { mavenCentral() }
dependencies { implementation 'org.javacord:javacord:3.5.0' }
```
##### Maven
```xml
org.javacordjavacord3.5.0pom
```
##### Sbt
```scala
libraryDependencies ++= Seq("org.javacord" % "javacord" % "3.5.0")
```
### 📋 Changelog
Highlights in this release:
- Added support for new slash command permissions
- Added support for interaction locales
- Added support for server timeouts
- Added support for slash command attachment options
##### Improvements
- Added `UserFlag#CERTIFIED_MODERATOR` and `UserFlag#BOT_HTTP_INTERACTIONS` ([https://github.com/Javacord/Javacord/pull/762](https://togithub.com/Javacord/Javacord/pull/762))
- Added locales for interactions ([https://github.com/Javacord/Javacord/pull/947](https://togithub.com/Javacord/Javacord/pull/947))
- Improved BotInviteBuilder ([https://github.com/Javacord/Javacord/pull/957](https://togithub.com/Javacord/Javacord/pull/957))
- Added Modal interactions ([https://github.com/Javacord/Javacord/pull/962](https://togithub.com/Javacord/Javacord/pull/962))
- Added support for server timeouts ([https://github.com/Javacord/Javacord/pull/948](https://togithub.com/Javacord/Javacord/pull/948))
- Added support for disabling event dispatching ([https://github.com/Javacord/Javacord/pull/986](https://togithub.com/Javacord/Javacord/pull/986))
- Added support for ban pagination ([https://github.com/Javacord/Javacord/pull/993](https://togithub.com/Javacord/Javacord/pull/993))
- Added ActivityFlag ([https://github.com/Javacord/Javacord/pull/996](https://togithub.com/Javacord/Javacord/pull/996))
- Added missing/new Activity fields ([https://github.com/Javacord/Javacord/pull/1000](https://togithub.com/Javacord/Javacord/pull/1000))
- Added support for editing slash commands without a server instance ([https://github.com/Javacord/Javacord/pull/1001](https://togithub.com/Javacord/Javacord/pull/1001))
- Added `MessageType#THREAD_CREATED` ([https://github.com/Javacord/Javacord/pull/1008](https://togithub.com/Javacord/Javacord/pull/1008))
- Updated dependencies ([https://github.com/Javacord/Javacord/pull/944](https://togithub.com/Javacord/Javacord/pull/944), [https://github.com/Javacord/Javacord/pull/1013](https://togithub.com/Javacord/Javacord/pull/1013))
- Added dummy implementation for forum channels ([https://github.com/Javacord/Javacord/pull/1009](https://togithub.com/Javacord/Javacord/pull/1009))
- Added unknown channels to prevent errors for newly introduced channels ([https://github.com/Javacord/Javacord/pull/1009](https://togithub.com/Javacord/Javacord/pull/1009))
- Added support for slash command attachment options ([https://github.com/Javacord/Javacord/pull/1015](https://togithub.com/Javacord/Javacord/pull/1015))
- Added support for new slash command permissions ([https://github.com/Javacord/Javacord/pull/1004](https://togithub.com/Javacord/Javacord/pull/1004), [https://github.com/Javacord/Javacord/pull/1027](https://togithub.com/Javacord/Javacord/pull/1027))
##### Bugfixes
- Fixed `ServerTextChannel#hasSlowmode()` ([https://github.com/Javacord/Javacord/pull/731](https://togithub.com/Javacord/Javacord/pull/731))
- Fixed `SlashCommandInteraction` not properly parsing resolved users ([https://github.com/Javacord/Javacord/pull/953](https://togithub.com/Javacord/Javacord/pull/953))
- Fixed exception when guilds are missing voice states ([https://github.com/Javacord/Javacord/pull/929](https://togithub.com/Javacord/Javacord/pull/929))
- Fixed `DiscordApi#getMessageById(...)` returning cached messages from other channels ([https://github.com/Javacord/Javacord/pull/963](https://togithub.com/Javacord/Javacord/pull/963))
- Fixed `ServerThreadChannelBuilder#setInvitableFlag(...)` ([https://github.com/Javacord/Javacord/pull/966](https://togithub.com/Javacord/Javacord/pull/966))
- Fixed audit log reason not supporting non-ASCII characters ([https://github.com/Javacord/Javacord/pull/971](https://togithub.com/Javacord/Javacord/pull/971))
- Fixed webhooks and interactions consuming global ratelimits ([https://github.com/Javacord/Javacord/pull/972](https://togithub.com/Javacord/Javacord/pull/972))
- Fixed `DiscordApi#hasAllUsersInCache()` ([https://github.com/Javacord/Javacord/pull/975](https://togithub.com/Javacord/Javacord/pull/975))
- Fixed exception when no `nsfw` field is present in channel category updates ([https://github.com/Javacord/Javacord/pull/981](https://togithub.com/Javacord/Javacord/pull/981))
- Fixed `Server#getBans(...)` only returning the latest 1000 bans ([https://github.com/Javacord/Javacord/pull/993](https://togithub.com/Javacord/Javacord/pull/993))
- Fixed unwanted log message ([https://github.com/Javacord/Javacord/pull/1002](https://togithub.com/Javacord/Javacord/pull/1002))
- Fixed wrong initial mute and deafen member state ([https://github.com/Javacord/Javacord/pull/736](https://togithub.com/Javacord/Javacord/pull/736))
- Fixed exception for servers with forum channels ([https://github.com/Javacord/Javacord/pull/1009](https://togithub.com/Javacord/Javacord/pull/1009))
- Fixed duplicate message object creation for messages with attachments ([https://github.com/Javacord/Javacord/pull/1017](https://togithub.com/Javacord/Javacord/pull/1017))
- Fixed AssertionError for ServerThreadChannels ([https://github.com/Javacord/Javacord/pull/1029](https://togithub.com/Javacord/Javacord/pull/1029))
##### Breaking Changes
- Removed `UserFlag#SYSTEM` and renamed others ([https://github.com/Javacord/Javacord/pull/762](https://togithub.com/Javacord/Javacord/pull/762))
- Removed deprecared methods in `Message`, `LocalRatelimiter`, and `SlashCommandInteractionOptionsProvider` ([https://github.com/Javacord/Javacord/pull/847](https://togithub.com/Javacord/Javacord/pull/847), [https://github.com/Javacord/Javacord/pull/882](https://togithub.com/Javacord/Javacord/pull/882))
- Removed `SafeSpecializable` interface ([https://github.com/Javacord/Javacord/pull/880](https://togithub.com/Javacord/Javacord/pull/880))
- Renamed `Rename PermissionType#READ_MESSAGES` to `VIEW_CHANNEL` ([https://github.com/Javacord/Javacord/pull/952](https://togithub.com/Javacord/Javacord/pull/952))
- Removed support for broken and deprecared login with user accounts ([https://github.com/Javacord/Javacord/pull/576](https://togithub.com/Javacord/Javacord/pull/576))
- Removed `InteractionCallbackDataFlag` ([https://github.com/Javacord/Javacord/pull/961](https://togithub.com/Javacord/Javacord/pull/961))
- Changed return type of `Message#getMentionedChannels()` from `List` to `List` ([https://github.com/Javacord/Javacord/pull/1012](https://togithub.com/Javacord/Javacord/pull/1012))
- Removed support for old slash command permissions ([https://github.com/Javacord/Javacord/pull/1004](https://togithub.com/Javacord/Javacord/pull/1004))
### [`v3.4.0`](https://togithub.com/Javacord/Javacord/releases/tag/v3.4.0)
### 📦 Download
#### Using a Build Manager
##### Gradle
```groovy
repositories { mavenCentral() }
dependencies { implementation 'org.javacord:javacord:3.4.0' }
```
##### Maven
```xml
org.javacordjavacord3.4.0pom
```
##### Sbt
```scala
libraryDependencies ++= Seq("org.javacord" % "javacord" % "3.4.0")
```
#### Manually
The `javacord-3.4.0-shaded.jar` file contains Javacord and all its dependencies.
### 📋 Changelog
Highlights in this release:
- Added support for threads
- Added support for stickers
- Improved support for interactions / slash commands (context menus, autocomplete, ...)
- Many bugfixes
##### Improvements
- Added option to control user cache ([https://github.com/Javacord/Javacord/pull/816](https://togithub.com/Javacord/Javacord/pull/816))
- Add `Server#requestMember(long)` to get a server member by their user id ([https://github.com/Javacord/Javacord/pull/684](https://togithub.com/Javacord/Javacord/pull/684))
- All message components listeners are now attachable to messages ([https://github.com/Javacord/Javacord/pull/820](https://togithub.com/Javacord/Javacord/pull/820))
- Added `DiscordApi#getKnownCustomEmojiOrCreateCustomEmoji(...)` to get custom emojis from different shards ([https://github.com/Javacord/Javacord/pull/830](https://togithub.com/Javacord/Javacord/pull/830))
- Added ability to edit message with message builder ([https://github.com/Javacord/Javacord/pull/810](https://togithub.com/Javacord/Javacord/pull/810))
- Allow ephemeral deferred interaction responses ([https://github.com/Javacord/Javacord/pull/838](https://togithub.com/Javacord/Javacord/pull/838))
- Added disabled field for Button convenience methods ([https://github.com/Javacord/Javacord/pull/849](https://togithub.com/Javacord/Javacord/pull/849))
- Added missing methods to get the actual component ([https://github.com/Javacord/Javacord/pull/850](https://togithub.com/Javacord/Javacord/pull/850))
- Added support for number slash command option type ([https://github.com/Javacord/Javacord/pull/852](https://togithub.com/Javacord/Javacord/pull/852), [https://github.com/Javacord/Javacord/pull/919](https://togithub.com/Javacord/Javacord/pull/919))
- Remove members from cache when the bot leaves the server ([https://github.com/Javacord/Javacord/pull/855](https://togithub.com/Javacord/Javacord/pull/855))
- Use 64 bit for permission bitmask ([https://github.com/Javacord/Javacord/pull/861](https://togithub.com/Javacord/Javacord/pull/861))
- Added new permission types ([https://github.com/Javacord/Javacord/pull/862](https://togithub.com/Javacord/Javacord/pull/862))
- Added `MessageAttachment#isEphemeral()` ([https://github.com/Javacord/Javacord/pull/870](https://togithub.com/Javacord/Javacord/pull/870))
- Added new appender types to the MessageBuilder ([https://github.com/Javacord/Javacord/pull/869](https://togithub.com/Javacord/Javacord/pull/869))
- The `GUILD` intent is now automatically set ([https://github.com/Javacord/Javacord/pull/868](https://togithub.com/Javacord/Javacord/pull/868))
- Added new audit log action types ([https://github.com/Javacord/Javacord/pull/872](https://togithub.com/Javacord/Javacord/pull/872))
- Allow voice self-states to be set directly on connect ([https://github.com/Javacord/Javacord/pull/877](https://togithub.com/Javacord/Javacord/pull/877))
- `DiscordApi#disconnect()` now returns a future ([https://github.com/Javacord/Javacord/pull/884](https://togithub.com/Javacord/Javacord/pull/884))
- Added support for threads ([https://github.com/Javacord/Javacord/pull/864](https://togithub.com/Javacord/Javacord/pull/864), [https://github.com/Javacord/Javacord/pull/905](https://togithub.com/Javacord/Javacord/pull/905), [https://github.com/Javacord/Javacord/pull/907](https://togithub.com/Javacord/Javacord/pull/907), [https://github.com/Javacord/Javacord/pull/930](https://togithub.com/Javacord/Javacord/pull/930))
- `MessageAuthor#getAvatar(...)` now accepts an optional size parameter ([https://github.com/Javacord/Javacord/pull/902](https://togithub.com/Javacord/Javacord/pull/902))
- Added support for stickers ([https://github.com/Javacord/Javacord/pull/904](https://togithub.com/Javacord/Javacord/pull/904))
- Added method to manually request members + ServerMembersChunkEvent ([https://github.com/Javacord/Javacord/pull/818](https://togithub.com/Javacord/Javacord/pull/818))
- Added support for min and max value setting of slash command options ([https://github.com/Javacord/Javacord/pull/891](https://togithub.com/Javacord/Javacord/pull/891))
- Update Log4J api version ([https://github.com/Javacord/Javacord/pull/922](https://togithub.com/Javacord/Javacord/pull/922))
- Added ServerThreadChannelUpdater and ServerThreadChannelBuilder ([https://github.com/Javacord/Javacord/pull/903](https://togithub.com/Javacord/Javacord/pull/903))
- Improved `MessageSet` to utilize performance-improvements from newer Stream methods like `Stream#takeWhile(...)` ([https://github.com/Javacord/Javacord/pull/938](https://togithub.com/Javacord/Javacord/pull/938))
- Added support for context menus ([https://github.com/Javacord/Javacord/pull/867](https://togithub.com/Javacord/Javacord/pull/867))
- Added support for autocomplete interactions ([https://github.com/Javacord/Javacord/pull/939](https://togithub.com/Javacord/Javacord/pull/939), [https://github.com/Javacord/Javacord/pull/943](https://togithub.com/Javacord/Javacord/pull/943), [https://github.com/Javacord/Javacord/pull/945](https://togithub.com/Javacord/Javacord/pull/945))
##### Bugfixes
- JavaDoc Fixes and Improvements ([https://github.com/Javacord/Javacord/pull/828](https://togithub.com/Javacord/Javacord/pull/828), [https://github.com/Javacord/Javacord/pull/854](https://togithub.com/Javacord/Javacord/pull/854), [https://github.com/Javacord/Javacord/pull/863](https://togithub.com/Javacord/Javacord/pull/863), [https://github.com/Javacord/Javacord/pull/875](https://togithub.com/Javacord/Javacord/pull/875), [https://github.com/Javacord/Javacord/pull/876](https://togithub.com/Javacord/Javacord/pull/876))
- Fixed incoming interaction in unknown DM channels ([https://github.com/Javacord/Javacord/pull/835](https://togithub.com/Javacord/Javacord/pull/835))
- Fixed MessageBuilder for messages with multiple embeds ([https://github.com/Javacord/Javacord/pull/837](https://togithub.com/Javacord/Javacord/pull/837))
- Fixed `User#getMutualServers()` ([https://github.com/Javacord/Javacord/pull/821](https://togithub.com/Javacord/Javacord/pull/821))
- Fixed `SlashCommandInteractionOption#getBooleanValue()` ([https://github.com/Javacord/Javacord/pull/841](https://togithub.com/Javacord/Javacord/pull/841))
- Changed `SlashCommandInteractionOption#isSubcommandOrGroup()` to check the string representation instead of string value ([https://github.com/Javacord/Javacord/pull/872](https://togithub.com/Javacord/Javacord/pull/872))
- Moved from deprecated "embed" field to "embeds" in UncachedMessageUtil ([https://github.com/Javacord/Javacord/pull/848](https://togithub.com/Javacord/Javacord/pull/848))
- Fixed message cache deadlock ([https://github.com/Javacord/Javacord/pull/860](https://togithub.com/Javacord/Javacord/pull/860))
- Fixed NPE in MessageBuilderBaseDelegateImpl when a list of embeds contains a null entry ([https://github.com/Javacord/Javacord/pull/913](https://togithub.com/Javacord/Javacord/pull/913))
- `ServerVoiceChannelEvent` now extends `ServerChannelEvent` ([https://github.com/Javacord/Javacord/pull/918](https://togithub.com/Javacord/Javacord/pull/918))
- Fixed NPE in `SlashCommandInteractionOptionImpl#getUserValue()` ([https://github.com/Javacord/Javacord/pull/921](https://togithub.com/Javacord/Javacord/pull/921))
- Fixed NPE in SelectMenuInteractionImpl ([https://github.com/Javacord/Javacord/pull/926](https://togithub.com/Javacord/Javacord/pull/926))
- Added missing interfaces to `SelectMenuChooseEvent` and `ServerChangeRulesChannelEvent` ([https://github.com/Javacord/Javacord/pull/936](https://togithub.com/Javacord/Javacord/pull/936))
- Replaced hard coded discord CDN with the already static defined ([https://github.com/Javacord/Javacord/pull/886](https://togithub.com/Javacord/Javacord/pull/886))
- Add methods to prevent ambiguous methods for `sendMessage(...)` variants ([https://github.com/Javacord/Javacord/pull/912](https://togithub.com/Javacord/Javacord/pull/912))
- Fixed method signatures of bulk overwrite application command methods ([https://github.com/Javacord/Javacord/pull/940](https://togithub.com/Javacord/Javacord/pull/940))
##### Breaking Changes
- Changed return type of `User#getMutualServers()` from `Collection` to `Set` ([https://github.com/Javacord/Javacord/pull/821](https://togithub.com/Javacord/Javacord/pull/821))
- Changed message methods that take embed as argument only to needing an array of embeds ([https://github.com/Javacord/Javacord/pull/856](https://togithub.com/Javacord/Javacord/pull/856), [https://github.com/Javacord/Javacord/pull/873](https://togithub.com/Javacord/Javacord/pull/873))
- Removed `MessageComponentInteractionBase#getMessageId()` ([https://github.com/Javacord/Javacord/pull/846](https://togithub.com/Javacord/Javacord/pull/846))
- Changed return type of `MessageComponentInteractionBase#getMessage()` from `Optional` to `Message` ([https://github.com/Javacord/Javacord/pull/846](https://togithub.com/Javacord/Javacord/pull/846))
- `InteractionMessageBuilder#setFlags(...)` now expects `InteractionCallbackDataFlag` instead of `MessageFlags` enums as parameters ([https://github.com/Javacord/Javacord/pull/871](https://togithub.com/Javacord/Javacord/pull/871))
- Changed return type of `DiscordApi#disconnect()` from `void` to `CompletableFuture` ([https://github.com/Javacord/Javacord/pull/884](https://togithub.com/Javacord/Javacord/pull/884))
- Changed return type of `ChannelCategory#getChannels()` from `List` to `List` ([https://github.com/Javacord/Javacord/pull/864](https://togithub.com/Javacord/Javacord/pull/864))
- Moved position related methods from `ServerChannel` to `RegularServerChannel` (Threads do not have a position) ([https://github.com/Javacord/Javacord/pull/864](https://togithub.com/Javacord/Javacord/pull/864))
- Replaced `SlashCommandInteractionOption#getIntValue()` with `SlashCommandInteractionOption#getLongValue()` and `SlashCommandOptionChoiceBuilderDelegate#setValue(int)` with `SlashCommandOptionChoiceBuilderDelegate#setValue(long)` ([https://github.com/Javacord/Javacord/pull/899](https://togithub.com/Javacord/Javacord/pull/899))
- Fixed inconsistent slash command option naming ([https://github.com/Javacord/Javacord/pull/919](https://togithub.com/Javacord/Javacord/pull/919))
- Moved `canCreateInstantInvite` and permission methods from the `ServerChannel` to the new `RegularServerChannel` ([https://github.com/Javacord/Javacord/pull/903](https://togithub.com/Javacord/Javacord/pull/903))
- Moved permission methods from `ServerChannel[Updater|Builder]` to `RegularServerChannel[Updater|Builder]` ([https://github.com/Javacord/Javacord/pull/903](https://togithub.com/Javacord/Javacord/pull/903))
##### Deprecations
- Deprecated `MessageBuilder#addFile(...)` in favor of `MessageBuilder#addAttachment(...)`
- Deprecated `SlashCommandInteractionOptionsProvider#get[First|Second|Third]Option[Boolean|Long|User|...]Value()` in favor of `getOption[Boolean|Long|User|...]ValueByIndex(...)`
### [`v3.3.2`](https://togithub.com/Javacord/Javacord/releases/tag/v3.3.2)
### 📦 Download
#### Using a Build Manager
##### Gradle
```groovy
repositories { mavenCentral() }
dependencies { implementation 'org.javacord:javacord:3.3.2' }
```
##### Maven
```xml
org.javacordjavacord3.3.2pom
```
##### Sbt
```scala
libraryDependencies ++= Seq("org.javacord" % "javacord" % "3.3.2")
```
#### Manually
The `javacord-3.3.2-shaded.jar` file contains Javacord and all its dependencies.
### 📋 Changelog
This version includes an important fix for slash commands and adds support for select menus.
##### Improvements
- Add support for select menus ([https://github.com/Javacord/Javacord/pull/800](https://togithub.com/Javacord/Javacord/pull/800))
##### Bugfixes
- Fix slash commands in private channels and buggy ephemeral messages([https://github.com/Javacord/Javacord/pull/801](https://togithub.com/Javacord/Javacord/pull/801))
### [`v3.3.1`](https://togithub.com/Javacord/Javacord/releases/tag/v3.3.1)
### 📦 Download
#### Using a Build Manager
##### Gradle
```groovy
repositories { mavenCentral() }
dependencies { implementation 'org.javacord:javacord:3.3.1' }
```
##### Maven
```xml
org.javacordjavacord3.3.1pom
```
##### Sbt
```scala
libraryDependencies ++= Seq("org.javacord" % "javacord" % "3.3.1")
```
#### Manually
The `javacord-3.3.1-shaded.jar` file contains Javacord and all its dependencies.
### 📋 Changelog
This version adds support for slash commands, buttons, and many other smaller features.
It also includes various bugfixes.
##### Improvements
- Add support for slash commands ([https://github.com/Javacord/Javacord/issues/672](https://togithub.com/Javacord/Javacord/issues/672), [https://github.com/Javacord/Javacord/pull/793](https://togithub.com/Javacord/Javacord/pull/793), [https://github.com/Javacord/Javacord/pull/792](https://togithub.com/Javacord/Javacord/pull/792), [https://github.com/Javacord/Javacord/pull/791](https://togithub.com/Javacord/Javacord/pull/791), [https://github.com/Javacord/Javacord/pull/787](https://togithub.com/Javacord/Javacord/pull/787), [https://github.com/Javacord/Javacord/pull/786](https://togithub.com/Javacord/Javacord/pull/786), [https://github.com/Javacord/Javacord/pull/777](https://togithub.com/Javacord/Javacord/pull/777), [https://github.com/Javacord/Javacord/pull/779](https://togithub.com/Javacord/Javacord/pull/779), [https://github.com/Javacord/Javacord/pull/776](https://togithub.com/Javacord/Javacord/pull/776), [https://github.com/Javacord/Javacord/pull/768](https://togithub.com/Javacord/Javacord/pull/768), [https://github.com/Javacord/Javacord/pull/774](https://togithub.com/Javacord/Javacord/pull/774), [https://github.com/Javacord/Javacord/pull/739](https://togithub.com/Javacord/Javacord/pull/739), [https://github.com/Javacord/Javacord/pull/773](https://togithub.com/Javacord/Javacord/pull/773), [https://github.com/Javacord/Javacord/pull/750](https://togithub.com/Javacord/Javacord/pull/750), [https://github.com/Javacord/Javacord/pull/675](https://togithub.com/Javacord/Javacord/pull/675))
- You can find more information in the new wiki article for slash commands: [Slash Commands](https://javacord.org/wiki/basic-tutorials/interactions/commands.html)
- Add support for buttons ([https://github.com/Javacord/Javacord/pull/758](https://togithub.com/Javacord/Javacord/pull/758), [https://github.com/Javacord/Javacord/pull/775](https://togithub.com/Javacord/Javacord/pull/775))
- You can find more information in the new wiki article for buttons: [Buttons](https://javacord.org/wiki/basic-tutorials/interactions/components.html)
- Add support for membership screening pending status ([https://github.com/Javacord/Javacord/pull/790](https://togithub.com/Javacord/Javacord/pull/790))
- Add support for sending multiple embeds ([https://github.com/Javacord/Javacord/pull/789](https://togithub.com/Javacord/Javacord/pull/789))
- Add support for server NSFW levels ([https://github.com/Javacord/Javacord/pull/785](https://togithub.com/Javacord/Javacord/pull/785))
- Add support for role tags ([https://github.com/Javacord/Javacord/pull/738](https://togithub.com/Javacord/Javacord/pull/738))
##### Bugfixes
- Fix NullPointerExceptions in event dispatcher ([https://github.com/Javacord/Javacord/pull/698](https://togithub.com/Javacord/Javacord/pull/698))
- Fix incoming webhooks without a token ([https://github.com/Javacord/Javacord/pull/778](https://togithub.com/Javacord/Javacord/pull/778))
- Fix issue for message references without a message id ([https://github.com/Javacord/Javacord/pull/782](https://togithub.com/Javacord/Javacord/pull/782))
- Use millisecond precision for Cloudfare ratelimits ([https://github.com/Javacord/Javacord/pull/756](https://togithub.com/Javacord/Javacord/pull/756))
- Fix broken `UserChangeXyz` events ([https://github.com/Javacord/Javacord/pull/742](https://togithub.com/Javacord/Javacord/pull/742))
- Fix unwanted request identify ratelimit on resume ([https://github.com/Javacord/Javacord/pull/694](https://togithub.com/Javacord/Javacord/pull/694))
- Fix settings of default global ratelimiter ([https://github.com/Javacord/Javacord/pull/749](https://togithub.com/Javacord/Javacord/pull/749))
- Fix broken channel update handler for server news channels ([https://github.com/Javacord/Javacord/pull/743](https://togithub.com/Javacord/Javacord/pull/743))
##### Deprecations
- `Message#getReferencedMessageId()` has been deprecated in favor of `Message#getMessageReference()` ([https://github.com/Javacord/Javacord/pull/782](https://togithub.com/Javacord/Javacord/pull/782))
### [`v3.3.0`](https://togithub.com/Javacord/Javacord/releases/tag/v3.3.0)
### 📦 Download
#### Using a Build Manager
##### Gradle
```groovy
repositories { mavenCentral() }
dependencies { implementation 'org.javacord:javacord:3.3.0' }
```
##### Maven
```xml
org.javacordjavacord3.3.0pom
```
##### Sbt
```scala
libraryDependencies ++= Seq("org.javacord" % "javacord" % "3.3.0")
```
#### Manually
The `javacord-3.3.0-shaded.jar` file contains Javacord and all its dependencies.
### 📋 Changelog
##### Improvements
- Add new message types ([https://github.com/Javacord/Javacord/pull/730](https://togithub.com/Javacord/Javacord/pull/730))
##### Bugfixes
- Fix broken message create events for private messages ([https://github.com/Javacord/Javacord/pull/708](https://togithub.com/Javacord/Javacord/pull/708))
- Fix broken update events for users ([https://github.com/Javacord/Javacord/pull/685](https://togithub.com/Javacord/Javacord/pull/685))
##### Breaking Changes
- `PrivateCHannel#getRecipient()` now returns an `Optional`
### [`v3.2.0`](https://togithub.com/Javacord/Javacord/releases/tag/v3.2.0)
### 📦 Download
#### Using a Build Manager
##### Gradle
```groovy
repositories { mavenCentral() }
dependencies { implementation 'org.javacord:javacord:3.2.0' }
```
##### Maven
```xml
org.javacordjavacord3.2.0pom
```
##### Sbt
```scala
libraryDependencies ++= Seq("org.javacord" % "javacord" % "3.2.0")
```
#### Manually
The `javacord-3.2.0-shaded.jar` file contains Javacord and all its dependencies.
### 📋 Changelog
⚠️
**It is recommended to update your bot or your might experience issues with servers that have the new stage channels**
⚠️
##### Improvements
- Allow sending messages to webhooks ([https://github.com/Javacord/Javacord/pull/573](https://togithub.com/Javacord/Javacord/pull/573))
- Improve allowed mentions ([https://github.com/Javacord/Javacord/pull/587](https://togithub.com/Javacord/Javacord/pull/587)).
- Add methods to get the target of an invite ([https://github.com/Javacord/Javacord/pull/616](https://togithub.com/Javacord/Javacord/pull/616))
- Add `Message#getNonce()` ([https://github.com/Javacord/Javacord/pull/650](https://togithub.com/Javacord/Javacord/pull/650))
- Update to latest Gateway and REST endpoints ([https://github.com/Javacord/Javacord/pull/679](https://togithub.com/Javacord/Javacord/pull/679))
- Add support for replies ([https://github.com/Javacord/Javacord/pull/679](https://togithub.com/Javacord/Javacord/pull/679))
- Editing a message now returns the message ([https://github.com/Javacord/Javacord/pull/650](https://togithub.com/Javacord/Javacord/pull/650))
- Add `Message#crossPost()` ([https://github.com/Javacord/Javacord/pull/650](https://togithub.com/Javacord/Javacord/pull/650))
- Add methods to ban a user by their id ([https://github.com/Javacord/Javacord/pull/667](https://togithub.com/Javacord/Javacord/pull/667))
- Add basic support for new stage channel type ([https://github.com/Javacord/Javacord/pull/726](https://togithub.com/Javacord/Javacord/pull/726))
- Add support for multiple activities ([https://github.com/Javacord/Javacord/pull/692](https://togithub.com/Javacord/Javacord/pull/692))
##### Breaking Changes
- `Icon#asInputStream` now returns an InputStream directly instead of a future ([https://github.com/Javacord/Javacord/pull/448](https://togithub.com/Javacord/Javacord/pull/448))
- `AllowedMentions#getAllowedRoleMentions()` and `#getAllowedUserMentions` now return an `Optional>` instead of `List` ([https://github.com/Javacord/Javacord/pull/587](https://togithub.com/Javacord/Javacord/pull/587))
- Removed `AllowedMentionsgetGeneralMentions()`
- Changed return type of `RichInvite#getInviter()` to `Optional` moved it to `Invite#getInviter()` ([https://github.com/Javacord/Javacord/pull/616](https://togithub.com/Javacord/Javacord/pull/616))
- Editing a message now returns `CompletableFuture` instead of `CompletableFuture` ([https://github.com/Javacord/Javacord/pull/650](https://togithub.com/Javacord/Javacord/pull/650))
- `Webhook#getToken()` was moved to `IncomingWebhook` and now returns `String` ([https://github.com/Javacord/Javacord/pull/573](https://togithub.com/Javacord/Javacord/pull/573))
##### Bugfixes
- Fix exception for servers with stage channels ([https://github.com/Javacord/Javacord/pull/726](https://togithub.com/Javacord/Javacord/pull/726))
- Fix privacy logger for empty tokens ([https://github.com/Javacord/Javacord/pull/656](https://togithub.com/Javacord/Javacord/pull/656))
- Add missing server features ([https://github.com/Javacord/Javacord/pull/723](https://togithub.com/Javacord/Javacord/pull/723))
### [`v3.1.2`](https://togithub.com/Javacord/Javacord/releases/tag/v3.1.2)
### 📦 Download
#### Using a Build Manager
##### Gradle
```groovy
repositories { mavenCentral() }
dependencies { implementation 'org.javacord:javacord:3.1.2' }
```
##### Maven
```xml
org.javacordjavacord3.1.2pom
```
##### Sbt
```scala
libraryDependencies ++= Seq("org.javacord" % "javacord" % "3.1.2")
```
#### Manually
The `javacord-3.1.2-shaded.jar` file contains Javacord and all its dependencies.
### 📋 Changelog
##### Improvements
- Added `Server#requestOwner()` method ([https://github.com/Javacord/Javacord/pull/639](https://togithub.com/Javacord/Javacord/pull/639))
- Added `ActivityType.COMPETING` ([https://github.com/Javacord/Javacord/pull/645](https://togithub.com/Javacord/Javacord/pull/645))
- Added `User#getUserFlags()` (i.e., badges) ([https://github.com/Javacord/Javacord/pull/637](https://togithub.com/Javacord/Javacord/pull/637))
- Added events for invite creation and deletion ([https://github.com/Javacord/Javacord/pull/644](https://togithub.com/Javacord/Javacord/pull/644))
- Added utility method to convert a message's content to a readable string without access to the message object ([https://github.com/Javacord/Javacord/pull/640](https://togithub.com/Javacord/Javacord/pull/640))
##### Bugfixes
- Added missing/new websocket close codes ([https://github.com/Javacord/Javacord/pull/646](https://togithub.com/Javacord/Javacord/pull/646))
- Fixed multiple role related issue ([https://github.com/Javacord/Javacord/pull/640](https://togithub.com/Javacord/Javacord/pull/640))
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 has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
3.1.1
->3.8.0
Release Notes
Javacord/Javacord (org.javacord:javacord)
### [`v3.8.0`](https://togithub.com/Javacord/Javacord/releases/tag/v3.8.0) **‼️ Java Update in SOON™ ‼️** *Starting in early 2023, support for Java 8 will be discontinued and Java 11 will be the new minimum requirement for using Javacord. If you are not yet running Java 11+, we strongly recommend that you upgrade before the end of this year.* ### 📦 Download #### Using a Build Manager ##### Gradle ```groovy repositories { mavenCentral() } dependencies { implementation 'org.javacord:javacord:3.8.0' } ``` ##### Maven ```xml>` instead of `List` ([https://github.com/Javacord/Javacord/pull/587](https://togithub.com/Javacord/Javacord/pull/587))
- Removed `AllowedMentionsgetGeneralMentions()`
- Changed return type of `RichInvite#getInviter()` to `Optional` moved it to `Invite#getInviter()` ([https://github.com/Javacord/Javacord/pull/616](https://togithub.com/Javacord/Javacord/pull/616))
- Editing a message now returns `CompletableFuture` instead of `CompletableFuture` ([https://github.com/Javacord/Javacord/pull/650](https://togithub.com/Javacord/Javacord/pull/650))
- `Webhook#getToken()` was moved to `IncomingWebhook` and now returns `String` ([https://github.com/Javacord/Javacord/pull/573](https://togithub.com/Javacord/Javacord/pull/573))
##### Bugfixes
- Fix exception for servers with stage channels ([https://github.com/Javacord/Javacord/pull/726](https://togithub.com/Javacord/Javacord/pull/726))
- Fix privacy logger for empty tokens ([https://github.com/Javacord/Javacord/pull/656](https://togithub.com/Javacord/Javacord/pull/656))
- Add missing server features ([https://github.com/Javacord/Javacord/pull/723](https://togithub.com/Javacord/Javacord/pull/723))
### [`v3.1.2`](https://togithub.com/Javacord/Javacord/releases/tag/v3.1.2)
### 📦 Download
#### Using a Build Manager
##### Gradle
```groovy
repositories { mavenCentral() }
dependencies { implementation 'org.javacord:javacord:3.1.2' }
```
##### Maven
```xml
org.javacord
javacord
3.1.2
pom
```
##### Sbt
```scala
libraryDependencies ++= Seq("org.javacord" % "javacord" % "3.1.2")
```
#### Manually
The `javacord-3.1.2-shaded.jar` file contains Javacord and all its dependencies.
### 📋 Changelog
##### Improvements
- Added `Server#requestOwner()` method ([https://github.com/Javacord/Javacord/pull/639](https://togithub.com/Javacord/Javacord/pull/639))
- Added `ActivityType.COMPETING` ([https://github.com/Javacord/Javacord/pull/645](https://togithub.com/Javacord/Javacord/pull/645))
- Added `User#getUserFlags()` (i.e., badges) ([https://github.com/Javacord/Javacord/pull/637](https://togithub.com/Javacord/Javacord/pull/637))
- Added events for invite creation and deletion ([https://github.com/Javacord/Javacord/pull/644](https://togithub.com/Javacord/Javacord/pull/644))
- Added utility method to convert a message's content to a readable string without access to the message object ([https://github.com/Javacord/Javacord/pull/640](https://togithub.com/Javacord/Javacord/pull/640))
##### Bugfixes
- Added missing/new websocket close codes ([https://github.com/Javacord/Javacord/pull/646](https://togithub.com/Javacord/Javacord/pull/646))
- Fixed multiple role related issue ([https://github.com/Javacord/Javacord/pull/640](https://togithub.com/Javacord/Javacord/pull/640))
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.
This PR has been generated by Mend Renovate. View repository job log here.