Skip to content

Releases: discord-net/Discord.Net

v3.15.0

11 May 23:04
9dd67b2
Compare
Choose a tag to compare

[3.15.0] - 2024-05-12

This release brings support for polls & related gateway events, new store features and a bunch of utility attributes for interaction & text command frameworks.

Important notes:

Known Issues

  • services.AddSingleton<InteractionService>(); may fail on this version, we are working on a fix. As a temporary solution do the following:
services.AddSingleton<IRestClientProvider>(x => x.GetRequiredService<DiscordSocketClient>());

replace DiscordSocketClient with DiscordShardedClient if you use one.

Added

Fixed

Misc

New Contributors

Full Changelog: 3.14.1...3.15.0

v3.14.0-v3.14.1

18 Mar 22:00
3.14.1
439d679
Compare
Choose a tag to compare

[3.14.1] - 2024-03-19

  • Fix Discord.Net assembly version

[3.14.0] - 2024-03-19

This release brings a bunch of new Discord feature as well as some fixes.
This release also brings initial support for User Apps.
Interaction framework example for user app commands is available on our docs.

Deprecation notes

Due to deprecation of these properties in the API the following parts of the library were marked as Obsolete:

  • IsEnabledInDm properties of application commands & their corresponding builders
    • ContextTypes should be used instead.
  • EnabledInDmAttribute
    • CommandContextTypesAttribute should be used instead.
  • IMessage.Interaction
    • IUserMessage.InteractionMetadata should be used istead.

Added

Fixed

  • #2866 Allow switching voice channels without disconnecting (external clients only) (5a62ba1)
  • #2857 Receiving voice packets (use system-assigned port) (1a16f4d)
  • #2850 NRE in automod audit logs (1eb7a53)
  • #2862 Fixed a bug when creating a SelectMenuBuilder from a SelectMenuComponent incorrectly set the CustomId (6870ac5)
  • Incorrect ConnectionState of a DiscordSocketClient casted to IDiscordClient/BaseSocketClient (955fae0)
  • #2867 InteractionService.AddModulesXAsync command duplication (2787db3)

Misc

v3.13.1

11 Feb 21:04
a198702
Compare
Choose a tag to compare

[3.13.1] - 2024-02-11

This release fixes a couple of bugs within the library and adds some new features.

Added

  • #2804 Add Incident actions message types (178ff58)
  • #2805 Add AppliedTags to DiscordWebhookClient.SendXAsync (d382e5c)
  • #2700 Optional Aliasses, Summary and Remarks Properties to CommandAttribute (5a8582c)
  • #2584 Log InteractionCommand execution exceptions in Wrapped Exception (0f0f3f7)
  • #2827 44 (Add message type 44) (541571c)
  • #2837 Allow creating announcement channels (f1777de)

Fixed

  • #2801 Add null check in SelectMenuBuilder (b18cc31)
  • #2813 Incorrect json model for Guild Scheduled Events (de4b6b9)
  • #2800 Warning about missing intents not being logged (8227d70)
  • #2818 GetEventCoverImageUrl throwing NRE in case event cover image is null (138e18c)

Misc

v3.13.0

18 Nov 21:59
4994053
Compare
Choose a tag to compare

[3.13.0] - 2023-11-18

This release adds a bunch of new Discord features into the library, as well as fixes some bugs.

Added

Fixed

  • #2758 Fixed Slash Command Localizations lost after AddCommandsToGuildAsync and deleteMissing = false (8d5022a)
  • #2759 Fixed missing null checks in RoleConnectionProperties (ab3b30d)
  • #2766 Fixed UpdateAsync Remove Attachment Bug (a668757)
  • #2763 Fixed SocketKickAuditLogData User never having value (5cfec05)
  • #2770 Fixed URL encode timestamps sent as query parameters (589c58a)
  • #2774 Fixed some IDiscordClient methods are not properly implemented in clients (8baf913)
  • #2789 Fixed multiline values in short TextInputs (33e8340)

Misc

  • #2739 Remove some unnecessary async/await (86655a8)
  • #2754 Replace Moq with NSubstitute for Mocking in GuildHelperTests (b988a18)
  • #2765 Use Discord heartbeat interval in audio. (9cedfbc)
  • #2771 Extract GetDisplayAvatarUrl in IUser (b1787d8)

v3.12.0

