Skip to content

Releases: kordlib/kord

0.7.4

20 Jul 17:42
e3d97c2
Compare
Choose a tag to compare

0.7.4

Changes

  • Promote user property in component interaction to a data object.

Fixes

  • Fixed ComponentInteraction#user throwing a NullPointerException when the interaction was created in a direct message.

0.7.3

08 Jul 12:42
df9ad86
Compare
Choose a tag to compare

0.7.3

Breaking

  • DiscordComponent
  • InteractionCallbackData
  • ApplicationInteractionData
  • ComponentData
  • CommandInteraction
  • OptionsBuilder
  • UpdateMessageInteractionResponseCreateBuilder
  • ComponentType

Additions

  • Add StoreEntitySupplier.
  • Add caching rest strategy.
  • Add cache-rest caching strategy.
  • Add select menus.

Fixes

  • Fix average ping conversion in MasterGateway.

Changes

  • Make UpdateMessageInteractionResponseCreateBuilder fields nullable.
  • type in option builders is now private

0.7.2

26 Jun 05:37
Compare
Choose a tag to compare

0.7.2

Additions

  • Allow adding a mentionable argument to commands

Changes

  • Make Intent.values a getter function.

Fixes

  • Mentionable arguments now correctly retrieve their entity.
  • Intent.values emitting null when filtering.

0.7.1

23 Jun 17:02
041723b
Compare
Choose a tag to compare

0.7.1

Breaking

  • BaseInteractionResponseBuilder
  • BaseInteractionResponseBuilder
  • BaseInteractionResponseModifyBuilder
  • EphemeralInteractionResponseModifyBuilder
  • PublicInteractionResponseModifyBuilder
  • MessageModifyBuilder
  • EditWebhookMessageBuilder
  • InteractionResponseModifyRequest
  • FollowupMessageBuilder
  • PublicFollowupMessageModifyBuilder
  • EphemeralFollowupMessageModifyBuilder
  • PublicFollowupMessageCreateBuilder
  • EphemeralFollowupMessageCreateBuilder
  • FollowupMessageModifyRequest
  • ComponentInteraction

Changes

  • Message-related builders have been changed to accept null (for non-collections) and "empty list" (for collections)
    when editing a message. This makes it possible to remove fields from a message without providing a substitution.
  • FollowupMessageBuilder no longer has the tts field, since it does not apply to all its subclasses.

Fixes

  • ActionRowComponent properly returns its children.
  • ComponentInteraction#button is now nullable as its documentation implies.

0.7.0

18 Jun 13:04
96157ef
Compare
Choose a tag to compare

0.7.0

