Releases: disgoorg/disgo
v0.19.2
What's Changed
- fix(component): update field name from 'value' to 'values' in CheckboxGroupComponent by @ikafly144 in #517
Full Changelog: v0.19.1...v0.19.2
v0.19.1
v0.19.0
v0.19.0
What's Changed
Note
This release includes support DAVE (E2EE voice) which will be required for all voice connections starting on March 1st 2026.
If you need help or found issues with our implementation please reach out to us via GitHub issues/discussions or our support server (see README.md for invite link).
For a basic example see: https://github.com/disgoorg/disgo/blob/v0.19.0/_examples/voice/main.go
Warning
This release includes breaking changes. Please review the Breaking Changes section below for details.
If you need help migrating please reach out to us via GitHub discussions or our support server (see README.md for invite link).
Added
- Added support for AVIF emojis by @sebm253 in #456
- Added role gradient colors by @sebm253 in #453
- Added guest invites by @sebm253 in #278
- Added guild tags by @sebm253 in #353
- Added ComponentEmoji constructors and builder methods by @DiabolusGX in #459
- Added ResumeShard method and ShardState struct to manage shard session and sequence by @topi314 in #460
- Added status check before sending to gateway by @topi314 in #462
- Added support for new
RATE_LIMITgateway event by @davfsa in #464 - Added ability to pass resume url for proper resume by @davfsa in #465
- Added support for selects in modals by @topi314 in #158
- Added new fields to CurrentMemberUpdate by @sebm253 in #474
- Added support for additional select menu components in modals by @topi314 in #469
- Added support for new voice encryption modes by @topi314 in #431
- Added transport compression by @davfsa in #476
- Added missing opts for cache config by @Readeem in #480
- Added FileUploadComponent for file uploads in modals by @topi314 in #481
- Added ResolvedData from ModalSubmitInteractionData to UnmarshalJSON by @ikafly144 in #482
- Added ability to pass custom CloseHandler to shard manager by @topi314 in #487
- Added customizable CloseHandler to gateway configuration by @topi314 in #488
- Added all known REST error codes by @merlinfuchs in #496
- Added community invites by @yokkkoso in #509
- Added DAVE by @davfsa & @topi314 in #507
- Added new pin endpoints by @sebm253 in #457
Fixed
- Fixed
Members.UpdateCurrentMemberto returndiscord.Memberby @norio-nomura in #458 - Fixed guild cache logic for unavailable states by @topi314 in #461
- Fixed ensure open returns on invalid session by @topi314 in #466
- Fixed identify rate limiting for gateway sharding by @topi314 in #467
- Fixed multiple gateway logic bugfixes by @davfsa in #468
- Fixed logical condition in ShardByGuildID method by @Qreepex in #470
- Fixed shard ID calculation during shard splitting by @topi314 in #472
- Fixed small component issues by @topi314 in #475
- Fixed voice example for DCA0 audio by @cactysman in #477
- Fixed close websocket connection before inflators by @davfsa in #485
- Fixed data race when opening shards by @apricotbucket28 in #484
- Fixed to only use JoinSnowflakes when array isn't empty by @merlinfuchs in #493
- Fixed to not omit zero attachment id by @merlinfuchs in #495
- Fixed to always immediately send initial heartbeat by @davfsa in #499
- Fixed to prevent immediately zombieing by @davfsa in #501
- Fixed gateway ratelimiter implementation by @davfsa in #500
- Fixed nil pointer dereference in flags checks by @davfsa in #504
- Fixed nil pointer dereference when failing to create client in voice example by @davfsa in #505
- Fixed Recipients not being public on dm channel by @Qreepex in #486
- Fixed before and after in GetEntitlementsParams not being snowflakes by @merlinfuchs in #492
Refactored
- Refactored connection management and simplified handleMessage function by @topi314 in #473
- Refactored to remove builders by @topi314 in #515
- Refactored DefaultAllowedMentions configuration by @TheKodeToad in #483
Removed
- Removed
testifydependency by @elisiei in #478 - Removed redundant map from route hashes by @merlinfuchs in #489
Breaking Changes
- Added support for DAVE (E2EE voice) via godave. Discord will require DAVE for all voice connections starting on March 1st 2026.
See: https://docs.discord.com/developers/change-log#deprecating-non-e2ee-voice-calls bot.Clientis now a struct instead of an interface.
Some methods have been converted to struct fields instead.- Removed MessageCreateBuilder, MessageUpdateBuilder, ModalCreateBuilder, WebhookMessageCreateBuilder & WebhookMessageUpdateBuilder. Use the methods on their base structs instead.
- Removed
discord.XCommandCreate,discord.XCommandUpdate,DMPermissionfield. Use theContextsfield instead. - Removed
discord.InteractionChannelIDmethod. UseChannelmethod instead. - Removed
discord.XInteractionCreatePremiumRequiredmethod. UseCreateMessageetc. withdiscord.ButtonStylePremiuminstead. - Removed
discord.IntentGuildEmojisAndStickersintent. Usediscord.IntentGuildExpressionsinstead. - Upgraded
github.com/disgoorg/jsontogithub.com/disgoorg/json/v2and addedgithub.com/disgoorg/omitfor nullable & optional handling. - Removed non context methods on
bot.MemberChunkingManager& renamed to removeCtxsuffix. Use the context versions instead. - Replaced cache
ForEach(func(entity T))withAll() iter.Seq[T]. gateway.Gatewat.Opennow blocks until the ready event.- Removed guild creation API as discord dropped support for it.
- Updated
rest.Errorto be returned as a pointer*rest.Errorinstead of a valuerest.Error. - Added support for components v2 which includes breaking changes to component interfaces.
- Removed global
discord.DefaultAllowedMentionsconfiguration. Userest.WithDefaultAllowedMentionsinstead.
New Contributors
- @norio-nomura made their first contribution in #458
- @DiabolusGX made their first contribution in #459
- @elisiei made their first contribution in #478
- @cactysman made their first contribution in #477
- @Readeem made their first contribution in #480
- @merlinfuchs made their first contribution in #489
- @TheKodeToad made their first contribution in #483
Full Changelog: v0.18.16...v0.19.0
v0.19.0-rc.15
What's Changed
Full Changelog: v0.19.0-rc.14...v0.19.0-rc.15
v0.19.0-rc.14
What's Changed
- Fixed nil pointer dereference in flags checks by @davfsa in #504
- Filter event recover stacktraces by @topi314 in 963757c
Full Changelog: v0.19.0-rc.13...v0.19.0-rc.14
v0.19.0-rc.13
What's Changed
- Added customizable
CloseHandlerto gateway configuration by @topi314 in #488 - Removed redundant map for route hashes by @merlinfuchs in #489
- Fixed to only use
JoinSnowflakeswhen array is't empty by @merlinfuchs in #493 - Fixed before and after params in
GetEntitlementsParamsby @merlinfuchs in #492 - Removed omitempty from attachment id by @merlinfuchs in #495
- Added better default allowed mentions configuration by @TheKodeToad in #483
- Added all known REST error codes by @merlinfuchs in #496
- Fixed prevent immediately zombieing by @davfsa in #501
- Fixed actually implement gateway ratelimiter by @davfsa in #500
- Finished heartbeat fixes by @davfsa in #502
New Contributors
- @merlinfuchs made their first contribution in #489
- @TheKodeToad made their first contribution in #483
Full Changelog: v0.19.0-rc.12...v0.19.0-rc.13
v0.19.0-rc.12
Full Changelog: v0.19.0-rc.11...v0.19.0-rc.12
v0.19.0-rc.11
What's Changed
- Added
ResolvedDatafromModalSubmitInteractionDatatoUnmarshalJSONby @ikafly144 in #482 - Fixed close websocket connection before inflators by @davfsa in #485
- Fixed prevent data race when opening shards by @apricotbucket28 in #484
- Fixed
Activity.ApplicationIDfailing to unmarshal when unquoted by @topi314 in e79e3c1
Full Changelog: v0.19.0-rc.10...v0.19.0-rc.11
v0.19.0-rc.10
Full Changelog: v0.19.0-rc.9...v0.19.0-rc.10
v0.19.0-rc.9
Full Changelog: v0.19.0-rc.8...v0.19.0-rc.9