10 Aug 14:04
185ee7d
Compare
Choose a tag to compare

[3.12.0] - 2023-08-10

This release brings ease-of-life changes, bug fixes, and new methods for interacting with the Discord API.

Interaction changes

When deferring modals, if the model was a response to a slash command, the modal will be deferred with DeferredChannelMessageWithSource ; opposed to DeferredUpdateMessage which now allows proper deferration of modals (im making that a term now :D).

Added

  • #2644 Added ComponentBuilder component removal methods. (d5d7378)
  • #2668 Added a method for sending silent audio frames on OpusEncodeStream. (59094d2)
  • #2675 Added missing remove property to MemberRoleAudit. (5fb9152)
  • #2720 Added role & attachment flags (a421715)
  • #2723 Added missing properties to webhook implementation (2b8584d)
  • #2729 Added new onboarding methods/properties (8cd4c1c)
  • #2730 Added new ModifyCurrentApplication features (166d40f)
  • #2749 Added support for setting custom status (b2820d5)

Fixed

  • #2711 Fixed modifying guild resets preferred locale (12c50f2)
  • #2713 Fixed some ReplyAsync methods missing MessageFlags parameter. (56769cb)
  • #2714 Fixed disconnecting socket client not sending close code. (6bb3777)
  • #2722 Fixed modal's DeferAsync implementation (5f580f6)
  • #2726 Fixed global name not being passed to UserUpdated event (9dfd4d7)
  • #2742 Fixed ModifyAsync attachments #2236 (0c12079)
  • #2745 Fixed GetMessagesAsync with Direction.After not working as expected (c922497)

v3.11.0

27 Jun 15:13
a9ba97a
Compare
Choose a tag to compare

[3.11.0] - 2023-6-27

This release adds the new username system support to Discord.Net, along with fixes and other minor changes.

