8000 Releases · disgoorg/disgo · GitHub
[go: up one dir, main page]

Skip to content

Releases

v0.20.0

Choose a tag to compare

@topi314 topi314 released this 06 Nov 00:11
Immutable release. Only release title and notes can be modified.
04b75e6

Important

This release contains a fix for the GUILD_CREATE unmarshal crash, see: #644 & #645

What's Changed

Fixed

  • fix(discord): update to correct subscription status enum values by @kshitijanurag in #552
  • fix(voice): voice open without ChannelID by @sealbro in #551
  • fix(voice): improve voice connection handling and state management by @topi314 in #537
  • fix(guild): singular => plural tag by @vmphase in #564
  • fix(oauth2): encode permissions as bitfield in authorization url by @merlinfuchs in #571
  • fix(voice): close the conn when reopening after a close code fails by @thomas-vilte in #578
  • fix(voice): release SSRC lock before callbacks by @jovolopez in #582
  • fix: MemberCount being overwritten on guild update by @topi314 in #585
  • fix(voice): cap reconnect backoff at maximumConnectDelay by @thomas-vilte in #586
  • fix(voice): recover connections with fresh sessions by @kota113 in #587
  • fix(voice): detect RTP padding with the correct bit and strip it after decryption by @phpboyscout in #594
  • fix(voice): wait for both voice gateway events by @jovolopez in #580
  • fix(interaction): update ResolvedChannel schema by @vmphase in #565
  • fix(cdn_enpoints): avatar => banner for MemberBanner by @vmphase in #606
  • fix(audit-log): correct name for VoiceChannelStatusCreate (192) by @vmphase in #607
  • fix(webhook): add missing fields, edit nullable fields by @vmphase in #563
  • fix(AudioSender): Close opus provider by @AlexGuan123 in #612
  • fix(channel_create): default_auto(_archive_days) => (_archive_duration) by @vmphase in #620
  • fix(cache): evict threads of deleted channels by @vmphase in #624
  • fix(cache): apply the member overwrite after role overwrites by @yokkkoso in #630
  • fix(member): allow disconnecting a member from voice with MemberUpdate by @yokkkoso in #629
  • fix(voice): only dispatch GuildVoiceMove when the channel changes by @yokkkoso in #628
  • fix(gateway): populate member guild id in voice state update by @yokkkoso in #627
  • fix(voice): prevent gateway lock order deadlock by @kota113 in #588
  • fix(gateway): stop delivering buffered frames after the transport is closed by @topi314 in #634
  • fix(channel): omit unset forum and media slowmode by @fishonxd in #636
  • fix(rest): use /commands/ path for single command endpoints by @vmphase in #641
  • fix(rest): send with_user_count when fetching scheduled events by @vmphase in #642
  • fix(voice): don't spin the audio receiver while DAVE isn't ready by @thomas-vilte in #639
  • fix: log and ignore decoding errors from the gateway by @topi314 in #645
  • fix: decode unknown channel, overwrite, webhook, integration and command types instead of failing by @merlinfuchs in #644
  • fix: close the DAVE session when the conn is discarded by @thomas-vilte in #568
  • fix: use shared gateway already connected error by @thomas-vilte in #569
  • fix: don't materialise every unready guild id to test emptiness by @merlinfuchs in #619
  • fix: don't serialize every gateway event behind one global mutex by @merlinfuchs in #618
  • fix: don't tear down the decoder the read loop is still using by @merlinfuchs in #617

Added

Other

  • perf(log): skip building debug log bodies when debug is off by @merlinfuchs in #584
  • deprecate(connection): drop deprecated ConnectionTypeBattleNet by @vmphase in #614
  • deprecate(message): add deprecation comment to Message.Interaction by @vmphase in #616

New Contributors

Full Changelog: v0.19.6...v0.20.0

v0.19.6

Choose a tag to compare

@topi314 topi314 released this 07 Jun 09:43
de15e6a

What's Changed

  • fix(voice): nil-guard udpConnImpl.Close to prevent SIGSEGV on un-opened conn by @sealbro in #550

New Contributors

Full Changelog: v0.19.5...v0.19.6

v0.19.5

Choose a tag to compare

@topi314 topi314 released this 06 Jun 11:00
6964fdb

What's Changed

New Contributors

Full Changelog: v0.19.4...v0.19.5

v0.19.4

Choose a tag to compare

@topi314 topi314 released this 01 Jun 20:54
0fea91e

What's Changed

New Contributors

Full Changelog: v0.19.3...v0.19.4

v0.19.3

Choose a tag to compare

@topi314 topi314 released this 25 Mar 23:15
b764859

What's Changed

New Contributors

Full Changelog: v0.19.2...v0.19.3

v0.19.2

Choose a tag to compare

@topi314 topi314 released this 14 Feb 12:38
972eaa4

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

Choose a tag to compare

@topi314 topi314 released this 13 Feb 20:17
2ec1a37

What's Changed

  • feat: new RadioGroupComponent, CheckboxGroupComponent & CheckboxComponent by @topi314 in #510

Full Changelog: v0.19.0...v0.19.1

v0.19.0

Choose a tag to compare

@topi314 topi314 released this 12 Feb 19:43
733e186

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

Fixed

  • Fixed Members.UpdateCurrentMember to return discord.Member by @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

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.Client is 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, DMPermission field. Use the Contexts field instead.
  • Removed discord.Interaction ChannelID method. Use Channel method instead.
  • Removed discord.XInteractionCreate PremiumRequired method. Use CreateMessage etc. with discord.ButtonStylePremium instead.
  • Removed discord.IntentGuildEmojisAndStickers intent. Use discord.IntentGuildExpressions instead.
  • Upgraded github.com/disgoorg/json to github.com/disgoorg/json/v2 and added github.com/disgoorg/omit for nullable & optional handling.
  • Removed non context methods on bot.MemberChunkingManager & renamed to remove Ctx suffix. Use the context versions instead.
  • Replaced cache ForEach(func(entity T)) with All() iter.Seq[T].
  • gateway.Gatewat.Open now blocks until the ready event.
  • Removed guild creation API as discord dropped support for it.
  • Updated rest.Error to be returned as a pointer *rest.Error instead of a value rest.Error.
  • Added support for components v2 which includes breaking changes to component interfaces.
  • Removed global discord.DefaultAllowedMentions configuration. Use rest.WithDefaultAllowedMentions instead.

New Contributors

Full Changelog: v0.18.16...v0.19.0

v0.19.0-rc.15

v0.19.0-rc.15 Pre-release
Pre-release

Choose a tag to compare

@topi314 topi314 released this 06 Jan 23:37
a6614b0

What's Changed

  • Fixed gateway not reconnecting when gateway dial errors by @topi314 in d072b7c

Full Changelog: v0.19.0-rc.14...v0.19.0-rc.15

v0.19.0-rc.14

v0.19.0-rc.14 Pre-release
Pre-release

Choose a tag to compare

@topi314 topi314 released this 28 Dec 20:04
fa747a1

What's Changed

Full Changelog: v0.19.0-rc.13...v0.19.0-rc.14

0