Releases: kordlib/kord
Releases · kordlib/kord
0.7.4
0.7.3
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
0.7.1
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 thetts
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
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
0.7.0-RC2
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
andPermissions#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
returningStrategizable
. #233 - Fix serialization issues for
DiscordActivityPartySize
. #168 - Fix
Attachment#isImage
check. #172 - Fix
rpc_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
anddeaf
inVoiceStateData
. #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
0.7.0-RC
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
0.7.0-M2
Additions
- Re-added
values
inIntent
andIntents
. - 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
andGuildBehavior#RequestMembers
as a shortcut for theRequestGuildMembers
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
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 tocore
. #108 Kord#events
is now aSharedFlow
which can be configured viaKordBuilder#eventFlow
. #102Image
now supports image sizes that are common for Discord image resources. #98java.awt.Color
has been replaced withcom.gitlab.kordlib.common.Color
. #5core
Entities should have a meaningfultoString
representation. #88- Request builders no longer have
lateinit
fields, these are now required arguments in the builder DSLs. #108 Permissions
andIntents
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 amaxEmotes
field. #74- Added a
getDmChannelOrNull
toUserBehavior
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