Additions

  • Implement voice stage channel (#239)
  • Add "Competing" activity type (#272)
  • Add unsafe application commands behavior (#281)
  • Add buttons to Activity (#287)
  • Add Message.applicationId (#289)
  • Implement Stage instances (#291)
  • Add Message interaction (#283)
  • Add Ephemeral embed support (#296 #321)

Changes

  • Update deprecated message (#280)
  • Sealed message types (#282)
  • Improve slash command API and add support for components (#310 #294 #312 #324)
  • Live entities can define a parent job (#304)

Fixes

  • Close InputStreams used for attachments (#309 #296)
  • Make Updatestatus activities not-null (#274)
  • Fix GuildUpdate core handling (#284)

Performance

  • Fix memory issues related to Permission combining (#277)

Dependencies

  • kotlin 1.4.32 -> 1.5.10
  • kotlinxSerialization 1.1.0 -> 1.2.1
  • ktor 1.5.2 -> 1.6.0
  • kotlinxCoroutines = 1.4.2 -> 1.5.0
  • kotlinLogging 2.0.4 -> 2.0.6
  • atomicFu 0.15.1 -> 0.16.1
  • binaryCompatibilityValidator 0.4.0 -> 0.5.0
  • datetime 0.2.1

0.7.0-RC3

20 Apr 15:13
274e454
Compare
Choose a tag to compare
0.7.0-RC3 Pre-release
Pre-release

0.7.0-RC3

Fixes

  • Unhandled missing access when trying to get vanity url with the feature disabled. #264

0.7.0-RC2

19 Apr 11:30
Compare
Choose a tag to compare
0.7.0-RC2 Pre-release
Pre-release

0.7.0-RC2

Additions

  • Added slash commands support. #145 #201 #253 #249
  • Added core representation of templates #136
  • Added overloaded operations for Intents and Permissions. #152 #203
  • Added welcome screens. #141
  • Added Kord#getInvite. #143
  • Added pending property to member. #153
  • Added Kord functions to get webhooks. #232
  • Added ability to send a message through request. #184
  • Added extension methods for LiveEntity. #177
  • Added USE_SLASH_COMMANDS permission. #208
  • Added Permission#values and Permissions#values. #255
  • Added allowed mentions. #256
  • Added new webhook endpoints. #217
  • Added missing error codes. #250
  • Added Message#messageReference. #245

Fixes

  • Fix GuildBehavior#getWidgetOrNull #138
  • Fix nullity in builders. #135
  • Fix channelId nullity in UpdateVoiceState. #144
  • Fix provider nullity in embeds. #151
  • Fix WebhookType.Incoming incorrect value. #156
  • Fix DiscordErrorResponse inability to consume full input #162
  • Fix MessageCreateEvent#withStrategy returning Strategizable. #233
  • Fix serialization issues for DiscordActivityPartySize. #168
  • Fix Attachment#isImage check. #172
  • Fixrpc_origins being nullable instead of optional. #173
  • Fix LiveMessage not being shut down on bulk delete. #174
  • Fix Message#authorAsMember throwing if guild was not found. #178
  • Fix swapped mute and deaf in VoiceStateData. #188
  • Fix preview_asset not being optional. #206.
  • Fix parsing raw responses into Json. #205
  • Fix typos in webhook and welcome screen routes. #219 #220
  • Fix gateway 0 blocking other shard gateways from running. #194
  • Fix unhandled unknown channel types. #251

Changes

  • Allow controlling the number of total shards #196
  • Replaced invoke functions with top-level factory functions. #210
  • Allow multiple file upload. #247 #228 #229
  • Added missing contracts #243

Dependencies

  • kotlin 1.4.10 -> 1.4.32 #198
  • kotlinx.serialization 1.0.0 -> 1.1.0 #198
  • kotlinx.coroutines 1.4.0 -> 1.4.2 #198
  • kotlinx.atomicfu 0.14.4 -> 0.15.1 #198
  • kotlinx.binary-compatibility-validator 0.2.3 -> 0.4.0 #198
  • ktor 1.4.1 -> 1.5.2 #198
  • kotlin-logging 2.0.3 -> 2.0.4 #198

0.7.0-RC

04 Dec 10:45
Compare
Choose a tag to compare
0.7.0-RC Pre-release
Pre-release

0.7.0-RC

Additions

  • Added support for MessageSticker. #119
  • Added support for RoleTags. #119
  • Added GuildBehavior#getMembers. #119
  • Added the ability to move a channel under a category when moving channels. #119

Fixes

  • Fixed MemberBehavior#edit, now returning a member. #120
  • Gateway#on now allows suspending consumers.
  • Fixed GuildBehavior#editSelfNickname incorrectly parsing the response json. #125
  • Fixed getting user's avatar url. #128

Changes

  • VoiceServerUpdateEvent#endpoint is now nullable. #119
  • Moved com.gitlab.kord.common to dev.kord.common. #122
  • Moved com.gitlab.kord.rest to dev.kord.rest. #122
  • Moved com.gitlab.kord.gateway to dev.kord.gateway. #122
  • Moved com.gitlab.kord.core to dev.kord.core. #122

Removals

  • Removed deprecated API from 0.6.x.

0.7.0-M2

23 Nov 15:56
Compare
Choose a tag to compare
0.7.0-M2 Pre-release
Pre-release

0.7.0-M2

Additions

  • Re-added values in Intent and Intents.
  • Added support for inline replies and MessageBehavior#reply to quickly create a reply to a message. #110
  • Added a shortcut to create channels from a CategoryBehavior, giving them a parentId by default. #109
  • Added Gateway#requestMembers and GuildBehavior#RequestMembers as a shortcut for the RequestGuildMembers command.

Fixes

  • Fixed Color bug when converting from java.awt.Color with alpha. #114

Changes

  • Gateway reconnect retries reset on handshake. #68

0.7.0-M1

20 Nov 11:57
Compare
Choose a tag to compare
0.7.0-M1 Pre-release
Pre-release

0.7.0-M1

Discord V8 8️⃣☑️

This update migrates Kord to the Discord V8 API, users who mostly operate inside the core module
will probably not notice many changes, outside of intents now being a mandatory field.
An overview on what has officially changed can be found on Discord.

Optionals ❓

Kord now knows the difference between null and missing. Common, Gateway, Rest and Core's xData entities now make the distinction between a field that was not part of the json payload and one that was set as null. This means that requests will now also be able to properly serialize null when trying to 'unset' a value (like a member's nickname).

Snowflakes are no longer inline ❄️

Snowflake have graduated to proper classes and can now be serialized, which means we are now able to use them in lower levels of our API as well.

Changes

  • Updated API to Discord V8. #108
  • Introduced Optionals in lower level API and core xData classes. #108 #95
  • De-inlined Snowflake and implemented it into the lower level API. #108
  • Rewrote AuditLog and its child classes and introduced them to to core. #108
  • Kord#events is now a SharedFlow which can be configured via KordBuilder#eventFlow. #102
  • Image now supports image sizes that are common for Discord image resources. #98
  • java.awt.Color has been replaced with com.gitlab.kordlib.common.Color. #5
  • core Entities should have a meaningful toString representation. #88
  • Request builders no longer have lateinit fields, these are now required arguments in the builder DSLs. #108
  • Permissions and Intents now have more and easier constructors. #103

Additions

  • RestRequestException now holds a reference to an (optional) DiscordErrorResponse with a more specific error message and code.
  • PremiumTier now has a maxEmotes field. #74
  • Added a getDmChannelOrNull to UserBehavior to safely try and open a DmChannel with a user. #111

Fixes

  • GuildBehavior#getVanityUrl will now correctly return null when the guild does not have a vanity url.
  • Voice channels can now change their topic.

Dependencies

  • Kotlin 1.4.0 -> 1.4.10
  • ktor 1.4.0 -> 1.4.1
  • kotlinx.serialization 1.0.0-RC -> 1.0.0
  • kotlinx.coroutines 1.3.9 -> 1.4.0
  • kotlinLogging 1.7.10 -> 2.0.3