Notes:

  • InviteGuild was renamed to PartialGuild (#2619)

Added

  • #2616 Added guild Onboarding support (3a8f76c)
  • #2627 Added Audit Log Created gateway event support (dff6a57)
  • #2645 Added Message property and UpdateAsync() to IModalInteraction (83dfa0c)
  • #2648 Added MaxStageVideoChannelUsers property to IGuild (bdd755b)
  • #2665 Added voice messages support (f171684)
  • #2619 Added get current bot application information (9ef5a76)
  • #2649 Added SafetyAlertsChannelId to IGuild (2112e1f)
  • #2696 Added support for the new username system (df717e6)
  • #2620 Added support for filtering audit log entries by after id (529fe3d)
  • #2622 Added default thread ratelimit in guild text channels (f9c8530)

Fixed

  • #2628 Allow creating stickers with no description (c950106)
  • #2682 Fixed missing JsonProperty attributes in params for modifying automod rules (9df4438)
  • #2702 Fixed TypingStartedEvent model to support Clyde (547bc92)
  • #2652 Fixed streams being incorrectly disposed in DefaultRestClient (84431de)
  • #2708 Fixed threads not getting removed from cache on THREAD_DELETE (fe4130d)
  • #2688 Fixed some internal classes being public (9ddd922)
  • #2687 Allow more than 1 action to be registered per automod rule (200bed7)
  • #2683 Fixed mention limit, regex patterns & allowlist for automod rules (a41fa62)
  • #2663 Fixed T3 file upload size to be 25MiB (98f974d)
  • #2662 Fixed duplicate SlashCommandExecuted event on failed result (fe9657a)
  • #2651 Fixed name translations (NameLocalizations) for ChoiceAttribute (75ae488)
  • #2647 Fixed ChannelPermissions.All() exception on forums (6265dd5)
  • #2642 Enforce rate limits on 429s (69cce5b)

Misc

  • #2601 Add missing json error (a8ae1e9)
  • #2609 Refactor SendMessageAsync & SendFile(s)Async methods & modify webhook message attachments (898ee56)
  • #2646 Create forum channels with default layout (0720049)
  • #2666 Switch channel to channel_id in interactions (d5ba7d2)
  • #2670 Disable FEC in OPUS (2be9b00)

Thanks to the following contributors for this release

@Misha-133
@gehongyan
@CollinHerber
@kaskii
@TrustNoOneElse
@Cenngo
@cjbonn
@ben-reilly
@KubaZ2
@bsdayo
@AnalogFeelings
@ThePheggHerself
@MichaelMcCarthy117

v3.10.0

27 Mar 10:08
9ccd9cf
Compare
Choose a tag to compare

[3.10.0] - 2023-03-17

This release adds AutoMod support, support for webhooks in forums, text-in-stage support, and much more. Notably, this release also fixes issues with voice related to the changes to Discords voice API.

Added

  • #2507 Added selects v2 support (48fb1b5)
  • #2509 Added SendFileAsync to UserExtensions (25cfb88)
  • #2510 Added missing invite guild properties & welcome screen support (7c535b9)
  • #2520 Added ClientDisconnect event for audio client. (4cad546)
  • #2521 Added OwnerId to IThreadChannel and RestThreadChannel
  • #2521 Added ActiveDeveloper to UserProperies
  • #2523 Added emojis from Emoji 13.0, Emoji 13.1 and Emoji 14.0 (23b2822)
  • #2528 Added wildcard length quantifiers and TreatAsRegex property
  • #2530 Added application Role Connections Metadata support (37d868f)
  • #2531 Added age restricted (NSFW) application commands support (56b1a93)
  • #2537 Added RemoveModulesFromGuildAsync (7acbcfd)
  • #2560 Added app Command channel target permission (2616d35)
  • #2562 Added new message types & error codes (a3ee855)
  • #2564 Added RespondWithModal() which accepts an IModal instance as template (e7bda0f)
  • #2571 Added guild member flags (7d8d6ec)
  • #2573 Added missing VoiceChannel properties (1e21a6e)
  • #2574 Added GetCurrentUser method to DiscordRestClient (e3da96f)
  • #2574 Added GetCurrentUserGuildMemberAsync method to DiscordRestClient and RestGuild (e3da96f)
  • #2574 Added GuildFeatures property to IUserGuild (e3da96f)
  • #2575 Added Thread property to RestMessage (91e2084)
  • #2578 Added AutoMod support (673b02d)
  • #2579 Added Thread property to IUserMessage (0998285)
  • #2580 Added thread user member & thread members pagination (b085621)
  • #2582 Added IIntegrationChannel (75f3c91)
  • #2582 Added support for creating webhooks in forums (75f3c91)
  • #2590 Added FollowAnnouncementChannelAsync to INewsChannel (bb056df)
  • #2591 Added support for silent mentions (2ea8af1)
  • #2599 Added AddModalCommand to ModalBuilder with option to specify callback (50e0e59)
  • #2605 Added GuildFeatures to GuildProperties (177df2c)
  • #2603 Added support for creating forum posts with DiscordWebhookClient (e69e27a)
  • #2610 Added Text-In-Stage support & missing IVoiceChannel properties (76bb901)
  • #2613 Added AutoMod custom block message (709364a)
  • #2615 Added missing invite properties (abfa8d1)

Fixed

  • #2483 Fixed an NRE when event was changed from in channel to external or vice versa (493f604)
  • #2526 Fixed GetActiveThreadsAsync & add it to ITextChannel (bd2f719)
  • #2528 Fixed catastrophic backtracking (3b107c2)
  • #2532 Fixed permissions on deleteMissing=false (274be5d)
  • #2540 Fixed reason not being included in audit logs when calling AddBanAsync and BanAsync (e71faf7)
  • #2541 Fixed CreatePost methods for IForumChannel (a53f1df)
  • #2549 Fixed NullReferenceException caused by Options being undefined. (02d3ce6)
  • #2557 Fixed customId template generator to escape regex metachars used in … (1602437)
  • #2577 Fixed GetEventCoverImageUrl (0af835a)
  • #2600 Fixed gateway deadlock (0c27395)
  • #2606 Fixed AutoMod action executed event message being null (7b321af)

Misc

v3.9.0

23 Dec 15:25
5c9be0d
Compare
Choose a tag to compare

[3.9.0] - 2022-12-23

This release properly implements all forum features and fixes a major issue with socket connections. Additionally, TimestampTag has received a functionality revision, which may be cause for minor refactor when compiling against the new version.

Thanks to the following contributors for this release

Added

  • #2469 Add missing properties in forum & thread channels (01ae904)
  • #2501 Add new discord stuff (ed38635)
  • #2521 Add missing property & new stuff (82b772a)
  • #2520 Implemented ClientDisconnect event for audio client. (4cad546)
  • #2509 Add SendFiles to UserExtensions ( 4cad546)
  • #2528 Implement wildcard lenght quantifiers, TreatAsRegex property and solve catastrpohic backtracking (25cfb88)
  • #2531 Add Age restricted (NSFW) application commands support (60956c7)

Fixed

Misc

  • #2471 Update samples to use MessageContent intent & update v2 => v3 guide (a4d34f6)
  • #2505 Update events.cs (ea039b8)
  • #2467 Update license and icon nuspec props (11ed0ff)
  • #2306 Command execution code rework & TypeConverters auto-scope fix (6869817)
  • #2534 Fully qualify SlashCommandBuilder namespace ( 3b107c2)

v3.8.1

14 Sep 18:11
9c5f1ec
Compare
Choose a tag to compare

[3.8.1] - 2022-09-12

This release introduces bug fixes mainly targeting the ones related to App Command localizations. This release additionally changes the target API version of the library.

Thanks to the following contributers for this release

Added

  • #2437 Added scheduled event types to AuditLog ActionTypes (fca9c6b)
  • #2423 Added support for resume gateway url (d4c533a)

Fixed

  • #2443 Fixed typos of word length (adf012d)
  • #2438 Fixed http query symbol in ModifyWebhookMessageAsync (0aa381d)
  • #2444 Fixed BulkOverwriteCommands NRE (9feb703)
  • #2417 Fixed CommandService RemoveModuleMethod not removing modules (fca9c6b)
  • #2345 Fixed EmbedBuilder.Length NRE (11ece4b)
  • #2453 Fixed NRE on SlashCommandBuilder.Build method (5073afa)
  • #2457 Fixed typo in SlashCommandBuilder.AddNameLocalizationMethod (1b01fed)

Misc

  • #2462 Add additional checks for gateway event warnings (b45b152)
  • #2448 Bump to Discord API V10 (fbc5ad4)
  • #2451 Return a list instead of an array in GetModulePath and GetChoicePath methods (370bdfa)
  • #2453 Update app commands regex and fix localization on app context commands (3dec99f)
  • #2333 Update package logo (2b86a79)

v3.8.0

28 Aug 15:06
adf012d
Compare
Choose a tag to compare

[3.8.0] - 2022-08-27

Upgrade Path

This version changes the method signature of every Get*ApplicationCommandsAsync method to feature two new parameters (withLocalizations, locale), see commit 39bbd29.
Additionally, the method signature of every Send* method of IRestClient now accepts a new requestHeaders parameter, custom implementations of IRestClient need to be updated.

Thanks to the following contributers for this release

Added

  • #2384 Added support for the WEBHOOKS_UPDATED event (010e8e8)
  • #2370 Add async callbacks for IModuleBase (503fa75)
  • #2367 Added DeleteMessagesAsync for TIV and added remaining rate limit in client log (f178660)
  • #2379 Added Max/Min length fields for ApplicationCommandOption (e551431)
  • #2369 Added support for using RespondWithModalAsync<IModal>() without prior IModal declaration (500e7b4)
  • #2347 Added Embed field comparison operators (89a8ea1)
  • #2359 Added support for creating lottie stickers (32b03c8)
  • #2395 Added App Command localization support and ILocalizationManager to IF (39bbd29)

Fixed

Misc

  • #2366 Fixed typo in ChannelUpdatedEvent's documentation (cfd2662)
  • #2408 Fix sharding sample throwing at appcommand registration (519deda)
  • #2420 Fix broken code snippet in dependency injection docs (ddcf68a)
  • #2430 Add a note about DontAutoRegisterAttribute (917118d)
  • #2418 Update xmldocs to reflect the ConnectedUsers split (65b98f8)
  • #2415 Adds missing DI entries in TOC (c49d483)
  • #2407 Introduces high quality dependency injection documentation (6fdcf98)
  • #2348 Added RequiredInput attribute to example in int.framework intro (ee6e0ad)
  • #2385 Add ServerStarter.Host to deployment.md (06ed995)
  • #2405 Add a note about IgnoreGroupNames to IF docs (cf25acd)
  • #2356 Makes voice section about precompiled binaries more visible (e0d68d4 )
  • #2405 IF intro docs improvements (246282d)
  • #2406 Labs deprecation & readme/docs edits (bf493ea)