Files
discord.js/CHANGELOG.md
2023-11-12 21:38:58 +00:00

1.1 MiB
Raw Permalink Blame History

Changelog

All notable changes to this project will be documented in this file.

13.17.1 - (2023-11-12)

Bug Fixes

  • ClientPresence: Correctly set activity state on CUSTOM activity type (#9954) (f475336)

13.17.0 - (2023-11-12)

Bug Fixes

  • Export AttachmentFlags and RoleFlags (#9924) (efc1536)
  • Action: Conditionally add recipient (#9925) (3d5d957)
  • Action: Do not set undefined values (#9755) (65bbed8)
  • types: Fixed CachedManager constructor arguments in type (#9761) (142db0e)
  • readme: Test badge svg (#9919) (610bdaa)
  • Role: Calculate position correctly when rawPositions are equal (#9872) (56b481b)
  • ChannelUpdate: Check against unknown channels (#9698) (630b9d5)

Documentation

  • Fix AutoModerationRuleTriggerTypes link (#9530) (24ac27d)

Features

  • Client: Add guildAvailable event (#9692) (67dd30a)
  • Attachment: Add flags (#9686) (2ac8be0)
  • Role: Add flags (#9694) (a222e53)
  • StageInstanceManager: Add guildScheduledEvent to create() (#9024) (5f6a82d)
  • Support default_thread_rate_limit_per_user in channel creation (#9339) (759c0b0)
  • User avatar decorations (#9710) (cb11c56)
  • Support new username system (#9634) (f9e9843)
  • presence: Feature parity in image resolve (#9638) (85338ef)
  • Safety alerts channel and mention raid protection (#9073) (5057f04)
  • GuildAuditLogsEntry: Add missing channel property to extra (#9527) (c5a42ed)

Performance

  • Linear speed position getters (#9528) (90ca028)

Typings

  • BaseButtonComponentData: Narrow component type (#9735) (c08230e)

13.16.0 - (2023-05-06)

Bug Fixes

  • Constants: Ordering and missing information (#9500) (53d3477)
  • Miscellaneous fixes (#9445) (21dfac9)

Features

  • Update Discord developer documentation links and add new flags (#9473) (d867936)
  • Voice messages (#9444) (3386bab)
  • Add ACTIVE_DEVELOPER user flag (#9428) (420f379)
  • roleTagData: V13 add guildConnections (#9391) (7116151)
  • V13 VIEW_CREATOR_MONETIZATION_ANALYTICS and USE_SOUNDBOARD permissions (#9124) (28a5c7b)
  • StageChannel: V13 support messages (#9145) (7cf9224)
  • AutoModeration: V13 support customMessage (#9173) (add14ac)

13.15.1 - (2023-04-07)

Bug Fixes

  • Message: Fix permissions check in locked threads (#9338) (a8d5325)
  • ClientUser: Fix modifying self (#9318) (09ca243)
  • Typo in src/util/MessageFlags.js (#9312) (8f12054)
  • AutocompleteInteraction: Fix responding (#9315) (f79a9b5)

13.15.0 - (2023-04-02)

Bug Fixes

  • ThreadChannel: Fetch starter message properly (#9217) (af6a0e5)
  • Actions: Inject built data by using a symbol (#9204) (df68520)

Features

  • Backport chatInputApplicationCommandMention (#9245) (51c3bf1)
  • Add support for gif stickers (v13) (#9158) (4bc25c4)
  • V13 support SUPPRESS_NOTIFICATIONS flag (#9184) (120270e)

13.13.1 - (2023-02-21)

Bug Fixes

  • Constants: Enum creation error (#9155) (224f21c)

13.13.0 - (2023-02-21)

Bug Fixes

  • Minor forums cleanup (#9033) (eed293f)
  • InteractionResponses: Spell messages correctly (#9080) (123d0f1)
  • ThreadChannel: reason as second parameter (#9023) (a941cb6)
  • Import errors correctly (#9030) (6457519)
  • websocketshard: Backport zombie connection fix (#9003) (56e6718)
  • Util: Flatten ignoring certain fields (v13) (#8936) (4ec3355)
  • Backport allow deletion of ephemeral messages to v13 (#8811) (98846cf)
  • Activity: Fix equals() not checking for differing emoji (v13) (#8842) (eecc50b)
  • escapeMarkdown: Fix double escaping (v13) (#8799) (caf6f66)
  • Fixed TS 4.8 compatibility (#8601) (e6ee7d8)

Documentation

  • ThreadEditOptions: Move info tag back to invitable (#9021) (cf3c7a7)
  • Add missing @extends (#9028) (1779e1b)
  • Update UserContextMenu documentation v13 (#8721) (ea117bf)
  • Update misleading Client#guildMemberAvailable event description (v13) (#8627) (fcd52d7)

Features

  • GuildMemberManager: Add addRole and removeRole methods (#9108) (fd494a3)
  • WebSocketShard: V13 add resume url (#9078) (0188e36)
  • V13 guildAuditLogEntryCreate event (#9092) (84d34dc)
  • Constants: Add auto moderation events to WSEvents (#9102) (61fa6f4)
  • Role subscriptions (#9040) (0afa405)
  • GuildChannelManager: Add addFollower (#9050) (86329ad)
  • Guild: Add INVITES_DISABLED feature support (#9051) (69d71e9)
  • ClientApplication: Add role connections (#9072) (a7dc40f)
  • Webhook: Add channel getter (#9074) (32cdaff)
  • GuildMember: Add flags (#9098) (d69529e)
  • applicationCommandPermissionsUpdate event (#9121) (c2968b5)
  • Backport automod (#8886) (4287983)
  • GuildAuditLogs: Support after (#9012) (f0d4264)
  • Backport guild forum support to v13 (#8651) (546ac43)
  • Add Message#bulkDeletable (v13) (#8761) (ca662b4)
  • InteractionResponses: Add message parameter (v13) (#8838) (0e0851a)
  • Util: Backport escapeMarkdown PRs to v13 (#8703) (8a6588a)
  • GuildBanManager: Add deleteMessageSeconds (#8575) (ca68fc3)

Refactor

  • Move me and add fetchMe() (#9029) (b01c81d)

Typings

  • ThreadEditOptions: Add appliedTags (#9022) (6854df4)
  • widget: Add missing name (#9031) (35f6dad)
  • Swap message reaction and emoji identifier types (#8970) (6490580)
  • GuildChannelManager: Correct fetch return type (v13) (#8551) (f4e8133)

13.10.3 - (2022-08-22)

Documentation

  • Fix broken discord support link (#8485) (11d6949)

Typings

  • Disallow some channel types from webhook creation (#8535) (10b12cc)
  • ModalMessageModalSubmitInteraction: ChannelId is not nullable (v13) (#8505) (526ea74)

13.10.2 - (2022-08-10)

Typings

  • Message: Correct bulkDelete return type (v13) (#8469) (03c59e3)

13.10.1 - (2022-08-10)

Bug Fixes

  • ThreadChannel: Handle possibly null parent (v13) (#8467) (2a46d9f)

13.10.0 - (2022-08-10)

Features

  • Guild: Add max_video_channel_users (v13) (#8424) (ae43bca)

13.9.2 - (2022-07-29)

Bug Fixes

  • MessageMentions: ignoreRepliedUser option in has() (v13) (#8365) (d0a4199)
  • GuildChannelManager: Allow unsetting rtcRegion (v13) (#8362) (9612507)
  • ThreadChannel: Omit webhook fetching (v13) (#8352) (4f7c1e3)

13.9.1 - (2022-07-23)

Bug Fixes

  • ApplicationCommandManager: Allow passing 0n to defaultMemberPermissions (v13) (#8312) (4cf0555)

Refactor

  • embed: Deprecate addField (#8318) (be35db2)
  • Presence: Remove redundant date parsing (v13) (#8341) (e95caa7)

13.9.0 - (2022-07-17)

Bug Fixes

  • PermissionOverwriteManager: Mutates user (#8282) (4d86cf4)
  • GuildChannelManager: Access resolveId correctly (v13) (#8297) (beb3d8e)
  • GuildChannelManager: Edit lockPermissions (#8267) (8fe166d)
  • applicationcommandmanager: Explicitly allow passing builders to methods (v13) (#8229) (f457cdd)
  • Pass in the expected query object type for application commands (#8189) (f704b26)
  • Use non-global flag whilst resolving regular expressions (#8178) (4063b90)
  • GuildStickerManager.fetchUser: Changed guildId to guild.id (#8176) (0e0f784)
  • guildmemberremove: Remove member's presence for v13 (#8182) (e8d72c7)
  • WebSocketShard: Backport error handler preservation on connections (#8164) (c198e89)

Documentation

  • Add new HTTP Error Codes 50068 (v13) (#8273) (00a7057)
  • Add MessageActivityType (v13) (#8257) (9cc336c)
  • MessageInteraction: Update commandName description (v13) (#8220) (feb8e30)
  • constants: Document missing constants (#8168) (4ae08ad)

Features

  • ApplicationCommand: Add min_length and max_length for string option (v13) (#8217) (a93f4b1)
  • interaction: Add appPermissions (v13) (#8195) (222fc9c)
  • Partially backport perms v2 for v13 (#8162) (125696f)

Typings

  • GuildMemberManager: Non-void return of edit() (v13) (#8187) (631abee)
  • Add missing shard types (v13) (#8192) (079973f)

13.8.1 - (2022-06-23)

Bug Fixes

  • VoiceChannel: NSFW property (v13) (#8161) (c61fc80)
  • ModalSubmitInteraction: Add isFromMessage() missing method (#8092) (0ab2227)
  • Destroy options during cleanup (#8082) (afb18b9)
  • AuditLog: Default changes to empty array (#8076) (3095f35)

Documentation

  • TextBasedChannel-> TextBasedChannels typos (v13) (#8155) (65444f5)

Refactor

  • Deprecate $ prefix from ws.properties keys (#8095) (3638b40)

Typings

  • Shard#reconnecting: Backport to v13 - Fix event name (#8126) (70450f6)
  • AutocompleteOption: Backport fix and improve types (#8078) (613fd43)
  • GuildChannel: Fix type of .isText() method (#8061) (0d0190a)

13.8.0 - (2022-06-05)

Bug Fixes

  • guildchannelmanager: Wrong parameter in _sortedChannels call (#8011) (876816a)
  • websocketshard: Deal with zombie connection caused by 4009 (#7581) (114bcc0)
  • Video quality mode data property (#7946) (76df9fd)
  • ApplicationCommandOptionType: Add attachment to jsdoc (#7952) (a51420f)

Features

  • Backport text-in-voice support to v13 (#7999) (ddfe15b)

13.7.0 - (2022-05-13)

Bug Fixes

  • MessageEmbed: Fix a typo (#7906) (ea28638)
  • GuildEditData: Some fields can be null for v13 (#7633) (816936e)
  • Apply v14 fix (#7756) (ab6c2ba)
  • GuildChannelManager: delete method accessing wrong id (#7771) (c9e4562)
  • GuildScheduledEvent: Handle missing image for v13 (#7627) (dfea9c2)
  • messagementions: Fix has method for v13 (#7591) (7a52785)
  • Check if member has admininistrator on moderatable (v13) (#7578) (13dd82d)
  • ThreadChannel: Require sendable for unarchivable (#7555) (49397c0)
  • Backport MessageReaction#me being incorrectly false (#7553) (5f621c1)
  • typings: SweepStageInstances typo (#7521) (f096069)
  • MessagePayload: V13 don't set reply flags to target flags (#7515) (30baff7)
  • Shard: V13 EventEmitter listener warning (#7479) (77b8e01)
  • MessageEmbed: Set footer to undefined (#7358) (bc5ddc3)

Documentation

  • shardingmanager: Fix type of execArgv option (v13) (#7863) (43a7870)
  • Fix and improve localization docs (v13 backport) (#7807) (6dcf0bd)
  • ApplicationCommand: Fix ApplicationCommandOptionChoice (#7798) (1040ce0)
  • Backport version 13 fixes (#7552) (69ba067)

Features

  • Backport (#7776) (5165b18)
  • Backport (#7787) (3eb45e3)
  • Backport (#7786) (ab324ea)
  • Add support for localized slash commands (v13 backport) (#7766) (022e138)
  • App authorization links and tags for v13 (#7731) (9e4a900)
  • Backport (#7777) (6c56132)
  • Backport (#7778) (ff49b82)
  • Backport (#7779) (ae7f991)
  • Backport (#7783) (cedc333)
  • VoiceChannel: Support video_quality_mode (v13) (#7785) (6daee1b)
  • StageInstance: Add support for associated guild event (#7713) (68498a8)
  • modals: Modals, input text components and modal submits, v13 style (#7431) (e1cdcfa)
  • Backport Interaction#isRepliable (#7563) (5e8162a)
  • Add methods to managers for v13 (#7611) (9f09702)
  • Add premiumSubscriptionCount to InviteGuild (#7629) (8e7d15e)
  • scheduledevents: Event cover images for v13 (#7613) (a7535a2)
  • Backport MessageMentions channel type fixes (#7562) (93cdb2f)
  • Backport cache types resolving to never (#7561) (611d3a7)
  • Backport sending message flags (#7560) (29d42ed)
  • ThreadChannel: Backport creation timestamp (#7559) (1d97dcf)
  • Add custom image support to version 13 (#7557) (679b87c)
  • Backport reason on pin and unpin (#7556) (b231bec)
  • GuildPreview: Add stickers to version 13 (#7554) (215dfe0)
  • Backport sweepStickers method (#7558) (ee1698d)
  • scheduledevents: Add image option (v13) (#7549) (2fcf8af)
  • thread: V13 add newlyCreated to threadCreate event (#7481) (2b3db73)
  • commands: Attachment options (#7441) (5bcca8b)

Refactor

  • Deprecate v13 properties and methods (#7782) (b9802f4)
  • Remove non-breaking stuff (#7636) (b9c5676)

Typings

  • Fix ModalSubmitInteraction (#7768) (1d09ad4)
  • threadchannel: Fix autoArchiveDuration types (#7817) (7afcd95)
  • InteractionCollector: Fix guild and channel types (#7624) (7814074)
  • V13 channel create overloads fix (#7480) (0b54089)

13.6.0 - (2022-01-13)

Documentation

  • interaction: Add locale list link (#7261) (1f4e633)

Features

  • Add Locales to Interactions (#7131) (233084a)

13.5.1 - (2022-01-07)

Bug Fixes

  • sweepers: Provide default for object param (#7182) (2dabd82)
  • GuildMemberManager: Nick endpoint (#7151) (d0c3961)
  • Permissions: ToArray shouldn't check admin (#7144) (fc4292e)
  • Remove deprecation warning on Message#cleanContent (#7143) (7e5f16b)

Documentation

  • Sweepers: Fix typo (#7165) (780b7ed)

Features

  • GuildMember: Add method to check timeout (#7146) (baacd6b)
  • ClientOptions: WaitGuildTimeout amount client option (#6576) (2bfc638)

Refactor

  • MessageEmbed: Deprecate strings for setAuthor() (completely) and setFooter() (#7153) (3496516)
  • Import timers, process, and Buffer from node: (#7157) (3c62bd2)

13.4.0 - (2021-12-24)

Bug Fixes

  • BaseMessageComponent: Don't create new class instances (#7140) (e6f41b5)
  • Make the followUp function error more clear (#7129) (b763dab)
  • StickerPack: Nullify bannerId (#7119) (6bb03f2)
  • Webhook typeguards should use string comparisons (#7127) (645b3f8)
  • Message: Remove usage of .deleted (#7109) (a0fe0ac)
  • GuildAuditLog: Remove Promises in constructor (#7089) (9cf44d1)
  • ShardingManager: Fix respawnAll not passing delay correctly (#7084) (de61fe4)
  • StoreChannel: Mark as deprecated (#7072) (5ec542d)
  • InteractionCollector: Handle thread (and parent) deletion (#7070) (b5cd288)
  • ReactionCollector: Check for channel.threads (#7069) (3846f0d)
  • GuildChannel: Default to this.rawPosition in clone() (#7057) (5fcda73)
  • Interaction channel type should be GuildTextBasedChannels when in guild (#6998) (da86bd4)
  • Util: Fix sorting for GuildChannels (#7002) (c07207f)
  • MessageManager: Do not use client.emojis (#7039) (fd63139)
  • ActionsManager: Revert to manual requires (#7034) (0193efa)
  • MessagePayload: Prevent spread of undefined (#7029) (fabd343)
  • MessageManager: Allow a string for edit() (#7033) (54f937d)
  • Avoid sending bot auth on token endpoints (#7022) (7efeff4)
  • Sharding: Properly handle errors in fetchClientValues (#6990) (c0ba2d4)
  • VoiceState: Set streaming to false when the stream ended (#6992) (fdb09cb)
  • MessageReaction: Cache myself when MessageReaction#me is true. (#6956) (b001e19)

Documentation

  • Deprecate .deleted getters (#7107) (d43f684)
  • Sticker: Fix typo (#7085) (ee91f5a)
  • Constants: Document missing errors (#7086) (6e57b65)
  • Constants: Adjust GUILD_STORE warning placement (#7083) (23513d1)
  • StoreChannel: Add deprecation warnings (#7080) (fdba146)
  • GuildStickerManager: Fix create() example (#7060) (6f58e81)
  • Invite: Add info blocks for missing props (#7014) (b183a8e)
  • MessageReference: Fix static link (#7041) (85e6812)
  • Constants: Fix typo "announcement" (#7016) (a1a8ca4)
  • README: Add installation instruction on @discordjs/voice (#6964) (3c857a6)
  • Guild: Fix setOwner() example (#6929) (dc64541)

Features

  • Add support for GuildScheduledEvent (#6493) (1316fd4)
  • GuildMember: Add timeouts (#7104) (aa7c1b2)
  • Export Sweepers (#7117) (b9b60a3)
  • Add API error code 50109 (#7112) (55960cc)
  • Client: Add global sweepers (#6825) (d1ef2f5)
  • Add API error code 20029 (#7078) (f410536)
  • ApplicationCommand: Add setX methods for easier editing (#7063) (7f980e3)
  • Add API error code 50055 (#7068) (f028aea)
  • SnowflakeUtil: Add timestampFrom (#7058) (8b200c0)
  • Guild: Add premiumProgressbarEnabled (#6887) (552d89f)
  • Add UserContextMenuInteraction and MessageContextMenuInteraction (#7003) (4fe063f)
  • Shard: Add eval context (#7011) (77aff08)
  • ThreadChannel: Add ThreadChannel#viewable (#6975) (db09d79)
  • ThreadManager: Add slowmode option on thread creation (#6989) (493e4f9)
  • MessageAttachment: Description (alt text) support (#6871) (5e0a7d5)
  • ApplicationCommand: Add support for min and max values (#6855) (c30a818)
  • SystemChannelFlags: Add new flag (#6870) (49e3ce2)
  • UserFlags: Add BOT_HTTP_INTERACTIONS (#6733) (f43140a)
  • Add new activity flags (#6699) (47d74eb)
  • ApplicationFlags: Add message content intent flags (#6888) (e94073a)

Refactor

  • UserManager: Move methods to the manager (#7087) (2ed02f7)
  • RoleManager: Move some methods over from Role (#7096) (1e00fc2)
  • Guild: Remove duplicate methods (#7100) (717e0e9)
  • Util: Replace Util.delayFor with tp.setTimeout (#7082) (25b8491)
  • Make Structure#deleted a getter to a WeakSet (#7074) (b093750)
  • SnowflakeUtil: Clean up utils and improve perf (#7036) (e59fac3)
  • MessageEmbed: Utilise an object approach for .setAuthor() (#6966) (73854ee)
  • Deprecate application command events (#6937) (28688e2)

Typings

  • CategoryChannel: Fix createChannel return type (#7138) (1626dde)
  • CategoryChannel: createChannel should default to a text channel (#7132) (a0a5b0e)
  • Make channel types a lot stricter (#7120) (7b65a04)
  • Forward cache types to collector filters (#7126) (77489b9)
  • Fix possibly null message properties (#7111) (bc6a6c5)
  • Use mapped enums instead of overloads (#7088) (49f9a18)
  • MessageComponentInteraction: Ensure component is not null (#7099) (2ce244b)
  • GuildAuditLog: Strengthen types (#7090) (5a5c045)
  • Message: guild should be non-null when message is in guild (#6933) (1230bee)
  • Improve audit logs' typings (#6647) (b6b4570)
  • Interaction: Narrow memberPermissions (#7054) (01f8d1b)
  • ApplicationCommandManager: Deprecate old *Data type usages and allow camel cased dapi types to be used (#6959) (2c91c48)
  • WebhookMessageOptions: Disallow stickers (#7012) (099536e)
  • Remove unneeded collector types (#7008) (c1f2fe2)
  • Make event emitters use mapped event types (#7019) (48555cb)
  • ApplicationSubcommandData: Allow autocomplete to be true (#6981) (ecc61f3)
  • Fix interaction typeguards (#6976) (06cd16f)
  • Strengthen autocomplete option types (#6950) (7630158)
  • Fix cache type fallback types (#6961) (9f240ea)
  • Unify ApplicationCommandManager#create overloads (#6970) (8e881d2)
  • Events: Rest events can be emitted on BaseClient (#6936) (c297829)

13.3.1 - (2021-11-01)

Bug Fixes

  • Assert channel types in message actions (#6919) (9bd3689)
  • MessageEmbed: Only compare image urls in #equals (#6926) (95d2a4d)
  • Correctly access guild IDs inside managers (#6927) (2d9ffb8)

Documentation

  • README: Use correct capitalization of npm (#6930) (bb245b7)

Typings

  • Improve toJSON methods for message components & embeds (#6925) (204aee7)

13.3.0 - (2021-10-29)

Bug Fixes

  • Handle message bulk delete and thread delete in collectors (#6902) (d6685b1)
  • ApplicationCommandManager: Update guild command cache on c/u/d (#6841) (f169c8f)
  • TextBasedChannel: Return the cached message instead of clone it (#6877) (ceaf738)
  • MessageComponentInteraction: Component getter is not null anymore (#6835) (7621e9d)
  • PartialGuildMember#id is not null (#6840) (4dff279)
  • Webhook: Resolve source guild only if cached (#6834) (d193d04)
  • AllowedImageSizes: Add new image sizes (#6844) (ef01b84)
  • MessageReaction: Prevent event double fire from uncached messages (#6818) (267a4b3)
  • Guild: Guild.available is never set on new joins (#6769) (29667c9)
  • Types: Export more types (#6808) (b474677)
  • GuildBanManager: Send reason in the headers instead of json body (#6800) (bfb89de)
  • User: Don't generate the banner URL when not cached (#6783) (0d599a1)
  • GuildMember: More explicit partial check (#6760) (b1656bf)
  • Role: Check for presence of icon and unicode_emoji before patching (#6780) (e31c5ca)

Documentation

  • Constants: Document missing autocomplete interaction constants (#6916) (aa4d055)
  • InteractionCollector: Add info block about being prone to always running (#6906) (5d987ee)
  • GuildStickerManager: Fix create() example (#6900) (bdd841a)
  • InteractionResponses: Move embed var position in example (#6896) (8806039)
  • Application: Rename Oauth2Application to Application (#6891) (76856b9)
  • Util: Deprecate .removeMentions() (#6866) (b6c9fd6)
  • Correct tags used for objects (#6846) (f7b7aac)
  • Redirect to events correctly (#6845) (38cc89e)
  • Typos, consistency and grammar fixes (#6811) (c44ea50)
  • Message: Specify Snowflake in return type of awaitReactions() (#6822) (4354c37)
  • Replace FetchOwnerOptions type definition (#6814) (b030130)
  • Remove dangling reference (#6810) (d57ec7a)
  • InteractionCollector: Remove repeated "the" (#6802) (b1b9c83)
  • MessagePayload: Change the typo of "wether" to "whether" (#6771) (d32956c)

Features

  • ThreadMemberManager: Allow individual members to be fetched (#6889) (14716df)
  • Add support for autocomplete interactions (#6672) (ddf759c)
  • MessageEmbed: Add #equals (#6885) (fae4abf)
  • StartThreadOptions: Default autoArchiveDuration to channel's defaultAutoArchiveDuration (#6278) (740d3f0)
  • Add rtcRegion to GuildManager#create() (#6858) (399e720)
  • Add typeguards to webhooks (#6850) (e0afcad)
  • GuildChannelManager: Add 'rtcRegion' option to 'create' method (#6849) (487d32d)
  • Permissions: Add checkAdmin to permission overwrite checks (#6847) (7513b45)
  • Interaction: Add isApplicationCommand check (#6801) (6898fa3)
  • CommandInteraction: Add toString method (#6793) (bd48e6d)
  • Client: Add apiResponse and apiRequest events (#6739) (26f927b)
  • ModuleImporter: Implement import module compatible with bundlers (#6709) (d399a28)

Refactor

  • Move Guild setPositions methods to managers (#6875) (e12a5b6)
  • Remove gen-esm-wrapper dependency (#6884) (b278884)
  • Fix typos (#6852) (672baa4)
  • GuildManager: Remove redundant check (#6859) (579569a)
  • Remove redundant user agent parsing (#6820) (460df9e)
  • Remove unnecessary checks (#6777) (e24209a)
  • Role: Move initialization of delete prop out of _patch (#6776) (872e7a5)

Typings

  • fix: BaseCommandInteractionOptionResolver and CommandInteraction (#6910) (673c03f)
  • Constants: Remove deleted properties from Package (#6908) (7be9170)
  • Shard: Eval returns a promise resolving with T instead of T[] (#6901) (14d9a99)
  • ApplicationCommandManager: Add missing overload for fetch (#6904) (ee93a27)
  • TextBasedChannel: Text channel interaction collectors should have message option (#6903) (91a432e)
  • Cache types cleanup (#6867) (b2836da)
  • Allow message cached props to be narrowed (#6838) (c3948f8)
  • CommandInteractionOptionResolver: Allow narrowing of getMember() (#6831) (e8b6997)
  • BaseMessageComponent: Remove third parameter of create() (#6833) (d27fddb)
  • Message component cached props narrowing (#6809) (b541d0a)
  • ApplicationCommandOptionData: Remove required on subcommands (#6790) (5566404)
  • Integration: Add IntegrationType values (#6815) (187581d)
  • WelcomeChannelData: Allow store channels (#6778) (45ebea3)
  • Make embed author and footer props name and text required (#6779) (a84e51b)

13.2.0 - (2021-10-05)

Bug Fixes

  • AllowedImageSizes: Add new image sizes (#6754) (d0025be)
  • User: Compare flags in #equals (#6750) (00e1e26)
  • VoiceState: Patch streaming value (#6747) (7eec061)
  • Message: Avoid overwriting properties in _patch (#6738) (a8c21cd)
  • ReactionCollector: Only call the filter function once (#6734) (d15dd5f)
  • Shard: Use provided timeout when respawning (#6735) (905d100)
  • Role: ToJSON() throwing due to permission bigints (#6724) (9e421f6)
  • Don't patch set data with undefined (#6694) (9eb9591)
  • Invite: #guild never resolving into a Guild (#6742) (b76bb8a)
  • GuildManager: Add missing types and converts (#6683) (cdf65f7)
  • Util: Default animated to false when omitted on resolvePartialEmoji (#6725) (8d80fec)
  • Message: Throw error on missing channel (#6581) (60aa9ae)
  • CachedManager: Return updated data when cache is false (#6685) (8426770)
  • GuildEmoji: Cache restricted roles and author data (#6675) (60b8ba6)
  • Constants: Allow undefined size (#6686) (d3da833)
  • *RoleManager: Create set of role ids correctly (#6674) (f8aa4bd)
  • Shard: Eval promise never resolves (#6649) (5070d23)
  • xxxable: Follow more properly with discord behavior (#6551) (5d87398)
  • Allow null to be passed in order to reset icon/avatar (#6646) (6033506)
  • Message: Pinnable returning false in non-DEFAULT messages (#6585) (3183b11)
  • threadMembersUpdate: Fixed typo (#6589) (8826e9f)
  • ThreadChannel: FetchStarterMessage bug (#6584) (08edc0b)
  • Await message component collectors should return component interactions not collectors (#6562) (f49f70a)
  • GuildChannel: Fix manageable method for voice-channels (#6447) (9301c9b)
  • MessageAttachment: Re-assign name (#6518) (8a8c69a)
  • UserUpdateAction: Rely on client.user when ids match (#6511) (1418649)
  • Util: Allow empty strings in splitMessage (#6437) (d6e6244)
  • BaseClient: Remove selfbot ability (#6429) (9a833b1)
  • Sticker: Rename method correctly to _add (#6421) (2c449b6)
  • Message: Fix typo (#6435) (ecb6e50)

Documentation

  • FetchReply info + example (#6753) (8bc1ece)
  • GuildMemberUpdateAction: Event doesn't get emitted on user update (#6752) (1db3e76)
  • Better links for .toJSON() of button and select menu (#6745) (6e5c768)
  • Undocument private constructors (#6732) (34b2ad0)
  • Message: Fix return type for reply (#6720) (3f11009)
  • CommandInteractionResolvedData: Fix key type (#6729) (466e796)
  • EmojiResolvable: Update description of typedef to remove ambiguity (#6708) (7cba676)
  • ApplicationCommandPermissionsManager: Fix example set method (#6658) (839974c)
  • Shard: Point to correct events (#6641) (b9a4899)
  • VoiceChannel: Deprecate editable (#6613) (88e2622)
  • PermissionOverwriteManager: Correct @returns of delete (#6632) (3c3522a)
  • MessagePayload: Correct return type of resolveFile() (#6605) (ea6a57e)
  • MessageButton: Fix info tag (#6590) (db73cf9)
  • WidgetMember: Fix typo for deaf (#6564) (33f6f82)
  • Constants: Fix interaction type link (#6558) (29d5fd1)
  • Fix JSDoc for ClientUser#edit (#6554) (34024f5)
  • Util: Correct @param for cleanContent() (#6531) (b89280a)
  • Formatters: Fix typo of TimestampStyles (#6523) (7d4a40a)
  • GuildChannelCreateOptions: Fix #type type (#6502) (4bfd5d3)
  • ThreadManager: Fix typo (#6485) (8a95211)
  • Fix wrong type being displayed in docs (#6504) (9ca10cc)
  • MessageManager: Fix typo (#6482) (70cc029)
  • MessageReference: Add possible message types (#6464) (93a83c2)
  • ApplicationCommandType: Add DAPI link (#6463) (17b4079)
  • BufferResolvable: Add warning for URL input (#6451) (16493e6)
  • Formatters: Use id over ID (#6439) (84bb4f4)
  • RoleManager: Error in examples (#6416) (759faa4)
  • Rename implementation of deferReply (#6412) (615afab)

Features

  • Add support for role icons (#6633) (7129965)
  • Interaction: Add memberPermissions (#6741) (28d96e3)
  • CategoryChannel: Add createChannel shortcut method (#6614) (3eacf7a)
  • Allow webhooks to fetch, edit and delete messages in threads (#6695) (107822d)
  • Threads: Update permissions and fix getters (#6466) (10478ad)
  • PartialGroupDMChannel: Add recipients & fix name (#6713) (2803db6)
  • GuildMember: Add guild avatars (#5696) (dfd7b40)
  • MessageAttachment: Add support for ephemeral property (#6652) (c5db0ff)
  • ApplicationCommand: Add support for channel_types (#6640) (3b14883)
  • UserManager: Allow #fetch to take UserResolvable (#6677) (a06a87a)
  • Add api error code 50101 (#6663) (42fdcaa)
  • Add support for API command types in ApplicationCommandManager (#6621) (ecd637f)
  • Permissions: Add START_EMBEDDED_ACTIVITIES (#6622) (66a90d3)
  • Integration: Add missing props and fix docs/types (#6623) (caa3b60)
  • Default values for setX boolean methods (#6619) (8add4b0)
  • Add api error code 30042 (#6635) (183dbd7)
  • Give removed MessageReactions on messageReactionRemoveAll event (#6607) (be8912a)
  • ApplicationCommand: Add version property (#6603) (f866512)
  • MessageTypes: Add CONTEXT_MENU_COMMAND (23) (#6425) (d81590d)
  • Add api error code 160002 (#6566) (d16ada9)
  • ApplicationCommand: Add #equals (#6414) (581921f)
  • Threads: Add support for invitable in private threads (#6501) (a693254)
  • BaseGuildTextChannel: Export BaseGuildTextChannel (#6527) (fc51f61)
  • User: Banners and accent colors (#6117) (839c6da)
  • MessageAttachment: Allow files to be marked as spoilers (#6509) (96e26c4)
  • ThreadChannel: Add fetchStarterMessage (#6488) (705c5a1)
  • Message: Add method to resolve a component by id (#6484) (57b94b9)
  • Set methods for MessageActionRow and MessageSelectMenu (#6490) (fb50dd9)
  • Export BaseCommandInteraction (#6478) (c14e594)
  • Guild: Add Guild#maximumBitrate getter. (#6455) (21983de)
  • Message: Prevent fetching an interaction webhook. (#6468) (f39b597)
  • Add maximum prune requests reached api error (#6427) (a4b8623)
  • Rest: Expose https.Agent options (#6177) (5eb3553)
  • InteractionReponses: Allow fetching of ephemeral messages (#6426) (d289d5c)
  • Export ContextMenuInteraction (#6434) (170c0c4)

Performance

  • Use logical assignments instead of if statements (#6693) (e9daa31)

Refactor

  • User: Set accentColor and banner to undefined when not yet received (#6721) (ba93e85)
  • Use optional chaining (#6757) (a194d9c)
  • Use the node: protocol (#6710) (531b46c)
  • VoiceState: Use manager edit method to remove error (#6631) (29dd319)
  • Constants: Better type error in cdn endpoints (#6637) (124e177)
  • ES2021 features (#6540) (00bd92a)
  • Channel: Make delete async (#6417) (71fdf6f)

Typings

  • Interaction: Allow Interaction cached properties to be type narrowed (#6668) (d873a19)
  • Rename Awaited<T> to Awaitable<T> (#6756) (f88f4cc)
  • GuildBanManager: Remove can return null (#6748) (c3f4de4)
  • Add ExcludeEnum utility for easier typings (#6746) (42acc6e)
  • Webhook: More accurate type for sourceChannel (#6751) (32b5c2e)
  • WebhooksUpdate: Allow NewsChannels (#6749) (abf158d)
  • More accurate types instead of GuildChannelResolvable (#6744) (a8e6010)
  • ChannelTypes: Remove unknown from CHANNEL options (#6701) (8b4456e)
  • TextBasedChannels: Fix awaitMessageComponent return type (#6723) (a7cb314)
  • Vanity: Make uses non-nullable (#6715) (3a978f3)
  • Role: Role#comparePositionTo accepts RoleResolvable (#6722) (7c4d1df)
  • Presence: Fix ActivityOptions#type and Activity#id types (#6696) (fe95005)
  • Fix missing channel type in subcommand options (#6706) (da3ae48)
  • Add GuildEmojiManager to Caches (#6671) (1ca8d2c)
  • VoiceState: Allow moving members to stage channels (#6684) (94ca0f5)
  • Interaction: Improve type guard for inGuild() (#6644) (0347826)
  • MessageOptions: Allow APIEmbed (#6656) (92f6471)
  • WelcomeChannel: Allow store channels (#6615) (75d85f7)
  • MessageEmbed: Allow APIEmbed type (#6629) (256fb90)
  • TextBasedChannelFields: Add back createMessageCollector (#6616) (1b016a3)
  • Make channelId non-nullable on MessageComponentInteraction (#6600) (8cc3885)
  • Message#createMessageComponentCollector use MessageComponentInteractionOptions<T> (#6596) (c62823e)
  • MessagePayload: Specify typings for files and resolveFile (#6608) (ea36955)
  • Collector filter parameter inference (#6574) (0841956)
  • MessageReference: Correctly add undefined type (#6563) (cdb0005)
  • @typedef for StageChannelResolvable (#6568) (2c219cb)
  • Allow message component interaction collectors to infer collected interaction types (#6476) (03d5549)
  • CommandInteractionOptionResolver: Document & type thread channels (#6521) (774e960)
  • MessageComponentInteraction: Fix componentType (#6536) (0fe5f88)
  • Mark enums as const enums (#6394) (5c27639)
  • MessageEmbed: Allow null for setTimestamp (#6514) (7aff15a)
  • Require component type in raw object formats (#6452) (c232baa)
  • CommandInteractionOptionResolver: Add missing parameter (#6497) (656b518)
  • ClientPresence: Add type declarations and docs (#6450) (6cac03a)
  • GuildChannel: Added missing typing (#6454) (f294d1e)
  • Message#_patch typings return type (#6433) (81bb68d)

13.1.0 - (2021-08-12)

Bug Fixes

  • StageInstance: Ensure discoverableDisabled is not undefined (#6395) (dce8fc7)
  • WidgetMember: Default to null and not undefined (#6399) (44bbfa5)
  • Guild: preferredLocale to always be a string (#6402) (4a64662)
  • ContextMenuInteractin: Store message as raw value (#6400) (d9456a1)
  • Util: Remove truthy check before isNaN check (#6358) (3c17939)
  • Constants: Fix CDN endpoint typings (#6332) (47d2ef3)
  • Managers: Fix typo in unsupported warning (#6338) (917e71a)
  • GuildMemberRoleManager: Typo (#6335) (d87299b)

Documentation

  • Remove unparsed examples (#6404) (e6f48d8)
  • GuildManager: Increase fetch limit to 200 (#6406) (933d2c5)
  • ApplicationCommandData: Fix type property (#6385) (de3c86f)
  • Update links for api-docs (#6380) (779e14e)
  • Switch urls from upstream rearranging (#6378) (4c8dc4c)
  • Correct wrong interaction links (#6274) (49d3c0b)
  • Invite: MANAGE_CHANNELS instead of MANAGE_CHANNEL (#6361) (0062aa6)
  • Options: DefaultMakeCacheSettings typo (#6365) (ea8d77e)
  • Grammar fixes (#6345) (f13d27c)

Features

  • GuildMemberManager: Add 'list' method (#6403) (2bf0970)
  • GuildManager: Allow setting with_counts to false (#6407) (14aea12)
  • CommandInteractionResolvedData: Access to "raw" resolved data (#6384) (fff887b)
  • Utils: Add additional formatters (#6388) (cd40292)
  • Right-clickybois (context menu support for ApplicationCommand and CommandInteraction) (#6176) (0266f28)
  • Threads: Max autoArchiveDuration option (#6304) (394d486)

Refactor

  • Options: Separate default settings for make cache (#6330) (d14a6bf)

Typings

  • ApplicationCommandData: Make type field optional (#6405) (dcc556c)
  • Constants: Add ApplicationCommandTypes to Constants (#6398) (6342430)
  • ApplicationCommandOptionData: Align command data options types more with discord API (#6247) (297a911)
  • ApplicationCommandData: Stronger typings for ApplicationCommandData variants. (#6382) (75b48d8)
  • Options: CreateDefaultOptions => createDefault (#6376) (2a3e819)
  • Events: Renamed messageReactionAdd's reaction parameter (#6371) (006edca)
  • ImageURLOptions: Allow 'gif' format (#6342) (5f1def3)

13.0.1 - (2021-08-07)

Bug Fixes

  • GuildMemberManager: Refactor fetchMany (#6328) (909c873)
  • Message: Handle fetched messages (#6325) (ceae596)

Documentation

  • Fix bad indentation (#6316) (cd1aefb)

Typings

  • Util: Fix cleanContent parameter type (#6321) (60ace9a)

13.0.0 - (2021-08-06)

Bug Fixes

  • MessageMentions: Check guild exists before adding roles (#6313) (1200bba)
  • GuildMemberManager: FetchMany fixes (#6314) (52817fc)
  • Caching: Sweep archived threads in all channel caches (#6312) (3725dca)
  • Message: Fix thread getter (#6309) (913c9fa)
  • BaseGuildTextChannel: Call patch (#6298) (3eb4140)
  • Remove support for overriding caches that break functionality (#6282) (a6d4035)
  • Message: Make #channel and #guild getters (#6271) (6e3236a)
  • WebSocketShard: Mark shard ready if no guilds intent (#6284) (09471be)
  • Action: GetChannel interaction DM (#6280) (a72b5a3)
  • GuildChannel: SetParent not working (#6276) (7e0618f)
  • ChannelUpdate: Restore accidentally removed line (#6263) (774f5b7)
  • Util: Fix collection import (#6256) (93e0239)
  • Array/keyArray removed (#6245) (bf221f2)
  • TextBasedChannel: Fix MessageCreate handling (#6217) (6b85f90)
  • PermissionOverwrites: Throw better error if resolving option fails (#6219) (42a0313)
  • Channel: Add default for destructured options (#6203) (6872547)
  • Use string instead of Snowflake for invites (#6202) (f060a3f)
  • ThreadChannel: Better property handling (#6172) (9679b90)
  • Export various classes that are exported in the typings (#6166) (30a58dc)
  • Typings: Type attachments to InteractionUpdateOptions (#6162) (4f8ca29)
  • GuildAuditLog: Assert target to null upon not finding invite codes (#6171) (c8ca7bf)
  • Message: Fix typo in sticker_items (#6173) (870a0de)
  • Sticker: Replace 'this.guildID' (undefined) by 'this.guildId' in fetchUser (#6160) (07017a9)
  • CommandInteractionOptionResolver: Type should be USER (#6148) (02f55f0)
  • CommandInteractionOptionResolver: Export CommandInteractionOptio… (#6146) (8ccfd6e)
  • CommandInteraction: Change options type from Collection to array (#6139) (77784ac)
  • GuildChannel: Only fetch invites for the specific channel (#6132) (c40c0f9)
  • PermissionsOverwrites: Only convert type if number (#6092) (dee5c83)
  • Channel type check in actions (#6086) (d433fe8)
  • GuildChannel: Clone its PermissionOverwriteManager too (#6083) (f72ce7c)
  • PresenceUpdate: Use added presence over nullable getter (#6077) (637c8e0)
  • InviteScope: Added missing 'bot' scope (#6052) (93e2c04)
  • SelectMenuInteraction: Set values to empty array if not provided (#6045) (34708d6)
  • Guild: Add invite manager property, extend CachedManager (#6049) (e3d877d)
  • TeamMember: Fixed incorrect return types. (#6044) (fe5d56c)
  • Structures: Remove Structures (#6027) (ab0b3b9)
  • GuildChannel: Use map method on cache not its manager (#6032) (d58f0d2)
  • PermissionOverwriteManager: Pass ID to API correctly (#6026) (8077e4f)
  • GuildChannel: Add missing 'cache' property (#6019) (7e30011)
  • Remove connection.url from open debug message (#6018) (39db953)
  • Util: SplitMessage not working with array (#6008) (bd25ff5)
  • Correct permissions checks and cache on update (#6015) (568691c)
  • ThreadManager: Fixed wrong private and fetchAll check (#6012) (e4be666)
  • Typings: Improve components typings in MessageEditOptions (#6002) (3a718d8)
  • ApplicationCommand: Fix typo in JSDoc (#5994) (6edf55c)
  • ThreadChannel: Check for existence of properties when patching (#5961) (9ac6867)
  • Typings: Erronous RawMessage (5842e35)
  • Thread: Make archive_timestamp not nullable (#5965) (edab5af)
  • Sharding: Strict type context and return (#5933) (1925d01)
  • Webhook: Return void from #delete for consistency. (#5954) (5ad83a6)
  • Collector: Docs and types (#5937) (6c447b1)
  • Message: Make author of referenced message nullable (#5929) (dc671c8)
  • User: Fix bot and system properties being incorrect in some cases (#5923) (e44ae96)
  • ThreadMemberManager: Fix ThreadMemberManager#add and ThreadMemberManager#fetch (#5927) (adecead)
  • Webhook: Resolve non-string avatars too (#5914) (4714a96)
  • ApplicationCommand: StringType isn't supposed to be sent to the API (#5916) (ca2a36b)
  • Permissions: Allow admin to override in the missing method (#5911) (ee025b0)
  • InteractionResponses: Set replied status on editReply (#5899) (6d3d00b)
  • Message: Flags not being parsed on some edits (#5886) (2d7c12b)
  • Guild: Don't patch before instance properties (#5885) (174b7a7)
  • presenceUpdate: Fire when only state/details change on an activity (#5846) (1f8f3ab)
  • Message: EditedTimestamp defaulting to 0 (#5847) (671436c)
  • ApplicationCommand: Default option.required fix (#5848) (a1f94f6)
  • Guild: SetChannelPositions null parenting (#5841) (01a1fd6)
  • ApplicationCommand: Default option.required to false (#5838) (77c1f15)
  • GuildManager: #create throws when systemChannelFlags is undefined (#5832) (29173bf)
  • GuildChannel: Don't force parentID/permissionOverwrites to empty on create (#5823) (c585933)
  • GuildChannel: Improve empty overwrite handling for permissionsLocked (#5821) (6df3623)
  • ApplicationCommands: Allow managing commands for uncached guilds (#5729) (24e5868)
  • ClientApplication: Freeze flags (#5811) (e990c35)
  • *: Typedefs and typings for image & webhook options (#5805) (a5a6e22)
  • TextBasedChannel: Allow passing an APIMessage with split (#5815) (93b0a4e)
  • PermissionOverwrites: Optional allow/deny OverwriteData (#5810) (a7ebb21)
  • Typings: Fix BitField toJSON/valueOf return types (#5806) (935f819)
  • Hooks: Make husky hooks executable (#5812) (77e28cf)
  • GuildChannel: Clone errors when options.name isn't provided (#5804) (41673b7)
  • WebSocketShard: Don't catch errors thrown in event handlers (#5803) (53d8e49)
  • Don't patch missing properties from partial payloads (#5796) (097c7b9)
  • GuildChannel: Spread clone options to avoid infinite recursion (#5800) (2f5424b)
  • Webhook: Throw an error if no token is available when it's required (#5798) (eb98e33)
  • ClientPresence: Produce valid activities for set presences (#5799) (ea0e06f)
  • BitField: Ensure missing returns an array of strings (#5795) (68f7aeb)
  • ApiMessage: Only pass objects as options directly (#5793) (3578159)
  • BitField: Throw an error if bit to resolve is undefined (#5565) (0156f69)
  • Remove remnants of awaitMessageComponentInteractions (#5783) (ae78a33)
  • *: Add missing imports for custom errors (#5767) (e980948)
  • ShardingManager: Client error event cannot be emitted (#5559) (d1c5b6f)
  • Add components to MessageOption typedefs (#5768) (657635c)
  • Interaction: Add missing types and fix docs lists (#5762) (1d57754)
  • Webhook: #editMessage throws error when content is null (#5757) (2901fd5)
  • MessageComponentInteraction: Correctly type defer method (#5760) (f0dad26)
  • RoleManager: Bug in #create (#5730) (cf22456)
  • Message: Update typings and docs related to #edit (#5745) (a2f0c11)
  • Typings: Add missing typings for HttpError -> requestData (#5742) (3e9ce35)
  • MessageEmbed: Import custom RangeError class (#5740) (bfe01b5)
  • CommandInteraction: Cmds with no options throw error (#5734) (af2fad9)
  • CommandInteraction: Channel type should be text based channels (#5690) (5141ea4)
  • GuildMemberManager: Allow moving members to any non-text channel (#5681) (d21e6af)
  • Interfaces not importing due to re-export of Snowflake (#5723) (086c3f0)
  • PermissionOverwrites: Fix typo in typedef jsdoc (#5704) (6567ba8)
  • Types: Make event listeners accept async callbacks (#5602) (a73a5cf)
  • GuildEmojiRoleManager: Bug in #remove (#5666) (c89bdd7)
  • ApplicationCommandOptionData: Options property should be itself (#5679) (b90b0c3)
  • APIMessage: Document Interaction as valid MessageTarget (#5678) (9f491ff)
  • Message: Bug in #suppressEmbeds due to #5612 (#5644) (840ad0a)
  • Lint-staged for typescript files (5f6ec22)
  • DataResolver: Fix circular dependency error with GuildTemplate (#5622) (b376f31)
  • ApplicationCommandManager: Limit permission methods to guilds (#5613) (03256bd)
  • CommandInteraction: Update typings and docs for #editReply (#5630) (56d44fb)
  • ApplicationCommand: Return string equivalent of ApplicationCommandOptionType (#5617) (a6079bc)
  • Resolve emoji in Message#react (#5614) (c733436)
  • Typo in GuildMemberManager (#5616) (73f4114)
  • Message: Editing with MessageEmbed or APIMessage (#5612) (74e97ef)
  • VoiceReceiver: Fix memory leak (#5609) (2eac842)
  • ApplicationCommandManager: Fix typo in JSDoc (#5603) (3392eb7)
  • Sticker: File renamed to SnowflakeUtil (#5573) (f830eb7)
  • Emoji: Name can be null (#5513) (5397021)
  • GuildMemberRoleManager: Unable to remove roles when passed an array (#5556) (9572521)
  • Typings for 'Message' (#5518) (0d68ca8)
  • HTTPOptions: Change default value in jsdoc to 8 (#5547) (cb50241)
  • GuildAuditLogsEntry: Executor can be missing (#5500) (e9bf206)
  • typings: Update GuildMemberRoleManager typings to match implementation (#5497) (900e576)
  • MessageMentions#channels: Fix type of channels of mentions (#5370) (565d7b3)
  • Resolvables: Valid resolvables throw error when uncached (#5495) (fa5a37e)
  • GuildChannel: Check for community required channels in GuildChannel#deletable (#5170) (b710a43)
  • GuildMember: Correctly check for premium_since (#5312) (aff3625)
  • Voice: Only skip undocumented voice packet byte if present (#5309) (2b52cdc)
  • Typings for 'WebhookMessageOptions' (#5476) (67025e6)
  • IntegrationApplication: Add missing export to index.js (#5475) (8023250)
  • ApplicationFlags: Export class (#5465) (404ce57)
  • Voice: Disconnect if voice channel not cached (#5467) (3af8179)
  • InviteDelete: Guild can be missing (#5457) (6c6b105)
  • ReactionUserManager: Remove before query option (#5281) (43bd568)
  • GuildManager: Add missing toString() on Permission#resolve fns (#5324) (0778926)
  • GuildChannel: Regression on default channel type (#5251) (e7c4f36)
  • Guild/GuildChannel: Methods reason arg usage (#5419) (8411b9e)
  • Role: Pass Permissions class, not the bitfield (#5321) (d744e51)
  • WebSocketShard: Key name in WebSocketShard#_send. (#5304) (56d8b44)
  • ApiMessage: Remove resolve() from typings (#5241) (a6bc39d)
  • GuildChannel: Overload permissionsFor and BaseManager#resolve[id] (#5260) (41bd6c2)
  • GuildEmoji: Check for cahnges to available in equals (#5201) (f95f5dc)
  • VoiceConnection: Make #dispatcher nullable (#5217) (0d5de43)
  • Message: Update getters to take null permissions into account (#5066) (98b1c58)
  • typings: Return types for 'Webhook(Client)#send()' (#4876) (eb28ee7)
  • MessageEmbed: Include author.name in length getter (#5167) (e37160f)
  • Collection: ToJSON() errors if the collection includes empty values (#5129) (2c2249e)
  • Implement valueOf on pseudomanagers (#4595) (8883a01)
  • Add presence to ClientPresence from ClientOptions (#5041) (9c7fe34)
  • Filtering of string forms of null and undefined (#5075) (9042d19)
  • ChannelManager: Avoid crash in remove method with uncached channel (#4937) (12c909e)
  • Message: #system non-zero message types are not guaranteed to be system (#5108) (bb78120)
  • UserFlags: Correct early bot dev name, remove deprecated aliases (#5104) (b509862)
  • Collector: Throw an error if a non-function was provided as filter (#5034) (7365f40)
  • BaseGuildEmoji: Typo in requiresColons (#5076) (e272fd6)
  • MessageReaction: Set MessageReaction#me in patch method (#5047) (6b322f4)
  • Voice:* Filter out silent audio from video users (#5035) (4fcb9eb)
  • GuildTemplate: 'guild' getter (#5040) (53529bd)
  • RoleManager: Fix ID return value, change return type to collection (#4935) (12a096b)

Documentation

  • Grammatical fix (#6311) (7787a76)
  • Grammar fixes (#6308) (0664477)
  • General cleanup and improvements (#6299) (b4afcf8)
  • Typo in ClientOptions (#6305) (dd3a79e)
  • Grammar fix (#6294) (90c2e07)
  • Client: Mark _finalize as private (#6281) (35fa3b3)
  • Update link of the guide to v13 changes (#6273) (6e0ea02)
  • Add missing semicolon to readme (#6270) (2c452df)
  • Change example in readme to slash command (#6250) (626ff85)
  • InteractionResponses: Correct @returns on responses (#6257) (bb56f17)
  • Refactor a few @returns descriptions (#6228) (82daee5)
  • Widget: Add the typedef WidgetChannel (#6182) (8b52d06)
  • Update readme node version requirement (#6241) (797727a)
  • GuildManager: Correct GuildCreateOptions typo (#6224) (2675b08)
  • Constants: Document the Constants object for enum-like usage (#6208) (cc5f1ce)
  • Guild: Correct GuildRolePosition typo (#6223) (40b127e)
  • WelcomeChannel: Correct guild return type (#6222) (d310e4f)
  • Constants: Fix StickerTypes typedef (#6218) (105a194)
  • MessageMentions: Fix documentation for members property (#6206) (f44bfc4)
  • Guild: Add GuildTextChannelResolvable type definition (#6221) (1009ce1)
  • InteractionResponses: Document missing properties (#6178) (5e433b5)
  • CommandInteraction: Correct type definition of CommandInteractionOption (#6169) (5e70694)
  • InteractionResponses: Reply docs example (#6079) (b170fb5)
  • InteractionResponses: Generalize wording in update to fit other component interaction types (#6074) (67e9ce4)
  • ClientUser: Fix shardId nullable (#6072) (28b5ffb)
  • Fixed several typings and MessagePayload#create JSDoc (#6059) (4c0426c)
  • ThreadChannel: Fix documentation for setLocked method (#6053) (8d9ab74)
  • MessageManager: Document options param for #edit as required (#6031) (db60e36)
  • Add Partial typedef (#6029) (b62d646)
  • Fix some missed MessageComponent collector methods (#6023) (610b0b4)
  • *: Wrap optional properties with union types in parentheses (#6021) (ec06ba7)
  • Collector: Properly document endReason (#6016) (7dd1a8d)
  • CreateInviteOptions: Fix TargetType link (#6017) (4adfc45)
  • *: Add class links to isX() methods (#6007) (fbdad6e)
  • WebSocketShard#send and TextBasedChannel#send (#5998) (726073f)
  • Util: Methods removed on the base object (#5990) (d742814)
  • Partials: Add link to the guide (#5982) (58183d4)
  • MessageSelectMenu: Add link to Discord docs (#5984) (f819416)
  • ThreadManager: Fix FetchedThreads typedef and startMessage (#5971) (f108746)
  • Message: Add ThreadChannel as a channel type (#5972) (58bc145)
  • ThreadManager: Fix reason prop of ThreadCreateOptions (#5970) (5dfd7dd)
  • Channel: Fix description of thread channel types (#5968) (853be62)
  • Drop string from MessageButtonStyleResolvable (#5944) (41f718f)
  • Features: Resolved typo in FATEWAY_PRESENCE_LIMITED (#5952) (d38b347)
  • Webhook: Fix thread example in send method (#5953) (d3d19ce)
  • Channel: Make the type news_thread an inline code-block (#5940) (630432b)
  • Thread: Add links to discord api docs (#5919) (5af2ef5)
  • MessageSelectMenu: Fix options typings (#5922) (75837a8)
  • *: Add links to Discord's API objects & data (#5862) (e0efcc6)
  • Move embeds field into BaseMessageOptions (#5902) (6cebeae)
  • Readme: Remove dependencies badge (#5901) (edf6f0c)
  • AnonymousGuild: Add missing extends tag (#5896) (3d96a33)
  • VoiceState: Channel can be null (#5872) (807ea2d)
  • ReplyMessageOptions,MessageEditOptions: Replaced embed with embeds (#5860) (e3ed74a)
  • Consistent application name usage (#5853) (96a4e7b)
  • TextBasedChannel#send: Update embeds example (#5857) (a6dae75)
  • ButtonInteraction: Fix typo (#5835) (9376ee4)
  • Removed topics and FAQ from the repository (#5820) (9e5106d)
  • README: Re-add install command, remove voice remnants (#5817) (55ad6f0)
  • MessageEmbed: Deprecation advisory for type (#5774) (f5f3f77)
  • Messages: Fix examples in messages after changes in #5758 (#5791) (35c2225)
  • ApplicationCommand: Typos in ApplicationCommandPermissionData (#5789) (4511624)
  • GuildMemberManager: Fix docs for #search() (#5784) (0139e10)
  • CommandInteraction#channelID is type of Snowflake (#5776) (32d8c8b)
  • InteractionDeferOptions: Correctly define the typedef (#5769) (4567cd4)
  • Add new guild features (#5755) (f7e420b)
  • Message: Fix content param in #edit not showing as nullable (#5748) (df9b678)
  • All the missing object -> Object changes (#5738) (b317d86)
  • Remove traces of StringResolvable (#5727) (678b7da)
  • Webhook: Update typings and docs for #editMessage (#5713) (256d1b0)
  • Message: Add example for message.reply (#5332) (7d7d2a5)
  • TextChannel: Warning about setRateLimitPerUser NewsChannel (#5403) (47bbdf4)
  • Fix InteractionDeferOptions typedef (#5694) (add924c)
  • ColorResolvable: Add Fuchsia to ColorResolvable typedef (#5676) (7d9818e)
  • Add new typedef to properly doc InteractionReplyOptions (#5632) (3589e0f)
  • Guild: Add proper punctuation to #fetchOwner jsdoc (#5645) (c8d20a4)
  • Correct casing of object -> Object in AuditLogChange (#5636) (ab82caf)
  • GuildChannelManager: Add stage option (#5608) (d219ecd)
  • MessageEmbed: MessageEmbedOptions typedef (#5466) (4a06dd1)
  • Update invite link, change version in the intro (#5592) (533c247)
  • VoiceState: #setRequestToSpeak and #setSuppressed returns a Promise instead of void (#5558) (705d7b3)
  • GuildChannelManager: Fix type options in description (#5440) (936516c)
  • ClientUser: #setPresence does not return a promise (#5485) (599f0f5)
  • GuildChannel: #members add cached spec, include voice (#5385) (e848d25)
  • BanOptions: Make days description more clear (#5327) (dedf432)
  • Update docs and examples for #4879 (#5323) (685b260)
  • GuildMember: Document owner override in permissions getter (#5320) (62ba249)
  • ChannelManager: Fetch can return Promise (#5422) (1c8b109)
  • Guild: Clarified description of guild.features (#5352) (941e36f)
  • BaseManager: Fix a typo in #resolveID description (#5180) (640a663)
  • BitFields: Remove string from BitFieldResolvable (#5122) (9ffcd83)
  • MessageEditOptions: Add the flags parameter (#5126) (2aea7dd)
  • RoleManager: Fetch description (#4920) (be0f383)
  • TextBasedChannel: Indicate that replyTo cannot be system (#5115) (5c4547e)
  • Permission overwrite methods descriptions (#5079) (77d4237)
  • Client: #emojis is a BaseGuildEmojiManager (#5048) (2685b96)
  • User: Fix typos in jsdoc (#5060) (09d0755)
  • WebSocketManager: Fix type of status (#5059) (9f3c3e0)

Features

  • Collector: Return a boolean on checkEnd (#6289) (f473f43)
  • Channel: Add isVoice() (#6297) (5b4efd1)
  • Constants: Added more error codes (#6234) (6b2098f)
  • MessageEmbed: Add setFields method (#6186) (a25e165)
  • ThreadChannel: Add fetchOwner() method (#6207) (331a9d3)
  • Util: Add SweptCollection for auto sweeping of caches (#6110) (dbb59ba)
  • WebhookClient: Allow creation of clients via URLs (#6192) (e000af5)
  • FetchRecommendedShardsOptions: Account for large bot sharding (#6184) (19b242a)
  • GuildAuditLogs: Add threads (#6195) (26ba0e1)
  • Guild: Add fetchWidget() for getting widget data (#6180) (b22272f)
  • ApplicationCommandOptionType: Add NUMBER (10) (#6128) (2f1cc1f)
  • CommandInteractionOptionResolver: Add sub-command required option (#6165) (690c121)
  • Sticker: Updates, sticker packs, and guild stickers (#5867) (54d6a3a)
  • GuildPreview: Add createdAt & createdTimestamp (#6130) (9f039a8)
  • CommandInteraction: Add CommandInteractionOptionResolver (#6107) (f293132)
  • Make Instance#fetch force true by default, and fix force parameter (#6116) (366f3c9)
  • REST: Append additional information to the required User Agent (#6112) (f200f14)
  • Client: Add conditional ready typings (#6073) (4206e35)
  • Allow channels from uncached guilds to be returned from fetch (#6034) (755c180)
  • Collector: Better types for events (#6058) (c0a814f)
  • Message: Add 'failIfNotExists' to ClientOptions (#6038) (28c5724)
  • LimitedCollection: Export LimitedCollection (#6043) (31d3129)
  • Client: Enforce passing scopes to generateInvite (#6024) (c6e5521)
  • Managers: Add GuildInviteManager (#5889) (9e08b02)
  • Managers: Add customizable caching for managers (#6013) (8c7cb0e)
  • InteractionCollector: Reworked to be more generic (#5999) (374c779)
  • PermissionOverwriteManager (#5318) (e7ad2fe)
  • Formatters: Added new URL utilities and docs (#6014) (98e45a5)
  • RoleManager: Added edit method, alias Role#edit (#5983) (1e73c25)
  • StageChannel: Add createStageInstance method & use better naming convention (#5951) (71fb33a)
  • Channel: Add isThread typeguard for better TS support (#5978) (b7ed675)
  • Util: Added formatters (#5976) (8c7a28f)
  • Interactions: Option to auto-fetch replies (#5831) (5e28ff8)
  • Interaction: Add guild guard (#5955) (87e8cdd)
  • Managers: New ApplicationCommandPermissionsManager (#5897) (6264c60)
  • MessageComponentInteraction: Component getter (#5840) (1439183)
  • MessageMentions: Add repliedUser (#5905) (2616125)
  • MessageSelectMenu: Droppybois (#5692) (e5fcf0b)
  • Api v9 and threads (#5570) (7346621)
  • InteractionCreate: Move to an Action handler (#5906) (ea49f7c)
  • Add missing APIError codes (#5898) (d930c81)
  • Interactions: Improve error handling for ephemeral responses (#5892) (bd9f56a)
  • Add APIError codes for stage instance (#5888) (c850ae1)
  • WelcomeScreen: Welcome screens (#5490) (44e2ee7)
  • Stage instance invite (#5856) (2d12db0)
  • Guild: Add enum for premium_tier (#5868) (a3cbcca)
  • *: Use enums for consistency and speed (#5843) (f7eeccb)
  • Widget: Wrapper for widget.json (#5619) (038ee99)
  • Stage instances (#5749) (918921e)
  • *: Document and support embeds field in message create endpoint (#5792) (99ff715)
  • Guild: Add enum for mfa_level (#5797) (ffabec3)
  • RequestHandler: Emit more info when a rate limit was hit (#5801) (18ac72e)
  • Add new APIErrors (#5794) (e0ab836)
  • Util: Allow array for StringOptions' char (#5566) (fbcbb29)
  • GuildAuditLogs: Make #target a channel for channel related logs (#5781) (eb0291d)
  • Sharding:* Contexts for broadcastEval (#5756) (c6aeebb)
  • Voice: Implement support for @discordjs/voice (#5402) (7b2e12b)
  • General component improvements (#5787) (c4f1c75)
  • GuildChannelManager: Add 'fetch' method (#4966) (e798fb7)
  • Rest: Optional ratelimit errors (#5659) (16f261e)
  • Promisified single interaction collection (#5770) (c2b3ed0)
  • Message: ApplicationID for interaction responses (#5765) (65dc00f)
  • Client: Make use of with_expiration in #fetchInvite (#5764) (bf191df)
  • Interactions: Add InteractionWebhook for better internals (#5712) (dec191a)
  • MessageComponents: Clickybois (MessageButton, MessageActionRow, associated Collectors) (#5674) (cbd7f2b)
  • Esm: Use gen-esm-wrapper instead of manually making the file (#5700) (db0d7d4)
  • Rest: Show the data that is sent to Discord when an errors occurs (#5701) (ef92339)
  • CommandInteraction: Make options a collection (#5705) (fdad140)
  • *: Enforce strings (#4880) (7b85a72)
    • BREAKING CHANGE: Removes all Resolvables for only string inputs
    • Co-authored-by: SpaceEEC spaceeec@yahoo.com
  • Message: Allow editing files into messages (#5718) (b212b64)
  • Easier guards for channelUpdate (#5716) (d52bcd4)
  • Add support for fetching multiple guilds (#5472) (48d6850)
  • Guild: Add the new nsfw_level property (#5660) (3fe7add)
  • InteractionDeferOptions (#5641) (ed593c9)
  • CommandInteraction: Ephemeral followup messages (#5618) (68b40dd)
  • GuildChannel: CreateInvite target options (#5514) (f831872)
  • MessageEmbed: Remove normalizeField validation (#5459) (ff2f737)
  • GuildMemberManager: Extend API coverage (#4872) (2e2464b)
  • GuildChannel: Make createOverwrite and updateOverwrite not dependent on cache (#5489) (58763b0)
  • MessageManager: Extend API coverage (#4869) (c56c4a8)
  • Message: Add ReplyMessageOptions for #reply (#5296) (7ce741d)
  • ShardingManager: Add options typings (#5583) (31b4390)
  • GuildChannel#clone: Support for position property (#5236) (d455cb6)
  • GuildBanManager (#5276) (6d09160)
  • APIRequest: Support setting global headers in HTTPOptions (#5586) (135abcc)
  • Message: Replace referencedMessage with fetchReference (#5577) (1398431)
  • Message: Allow removing attachments (#5557) (ca9e5a0)
  • Add support for application command events (#5596) (9f74f95)
  • Interactions (#5448) (f7643f7)
  • Sticker: Added Sticker (#4909) (026afc2)
  • Webhook: Add 'fetchMessage' method (#5530) (63398d6)
  • GuildManager: Allow system channel flags in create (#5504) (d9fa180)
  • Guild: SetChannelPositions parent, lockPermissions keys (#5507) (4866e26)
  • Webhook: SourceGuild, sourceChannel, improve owner (#5508) (116ecf2)
  • Guild: Allow description and features in edit (#5505) (8a059cc)
  • Util: Make cleanContent take a channel instead of a message (#5535) (f1c0c04)
  • Guild: Nsfw guilds (#5525) (5968323)
  • Guild: Replace owner with fetchOwner (#5480) (1be67b8)
  • GuildFeatures: Added the new screening features (#5328) (3c175cb)
  • MessageAttachment: Support for #contentType (#5481) (7b161f9)
  • SysChanFlags: New flag and rename in sync with client (#5506) (fe93a7e)
  • Move internal regular expressions to static properties (#5384) (207735c)
  • typings: Add ShardingManager.shardList to type definitions (#5446) (32b0d71)
  • typings: Explicitly type PremiumTier and Collectors (#5458) (7c49612)
  • Make changes to PresenceData typings and docs (#5317) (eb43ce4)
  • MessageTypes: Add 16 and 17 (#4685) (c9107e3)
  • GuildMemberManager: Add 'search' method (#4154) (0ba2bcb)
  • Stage channels (#5456) (eec7cf7)
  • Activity: Add missing fields (#4984) (63ff6a0)
  • Webhook: Add '(edit|delete)Message' methods (#5223) (7cabc1c)
  • Rest: Better handling of global rate limit and invalid request tracking (#4711) (9d2d606)
  • Application: Application flags (#5147) (06e9d86)
  • WebSocketManager: Let identify throw on depleted limits (#5283) (624a446)
  • Jsdelivr default file support (#5424) (f469402)
  • Client: Add InviteGenerationOptions#additionalScopes (#5215) (ae3c3d8)
  • ReactionCollector: Event create (#4108) (09d1f2f)
  • ShardingManager: Allow b-Eval/fetchClientValues on a specific shard when not all are ready (#5222) (001676c)
  • GuildChannel: Support conversion between text and news (#5022) (5ac3b57)
  • BitField: Move problematic bit into the error message (#5228) (273e955)
  • ClientEvents: Add tuple labels to event arguments (#5225) (764966e)
  • GuildMember: #pending (#5121) (c4c8171)
  • GuildEmojiManager: Implement GuildEmojiManager#fetch (#4933) (ffe3140)
  • Browser: Remove browser <20> (#5113) (0a591a9)
  • Role: Role tags (#4628) (d6234b7)
  • APIMessage: Remove disableMentions (#4836) (4107899)
  • GuildMember: Make GuildMember#setNickname first param nullable (#5070) (d70127c)
  • Message|TextChannel: Inline replies (#4874) (60e5a0e)
  • BaseGuildEmojiManager (#4934) (8d650a7)
  • Message: Added string type for message nonce (#4782) (4b555fd)
  • GuildMemberManager: Throw TypeError on incorrect GuildMemberManager#ban params (#4816) (863734a)

Refactor

  • Replace dependency with initial implementation (#6310) (d5e28c2)
  • Interaction: Rename defer to deferReply (#6306) (4241feb)
  • InteractionCollector: Only keep Ids of objects (#6084) (b639b6c)
  • Channels: Fix incorrectly shared properties (#6262) (5be471b)
  • Added TextBasedChannels type (#6286) (61db5f7)
  • MessageComponents: Default setDisabled to true (#6279) (3c7c822)
  • *: Use async functions (#6210) (e2e4f65)
  • GuildChannel: Use filter method for #members (#6253) (7c54076)
  • VoiceState: Change kick to disconnect (#6251) (24931d7)
  • Merge collections with keeping entries at max (#6242) (bb5e648)
  • Message: Accept a single object instead of 3 arguments (#6244) (434e330)
  • Move member adding to manager (#6231) (198a5c4)
  • Use guild-wide route for fetching active threads (#6193) (2a07055)
  • Remove extended collection (#6246) (00bae4f)
  • Strengthen channel typings in appropriate places (#6232) (65ae064)
  • Message: Make thread a getter for accuracy (#6215) (5f710ae)
  • Match subcommand (group) name casing with Discord's (#6204) (a69e2f7)
  • Only cache commands from own user (#6161) (4886ae2)
  • Message: Combine patch methods (#6071) (cd47a52)
  • CommandInteractionOptionResolver: Add readonly data property (#6156) (328501b)
  • OptionResolver: Accept single type instead of an array (#6154) (5addcd1)
  • Change const enums to interfaces (#6078) (63ce065)
  • ActionsManager: Less complex code (#6102) (4d53d0f)
  • Remove timer utilities from Client (#6113) (5ca97c9)
  • Remove typing caching (#6114) (576eee8)
  • Channel: Change channel types to UPPER_CASE (#6035) (6301728)
  • Managers: Rename add to _add (#6060) (9cd5e7e)
  • ApplicationCommandManager: Remove unused assignment (#6063) (98a5b52)
  • Rename Constants.OPCode to Opcode, moved objects to enums (#6065) (4eb3a2a)
  • PresenceManager: Have Presence extend Base and simplify add (#6056) (ded93fe)
  • Presences: Remove from User, nullable on GuildMember (#6055) (afbd5db)
  • Intents: Remove computed shorts (#6050) (3022b0f)
  • Remove lastMessage properties from User and GuildMember (#6046) (1a27f57)
  • typings: General cleanup (#6047) (676118a)
  • Change xID to xId (#6036) (a7c6678)
  • Improve typings and docs related to threads (#5991) (4bf4980)
  • Util: Make class extend null (#6000) (2446ff5)
  • Rename events to be consistent with WS names (#6010) (a11a105)
  • New node features (#5132) (1e8f012)
  • Presence: Remove second assignment of syncID (#5956) (fb8d516)
  • MessagePayload: Rename APIMessage (#5921) (b15d825)
  • Removed code and split options (#5918) (985d4d6)
    • Co-authored-by: Jan 66554238+vaporox@users.noreply.github.com
    • BREAKING CHANGE: Removed APIMessage#split
    • BREAKING CHANGE: Removed MessageEditOptions#code
    • BREAKING CHANGE: Removed BaseMessageOptions#code
    • BREAKING CHANGE: Removed BaseMessageOptions#split
  • Collector: Make filter an option (#5903) (0d0c8f0)
  • Remove exported shortcuts to util methods (#5904) (1816a93)
  • Package: Remove runkitExampleFilename (#5866) (6cceb93)
  • awaitMessageComponentInteraction: Use options object for lib consistency (#5852) (9dda9b7)
  • *: Make typedefs for all options params (#5785) (1ac9a2e)
  • GuildPreviewEmoji: Make roles an array (#5720) (4dbcaf7)
  • APIMessage: Remove unused declarations (#5836) (02693bc)
  • Fetch options consistency (#5824) (7111b4c)
  • GuildChannel: Use Permissions.defaultBit over 0n (#5822) (19d0405)
  • Remove all voice code (#5818) (fdef940)
  • MessageEmbed: Remove files (#5813) (e3e466d)
  • Guild: Remove region from guild and manager methods (#5766) (a1f763e)
  • Enforce single param on sending/editing methods (#5758) (0467a90)
  • GuildAvailable, typingStop from Constants (#4861) (dda5ee2)
  • Interactions: Move Structures import out of switch block (#5763) (84e5b07)
  • Remove _roles from pseudo-managers (#5721) (53d952a)
  • Deps: Use async-queue package (#5662) (14c6802)
  • *: Return the invalid element when erroring from Array (#5314) (eaf332f)
  • MessageOptions: Move replyTo to reply#messageReference and add failIfNotExists (#5298) (1ecda83)
  • Sticker: Rename Snowflake variable (#5575) (af00ec8)
  • RequestHandler: Use x-ratelimit-reset-after when present (#5511) (a5d41c9)
  • Remove error-silencing try/catch on event handler imports (#5542) (cdcc50f)
  • Sharding: Use options objects (#5510) (c9b5353)
  • Add discord-api-types as a dependency (#5539) (1b827fe)
  • Rename Snowflake to SnowflakeUtil (#5502) (164ddf6)
  • Guild: Remove fetchVanityCode() (#5471) (0a2e0c0)
  • Collector: Make endReason a getter (#5271) (8d14ee3)
  • Switch api and gateway to V8 (#4879) (ee5bc1a)
  • Client: Remove fetchAllMembers option (#5257) (aaed72b)
  • GuildMember: Remove GuildMember#hasPermission (#5152) (5401b92)
  • Util: Remove convertToBuffer (#5237) (a33eed7)
  • Message: Remove stored edit history (#5155) (8c2e6b7)
  • RoleManager (#5131) (2a0dcc5)
  • Message: Remove options for Message#delete (#4999) (75e6dfb)
  • Client: Improve generateInvite() (#5065) (5b51392)

Testing

  • Types: Add notPropertyOf type-only utility (#6051) (03fe6ee)
  • Client should destroy (#5353) (4099c28)

Typings

  • MessageButtonOptions: Clean up and export some button option type definitions (#6291) (ae6200e)
  • Make MessageTarget extend on TextBasedChannels (#6296) (5b0621f)
  • Caches: Add GuildStickerManager and GuildInviteManager (#6268) (15aea68)
  • Use api-types for stricter typings (#6230) (00c2bf8)
  • ButtonMessageOptions: Make button/link button typings more specific (#6212) (77c72e6)
  • WsEvents: Add thread ws events (#6194) (4f1f32f)
  • DataManager: Add 'K' to type parameter of 'resolveId' (#6152) (8586505)
  • ColorResolvable: Readonly tuple (#6153) (1e90be8)
  • Message: Mark #thread as nullable (#6129) (ef5ba05)
  • Options: Add types for cacheWithLimits (#6095) (8db6df3)
  • Interaction: Change inGuild return type (#6094) (60148c6)
  • PartialWebhookFields: Add APIMessage to deleteMessage union (#6085) (a9e7ebd)
  • Interactions: Fix function overloads (#6109) (98c6078)
  • Guild: Remove fetchVoiceRegions (#6099) (a8984bc)
  • Partial: Add partial reactions (#6066) (d6c43a5)
  • Test: Fix overloads for channel create (5b6be0c)
  • GuildInviteManager: FetchInvitesOptions (#6076) (c1eaa78)
  • Fixed unreachable overloads (#6062) (7322547)
  • ApplicationCommand: Fix option name (#6067) (58bbcd5)
  • *: Revert incorrect unknown type changes (#6057) (2e078e4)
  • Options: Should extend null (#6042) (c4aa9fe)
  • Voice: Move types to the library's definitions (#6041) (185e376)
  • Better fullPermissions typings (#6028) (2ab32e6)
  • MessageOptions: Fix components being optional (#6005) (56b5b7e)
  • *: Create mention types (#6003) (0dc5dd5)
  • VoiceState: Fix optional params (#5993) (1242c54)
  • ClientUser: Updated setAFK signature (#6011) (c40b06c)
  • MessageSelectMenu: Fix typings (#5995) (fe6cc0c)
  • Interactions: Fix function overload types (#5989) (521d26c)
  • Few missing thread channels (#5988) (941cd86)
  • MessageOptions: Improved component typings (#5987) (0eeb277)
  • ApplicationCommandPermissionsManager: Fix types (#5979) (388e05b)
  • ThreadChannel: Make locked and archived param optional (#5980) (a08ce7d)
  • *: Make hex color types compatible with ColorResolvable (#5973) (788d58e)
  • CommandInteraction: Readd followUp type (#5974) (ae37d20)
  • ThreadManager: Add type to ThreadManager#create options (#5969) (3174507)
  • ColorResolvable: Change string to #${string} (#5950) (acdcb90)
  • Define ApplicationCommand enums in lib (#5947) (e37ef3a)
  • Fix remaining Raw type references, update discord-api-types dep (#5942) (03d3a5c)
  • ThreadMemberManager: Fix incorrect usage (#5928) (6065b11)
  • MessageReactionResolvable: Add string (#5863) (a0b7d95)
  • GuildApplicationCommandManager: Allow undefined command (#5837) (d5bb758)
  • Corrected shard broadcastEval (#5834) (a0a56e2)
  • MessageComponentInteraction: Update should return Promise (#5829) (08cffd6)
  • Extendable: Add ButtonInteraction (#5802) (19fd162)
  • Extend MessageComponentInteractionCollector correctly (#5752) (c6696d8)
  • Fix awaitReactions typings for returned collection (43fc40e)
  • Change remaining string IDs to Snowflakes (#5737) (ff4d6dd)
  • Snowflake: Export the type (#5722) (66a6a1f)
  • Use Snowflake type (#5717) (76db642)
  • PermissionOverwriteOptions: Remove unused interface (#5651) (b40027b)
  • WebhookMessageOptions: Omit reply instead of replyTo (#5610) (2345c6d)
  • Remove typings for Client#disconnect event (#5469) (a4d09ab)
  • PermissionOverwrites: Use correct parameter type for resolveOverwriteOptions (#5302) (ca5f371)
  • MessageReaction: Allow message to be partial (#5303) (aac6275)
  • RateLimitData: Remove timeDifference property (#5208) (80e1afb)
  • Make Client#voice non-nullable (#5148) (40d77ba)

12.5.0 - (2020-11-22)

Bug Fixes

  • Guild: Fetch member if already in the guild (#4967) (643f96c)
  • User: Only assign to bot initially or if info is actually present (#4990) (eaecd0e)
  • GuildMemberUpdate: Cache incoming members & use partials if enabled (#4986) (2e940e6)
  • MessageReaction*Action: Correctly cache incoming members and users (#4969) (8b91ac5)
  • MessageReaction: Add client property to typings (#5003) (042e071)
  • Shard: Don't pass event arguments to exit handler (#4957) (adf2e87)
  • PackageLock: Reinstall GitHub docgen dev dependency (#4958) (ed8b3cc)

Documentation

  • Use npm ci instead of npm install (#4928) (efd7849)

Features

  • Shard: Shard-specific broadcastEval/fetchClientValues + shard Id util (#4991) (2a6c363)
  • Add support for guild templates (#4907) (2b2994b)
  • Add missing error codes (#5008) (7faa73a)
  • Message: Add crosspostable property (#4903) (b8fd3f6)

12.4.1 - (2020-10-24)

Bug Fixes

  • Action: Attempt to get a User if GuildMember not returned (#4922) (3d158f4)
  • GuildChannel: ParentID shouldn't be set in the constructor (#4919) (250c3ae)

12.4.0 - (2020-10-19)

Bug Fixes

  • Webpack: Revert webpack upgrade (94c9cc2)
  • esm: Add missing exports (#4911) (4bbe716)
  • GuildEmojiManager: Check for guild in methods that use it (#4886) (728b3f9)
  • GuildMember: Properly check permissions for hasPermissions (#4677) (7db6978)
  • GuildEmojiCreate: Prevent double fire from emoji creation (#4863) (6261dd6)
  • GuildMemberManager: Options.roles on 'prune' (#4838) (a45cc11)
  • GuildChannel: Default parentID to null (#4881) (6e4308b)
  • Actions: Avoid crash in InviteCreate with unknown channel (#4882) (dd12912)
  • GuildMemberManager: Use actually random nonce in fetch (#4884) (937153a)
  • GuildChannel: Make setTopic argument nullable (#4875) (b9ad510)
  • Rest: Resolved a regression, added retried AbortError (#4852) (d234165)
  • MessageManager: Throw if delete param is not MessageResolvable (#4825) (13d64e6)
  • Shard: Avoid caching null child in eval/fetchClientValue (#4823) (77c0788)
  • Action: Sanity-Check if Discord includes all required data (#4841) (4e79e39)
  • Message: Use Promise#reject instead of Throw on Message#delete (#4818) (1e63f37)
  • Action: Don't crash when partials are disabled (#4822) (8fa3a89)
  • Partials: Use more user objects available from the gateway (#4791) (eeb4c14)
  • lint: RESTManager warning (#4796) (5b39737)
  • Typings: Remove Partial types from some events (#4781) (a28754b)
  • Util: Throw token invalid for fetching rec. shard amount (#4779) (77b6a7d)
  • Guild: Cache fetched widget data (#4760) (7ba9440)
  • Typing: Change NodeJS.Timer into NodeJS.Timeout (#4755) (405b487)
  • Correctly import extendable classes (#4744) (6aab9c3)
  • typings: Bot cannot be null (#4719) (e0e2711)

Documentation

  • PresenceData: Add YouTube and remove application (#4910) (a7af4a8)
  • Role: Update various Role method descriptions (#4798) (222137d)
  • ReactionCollector: Revise JSDoc for ReactionCollector#dispose and #remove (#4709) (372a405)
  • Guild: Guild.setName() example (#4797) (dfd63bd)
  • GuildChannel: ThisType should be this (#4793) (b43e742)
  • MessageManager: Update example for fetchPinned (#4785) (8ac25d3)
  • BaseGuildEmoji: Account for optional properties (#4723) (a363b90)
  • ClientOptions: Fix typo (#4730) (cfc6867)
  • APIMessage: Fix wording on comment (#4717) (05c9e30)
  • Update jsdoc type for User#bot (#4716) (b6167d8)

Features

  • Message: Allow custom emoji format for react (#4895) (30808f9)
  • Message: Add messageEditHistoryMaxSize to limit stored msg edits (#4867) (c412cd7)
  • NewsChannel: Add support for following (#4805) (f83b3d7)
  • GuildManager: Add AFK and system channel options in create (#4837) (f2bbad3)
  • Rest: Switch queue to AsyncQueue (#4835) (32fe72f)
  • ActivityTypes: Add Competing (type 5) (#4824) (9c76129)
  • Message: Add support for crossposting (#4105) (bcb7c72)
  • Channel: Add isText() type guard (#4745) (b0ab37d)
  • Guild: Add includeApplications option for fetchIntegrations (#4762) (3141f7c)
  • UserFlags: Add renamed UserFlags (#4761) (f973163)
  • Client: Allow options for generateInvite (#4741) (727b29c)

Refactor

  • Improve the accuracy of docs/improve docs (#4845) (af670fc)
  • ReactionUserManager: Use client property (#4829) (169d4c3)
  • Client: Remove non-existant property from toJSON (#4750) (46acfac)

Styling

  • Remove unnecessary eslint comment (#4758) (74ebb65)

Typings

  • TextBasedChannel: Make lastPinAt nullable (#4842) (4a6fb9a)
  • Activity: Move flags from Presence to Activity (#4843) (824e922)
  • GuildPreview: Make description nullable (#4854) (0b59141)
  • Guild: Document RELAY_ENABLED feature (#4788) (422a4dd)
  • Don't use readonly arrays in interfaces (#4794) (904aecf)
  • PartialUser: Fix PartialUser remove deleted property (#4773) (aa25608)
  • Don't allow any object in the first parameter if second parameter is not given in TextBasedChannel#send (#4736) (74763ef)
  • Add all types for GuildAuditLogsEntry#target (#4738) (2dc70af)

12.3.1 - (2020-08-15)

Bug Fixes

  • User: Set User#bot to false if not partial (#4706) (db512d8)

12.3.0 - (2020-08-14)

Bug Fixes

  • Partials: Correctly set properties as nullable (#4636) (980243f)
  • APIMessage: Add reply user to allowedMentions (#4591) (b6ddd4c)
  • MessageReactionAdd: Prevent double messageReactionAdd triggering (#4682) (6caeaeb)
  • Integration: User might not be present (#4691) (baffbdb)
  • GuildChannel: Make lockPermissions use parent overwrites (#4627) (599cde3)
  • Collector: Support async (#4123) (124afeb)
  • BaseManager: Properly type valueOf (#4594) (b4d6510)
  • Correctly import VoiceState (#4616) (c5b6c4d)
  • ApiMessage: Respect allowedMentions with split (#4588) (a663ea4)
  • Message: Message#createdTimestamp uses deconstructed message id to get timestamp (#4632) (2be68e4)
  • Util: Support empty array for flatten (#4590) (317f240)
  • Consider #nsfw false if not present in data (#4593) (fab3153)
  • PresenceStatus: Include invisible in typings (#4585) (276dddc)
  • Set #nickname to null as the default value (#4641) (2adb581)
  • Typings: Channel#delete returns bad type (#4118) (3df9993)
  • Message: Include MessageEmbed type (#4675) (bbfc715)
  • typings: Correct spelling of APIError (#4687) (c55b5c8)
  • Util: Fix cleanContent mention exploit (#4663) (fb1dd6b)
  • typings: Allow custom events (#4162) (47151fc)
  • User: Type dmChannel as nullable (#4609) (f9f3661)
  • Typing start event emitting on non text based channels (#4349) (16847a3)
  • Guild: Fix vanityURLUses desc, internally use fetchVanityData (#4335) (1c275af)
  • DataResolver: ResolveInviteCode to support new domain (#4281) (5955498)
  • Grammatical errors in INVALID_TYPE errors (#4289) (fc4bddf)
  • APIMessage: Only pass allowedMentions if content is defined (#4269) (15b5350)
  • In/de-crement max listener for client events (#4168) (407bc77)
  • Voice: Correctly set speaking data in the voice ssrcMap (d3c9384)
  • MessageEmbed: Explicitly mark proxyIconURL as undefined (#4097) (605ee85)
  • Typing: DmChannel bulkDelete (#4115) (819e04a)
  • Typing: SetSpeaking public (#4109) (e3303ac)
  • Webpack: Add Buffer polyfill in browser (#4102) (67a74c3)
  • Guild: Name acronym (#4104) (97cbbb1)
  • PacketHandler: Guild members chunk packet handler should… (#4092) (5af1a55)
  • Typings: Add optional Set to shardReady event (#4099) (97d23de)
  • User: Jsdoc for User#flags (#4094) (6fbaf0a)

Documentation

  • Updated applications URL (#4699) (0b38c5d)
  • ReactionCollector: Update remove and dispose events (#4136) (139e56c)
  • Embeds: Added descriptions to the typedefs (#4303) (2a7f749)
  • Constants: Improve large_threshold description (#3744) (de8d26d)
  • Ban: Days must be 0-7 (#4693) (446bbfe)
  • Welcome: Change discord badge to shields.io for consistency (#4633) (bd2bb0e)
  • Client: Fix docs for login method (#4350) (9d747d1)
  • Guild: Clarify vanity URL documentation (#4125) (05cbf70)
  • CategoryChannel: Fix children being incorrectly marked as nullable (#4620) (f628981)
  • examples: Fix example img (#4678) (755f379)
  • ReactionManager: Clarify cache Collection keys type (#4683) (5b716c5)
  • Message: Add NewsChannel type to Message#channel (#4680) (b0e53e9)
  • Make use of MessageResolvable type for bulkDelete (#4661) (0e61fca)
  • erlpack: Discordapp to discord (#4288) (9a1c56c)
  • Guild: Description of Guild#premiumSubscriptionCount (#4324) (bd34965)
  • GuildManager: Resolve returns a GuildChannel (#4333) (88a62d5)
  • WebSocketShard: Add missing properties (#4268) (2583ad5)
  • ShardingManager: Fix typo in JSDoc (#4158) (766b91d)
  • ShardingManager: Remove experimental status of Worker threads (#4157) (99612ba)
  • VoiceState: Remove permissions required from description (#4156) (2617d3c)
  • Message: Add timeout to Message#delete example (#4090) (863a709)

Features

  • Trigger userUpdate on GUILD_MEMBER_UPDATE (#4697) (178439e)
  • GuildMemberManager#prune: Roles query param (#4142) (f1194af)
  • GuildManager: Adds GuildManager#fetch (#4086) (2742923)
  • typings: Use readonly arrays in parameters (#4692) (f451be0)
  • typings: Add number type for setExplicitContentFilter method (#4694) (e7eda72)
  • Bypass cache check with forceFetch param (#4592) (290938b)
  • BitField: Add problematic bit to error (#4617) (0225851)
  • Guild: Updates for Community guilds (#4377) (57ca3d7)
  • Guild: Discovery splash (#4619) (5be6630)
  • types: BitFieldResolvable use ReadonlyArray (#4604) (f2f31a1)
  • Deprecate GuildEmbed methods and properties in favour of GuildWidget (#4121) (e92cbc4)
  • GuildEmoji: Cache the author (#4334) (b7740d4)
  • Util: Add missing colors to docs (#3843) (03580b2)
  • Add Blob support for browser (#4338) (1fbaf88)
  • typings: TypeScript support for changing $browser (#4667) (e54c21b)
  • Module: Add ReactionManager to exports (#4372) (2b6e6d8)
  • Message: Support pin and unpin with reason (#4586) (c79ac4d)
  • MessageMentions: Fix typings/docs, add resolvables support (#4339) (214981f)
  • voiceState: Add self_video property (#4346) (54a7fda)
  • Guild: Add fetchVanityData (#4103) (8030612)
  • REST: Allow options.query as URLSearchParams (#4143) (257371d)
  • GuildMemberManager: Nonce and chunk_count for _fetchMany (#4130) (ec0227a)
  • Guild#fetch: WithCount param (#4111) (0266917)

Refactor

  • GuildMemberManager: Use data instead of query (#4370) (49ad279)

Typings

  • Add User#fetchFlags (#4138) (6367f60)
  • User: Mark locale and flags as optional (#4127) (46b9e25)

12.2.0 - (2020-04-17)

Bug Fixes

  • PermissionOverwrites: ResolveOverwriteOptions description (#4088) (d709656)
  • Guild: Sort text, news, and store channels together (#4070) (fcacf1b)
  • Typings: GuildPreview#features and Integration#type (#4080) (72a33cb)
  • ClientApplication: Type fetchAssets as resolving with an a… (#4078) (72a7f2b)
  • StreamDispatcher: Correct property types (#4059) (9ba4eff)
  • BaseManager: Remove declaration of remove method (#4069) (a07c3c2)
  • Message: Update MessageMention's roles on message edit (#4016) (9e4c39a)
  • Presence: Add missing userID property to declarations (#4013) (691e96c)

Documentation

  • RoleManager: Everyone role can't be null (#3995) (a88b723)
  • Webhook: Id and token information (#3962) (da5d928)
  • MessageEmbed: Document the constructor (#4077) (4625881)
  • MessageManager: Document return type of delete (#4012) (4c2308b)
  • ShardClientUtil: Link Shard#message from send method (#4028) (7ce58db)

Features

  • DataResolver: Prefer streams over buffers (#4075) (12187ef)
  • ClientOptions: Allow setting default allowedMentions (#4085) (7c6000c)
  • ESModules: Importing for esm modules (#3998) (0a3759f)
  • GuildMemberManager: Customisable timeout for _fetchMany (#4081) (ff3454e)
  • User#flags (#4060) (2e5a647)
  • Message: Add allowedMentions to MessageEditOptions (#4071) (a8db988)
  • Add supported 4096 image size and jpeg format (#4031) (1330e2d)
  • Guild: PUBLIC_DISABLED and WELCOME_SCREEN_ENABLED features (#4009) (849c632)

12.1.1 - (2020-03-27)

Bug Fixes

  • Typings: Use Channel instead of *ChannelTypes in ClientEve… (#4001) (5e49126)

12.1.0 - (2020-03-27)

Bug Fixes

  • WebsocketShard: Pass ignore ACK when Discord asks for a beat (#3993) (65e8c92)
  • Typings: Client message event should not emit PartialMessa… (#3983) (f2fdb93)
  • Always emit guildUnavailable when a guild becomes unavailable (#3975) (2157401)
  • TypingStart: Typing methods returning falsy values (#3939) (495cfa9)
  • Guild: Default max presences value (#3970) (0f38d80)
  • Partials: Correctly document properties for partialized st… (#3922) (8b906c6)
  • Channel: Ensure partial DMChannels get created (#3954) (8c0a940)
  • MessageReaction: Fetching a removed partial custom emoji (#3955) (a36a65b)
  • RequestHandler: A global timeout implies limited (#3950) (7b38f46)
  • Util: CleanContent should remove mentions after formatting… (#3936) (44ac5fe)
  • GuildMemberRolesManager: Type error should mention Role an… (#3931) (e5264ab)
  • GuildEmojiManager: Throw an error if image resolving fails (#3934) (ca75eb5)

Documentation

  • MessageMentionTypes: Move possible values to description (#3990) (fee9a21)
  • MessageReaction: Fix jsdoc for count (#3980) (993411d)
  • VoiceState: Improve phrasing of setChannel method (#3959) (cd52424)
  • MessageEmbed: Correct description of createdAt (#3897) (a5267e1)
  • PlayInterface: Update example for broadcast (7994b56)

Features

  • GuildPreview: Implement support for "preview" endpoint (#3965) (88133d0)
  • AllowedMentions: Add support for MessageOptions#allowedMe… (#3893) (df324e2)
  • Permissions: Adds VIEW_GUILD_INSIGHTS (#3928) (5b9cdc5)
  • typings: Allow event listener type param inference (#3944) (2be9eba)
  • Types: Support type-guarding using Channel#type string li… (#3918) (69d69f2)

Typings

  • Add back accidental removal (#3984) (5da734c)
  • Partials: Fix unexpected TSC errors (#3957) (a660515)
  • StreamDispatcher: Remove end event (#3945) (609a545)
  • PartialTextBasedChannelFields: Fix send overload (#3942) (a53404f)
  • PartialTextBasedChannelFields: Fix send overloads (#3935) (d43f78c)
  • Client: Remove typingStop event (#3919) (5b8f022)

12.0.2 - (2020-03-08)

Bug Fixes

  • APIRequest: Only use form data when actually sending files (#3917) (a4f7e07)
  • MessageEmbed: Skip validation of fields when inside a message (#3894) (3e169cb)
  • Guild: Resolve role id and call existing handler (#3904) (f387337)
  • Adapt #manageable to check for CONNECT for VoiceChannel (#3885) (61ef46f)

Documentation

  • Structures: Add ExtendableStructure typedef (#3908) (79a28b5)
  • Make collections more accessible in docs (#3907) (b5dfb55)
  • GuildMemberResolvable: An member -> a member (#3909) (3c653aa)
  • BitField: Document constructors of deriving classes (#3903) (bca4b03)
  • sharding: ShardingManager#createShard doesn't spawn the s… (#3875) (b5a7e5c)
  • faq: Replace ffmpeg-binaries with ffmpeg-static (#3886) (bfcd4be)

Performance

  • VoiceConnection: Skip redundant volume transformer on join (#3916) (69d4153)

Testing

12.0.1 - (2020-03-01)

Bug Fixes

  • guild: VerificationLevels (#3873) (66e625c)
  • message_mentions: Lazy require GuildMember to avoid circular (#3877) (cd746f3)

12.0.0 - (2020-03-01)

Documentation

  • Clarify which checks GuildMember#manageable does (#3870) (2d67fbb)
  • PartialRoleData: Id is optional (#3866) (c7f4485)

Features

  • Document intent error code messages (#3871) (f4b1b39)

Refactor

  • Make LimitedCollection an implementation detail (#3872) (544bb78)

11.6.1 - (2020-02-29)

Bug Fixes

  • playinterface: Lazy require VoiceBroadcast to avoid circul… (#3864) (713309e)
  • typings: Enum values for ChannelType (#3861) (acdd832)
  • typings: Remove duplicate VerificationLevels (#3862) (09e4912)
  • typings: For intents (#3860) (a6d3501)

Documentation

  • Bump version to 11.6.0 (#3863) (34d352d)

11.6.0 - (2020-02-29)

Bug Fixes

  • guild: Import paths (d9e12b8)
  • MessageEmbed: Prevent possible destructuring error (bbe169d)
  • Shard: Cleanup after settling spawn promise (#3799) (f95df6f)
  • typings: MessageOptions#split (#3834) (cf646b5)
  • Client#sweepMessages should throw an INVALID_TYPE error (#3828) (0280734)
  • MessageEmbed: Various typos and fixes (#3819) (52c0a40)
  • ReactionManager: Update message if partial (#3789) (bc5e295)
  • Message: Handle undefined/null content in cleanContent getter (#3778) (a36f386)
  • Guild: Use snake case when editing system_channel_flags (#3781) (878cc05)
  • BaseManager: BaseManager#valueOf should return cache (#3776) (62b227c)
  • TextChannel: Remove old nsfw regex check (#3775) (324d9e0)
  • Guild: Update premiumSinceTimestamp on guild member update (83bc6e0)
  • GuildMember: Manageable - let owner override (#3766) (364914f)
  • GuildMember: Manageable - let owner override (#3765) (3f03901)
  • Voice:* Fix speaking event and voice receive (#3749) (fbcd363)
  • Remove for..in in favor of Object.keys (#3745) (6d7e1e4)
  • TextChannel#bulkDelete: Use GenericAction#getMessage to handle return value correctly (#3664) (d8b4725)
  • ClientUser: Verified and enabled properties resetting (#3733) (3ea9ac5)
  • *Collector: Always run postCheck, remove 'translatation' of message collector options (#3718) (099a1a4)
  • RichPresenceAssets: Add Twitch preview link for largeImageURL (#3715) (a505a55)
  • Only setMaxListeners when max listeners is not 0 (#3716) (903f6ca)
  • ClientDataResolver: Return a user in resolveUser when passing guild (#3719) (464ef25)
  • VoiceConnection: Use Client#clearTimeout to clear timeouts (#3709) (c5d2b96)
  • Presence: Account for multiple activities everywhere (#3703) (f501d06)
  • Regression (changing voice servers) (629c57f)
  • Guild: Assign GuildMember#selfStream, if present, when adding a member (36c0496)
  • ShardingManager: Assert shardList to be spawned, not totalShards (#3649) (400cb56)
  • BitField: Remove for..in in favor of Object.entries (#3650) (11f9118)
  • Provide count on bulk deletion (#3682) (59205a2)
  • typings: Remove VoiceChannel#connection (#3676) (f74ae12)
  • ChannelDelete: Mark messages of a deleted channel as deleted (#3572) (d1d0d75)
  • Voice:* Internally disconnect and cleanup when forcibly disconnected (#3597) (cbabc16)
  • Webhook: Edit channel when editing avatar (#3588) (e660ea9)
  • APIRouter: Use proper symbol for util.inspect (#3589) (1003607)
  • Invite: Fix valueOf returning undefined (#3582) (d39f179)
  • *Collector: Account for a max listener count of 0 (#3504) (2e20e80)
  • VoiceConnection: Clear timeouts using Client#clearTimeout (#3553) (9bcb6a0)
  • VoiceReceiver: Delete opus encoder from map in stoppedSpeaking (#3499) (91600a6)
  • Document ChannelData#reason (#3549) (7011c51)
  • Message: Check for edited_timestamp in data when patching message (#3535) (9e0705c)
  • docslink: Partialtypes (#3510) (c3228b4)
  • Set messages deleted when their channel is deleted (#3519) (48856c0)
  • Util: Make arraysEqual avoid mutating the input arrays (#3506) (8ddd061)
  • typings: GuildChannel#parent and #parentID are nullable (#3509) (2a78b00)
  • typings: GuildChannel#parentID is nullable (#3508) (e936f07)
  • GuildChannelStore: Default channel type incorrectly set (#3496) (a03e439)
  • BitField: Throw when resolving invalid string constant (41c0dd4)
  • stores: Add symbol.species for not-actual-stores (#3477) (60f89bd)
  • Typings for this-polymorphism of collections (#3472) (d5831df)
  • typings: Remove leftover typeof (ea9e144)
  • typings: Collection constructor (33ecdd4)
  • typings: Collections import (ac44a7f)
  • rate-limits: Reactions buckets need to be shared with sub-… (#3439) (278f185)
  • Role: Throw TypeError in comparePositionTo (#3466) (8e0f525)
  • Browser-compatability (4fc461c)
  • Util#splitMessage when destructured (#3456) (5d95a4b)
  • typings: Partially revert #3448 (89d9b0f)
  • GuildAuditLogsEntry: Default to object with id for deleted targets (#3373) (43c0a79)
  • ChannelStore: Return existing DMChannels within add() (#3438) (2a3fb70)
  • GuildMemberStore#_fetchMany (#3420) (cc488a8)
  • Webhook: Return raw data if the channel is unavailable (c786867)
  • ReactionUserStore: Remove method firing messageReactionRemove event twice (#3277) (1851f74)
  • GuildMemberRoleStore: Correctly reference the everyone role (#3434) (12b48b7)
  • Message: Delete method caused messageDelete event to fire twice (#3252) (8ae7a30)
  • Bots being unable to connect (f79f024)
  • GuildMemberStore: Reject BAN_RESOLVE_ID error instead of throwing it (#3425) (9e76f23)
  • typings: Send overloads (d14db52)
  • GuildChannel: Return GuildChannel in setPosition instead of Guild (1121b2f)
  • Update issue templates (651ff81)
  • ClientApplication: Fix ternaries (b65a4f0)
  • ClientApplication: Owner is still nullable (1dd4c04)
  • Guild: Allow fetchMember to be used with an uncached user (#3333) (6f49aad)
  • docs: Backport documentation for Presence#clientStatus (#3315) (0c61019)

Documentation

  • readme: Remove mention of uws (08e7328)
  • TextBasedChannel: Fix typo (#3858) (a04b4ca)
  • shard: Add .cache to GuildManager in fetchClientValue exa… (#3857) (31ee0d8)
  • MessageEmbed: Document article embed type (#3846) (31a3a86)
  • SystemChannelFlags: Properly document and use resolvable (#3794) (d406f42)
  • MessageAttachment: Mark spoiler as readonly, order spoiler in typings (#3714) (ccb83a7)
  • WSEvents: Add missing, remove duplicated and userbot events (#3800) (c4c6ad4)
  • PermissionResolvable: Move definition outside of class (544b14a)
  • Clarify what zlib-sync does (#3785) (21d37ed)
  • Guild: Channels is a manager of channels (#3779) (d43692b)
  • Info tag for ActivityType regarding CUSTOM_STATUS (#3758) (b7ccf9a)
  • Info tag for ActivityType regarding CUSTOM_STATUS (#3757) (3f8ea38)
  • Add extends to ChannelManager, cache is not nullable, resolveID accepts an object (#3771) (94bb268)
  • *Manager: Fix child classes' cache type annotations (#3777) (92bc634)
  • Guild: FetchBan returns a promise (#3752) (8e9e93d)
  • MessageMentions: Backport mention order notice (#3712) (d8419ac)
  • MessageMentions: Channels are actually in order (#3705) (6302afb)
  • Replace all occurances of node-opus with @discordjs/opus (#3698) (6a0fe46)
  • MessageMentions: Add sort order notice (#3693) (7f99be7)
  • ReactionStore: ResolveID takes a reaction, not role (#3617) (1237133)
  • Client: Clarify whose ToS are being violated (#3580) (1d66062)
  • README: Link to guide page instead of source (#3566) (1352bff)
  • README: Travis badge => github actions badge (#3569) (9a31e6e)
  • NewsChannel and StoreChannel (#3557) (cc466fa)
  • readme: Table of contents (#3539) (e26697f)
  • VoiceStatus: Document name -> value, link in VoiceConnection#status (#3500) (1861352)
  • VoiceStateUpdate always sends an instance of VoiceState (#3537) (a61cfc3)
  • Rename LURKABLE to PUBLIC and update GuildFeatures type (#3484) (ea8b4e7)
  • Document Message#author as nullable (#3464) (d252ddf)
  • ClientOptions: Document unit of restRequestTimeout (#3449) (4c08812)
  • Fix voice broadcast example code (#3436) (3fcc862)
  • Guild: Add missing features (#3406) (e562564)
  • Fix typos (#3404) (d8516ef)
  • VoiceStateStore: Document and type the class (#3294) (20d7b3d)
  • Team:* Fix appliction -> team, tag -> mention (4c11347)
  • Add zucc to docsite welcome page (#3355) (61e2e3e)
  • RoleStore: Update -> create in create method (#3349) (6100ace)
  • Presence: Document client property (#3342) (f82f0af)
  • Client: FetchVoiceRegions returns a promise (6cd4c27)
  • Guild: Add missing features (#3336) (19ef451)
  • *Resolvable: Make them appear on the docs (4a2335c)
  • Constants: Add missing GUILD_EMOJIS_UPDATE to WSEvents (#3325) (ddcc6cf)

Features

  • Intents bitfield (#3844) (8a2f893)
  • MessageEmbed: Support EmbedFieldData[] instead of EmbedFi… (#3845) (6650d50)
  • Reimplement disableEveryone into disableMentions (9c8aaf1)
  • GuildMemberStore: Add options.withPresences to fetch() (#3562) (de4b4a0)
  • GuildManager: Allow for more options for GuildManager.cre… (#3742) (2ee0f1c)
  • RichEmbed: Add toJSON returning an api-compatible object (97457e1)
  • RichEmbed: Backport spliceFields and normalizeField (#3762) (6eaf63f)
  • MessageEmbed: Re-introduce MessageEmbed#addField (#3850) (df88729)
  • Replace disableEveryone with disableMentions (#3830) (9cb306c)
  • GuildEmoji & Invite to GuildResolvable (#3637) (91a025c)
  • Collector: Addition of resetTimer() (#3825) (acf724e)
  • GuildAuditLogs: Handle new event types (#3602) (a69ebbe)
  • MessageEmbed: Change toJSON method to return an api-compatible object (#3813) (4ec01dd)
  • Bring embed builder field manipulation in line with underlying array functionality (#3761) (b727f6c)
  • PartialGroupDMChannel: To support Invite#channel for group dms (#3786) (161f907)
  • Guild: Add rulesChannel and publicUpdatesChannel (#3810) (b0aed05)
  • Guild: Add rulesChannel and publicUpdatesChannel (#3810) (bea6da6)
  • Add new MessageTypes (14 and 15) (#3812) (b0d0b81)
  • Message:* Add missing fields, add support for flag editing (#3795) (7e9c995)
  • Guild: Add support for system channel flags (#3793) (330c410)
  • GuildChannel: Add support for clone options, deprecate old signature (#3792) (ab866d6)
  • Add new MessageTypes (14 and 15) (#3812) (ef8acec)
  • Message: Add support for flag editing / embed suppression (#3674) (46ee06b)
  • Message: Throw a TypeError if delete is passed a non-object (#3772) (592021d)
  • BitField: Add BitField base class (#3759) (46e8bc4)
  • GuildAuditLogs: Handle new event types (#3760) (dbdb49e)
  • Remove datastores and implement Managers (#3696) (bbdbc4c)
  • Integration: Add guild integrations (#3756) (c955fd0)
  • Constants: Add CUSTOM_STATUS to ActivityTypes (2589db6)
  • Presence/Game: Multiple activities and custom status (#3747) (17b8b23)
  • Collector: Add idle option (#3746) (ccd6043)
  • MessageReaction: Add remove method and Client#messageReactionRemoveEmoji (#3723) (030d263)
  • MessageReaction: Backport removeAll and MessageReactionRemoveEmoji event (#3741) (ab7f9e8)
  • GuildMemberStore: Make timeout refresh after every GUILD_MEMBERS_CHUNK (#3645) (90aa5b3)
  • Webhook: Backport missing properties (#3710) (30adb37)
  • MessageReaction: Backport animated, client, created*, and url (#3711) (88b675d)
  • MessageAttachment: Add spoiler getter (#3713) (4ca1864)
  • Client: Add support for INVITE_CREATE and INVITE_DELETE events (#3720) (929ff9c)
  • Client: Backport INVITE_CREATE and INVITE_DELETE events (#3728) (40afbc1)
  • Guild: Add fetchBan method (#3726) (c779fe3)
  • Guild: Add setBanner method and banner to edit (#3708) (01826ae)
  • Message/Mentions: Implement caching of members (#3684) (0f49d67)
  • Collectors: Make collectors auto-stop when relevant structures are deleted (#3632) (cbb8db3)
  • Use updated eslint action (#3699) (d096e40)
  • Presence: Add support for multiple activities (#3661) (ee0b7c1)
  • Constants: Backport VerificationLevels and missing APIError codes (#3688) (07996d1)
  • Dynamic property for ImageURLOptions (#3530) (8014ddc)
  • Speaking: Add PRIORITY_SPEAKING bit (#3680) (b5825c3)
  • Webhook: Add ability to change channel and specify reason to edit (#3587) (fbe9bc4)
  • Permissions: Add any method (#3571) (367c800)
  • Partials: Add DMChannel/MessageReaction#fetch() and PartialTypes.REACTION (#3474) (6af0da1)
  • RichPresenceAssets: Add Twitch preview link for largeImageURL (#3655) (bf31b28)
  • MessageMentions: Cache mentioned members (#3601) (97eac66)
  • Webhook: Add type property and created* getters (#3585) (ea76a56)
  • Widen GuildResolvable to include more structures (#3512) (b4f00bf)
  • Guild: Add systemChannelFlags (#3559) (f578cce)
  • Add new MessageFlags.FLAGS & User#system (#3603) (4378283)
  • Webhook: Addition of Webhook#avatarURL function (#3625) (330d5db)
  • Activity: Support for CUSTOM_STATUS activity type (#3353) (2ca74d6)
  • GuildAuditLogs: Add new event types (#3584) (1bcc0c2)
  • MessageAttachment: Add spoiler property (#3561) (38d370f)
  • GuildMember: Add selfStream (#3522) (96037e1)
  • GuildMember: Filter out duplicate roles when updating (#3502) (f91ad70)
  • VoiceState: Add VoiceState#streaming (#3521) (a8f06f2)
  • GuildChannel: Backport permissionsLocked getter (#3507) (2610bf5)
  • External collection package (#2934) (dad0cd8)
  • constants: Add verificationLevels (#3369) (37ecf7b)
  • Partials: Add DMChannel/MessageReaction#fetch() and Parti… (#3261) (b0047c4)
  • Guild#partnered (#3444) (6f83e71)
  • VoiceState: Add kick method (#3462) (c86a615)
  • Permissions: Add new method Permissions#any (#3450) (a6810e2)
  • typings: Reply overloads for splitmessage (c5cbf86)
  • Abort Requests that takes a lot of time to resolve (#3327) (e4309b2)
  • Invite: Add targetUser(Type) (#3262) (d62db23)
  • Util: Fix animated part of parseEmoji regex and make id optional (#3407) (b662678)
  • Collector: Allow collectors to be consumed by for-await-of loops (#3269) (6d3c55b)
  • Overload for split always returning an array (#3411) (5af8cb8)
  • Util.splitMessage always return an array (#3035) (e645dd6)
  • typings: Constants export (#2915) (547bf83)
  • Collector: Add idle time for a Collector to stop itself (#2942) (f1433a2)
  • Teams: Backport support for teams (#3357) (0cd7556)
  • Guild: Add banner to edit method and add setBanner method (#3364) (adb0823)
  • Teams support (#3350) (a22aabf)
  • Emoji: Backport delete method (#3343) (c355236)
  • Guild: Add support for premium/boosting (#3332) (b892436)
  • Guild: Backport misc properties and setRolePositions (#3337) (e6a378b)
  • Guild: Default iconURL to gif if animated (#3338) (1bec28b)
  • Guild: Add setRolePositions method(#3317) (8bc8ffe)
  • Add support for premium guilds (#3316) (c877580)

Refactor

  • GuildChannel: Change overwritePermisions to accept an… (#3853) (e4f567c)
  • Add some more consistency (#3842) (1af1e0c)
  • Remove unused error in catch statements (#3820) (0a1b9a5)
  • MessageEmbed: Simplify initialization of files property (#3814) (b347e9e)
  • VoiceChannel: Use Permissions.FLAGS in speakable (#3780) (562b5bf)
  • Remove util alias export (#3691) (53a1f8f)
  • TeamMember: Remove client from constructor (#3409) (ab27dd0)
  • Move Guild#defaultRole to RoleStore#everyone (#3347) (2df4f22)
  • Util.escapeMarkdown: Allow separate escaping and add tests (#3241) (00c4098)
  • TeamMember: Make id a getter (d7b2146)

Styling

  • Change let to const in MessageMentions (#3483) (d280d1b)

Typings

  • Refactor how channel types are done (#3808) (d33fc74)
  • WebhookClient: Client is not a client (#3838) (6109669)
  • WebhookClient: Client is not a Client (#3829) (44ff67d)
  • MessageEmebd: Fix typings for addFields (#3821) (54f24d1)
  • MessageEmbed: Properly mark properties (#3822) (967b533)
  • MessageEmbed: Add interfaces for props, fix copy constructor (#3492) (e57ef25)
  • Invite: Channel can be a PartialGroupDMChannel (#3823) (28490e8)
  • AddGuildMemberOptions: Change accessToken from String to string (#3815) (ecd8ccc)
  • Constants: Add VerificationLevels (#3811) (f6075a6)
  • Guild: Mark afkChannel* & applicationID as nullable (#3805) (f852308)
  • Add invite events to WSEventType and constants (#3782) (6770c7c)
  • GuildMemberManager: Fetch with no parameters returns collection (#3773) (149f72b)
  • Add HTTPOptions#api and export Constants as a value (#3768) (fe7df70)
  • Constants: Add CUSTOM_STATUS to ActivityTypes (a12e1e8)
  • TextChannel: Topic can be null (#3687) (17237c7)
  • RichPresenceAssets: *ImageURL's options are optional (#3727) (877577b)
  • GuildEmoji: Id isn't nullable (#3694) (69c79a4)
  • VoiceBroadcast: Add subscribers property (#3677) (45cd58b)
  • Fixed build error (#3689) (62afafd)
  • BaseClient: Remove delay parameter from setImmediate (#3667) (a53d865)
  • GuildEmoji: Make url not-nullable (#3656) (155b682)
  • ShardingManager: Add options.shardList (#3657) (c734979)
  • Bitfield: Add hasParams to toArray, fix serialize's type (#3579) (fc27ce1)
  • TextChannel.topic & NewsChannel.topic should be nullable (#3628) (e13b3f5)
  • Extendable: Add missing channels (#3581) (7d74e7e)
  • Bitfield: Use IterableIterator instead of Iterator (#3599) (f56b442)
  • GuildAuditLogsFetchOptions: Specify concrete type of 'type' property (#3586) (cbde819)
  • Util: Use StringResolvable (fixes old pull) (#3556) (99466a9)
  • GuildEmoji: Restore deletable, remove inherited property deleted (#3543) (16db92e)
  • Emoji: Remove deletable, add deleted, mark nullable props (#3542) (ca1bd61)
  • Optional reason for setNSFW and add deleted properties (#3505) (a8e3657)
  • Mark GuildMember#nickname as nullable (#3517) (94ce19d)
  • Mark GuildMember#nickname as nullable (#3516) (3458693)
  • Add missing rateLimitPerUser property (#3480) (7485550)
  • Make TypeScript interaction with channels better (#3469) (d05334f)
  • GuildChannel: Add members getter (#3467) (4072ffb)
  • Client: Remove 'resume', add 'replayed' parameter to 'shardResumed' (#3455) (9e6a73d)
  • DataStore: Correct return types for resolve, resolveID and remove (#3448) (745a0ea)
  • Switch overloads of RoleStore#fetch (#3397) (7fae6e5)
  • Guild: Add typings for setRolePositions (8e18572)
  • GuildChannelStore: Add CategoryChannel as possible return value (#3326) (e87e4a6)

11.5.1 - (2019-05-29)

Bug Fixes

  • Decode voice ws data as json (8652e47)
  • StreamOptions#volume typings (#3303) (d34b624)
  • Delete VoiceStates even for uncached members (db56e0c)
  • Message#pinnable: You can't pin system messages (#3279) (8c213e9)
  • Message#pinnable: You can't pin system messages (#3279) (abebeac)
  • GuildMember: Do not create a channel key when editing (06b72ee)
  • GuildMember: Do not create a channel key when editing (3ad16fa)
  • typings: Guild#member can return null (#3274) (97de79b)
  • READY: Do not overwrite Client#user when reidentifying (1bafa4b)
  • WebSocketManager: Rethrow unknown errors when connecting a WebSocketShard (16fcfa3)

Deprecation

  • Explicitly mark everything deprecated as @ deprecated (#3307) (db492e6)

Documentation

  • StreamDispatcher: Specify pausedTime is in milliseconds (#3295) (34006cb)
  • ChannelCreationOverwrites: Revert incorrect rename of "id" property (#3273) (e3d03ad)
  • TextChanne: Specify unit of rateLimitPerUser (#3272) (363cec3)
  • TextChanne: Specify unit of rateLimitPerUser (#3272) (55447fd)
  • Guild: Fix typo in example of createChannel (c844a7b)

Features

  • Throw custom error for uncached Guild#me (#3271) (3f1232e)

Typings

  • VoiceState: Add connection getter (#3292) (9ca36b8)
  • Guild: Remove voiceConnection, add voice, cleanup rest (97f3b6c)
  • Collection: Use T in accumulator and initialValue when reducing (#3284) (b3060ea)

11.5.0 - (2019-05-11)

Bug Fixes

  • Partials: Client#event:messageUpdate(oldMessage) and MessageReactionAdd on guild channels (#3250) (0dd3ed7)
  • Client: Type status and do not throw an error if accessed before login (67da457)
  • WebSocketConnection: Stringify data when no websocket is available (60013b7)
  • ClientUser: Lint (aa253d9)
  • Typing map being reset for ClientUser (#3216) (4e0cf87)
  • Not checking for guild when creating a channel (e0cfb7f)
  • Channels being removed from guild.channels (4d7fc03)
  • MessageCreateAction: Remove redundant GuildMemberStore#add call (39115c8)
  • Guild: Only update emojis when they are present in the payload (6a07715)
  • typings: Collection#find & findKey can return undefined (#3228) (3f6d08a)
  • Old objects not being cached (#3225) (23e6414)
  • Structures: Allow multiple extensions by checking prototype chain (#3217) (52b4f09)
  • Emit resume event, silent disconnects, error event param (#3192) (1514df0)
  • PresenceUpdateAction: Emit presences again (#3214) (cde955c)
  • typings: Remove duplicated Guild#defaultRole (#3211) (39fd8fd)
  • Guild: Sort roles with the same position in the correct order (#3184) (923c945)
  • ApiRequest: Filter out null query values (00eb7e3)
  • ShardingManager: Do not spawn the last shard early (bfab203)
  • Remove GuildChannel fallback, and remove GuildChannel as extendable (#3165) (bb92289)
  • Internal Sharding, this time fixed™ (#3140) (3f5161e)
  • MessageReactionRemove not emitting for partial messages (#3125) (2341d13)
  • APIMessage: Edit shouldn't remove content (#3129) (1673b6f)
  • Role: Proper undefined check for data.permission when editing (579283d)
  • Emoji: Reject explicit error when MANAGE_EMOJI permissions are missing (#3063) (45a17e7)
  • Util: SplitMessage throws an error if a chunk is too large (#3060) (1618829)
  • GuildMember: Add explicit channel resolve error to member edit (#3059) (a0ff72b)
  • Sharding issues, silent disconnects and code cleanup (#2976) (793341d)
  • Ensure VIEW_CHANNEL permissions before trying to join (#3046) (7324a99)
  • WebSocketShard: Report correct resumed event count (#3019) (f2ed93c)
  • Guild: Ignore voice states referencing an invalid channel (73aaab5)
  • ShardClientUtil#id: Erroneously reporting as an array (8230255)
  • TextBasedChannel: Added missing lastMessage functionality in textchannels (#2999) (7186c91)
  • WebSocketShard: Add websocket send error handling (#2981) (5cbdf38)
  • GuildBanRemove event name (#2983) (b5d5c69)
  • Util: Throw an explicit error if a chunk exceeds the max length (#2936) (ecaec29)
  • GuildChannel: Add explicit channel resolve error to member edit (#2958) (23a16c3)
  • Sharding Issues & Cleanup (#2952) (9085138)
  • ShardClientUtil#count and ShardClientUtil#id typedef (#2956) (e793338)
  • (GuilChannel): clone method not taking overwrites into account (#2932) (980d71f)
  • Client#userUpdate receiving wrong packet (08002d0)
  • Client#raw emitting twice (7796cb5)
  • Client#shards not being set properly (be0d1cd)
  • VoiceConnection: Compare new speaking to old to avoid TypeError (01476de)
  • VoiceConnection: Use Speaking#has to fire _stoppedSpeaking (#2896) (2ba0003)
  • Client#voiceStateUpdate: NewState is guaranteed (1607612)
  • Emit voiceStateUpdate on guildMemberRemove (#2892) (183ba25)
  • Revert #2768 (#2848) (950abd4)
  • Shard: Use DISCORD_TOKEN instead of CLIENT_TOKEN, see #2843 (73b9b0e)
  • ClientPresence: Use possibly extended constructor from structures (6b810b2)
  • typings: Fix compilation with 'strict' enabled (#2845) (21999fa)
  • Webhook: APIMessage require should be a const (0ab69c5)
  • Webhook: APIMessage is not circular, fixes WebhookClients (c0a9b08)
  • Webhook#send not resolving content (53420fa)
  • typings: Remove UserConnection, fix various constructors (1d77d1a)
  • HTTPError: The path property should actually be the path (ead99a5)
  • typings: Move static properties above methods (b1ce602)
  • Emit ReactionCollector#remove when reaction is removed by collected user (#2803) (038b142)
  • Guild#deleteEmoji: Reject non emojis / emoji IDs (#2793) (cd58599)
  • Better global ratelimit management (#2801) (989c365)
  • Reactions ratelimits (#2795) (f326fe6)
  • GuildChannel#lockPermissions: Properties allow and deny always returning undefined (#2800) (1fc84a9)
  • Private_channels always returns an empty array on ready (#2787) (9c2aeb7)
  • Guild#addMember incorrectly resolving userID (93bf430)
  • Voice not throwing errors on bad stream input (#2786) (6f62d7d)
  • ClientApplication: Message#application is a partial ClientApplication (82993fb)
  • webpack: Properly minifying (02f98cd)
  • webpack: Properly emitting process deprecation warnings (7684ad3)
  • Actually fix Readonly typos (928fb30)
  • Typo in Activity#flags (c59d329)
  • Disable getter-return (5523233)
  • Pin & update deps (d3e7dbc)
  • WebhookClient should handle ratelimits properly (4ee3cf0)
  • RequestHandler: DiscordAPIError#path should be the path, not the route (d91deef)
  • Pin peer-deps to the latest version we allow (ab0ede0)
  • Pin dev-deps to a higher version to avoid problems with upath on node 10 (8afc1fa)
  • GuildBanAddHandler: Not emitting guildBanAdd for uncached users (#2763) (e935611)
  • Handle async stacks correctly (#2744) (3f81b61)
  • Permissions: Permissions itself is a valid PermissionResolvable (5d889be)
  • GuildAuditLogs: Default target to object with target_id (#2742) (700201e)
  • Message: Properly check for an edited_timestamp in patch (616e0dd)
  • Fix GuildMember#presence getter and cleanup (#2751) (6506252)
  • Client: Do not redefine _timeouts and _intervals of BaseClient (#2748) (7525474)
  • Util#cleanContent parsing of GuildMember (bb0700a)
  • StreamDispatcher doesn't emit finish if ended while paused (#2648) (bfde1dd)
  • Message passing empty data to GuildMember#_patch (edf9c44)
  • GuildMemberStore now works with custom structures again (d276850)
  • GuildMemberStore now patches existing members (#1870) (332e30d)

Documentation

  • (Client): disambiguate the description of channels collection (#3251) (8915bc1)
  • faq: Bump to node 10.0.0 (#3224) (f7f4607)
  • Update node version requirement, npm install links, add update guide (#3220) (d177877)
  • Collector: Specify the unit for CollectionOptions#time (#3219) (bccbb55)
  • WebSocketShard: Mark non-nullable parameters as non-nullable (#3209) (eb537b6)
  • Presence: Add ClientPresenceStatus typedef (#3208) (d9a053d)
  • Collection: Fix findKey jsdoc (#3204) (3cd224d)
  • faq: Add a link to the guide, restructure a bit (#3082) (2af101e)
  • Document constructors of extendible structures (#3160) (ca43919)
  • Presence: Add missing descriptions to clientStatus (#3127) (5d10585)
  • GuildEmoji: Add @ name to requiresColons and managed properties (97c196c)
  • GuildChannel: Fix setPosition's reason type (#3199) (62cba2e)
  • Role: Fix setPosition's reason type (#3198) (266ac1c)
  • Mark getters as @ readonly (e62833b)
  • RateLimitInfo#limit instead of requestLimit (#3132) (be2f788)
  • Guild: Update createChannel examples to not use deprecated overload (32ad56a)
  • MessageEmbed: Add missing type value (#3106) (4d3f766)
  • GuildMember: Add missing @name to document user property (4289b18)
  • Structures: Note about extending prior to instantiating client (#2884) (db3ae01)
  • Examples: Fix usage of removed overload of Collection#find (#3027) (3dff505)
  • Client: Add missing example tag and closing parenthesis (#3024) (3b7b282)
  • Client: Add missing parenthesis in fetchInvite example (#3023) (5ed2a95)
  • Guild: Use 'updated' variable in example for setRegion (28db527)
  • Guild: Use AuditLogAction for fetchAuditLogs' type option (46fd7b0)
  • Webhook: Add mising '@name' to Webhook#token's docstring (89a9b93)
  • Webhook: Add mising '@name' to Webhook#token's docstring (840d22f)
  • (TextChannel): add documentation for messages and lastMessage (#2986) (2aa8e1d)
  • Move event docstrings to the emitting line of code (fd21bbb)
  • Add documentation for Client#channelCreate (#2967) (1d1b3f2)
  • GuildChannel: Fix doc string for clone method (377ecd7)
  • GuildChannel: Add rateLimitPerUser to ChannelData typdef (6aa7792)
  • Restore Client#error docs that went missing (3418b5a)
  • Add missing docstring for Client#guildDelete (b59c75e)
  • Add missing docstring for Client#userUpdate (#2930) (905f1c3)
  • ClientUser: Fix example for setActivity method (#2880) (fd25d19)
  • Collection: Clarify example for tap method (#2881) (78c4be5)
  • Game: Document possible values for type property (b92f8d9)
  • Integration: Document Integration class (1428967)
  • Fix typos (#2868) (d8c97be)
  • Correct default value for SplitOptions.maxLength in Util#splitMessage (#2847) (3298ea1)
  • MessageAttachment: Redocument name property (3f44320)
  • Client: Fix syntax error in fetchInvite example (d2da771)
  • User: Clarify what User#tag represents (9de3e09)
  • ChannelPinsUpdate: Clarify time param (#2823) (9c2924a)
  • GuildChannel: Permissionsfor returns a nullable readonly Permissions instance (6b9dd13)
  • Add docstring to HTTPError (f75b80d)
  • Correct Guild#memberCount (#2812) (da2d4d7)
  • Added url to Invite's warning comment (#2804) (b83fdbf)
  • Emoji: Fix typo of the word "emoji" (#2791) (469fbe2)
  • User: Fix hydrabolt's tag (#2747) (0ad7c24)

Features

  • GuildMember: Add support for voice kicking (#3246) (ee42bdf)
  • Actions: Use partials for messageDeleteBulk (#3240) (176fc47)
  • VoiceState: Self mute/deaf methods (#3243) (692494d)
  • VoiceConnection: Add .voice (ce1e3d2)
  • MessageStore: Add remove() (#2468) (2666a9d)
  • Public raw events (#3159) (9b0f4b2)
  • VoiceChannel: Add editable (#3173) (870528e)
  • Partials.GuildMember: GuildMemberRemove & Guild#me (#3229) (23191da)
  • Invite: Add deletable getter (#3203) (c4b7957)
  • Sharding: Change waitForReady to spawnTimeout (#3080) (01c708b)
  • Util: Resolve text parameter of splitMessage to a string (#3212) (abd9d36)
  • MessageEmbed: Resolve color in embed constructor (#2912) (52bc5b0)
  • Util: Add YELLOW to ColorResolvable (#3182) (520810d)
  • Webhook: Add url getter (#3178) (c078682)
  • Guild: Add fetchBan and withReasons to fetchBans (#3170) (5cd6d8d)
  • MessageStore: Add cache parameter to fetchPinned() (#3154) (9b2bf03)
  • MessageEmbed: Add missing proxyURL property to video (#3109) (7006f00)
  • RichEmbed: Add timestamp support for setTimestamp (#3061) (49e8bd9)
  • Guild: Add position to createChannel's implementation (#3058) (7bc2e23)
  • RichEmbed: Add length getter (#3057) (890b1be)
  • Presence: Add clientStatus (#3056) (a2a0c05)
  • Util: Add WHITE as color resolvable (#3062) (5272cec)
  • RoleStore, ChannelStore: fetch() method (#3071) (c432591)
  • Constants: Add error code 50020 (#2953) (359ddaf)
  • Presence#clientStatus (#2997) (75e264d)
  • MessageEmbed#length (#3003) (1db7899)
  • GuildChannelStore: Add support for create to accept a position (#2965) (21ec031)
  • GuildChannelStore: Add support for create to accept a position (a8b47a7)
  • GuildChannel: Allow to set all options when cloning (#2937) (d92ee2f)
  • Constants: Add error code 50020 (#2953) (54aff31)
  • Internal sharding (#2902) (f3cad81)
  • Emoji: Move createdAt and createdTimestamp getters from GuildEmoji (#2872) (71c04a3)
  • ClientUser: Allow options as first parameter to setActivity (#2890) (1ee417c)
  • GuildChannelStore: Support for create with rateLimitPerUser (#2878) (8ec3b51)
  • MessageEmbed: Add spliceField method (#2857) (8feb874)
  • MessageEmbed: Allow setTimestamp to take a timestamp (#2875) (1fe3608)
  • TextChannel: RateLimitPerUser (#2811) (d4c0bb2)
  • TextBasedChannel: Add lastPinTimestamp and lastPinAt (#2813) (e96a603)
  • Add ClientOptions#retryLimit (#2805) (be4d6f9)
  • Guild Integrations (#2760) (c4df027)
  • GuildEmbed support (#2766) (5787dee)
  • Handle and forward WEBHOOKS_UPDATE events (#2762) (0401b8a)
  • Add guild.fetchVanityCode() (#2732) (f8057b0)

Refactor

  • ClientVoiceManager: Make public, remove Client#voiceConnections (#3186) (70d4b44)
  • WebSocket: Utilize URLSearchParams (#3185) (152d2e8)
  • APIRequest: Utilize URLSearchParams (#3180) (5e9bd78)
  • User: Avoid invoking dmChannel getter more than once per method (#3108) (fe5563e)
  • Consistently use permissionOverwrites over overwrites (#2886) (6e5f088)
  • WebhookClient: Make token property non-enumerable (#2861) (96a0655)
  • Comprehensive permissionOverwrites refactor (#2818) (3d8207a)
  • Remove duplicate send checks (#2790) (6d18425)
  • Clean up rate limit handling (#2694) (13f46b9)
  • Rewrite message creation (#2774) (19c298f)
  • BitField: Base class for Permissions, ActivityFlags, Speaking (#2765) (c62f01f)
  • Typings for voice state and presences refactor (9b5df57)
  • Merge typings into 11.4-dev branch (efc8445)

Testing

  • Add Webhook(Client) testing file (#2855) (cbb9b14)
  • Add typings lint runner to test script (68c8329)
  • lint: Update typings lint script (3b91fa0)
  • lint: Fix typings lint errors (5fdd3a5)
  • Fix typings lint script (29d51fa)

Typings

  • Presence: Add missing guild property (8b83e2f)
  • GuildChannel: Add manageable getter (12e041b)
  • Collection: Add missing thisArg to partition (#3167) (4b6e8fc)
  • Collection: Add typings for partition (#3166) (831f988)
  • Guild: Add missing defaultRole property (#3126) (1207c24)
  • Convert types to interfaces where applicable (#3068) (bc0a761)
  • SnowflakeUtil: Add optional "timestamp" parameter to generate (#2998) (8b602eb)
  • ShardClientUtil: Fix id property type (#3054) (ae72690)
  • GuildCreateChannelOptions: Added missing properties (#3052) (d98d464)
  • Add missing ImageSize numbers (#3045) (2dcdc79)
  • TextBasedChannel: Fix create(Message)Collector's options type (17ca836)
  • Guild: Fix typos in method names (9d83516)
  • TextBasedChannel: Add Snowflake[] overload to bulkDelete (#3001) (8a76cc5)
  • SnowflakeUtil: Add optional "timestamp" parameter to generate (#2998) (8286d1a)
  • RichEmbed: Add MessageEmbed as valid data in constructor (351f0a3)
  • Add Guild#shard and Guild#shardID (6b886b0)
  • MessageEmbed: Add spliceField and static checkField methods (4491b7b)
  • Collection: Each return Collection<K, V>, not void (27d2ce7)
  • Fix lint script and linter errors (fcf4745)
  • Add HTTPError class definition (#2852) (60ad905)
  • Message: Member property is a readonly getter (2cc0a31)
  • Add declaration of Message#url and MessageAttachment#size (#2821) (b068abb)
  • GuildChannel: PermissionsFor's return value is nullable (75745fe)
  • Clean up permissionResolvable (2e2c9c4)
  • Add WEBHOOKS_UPDATE (bd14d5d)
  • Fix PermissionResolvable typedef, allow resolving of Readonly<BitField> (55c58b6)
  • Guild: Add fetchVanityCode (7546ca3)
  • VoiceState is extendable (e7ee8d2)
  • Remove UserFlags and ClientApplicationCreateAssetsOptions (58ce082)
  • VoiceRegion: Remove no longer existing sampleHostname (c966aa2)
  • VoiceConnection: Receivers is now receiver and no longer an array (6841b4e)
  • Remove user bots (5942e8b)
  • Make PermissionResolvable recursive (f5b3dff)
  • Client: VoiceStateUpdate now always has an old state (9a95b6a)

11.4.1 - (2018-08-12)

Bug Fixes

  • ClientDataManager: Replacing channels unecessarily (d772bff)
  • PresenceStore: Pass user id as extra (#2733) (b7e61f2)
  • Util.basename being unreliable (#2679) (0f63c50)
  • Collection: Use Symbol.species for creating derived collections (#2715) (ce8a679)
  • RichEmbed#_apiTransform fields (7126cad)

Documentation

  • Update for 11.4.0 (#2727) (8b1bb95)
  • Client: Actually fix rateLimit's event params (8adfc97)
  • Fix client#rateLimit parameters (0e370d7)

11.4.0 - (2018-08-09)

Bug Fixes

  • Collection: Use new this.constructor instead of new Collection (#2709) (c10b4fe)
  • Wrong _patch call from GuildEmoji#edit and other issues (#2673) (4ae58f6)
  • Shards not receiving regular messages (88616ea)
  • Emoji#fetchAuthor: Reject with Error rather than TypeError (4a9c2f8)
  • GuildEmoji: Added a check for managed emojis in fetchAuthor (#2645) (f963621)
  • MessageReaction: Only delete reaction if cache and count is empty (#2661) (3a7a7d7)
  • Invite: Support for group dm invites (#2603) (3680661)
  • GuildAuditLogs: Default to PartialGuildChannel if channel deleted (#2605) (886c212)
  • ShardingManager: RespawnAll shard iteration (f67d682)
  • Message: Keep reply option when replying with an embed or attachment (1d9edec)
  • Message: Keep reply option when using an embed or attachment (5268320)
  • Webhook: Import Channel correctly (077d41f)
  • Shard: Actually remove default execArgv (938d87d)
  • Client: Login catch (a667e44)
  • Client: Login not properly rejecting on invalid token (448f384)
  • TextBasedChannel: BulkDelete should not return non-Promise (72346fb)
  • RequestHandler: Provide proper route and method (2694c0d)
  • Shard: Allow node to default to process.execArgv (93f8c85)
  • Instantiate constructors before using those properties (92e2c3c)
  • Util: Circular reference (41a1dee)
  • Typo in src/errors/messages.js (#2631) (f711aa3)
  • Shard: Fix default args (6b3bfdd)
  • Ratelimits (#2615) (58e5017)
  • BasePlayer: Incorrectly mutating FFMPEG_ARGUMENTS when using seek (#2622) (bf738b3)
  • Do not cache webhook users (#2611) (8a3ae87)
  • ShardClientUtil: Send method erroneously rejecting (#2604) (c5fea45)
  • ShardClientUtil: Send method's promise erroneously rejecting (#2604) (493ba73)
  • Messages: Undeleting themselves (#2570) (037e8cf)
  • GuildMember: Mark joined as nullable (ecf6e2b)
  • GuildMember: Account for joinedTimestamp as well (5071477)
  • GuildMember: Mark joined as nullable and fix fetching for these cases (13bfceb)
  • VoiceChannel: Deletable erroneously returning true (0387d34)
  • VoiceChannel: Deletable erroneously returning true (0be0d25)
  • GuildMember: Invalid Date (46b19bb)
  • Guild: Equals method modifying features array of guild (#2544) (d02c303)
  • RequestHandler: Only retry once on 5xx (#2471) (14aab1b)
  • ClientUser: Correctly resolve nicks to an object in createGroupDM (f23b617)
  • docs: Remove duplicated Collection#findAll docstring (f921261)
  • Burst request mode hanging permanently (3790619)
  • Guild: MemberCount not decrementing when an uncached member leaves (15a8e17)
  • ClientDataResolver: Always resolve with a buffer when fetching a file (ae28f52)
  • Role: Allow role color to be removed (2f2e281)
  • Collector: Increase and decrease max listeners dynamically (60288d0)
  • GuildEmoji: Verify MANAGE_EMOJIS permission from Guild#me (6cde6de)
  • Prevent max listener problems with collectors (#2521) (32369f3)
  • RESTMethods: Remove listener from correct event (#2534) (a89de09)
  • Webhook#edit attempting to use client.channels always (f293ddd)
  • ClientUser: SetActivity should resolve with a Presence (a85d801)
  • GuildMember#toJSON not having roles (#2520) (5acf406)
  • Added everyone role to GuildMemberRoleStore#_filtered (#2514) (934e90b)
  • OpusEngineLinst: Throw a descriptive error when not funding an opus engine (33a4232)
  • Util: Reject with a meaningful error instead of throwing one (44fefdf)
  • GuildEmoji#clone (64caa33)
  • GuildMemberRoleStore#remove (30d43ef)
  • TypeError in mixin function (#2506) (95b5317)
  • MessageEmbed: Correct docs, default to array, resolve MessageAttachments (#2492) (e12ab74)
  • Use Object.keys instead of Object.values for node 6 (#2487) (feb0991)
  • RestMethods: Typo timeout -> timed (ff671b2)
  • MessageEmbed: Avoid throwing error when accessing colorless hexColor (b60ee25)
  • Message: Do not update editedTimestamp when there is none in the payload (3ba26ad)
  • RESTMethods: Verify correct member in add and remove role listeners (de78a8d)
  • MessageDeleteBulkAction: Remove bulkDeleted messages from cache (7c37a0d)
  • Client#generateInvite resolving permissions incorrectly (c387e96)
  • Client#generateInvite resolving permissions incorrectly (8d065fa)
  • Role#setPermissions resolving & docs (7c0b617)
  • GuildChannel#setTopic not nullable (92b4216)
  • ClientManager: Patch ClientUser's presence with ClientOption's one (#2458) (61ad947)
  • Webpack building and upgrading to webpack 4.5 (f247484)
  • StreamDispatcher: Only update speaking for non broadcasts (#2437) (e845758)
  • Guild: Remove member's voice state on guildMemberRemove (b955a51)
  • Role: Allow edit method to null the color (#2447) (f985b6b)
  • GuildChannel: Always return a boolean from the manageable getter (e431ccd)
  • GuildEmojiRoleStore: Do not prematurely patch roles (d041cb2)
  • MessageReaction: Do not increment count twice for own user (513dbf2)
  • GuildemojiStore: Allow resolving of external ReactionEmoji (0f7ce3f)
  • Convert lastMessage to getters (#2384) (630009f)
  • DataResolver: Always resolve with buffer when resolving urls (8541348)
  • GuildMemberRoleStore: Make remove role remove roles again (3e6c310)
  • GuildMemberRoleStore: Only update roles after successful request (3f6a0e4)

Documentation

  • Small changes regarding permissions/overwrites (#2718) (bafbee9)
  • Change for GuildChannel#replacePermissionOverwrites (#2714) (af6d649)
  • Implement #2707 on master (5980d04)
  • RichEmbed: Timestamp is actually a Date (c7f379f)
  • ShardingManager: RespawnAll actually resolves with a collection of shards keyed by numbers (4a48a7d)
  • Added sizes 16, 32, 64 (#2666) (c46cbbf)
  • Client: Clarify messageReactionRemove event's user description (#2657) (717e7f0)
  • Client: Clarify messageReactionRemove event's user description (#2657) (a97b504)
  • Improvements in various places (3d82ca9)
  • Guild: MemberCount is not as of ready (#2621) (de408d7)
  • Only cached messages emit reaction events (#2607) (7ce1d16)
  • GuildMember: JoinedAt is nullable (bd3d8d4)
  • Add video to MessageAttachment properties (#2608) (791f58e)
  • Document lastMessageID for TextChannel and (Group)DMChannel (#2602) (e7eab42)
  • Document lastMessageID for TextChannel and (Group)DMChannel (#2602) (507cce3)
  • Last english fix for now (ba9a93b)
  • Fix english because english is difficult (eb4607c)
  • Wording improvements (5eff360)
  • Add examples & improve notices (dfbd4bd)
  • Add examples & improve notices (c699888)
  • Guild: Handle error in example of fetchInvites correctly (#2568) (13880fe)
  • Guild: Handle error in example of fetchInvites correctly (#2568) (27fcb64)
  • Collection: Make findKey method show up in docs (56a9d1b)
  • Using deprecated version of find (6070b22)
  • Permissions (b2d1cb6)
  • RateLimit event (6f02be2)
  • Role: Change 'the this' to this (typo) (#2377) (e5e59cc)
  • ClientUser: Correct warning for createGuild method (9264511)
  • GroupDMChannel: Fix top 'an user' -> 'a user' (54fa5f6)
  • Collection: Fix spelling of 'behavior' (#2529) (b757f9e)
  • Collection: Fix spelling of 'behavior' (#2529) (17d2c2e)
  • Consistency (745669a)
  • (backport) Bring the main doc pages up to date, and add more examples (#2094) (d7e7803)
  • Inconsistencies (b8a9a76)
  • Inconsistencies (ec9211c)
  • GroupDMChannel: Fix grammar an user -> a user (#2482) (2dd7fd2)
  • Fix a number of spelling mistakes (#2469) (8551b89)
  • GuildStore: Correct warning for create method (#2453) (2bf68dc)
  • Fix missing parameter type/description from #2193 (#2396) (acd1740)

Features

  • Add new Permission PRIORITY_SPEAKER (#2698) (b38f537)
  • Message: Add url getter (#2594) (ba32eec)
  • Add support for Guild#setDefaultMessageNotifications (#2624) (95b2dd3)
  • ShardingManager: Add execArgv option (#2585) (bfbb723)
  • Guild: Add support to edit defaultMessageNotifications level (#2592) (270a278)
  • User: Add locale property (#2571) (bce9a8a)
  • Add "deleted" property to multiple structures. (#2556) (f0c4d0e)
  • Shard#kill method (#2454) (fc81924)
  • Collection: Backport partition method (f456f4c)
  • Collection: Add tap method (#2507) (de7d90a)
  • Collection: Add sweep method (#2528) (2b6592e)
  • GuildMember: Add manageable getter (9bb8831)
  • GuildChannel: Add fetchInvites method (9904167)
  • Emoji: Add fetchAuthor method (dd7eedb)
  • Game: Add toString method (c0ca73a)
  • GuildChannel: Add setNSFW method (54913d9)
  • Guild: Add verified getter (#2027) (9169958)
  • ClientDataResolver: Add 2 basic role colors (96b115e)
  • Permissions: Add valueOf method (#2363) (2d83126)
  • Emoji: Add deletable getter (ed8ab91)
  • GuildEmoji: Add deletable getter (#2535) (fca6d3b)
  • ClientDataResolver: Account for discord.gg/invite/ invites (21326f6)
  • Add Collection#sweep() (#2528) (7a3a4d1)
  • Add Collection#tap (#2507) (9f91819)
  • DiscordAPIError: Backport method property (#2536) (8700e96)
  • DataResolver: Account for discord.gg/invite/ invites (ddab809)
  • DiscordAPIError: Add method property (#2530) (62605c4)
  • Allow sweeping of inactive request buckets (b5f3772)
  • SnowflakeUtil: Allow snowflakes to be generated dynamically (d9a091f)
  • GuildChannel: Add manageable getter (#2439) (49ad8cc)
  • Guild: Add mfaLevel property (#2451) (7b9e84d)
  • GuildChannelStore: Add topic to create options (#2488) (c9c2d66)
  • SnowflakeUtil: Allow snowflakes to be generated dynamically (#2459) (f6216f3)
  • Guild: Add mfaLevel property (#2451) (b3ff7c7)
  • GuildChannel: Add manageable getter (#2439) (ef4bd92)

Refactor

  • Move Message#cleanContent function to Util (#2703) (f3d7f7c)
  • Remove user bot methods (#2559) (5afd77a)
  • Webhook: Make token not enumerable (#2566) (e0378cf)
  • MessageMentions: Make client, guild, and _content non enumerable (e8ab049)
  • RESTManager handlers to use collection (#2539) (99bd355)
  • Remove unnecessary Collection methods and add Collection#partition (#2511) (a732402)
  • VolumeInterface: Remove usage of deprecated new Buffer (#2531) (bd9c9ce)
  • Improve sweep performance (bd83bb9)
  • Tidy up _inactive check (27a0f48)
  • Role stores (#2478) (8b83553)

11.3.2 - (2018-03-04)

Bug Fixes

  • ws: Set correct ratelimit remaining after reset or destroy (#1806) (c8f78b2)

Documentation

  • Change 'the this' to this (typo) (#2377) (8b67991)
  • TextChannel Webhooks fix&improvement (0a951cf)

11.3.1 - (2018-03-03)

Bug Fixes

  • RichEmbed timestamp cloning (8f9e911)
  • BulkDelete discarding non-cached messages (363ead9)
  • GuildAuditLogs using Guild#fetchInvites (acdf43a)
  • Export CategoryChannel (f64e924)
  • StreamDispatcher: Remove gratuitous parentheses (f2c5714)
  • Activity: Ensure that timestamps are actually numbers (464fc14)
  • If present, wait for libsodium-wrappers' ready to support v0.7.3 (c6f92c1)
  • StreamDispatcher: Emit volumeChange event when the volume changes (#2349) (c25ea45)
  • ReadyHandler: Don't create new guild instances for already existing guilds (dc92582)
  • StreamDispatcher: Do nothing when resume is called when not paused (05c5bdc)
  • Build with node 8 (2254a3e)
  • Add node 8 to build (da14e33)
  • Webpack minified and bump deps (a7b46be)
  • Properly fix minified builds (5583e70)
  • Dont require snekfetch supplemental because they are not a thing anymore (8e60743)
  • Npm scripts (332558a)
  • VoiceChannel: SetUserLimit defaulting to wrong value (40a2f09)
  • StreamDispatcher: Properly check that timestamp fits in 2^32-1 (#2325) (8ee2788)
  • AudioPlayer: Add opus to destructured key of stream options (96904b1)
  • ClientApplication: CreateAsset incorrectly resolving image and posting (234648b)
  • Add clone methods to GuildMember and GuildMemberRoleStore (32e2dd2)
  • MessageEmbed: Remove length checks (#2304) (9810bdb)
  • resolveColor: Not interpreting DEFAULT correctly (d46eec4)
  • resolveColor: Not interpreting DEFAULT correctly (52c402f)
  • Nullable activity (bd154bd)
  • Webhook#send: Incorrect docs + return (e978253)
  • RoleStore: Create method is supposed to take an options object (048e147)
  • Require discordjserror to throw meaningful errors where necessary (07c48a6)
  • startTyping: Return, to not overwrite already existing entries (8df1ac9)
  • Guild: MemberCount not decrementing when an uncached member leaves (93e083d)
  • client#voiceConnections: Incorrect docs description (#2280) (00e2f39)
  • CategoryChannel: Set the type to 'category' and document its type (b5ff309)
  • GuildMember: Make edit method only modify a copy of the voice state (fbd25f8)
  • WebSocketConnection: Make errors in event handlers throw again (a22b856)
  • guild#createRole: Incorrect guild reference (932980e)
  • Missing height & width in embeds (#2249) (351f5f7)

Documentation

  • Document the messages property for all TextBasedChannels (#2373) (069dccf)
  • Examples & improvements (24571e4)
  • Incorrect returns (96e88f3)
  • Improvements & examples (fcdffcf)
  • Message#type (38f5288)
  • WIP: Bring the main doc pages up to date, and add more examples (#2094) (9f89252)
  • Remove trailing commas (b79722a)
  • Trailing commas (2b24b10)
  • Improvements (af35175)
  • Add links for the guide (#2346) (0ec53c9)
  • Add links for the guide (#2346) (dc6bce1)
  • Add TypeDef for MessageActivity (#2321) (4336317)
  • ClientUser: Mark email field as user account only property (#2306) (31873eb)
  • ClientUser: Mark email field as user account only property (#2306) (1f14758)
  • Doc changes (2e0048a)
  • Fix VoiceBroadcast documentation (#2277) (8a2ace4)
  • Fix streamdispatcher documentation (#2275) (edc4e2b)
  • Fix attachFiles() docs (#2267) (19591b0)
  • Collection > RoleStore (#2251) (a3be0f3)

Features

  • Allow multiple permission overwrites when editing channel (#2370) (b637c9c)
  • GuildChannel: Add fetchInvites method (#2339) (47bc0fc)
  • ShardClientUtil#broadcastEval: Allow promise resolve (#2328) (66c0512)
  • ClientOptions: Add support for setting an initial presence (#2320) (87e5a45)
  • Add GuildEmoji#fetchAuthor (#2315) (e0cbf0b)

Performance

  • Collection: Performance improvements (#2342) (b7851ba)
  • Collection: Performance improvements (#2342) (a817295)

Refactor

  • Move member role-related functions to a special store (#2242) (00172e6)
  • GuildMember#manageable: Refactored kickable and bannable (#2211) (36555c1)
  • Tidier overflow checking in StreamDispatcher (83640a2)

11.3.0 - (2018-01-13)

Bug Fixes

  • Message#addReaction: Incorrect regex (#2247) (f62fa05)
  • Stream dispatcher throwing key error due to missing secretKey (8cab673)
  • avatarURL: Gifs not being animated (#2195) (d94ead7)
  • voiceStateUpdate: Incorrect members.size (#2231) (8226752)
  • Allow the Util#parseEmoji regex to match emoji identifier (#2229) (2318812)
  • verson: Update package.json (#2196) (b6c89ef)
  • Guild#createChannel: Default type to 'text' (#2184) (4063a3a)
  • bulkDelete: Stop rejections when filterOld=true (#2178) (6683c40)
  • Guild#createChannel: Default to text (#2168) (9f0417c)
  • CreateMessage: Reassigning wrong content (#2169) (1598efa)
  • CreateMessage: Fix attachment and array sending (#2158) (443961c)
  • UserGuildSettingsUpdate: Not creating settings with new guilds (#2150) (1c34819)
  • VoiceChannel#edit: Incorrect bitrate (#2144) (d705a0c)
  • guild#createChannel: New channel returning null (#2143) (fb6d14d)
  • GuildAuditLogs: Backport (#2123) (e40c3f8)
  • DMChannel: Messages not being cached (#2122) (22da595)
  • GuildMember: Permissions.missing is not a function (#2118) (b274dba)
  • Shard: Extend EventEmitter to be able to emit events (#2112) (6fa4fc5)
  • Split/Webhook: Readd message chunk sending and fix webhook avatar/username (#2085) (05a41b5)
  • Guild: Correctly resolve user in Guild#addMember (#2090) (21d09f3)
  • TextBasedChannel: Return a promise in startTyping and clarify count parameter (#2047) (94a4a06)
  • Presence: Pass client and default to offline (#2071) (a62d1e9)
  • GuildMember#hasPermission: Pass correct parameters to Permissions#has (#2070) (cd3d334)
  • Client: Login wasnt using env.token (#2060) (0277d1d)
  • MessageBulkDeleteAction: Remove deleted messages from cache (#2046) (356778b)
  • GuildDelete: Disconnect voice and cleanup GuildChannels (#2026) (fa3eee8)
  • GuildAuditLogs: Incorrect webhook reference (#2004) (8fbae13)
  • setPosition: RawPosition never getting updated when setPosition was called (#2006) (f178f9b)
  • Role: SetPosition typo (#2003) (b462a7b)
  • SetPosition taking wrong IDs and edit with position 0 breaking (#1989) (743668a)
  • createChannel: Add support for more properties and fix overwrites optionals (#1983) (cc8060c)
  • MessageEmbed: Don't send 'files' as part of the embed (#1982) (1537dd7)
  • ClientManager: Reject login with proper error on timeout or on connection failure (#1947) (3ace61a)
  • Reactions: Make MessageRection#id again null for default emojis (#1940) (25ece18)
  • EmojiStore: Return super.create in the create method (#1932) (cc0b65d)
  • DataStore: Make resolveID work properly (#1927) (fc1e78e)
  • MessageEmbed: Deep copy fields and fix files when passed into constructor (#1864) (63f6247)
  • Guild: Fix setChannelPositions method (#1900) (41c4999)
  • Errors: Throw DiscordjsErrors where one would expect them (#1905) (e34bd7c)
  • WebhookClient: Use applyToClass instead of multiple inheritance (#1896) (694f78c)
  • Voice websocket sending (2305311)
  • Minified webpack builds (9e66e80)
  • Client: Apply shardId and shardCount to the correct options object (#1888) (bb4fe25)
  • MessageStore: Fix fetchPinned method and add notice. (#1881) (ea1949a)

Documentation

  • Fix guildChannel#toString() example (#2203) (e883afa)
  • Improve examples (#2200) (c798230)
  • Improve examples (master branch) (#2209) (45127bb)
  • setParent: Docs update and nullable channel param (#2160) (4f8f208)
  • Remove leftover docstring from 11.2 (#2115) (efd1c4c)
  • Fixed some missing docstrings or incorrect return types (#2093) (0cd4a92)
  • Add Guild#features type (#2105) (2d8e26c)
  • Add/normalize .toString() docs on all classes (#2042) (1a8e8c7)
  • Change repo for erlpack (#1992) (fc43736)
  • Small doc improvement for PermissionOverwrites (#1964) (26c978c)
  • Fix some small typos or "missing" docs (#1943) (eb591da)
  • Improve documentation (#1898) (0607720)
  • Collection first, firstKey, last, lastKey (a8df63a)

Features

  • Backport animated emojis support (#2217) (659e89e)
  • Backport after and before parameter when fetching a reaction's users (#2218) (db5bdcd)
  • ClientUser: Deprecate ClientUser#setGame in favour of ClientUser#setActivity (#2127) (cd06684)
  • CategoryChannel: Backport (#2117) (cce2480)
  • Webhook: Allow to edit the channel of webhooks (#2039) (d8850db)
  • MessageReaction: Add after option when fetching users who reacted with an emoji (#1882) (f40a5e9)

Refactor

  • More oop with stores (#2216) (9eac19d)
  • Actions: Remove obsolete user and guild member get actions (#2061) (cd08a3b)
  • Remove redundant Client#rest and obsolete RESTManager#destroy (#2022) (68a3058)
  • Make use of destructuring for Constants (#1942) (ec4c987)
  • Attachment: Merge MessageAttachment with Attachment (#1894) (d6b276b)

11.2.0 - (2017-09-03)

Bug Fixes

  • Made options.type optional in ClientUser#setActivity (#1875) (39013b1)
  • Guild: Passing the constructor partial data from an invite no longer errors (#1868) (1bdaa62)

Documentation

  • Collection: Adjust exists documentation (#1876) (efbde07)

Features

  • Add DiscordAPIError#path and fixed Burst request handler handling api errors (#1867) (95e22c2)

Refactor

  • DataStores: Move instantiating of store related classes into their date stores (#1869) (c4b5736)
  • Emoji: Remove Guild#deleteEmoji in favour of Emoji#delete (#1877) (c93c4ad)

13.17.0 - (2023-11-12)

Bug Fixes

  • Export AttachmentFlags and RoleFlags (#9924) (efc1536)
  • Action: Conditionally add recipient (#9925) (3d5d957)
  • Action: Do not set undefined values (#9755) (65bbed8)
  • types: Fixed CachedManager constructor arguments in type (#9761) (142db0e)
  • readme: Test badge svg (#9919) (610bdaa)
  • Role: Calculate position correctly when rawPositions are equal (#9872) (56b481b)
  • ChannelUpdate: Check against unknown channels (#9698) (630b9d5)

Documentation

  • Fix AutoModerationRuleTriggerTypes link (#9530) (24ac27d)

Features

  • Client: Add guildAvailable event (#9692) (67dd30a)
  • Attachment: Add flags (#9686) (2ac8be0)
  • Role: Add flags (#9694) (a222e53)
  • StageInstanceManager: Add guildScheduledEvent to create() (#9024) (5f6a82d)
  • Support default_thread_rate_limit_per_user in channel creation (#9339) (759c0b0)
  • User avatar decorations (#9710) (cb11c56)
  • Support new username system (#9634) (f9e9843)
  • presence: Feature parity in image resolve (#9638) (85338ef)
  • Safety alerts channel and mention raid protection (#9073) (5057f04)
  • GuildAuditLogsEntry: Add missing channel property to extra (#9527) (c5a42ed)

Performance

  • Linear speed position getters (#9528) (90ca028)

Typings

  • BaseButtonComponentData: Narrow component type (#9735) (c08230e)

13.16.0 - (2023-05-06)

Bug Fixes

  • Constants: Ordering and missing information (#9500) (53d3477)
  • Miscellaneous fixes (#9445) (21dfac9)

Features

  • Update Discord developer documentation links and add new flags (#9473) (d867936)
  • Voice messages (#9444) (3386bab)
  • Add ACTIVE_DEVELOPER user flag (#9428) (420f379)
  • roleTagData: V13 add guildConnections (#9391) (7116151)
  • V13 VIEW_CREATOR_MONETIZATION_ANALYTICS and USE_SOUNDBOARD permissions (#9124) (28a5c7b)
  • StageChannel: V13 support messages (#9145) (7cf9224)
  • AutoModeration: V13 support customMessage (#9173) (add14ac)

13.15.1 - (2023-04-07)

Bug Fixes

  • Message: Fix permissions check in locked threads (#9338) (a8d5325)
  • ClientUser: Fix modifying self (#9318) (09ca243)
  • Typo in src/util/MessageFlags.js (#9312) (8f12054)
  • AutocompleteInteraction: Fix responding (#9315) (f79a9b5)

13.15.0 - (2023-04-02)

Bug Fixes

  • ThreadChannel: Fetch starter message properly (#9217) (af6a0e5)
  • Actions: Inject built data by using a symbol (#9204) (df68520)

Features

  • Backport chatInputApplicationCommandMention (#9245) (51c3bf1)
  • Add support for gif stickers (v13) (#9158) (4bc25c4)
  • V13 support SUPPRESS_NOTIFICATIONS flag (#9184) (120270e)

13.13.1 - (2023-02-21)

Bug Fixes

  • Constants: Enum creation error (#9155) (224f21c)

13.13.0 - (2023-02-21)

Bug Fixes

  • Minor forums cleanup (#9033) (eed293f)
  • InteractionResponses: Spell messages correctly (#9080) (123d0f1)
  • ThreadChannel: reason as second parameter (#9023) (a941cb6)
  • Import errors correctly (#9030) (6457519)
  • websocketshard: Backport zombie connection fix (#9003) (56e6718)
  • Util: Flatten ignoring certain fields (v13) (#8936) (4ec3355)
  • Backport allow deletion of ephemeral messages to v13 (#8811) (98846cf)
  • Activity: Fix equals() not checking for differing emoji (v13) (#8842) (eecc50b)
  • escapeMarkdown: Fix double escaping (v13) (#8799) (caf6f66)
  • Fixed TS 4.8 compatibility (#8601) (e6ee7d8)

Documentation

  • ThreadEditOptions: Move info tag back to invitable (#9021) (cf3c7a7)
  • Add missing @extends (#9028) (1779e1b)
  • Update UserContextMenu documentation v13 (#8721) (ea117bf)
  • Update misleading Client#guildMemberAvailable event description (v13) (#8627) (fcd52d7)

Features

  • GuildMemberManager: Add addRole and removeRole methods (#9108) (fd494a3)
  • WebSocketShard: V13 add resume url (#9078) (0188e36)
  • V13 guildAuditLogEntryCreate event (#9092) (84d34dc)
  • Constants: Add auto moderation events to WSEvents (#9102) (61fa6f4)
  • Role subscriptions (#9040) (0afa405)
  • GuildChannelManager: Add addFollower (#9050) (86329ad)
  • Guild: Add INVITES_DISABLED feature support (#9051) (69d71e9)
  • ClientApplication: Add role connections (#9072) (a7dc40f)
  • Webhook: Add channel getter (#9074) (32cdaff)
  • GuildMember: Add flags (#9098) (d69529e)
  • applicationCommandPermissionsUpdate event (#9121) (c2968b5)
  • Backport automod (#8886) (4287983)
  • GuildAuditLogs: Support after (#9012) (f0d4264)
  • Backport guild forum support to v13 (#8651) (546ac43)
  • Add Message#bulkDeletable (v13) (#8761) (ca662b4)
  • InteractionResponses: Add message parameter (v13) (#8838) (0e0851a)
  • Util: Backport escapeMarkdown PRs to v13 (#8703) (8a6588a)
  • GuildBanManager: Add deleteMessageSeconds (#8575) (ca68fc3)

Refactor

  • Move me and add fetchMe() (#9029) (b01c81d)

Typings

  • ThreadEditOptions: Add appliedTags (#9022) (6854df4)
  • widget: Add missing name (#9031) (35f6dad)
  • Swap message reaction and emoji identifier types (#8970) (6490580)
  • GuildChannelManager: Correct fetch return type (v13) (#8551) (f4e8133)

13.10.3 - (2022-08-22)

Documentation

  • Fix broken discord support link (#8485) (11d6949)

Typings

  • Disallow some channel types from webhook creation (#8535) (10b12cc)
  • ModalMessageModalSubmitInteraction: ChannelId is not nullable (v13) (#8505) (526ea74)

13.10.2 - (2022-08-10)

Typings

  • Message: Correct bulkDelete return type (v13) (#8469) (03c59e3)

13.10.1 - (2022-08-10)

Bug Fixes

  • ThreadChannel: Handle possibly null parent (v13) (#8467) (2a46d9f)

13.10.0 - (2022-08-10)

Features

  • Guild: Add max_video_channel_users (v13) (#8424) (ae43bca)

13.9.2 - (2022-07-29)

Bug Fixes

  • MessageMentions: ignoreRepliedUser option in has() (v13) (#8365) (d0a4199)
  • GuildChannelManager: Allow unsetting rtcRegion (v13) (#8362) (9612507)
  • ThreadChannel: Omit webhook fetching (v13) (#8352) (4f7c1e3)

13.9.1 - (2022-07-23)

Bug Fixes

  • ApplicationCommandManager: Allow passing 0n to defaultMemberPermissions (v13) (#8312) (4cf0555)

Refactor

  • embed: Deprecate addField (#8318) (be35db2)
  • Presence: Remove redundant date parsing (v13) (#8341) (e95caa7)

13.9.0 - (2022-07-17)

Bug Fixes

  • PermissionOverwriteManager: Mutates user (#8282) (4d86cf4)
  • GuildChannelManager: Access resolveId correctly (v13) (#8297) (beb3d8e)
  • GuildChannelManager: Edit lockPermissions (#8267) (8fe166d)
  • applicationcommandmanager: Explicitly allow passing builders to methods (v13) (#8229) (f457cdd)
  • Pass in the expected query object type for application commands (#8189) (f704b26)
  • Use non-global flag whilst resolving regular expressions (#8178) (4063b90)
  • GuildStickerManager.fetchUser: Changed guildId to guild.id (#8176) (0e0f784)
  • guildmemberremove: Remove member's presence for v13 (#8182) (e8d72c7)
  • WebSocketShard: Backport error handler preservation on connections (#8164) (c198e89)

Documentation

  • Add new HTTP Error Codes 50068 (v13) (#8273) (00a7057)
  • Add MessageActivityType (v13) (#8257) (9cc336c)
  • MessageInteraction: Update commandName description (v13) (#8220) (feb8e30)
  • constants: Document missing constants (#8168) (4ae08ad)

Features

  • ApplicationCommand: Add min_length and max_length for string option (v13) (#8217) (a93f4b1)
  • interaction: Add appPermissions (v13) (#8195) (222fc9c)
  • Partially backport perms v2 for v13 (#8162) (125696f)

Typings

  • GuildMemberManager: Non-void return of edit() (v13) (#8187) (631abee)
  • Add missing shard types (v13) (#8192) (079973f)

13.8.1 - (2022-06-23)

Bug Fixes

  • VoiceChannel: NSFW property (v13) (#8161) (c61fc80)
  • ModalSubmitInteraction: Add isFromMessage() missing method (#8092) (0ab2227)
  • Destroy options during cleanup (#8082) (afb18b9)
  • AuditLog: Default changes to empty array (#8076) (3095f35)

Documentation

  • TextBasedChannel-> TextBasedChannels typos (v13) (#8155) (65444f5)

Refactor

  • Deprecate $ prefix from ws.properties keys (#8095) (3638b40)

Typings

  • Shard#reconnecting: Backport to v13 - Fix event name (#8126) (70450f6)
  • AutocompleteOption: Backport fix and improve types (#8078) (613fd43)
  • GuildChannel: Fix type of .isText() method (#8061) (0d0190a)

13.8.0 - (2022-06-05)

Bug Fixes

  • guildchannelmanager: Wrong parameter in _sortedChannels call (#8011) (876816a)
  • websocketshard: Deal with zombie connection caused by 4009 (#7581) (114bcc0)
  • Video quality mode data property (#7946) (76df9fd)
  • ApplicationCommandOptionType: Add attachment to jsdoc (#7952) (a51420f)

Features

  • Backport text-in-voice support to v13 (#7999) (ddfe15b)

13.7.0 - (2022-05-13)

Bug Fixes

  • MessageEmbed: Fix a typo (#7906) (ea28638)
  • GuildEditData: Some fields can be null for v13 (#7633) (816936e)
  • Apply v14 fix (#7756) (ab6c2ba)
  • GuildChannelManager: delete method accessing wrong id (#7771) (c9e4562)
  • GuildScheduledEvent: Handle missing image for v13 (#7627) (dfea9c2)
  • messagementions: Fix has method for v13 (#7591) (7a52785)
  • Check if member has admininistrator on moderatable (v13) (#7578) (13dd82d)
  • ThreadChannel: Require sendable for unarchivable (#7555) (49397c0)
  • Backport MessageReaction#me being incorrectly false (#7553) (5f621c1)
  • typings: SweepStageInstances typo (#7521) (f096069)
  • MessagePayload: V13 don't set reply flags to target flags (#7515) (30baff7)
  • Shard: V13 EventEmitter listener warning (#7479) (77b8e01)
  • MessageEmbed: Set footer to undefined (#7358) (bc5ddc3)

Documentation

  • shardingmanager: Fix type of execArgv option (v13) (#7863) (43a7870)
  • Fix and improve localization docs (v13 backport) (#7807) (6dcf0bd)
  • ApplicationCommand: Fix ApplicationCommandOptionChoice (#7798) (1040ce0)
  • Backport version 13 fixes (#7552) (69ba067)

Features

  • Backport (#7776) (5165b18)
  • Backport (#7787) (3eb45e3)
  • Backport (#7786) (ab324ea)
  • Add support for localized slash commands (v13 backport) (#7766) (022e138)
  • App authorization links and tags for v13 (#7731) (9e4a900)
  • Backport (#7777) (6c56132)
  • Backport (#7778) (ff49b82)
  • Backport (#7779) (ae7f991)
  • Backport (#7783) (cedc333)
  • VoiceChannel: Support video_quality_mode (v13) (#7785) (6daee1b)
  • StageInstance: Add support for associated guild event (#7713) (68498a8)
  • modals: Modals, input text components and modal submits, v13 style (#7431) (e1cdcfa)
  • Backport Interaction#isRepliable (#7563) (5e8162a)
  • Add methods to managers for v13 (#7611) (9f09702)
  • Add premiumSubscriptionCount to InviteGuild (#7629) (8e7d15e)
  • scheduledevents: Event cover images for v13 (#7613) (a7535a2)
  • Backport MessageMentions channel type fixes (#7562) (93cdb2f)
  • Backport cache types resolving to never (#7561) (611d3a7)
  • Backport sending message flags (#7560) (29d42ed)
  • ThreadChannel: Backport creation timestamp (#7559) (1d97dcf)
  • Add custom image support to version 13 (#7557) (679b87c)
  • Backport reason on pin and unpin (#7556) (b231bec)
  • GuildPreview: Add stickers to version 13 (#7554) (215dfe0)
  • Backport sweepStickers method (#7558) (ee1698d)
  • scheduledevents: Add image option (v13) (#7549) (2fcf8af)
  • thread: V13 add newlyCreated to threadCreate event (#7481) (2b3db73)
  • commands: Attachment options (#7441) (5bcca8b)

Refactor

  • Deprecate v13 properties and methods (#7782) (b9802f4)
  • Remove non-breaking stuff (#7636) (b9c5676)

Typings

  • Fix ModalSubmitInteraction (#7768) (1d09ad4)
  • threadchannel: Fix autoArchiveDuration types (#7817) (7afcd95)
  • InteractionCollector: Fix guild and channel types (#7624) (7814074)
  • V13 channel create overloads fix (#7480) (0b54089)

13.6.0 - (2022-01-13)

Documentation

  • interaction: Add locale list link (#7261) (1f4e633)

Features

  • Add Locales to Interactions (#7131) (233084a)

13.5.1 - (2022-01-07)

Bug Fixes

  • sweepers: Provide default for object param (#7182) (2dabd82)
  • GuildMemberManager: Nick endpoint (#7151) (d0c3961)
  • Permissions: ToArray shouldn't check admin (#7144) (fc4292e)
  • Remove deprecation warning on Message#cleanContent (#7143) (7e5f16b)

Documentation

  • Sweepers: Fix typo (#7165) (780b7ed)

Features

  • GuildMember: Add method to check timeout (#7146) (baacd6b)
  • ClientOptions: WaitGuildTimeout amount client option (#6576) (2bfc638)

Refactor

  • MessageEmbed: Deprecate strings for setAuthor() (completely) and setFooter() (#7153) (3496516)
  • Import timers, process, and Buffer from node: (#7157) (3c62bd2)

13.4.0 - (2021-12-24)

Bug Fixes

  • BaseMessageComponent: Don't create new class instances (#7140) (e6f41b5)
  • Make the followUp function error more clear (#7129) (b763dab)
  • StickerPack: Nullify bannerId (#7119) (6bb03f2)
  • Webhook typeguards should use string comparisons (#7127) (645b3f8)
  • Message: Remove usage of .deleted (#7109) (a0fe0ac)
  • GuildAuditLog: Remove Promises in constructor (#7089) (9cf44d1)
  • ShardingManager: Fix respawnAll not passing delay correctly (#7084) (de61fe4)
  • StoreChannel: Mark as deprecated (#7072) (5ec542d)
  • InteractionCollector: Handle thread (and parent) deletion (#7070) (b5cd288)
  • ReactionCollector: Check for channel.threads (#7069) (3846f0d)
  • GuildChannel: Default to this.rawPosition in clone() (#7057) (5fcda73)
  • Interaction channel type should be GuildTextBasedChannels when in guild (#6998) (da86bd4)
  • Util: Fix sorting for GuildChannels (#7002) (c07207f)
  • MessageManager: Do not use client.emojis (#7039) (fd63139)
  • ActionsManager: Revert to manual requires (#7034) (0193efa)
  • MessagePayload: Prevent spread of undefined (#7029) (fabd343)
  • MessageManager: Allow a string for edit() (#7033) (54f937d)
  • Avoid sending bot auth on token endpoints (#7022) (7efeff4)
  • Sharding: Properly handle errors in fetchClientValues (#6990) (c0ba2d4)
  • VoiceState: Set streaming to false when the stream ended (#6992) (fdb09cb)
  • MessageReaction: Cache myself when MessageReaction#me is true. (#6956) (b001e19)

Documentation

  • Deprecate .deleted getters (#7107) (d43f684)
  • Sticker: Fix typo (#7085) (ee91f5a)
  • Constants: Document missing errors (#7086) (6e57b65)
  • Constants: Adjust GUILD_STORE warning placement (#7083) (23513d1)
  • StoreChannel: Add deprecation warnings (#7080) (fdba146)
  • GuildStickerManager: Fix create() example (#7060) (6f58e81)
  • Invite: Add info blocks for missing props (#7014) (b183a8e)
  • MessageReference: Fix static link (#7041) (85e6812)
  • Constants: Fix typo "announcement" (#7016) (a1a8ca4)
  • README: Add installation instruction on @discordjs/voice (#6964) (3c857a6)
  • Guild: Fix setOwner() example (#6929) (dc64541)

Features

  • Add support for GuildScheduledEvent (#6493) (1316fd4)
  • GuildMember: Add timeouts (#7104) (aa7c1b2)
  • Export Sweepers (#7117) (b9b60a3)
  • Add API error code 50109 (#7112) (55960cc)
  • Client: Add global sweepers (#6825) (d1ef2f5)
  • Add API error code 20029 (#7078) (f410536)
  • ApplicationCommand: Add setX methods for easier editing (#7063) (7f980e3)
  • Add API error code 50055 (#7068) (f028aea)
  • SnowflakeUtil: Add timestampFrom (#7058) (8b200c0)
  • Guild: Add premiumProgressbarEnabled (#6887) (552d89f)
  • Add UserContextMenuInteraction and MessageContextMenuInteraction (#7003) (4fe063f)
  • Shard: Add eval context (#7011) (77aff08)
  • ThreadChannel: Add ThreadChannel#viewable (#6975) (db09d79)
  • ThreadManager: Add slowmode option on thread creation (#6989) (493e4f9)
  • MessageAttachment: Description (alt text) support (#6871) (5e0a7d5)
  • ApplicationCommand: Add support for min and max values (#6855) (c30a818)
  • SystemChannelFlags: Add new flag (#6870) (49e3ce2)
  • UserFlags: Add BOT_HTTP_INTERACTIONS (#6733) (f43140a)
  • Add new activity flags (#6699) (47d74eb)
  • ApplicationFlags: Add message content intent flags (#6888) (e94073a)

Refactor

  • UserManager: Move methods to the manager (#7087) (2ed02f7)
  • RoleManager: Move some methods over from Role (#7096) (1e00fc2)
  • Guild: Remove duplicate methods (#7100) (717e0e9)
  • Util: Replace Util.delayFor with tp.setTimeout (#7082) (25b8491)
  • Make Structure#deleted a getter to a WeakSet (#7074) (b093750)
  • SnowflakeUtil: Clean up utils and improve perf (#7036) (e59fac3)
  • MessageEmbed: Utilise an object approach for .setAuthor() (#6966) (73854ee)
  • Deprecate application command events (#6937) (28688e2)

Typings

  • CategoryChannel: Fix createChannel return type (#7138) (1626dde)
  • CategoryChannel: createChannel should default to a text channel (#7132) (a0a5b0e)
  • Make channel types a lot stricter (#7120) (7b65a04)
  • Forward cache types to collector filters (#7126) (77489b9)
  • Fix possibly null message properties (#7111) (bc6a6c5)
  • Use mapped enums instead of overloads (#7088) (49f9a18)
  • MessageComponentInteraction: Ensure component is not null (#7099) (2ce244b)
  • GuildAuditLog: Strengthen types (#7090) (5a5c045)
  • Message: guild should be non-null when message is in guild (#6933) (1230bee)
  • Improve audit logs' typings (#6647) (b6b4570)
  • Interaction: Narrow memberPermissions (#7054) (01f8d1b)
  • ApplicationCommandManager: Deprecate old *Data type usages and allow camel cased dapi types to be used (#6959) (2c91c48)
  • WebhookMessageOptions: Disallow stickers (#7012) (099536e)
  • Remove unneeded collector types (#7008) (c1f2fe2)
  • Make event emitters use mapped event types (#7019) (48555cb)
  • ApplicationSubcommandData: Allow autocomplete to be true (#6981) (ecc61f3)
  • Fix interaction typeguards (#6976) (06cd16f)
  • Strengthen autocomplete option types (#6950) (7630158)
  • Fix cache type fallback types (#6961) (9f240ea)
  • Unify ApplicationCommandManager#create overloads (#6970) (8e881d2)
  • Events: Rest events can be emitted on BaseClient (#6936) (c297829)

13.3.1 - (2021-11-01)

Bug Fixes

  • Assert channel types in message actions (#6919) (9bd3689)
  • MessageEmbed: Only compare image urls in #equals (#6926) (95d2a4d)
  • Correctly access guild IDs inside managers (#6927) (2d9ffb8)

Documentation

  • README: Use correct capitalization of npm (#6930) (bb245b7)

Typings

  • Improve toJSON methods for message components & embeds (#6925) (204aee7)

13.3.0 - (2021-10-29)

Bug Fixes

  • Handle message bulk delete and thread delete in collectors (#6902) (d6685b1)
  • ApplicationCommandManager: Update guild command cache on c/u/d (#6841) (f169c8f)
  • TextBasedChannel: Return the cached message instead of clone it (#6877) (ceaf738)
  • MessageComponentInteraction: Component getter is not null anymore (#6835) (7621e9d)
  • PartialGuildMember#id is not null (#6840) (4dff279)
  • Webhook: Resolve source guild only if cached (#6834) (d193d04)
  • AllowedImageSizes: Add new image sizes (#6844) (ef01b84)
  • MessageReaction: Prevent event double fire from uncached messages (#6818) (267a4b3)
  • Guild: Guild.available is never set on new joins (#6769) (29667c9)
  • Types: Export more types (#6808) (b474677)
  • GuildBanManager: Send reason in the headers instead of json body (#6800) (bfb89de)
  • User: Don't generate the banner URL when not cached (#6783) (0d599a1)
  • GuildMember: More explicit partial check (#6760) (b1656bf)
  • Role: Check for presence of icon and unicode_emoji before patching (#6780) (e31c5ca)

Documentation

  • Constants: Document missing autocomplete interaction constants (#6916) (aa4d055)
  • InteractionCollector: Add info block about being prone to always running (#6906) (5d987ee)
  • GuildStickerManager: Fix create() example (#6900) (bdd841a)
  • InteractionResponses: Move embed var position in example (#6896) (8806039)
  • Application: Rename Oauth2Application to Application (#6891) (76856b9)
  • Util: Deprecate .removeMentions() (#6866) (b6c9fd6)
  • Correct tags used for objects (#6846) (f7b7aac)
  • Redirect to events correctly (#6845) (38cc89e)
  • Typos, consistency and grammar fixes (#6811) (c44ea50)
  • Message: Specify Snowflake in return type of awaitReactions() (#6822) (4354c37)
  • Replace FetchOwnerOptions type definition (#6814) (b030130)
  • Remove dangling reference (#6810) (d57ec7a)
  • InteractionCollector: Remove repeated "the" (#6802) (b1b9c83)
  • MessagePayload: Change the typo of "wether" to "whether" (#6771) (d32956c)

Features

  • ThreadMemberManager: Allow individual members to be fetched (#6889) (14716df)
  • Add support for autocomplete interactions (#6672) (ddf759c)
  • MessageEmbed: Add #equals (#6885) (fae4abf)
  • StartThreadOptions: Default autoArchiveDuration to channel's defaultAutoArchiveDuration (#6278) (740d3f0)
  • Add rtcRegion to GuildManager#create() (#6858) (399e720)
  • Add typeguards to webhooks (#6850) (e0afcad)
  • GuildChannelManager: Add 'rtcRegion' option to 'create' method (#6849) (487d32d)
  • Permissions: Add checkAdmin to permission overwrite checks (#6847) (7513b45)
  • Interaction: Add isApplicationCommand check (#6801) (6898fa3)
  • CommandInteraction: Add toString method (#6793) (bd48e6d)
  • Client: Add apiResponse and apiRequest events (#6739) (26f927b)
  • ModuleImporter: Implement import module compatible with bundlers (#6709) (d399a28)

Refactor

  • Move Guild setPositions methods to managers (#6875) (e12a5b6)
  • Remove gen-esm-wrapper dependency (#6884) (b278884)
  • Fix typos (#6852) (672baa4)
  • GuildManager: Remove redundant check (#6859) (579569a)
  • Remove redundant user agent parsing (#6820) (460df9e)
  • Remove unnecessary checks (#6777) (e24209a)
  • Role: Move initialization of delete prop out of _patch (#6776) (872e7a5)

Typings

  • fix: BaseCommandInteractionOptionResolver and CommandInteraction (#6910) (673c03f)
  • Constants: Remove deleted properties from Package (#6908) (7be9170)
  • Shard: Eval returns a promise resolving with T instead of T[] (#6901) (14d9a99)
  • ApplicationCommandManager: Add missing overload for fetch (#6904) (ee93a27)
  • TextBasedChannel: Text channel interaction collectors should have message option (#6903) (91a432e)
  • Cache types cleanup (#6867) (b2836da)
  • Allow message cached props to be narrowed (#6838) (c3948f8)
  • CommandInteractionOptionResolver: Allow narrowing of getMember() (#6831) (e8b6997)
  • BaseMessageComponent: Remove third parameter of create() (#6833) (d27fddb)
  • Message component cached props narrowing (#6809) (b541d0a)
  • ApplicationCommandOptionData: Remove required on subcommands (#6790) (5566404)
  • Integration: Add IntegrationType values (#6815) (187581d)
  • WelcomeChannelData: Allow store channels (#6778) (45ebea3)
  • Make embed author and footer props name and text required (#6779) (a84e51b)

13.2.0 - (2021-10-05)

Bug Fixes

  • AllowedImageSizes: Add new image sizes (#6754) (d0025be)
  • User: Compare flags in #equals (#6750) (00e1e26)
  • VoiceState: Patch streaming value (#6747) (7eec061)
  • Message: Avoid overwriting properties in _patch (#6738) (a8c21cd)
  • ReactionCollector: Only call the filter function once (#6734) (d15dd5f)
  • Shard: Use provided timeout when respawning (#6735) (905d100)
  • Role: ToJSON() throwing due to permission bigints (#6724) (9e421f6)
  • Don't patch set data with undefined (#6694) (9eb9591)
  • Invite: #guild never resolving into a Guild (#6742) (b76bb8a)
  • GuildManager: Add missing types and converts (#6683) (cdf65f7)
  • Util: Default animated to false when omitted on resolvePartialEmoji (#6725) (8d80fec)
  • Message: Throw error on missing channel (#6581) (60aa9ae)
  • CachedManager: Return updated data when cache is false (#6685) (8426770)
  • GuildEmoji: Cache restricted roles and author data (#6675) (60b8ba6)
  • Constants: Allow undefined size (#6686) (d3da833)
  • *RoleManager: Create set of role ids correctly (#6674) (f8aa4bd)
  • Shard: Eval promise never resolves (#6649) (5070d23)
  • xxxable: Follow more properly with discord behavior (#6551) (5d87398)
  • Allow null to be passed in order to reset icon/avatar (#6646) (6033506)
  • Message: Pinnable returning false in non-DEFAULT messages (#6585) (3183b11)
  • threadMembersUpdate: Fixed typo (#6589) (8826e9f)
  • ThreadChannel: FetchStarterMessage bug (#6584) (08edc0b)
  • Await message component collectors should return component interactions not collectors (#6562) (f49f70a)
  • GuildChannel: Fix manageable method for voice-channels (#6447) (9301c9b)
  • MessageAttachment: Re-assign name (#6518) (8a8c69a)
  • UserUpdateAction: Rely on client.user when ids match (#6511) (1418649)
  • Util: Allow empty strings in splitMessage (#6437) (d6e6244)
  • BaseClient: Remove selfbot ability (#6429) (9a833b1)
  • Sticker: Rename method correctly to _add (#6421) (2c449b6)
  • Message: Fix typo (#6435) (ecb6e50)

Documentation

  • FetchReply info + example (#6753) (8bc1ece)
  • GuildMemberUpdateAction: Event doesn't get emitted on user update (#6752) (1db3e76)
  • Better links for .toJSON() of button and select menu (#6745) (6e5c768)
  • Undocument private constructors (#6732) (34b2ad0)
  • Message: Fix return type for reply (#6720) (3f11009)
  • CommandInteractionResolvedData: Fix key type (#6729) (466e796)
  • EmojiResolvable: Update description of typedef to remove ambiguity (#6708) (7cba676)
  • ApplicationCommandPermissionsManager: Fix example set method (#6658) (839974c)
  • Shard: Point to correct events (#6641) (b9a4899)
  • VoiceChannel: Deprecate editable (#6613) (88e2622)
  • PermissionOverwriteManager: Correct @returns of delete (#6632) (3c3522a)
  • MessagePayload: Correct return type of resolveFile() (#6605) (ea6a57e)
  • MessageButton: Fix info tag (#6590) (db73cf9)
  • WidgetMember: Fix typo for deaf (#6564) (33f6f82)
  • Constants: Fix interaction type link (#6558) (29d5fd1)
  • Fix JSDoc for ClientUser#edit (#6554) (34024f5)
  • Util: Correct @param for cleanContent() (#6531) (b89280a)
  • Formatters: Fix typo of TimestampStyles (#6523) (7d4a40a)
  • GuildChannelCreateOptions: Fix #type type (#6502) (4bfd5d3)
  • ThreadManager: Fix typo (#6485) (8a95211)
  • Fix wrong type being displayed in docs (#6504) (9ca10cc)
  • MessageManager: Fix typo (#6482) (70cc029)
  • MessageReference: Add possible message types (#6464) (93a83c2)
  • ApplicationCommandType: Add DAPI link (#6463) (17b4079)
  • BufferResolvable: Add warning for URL input (#6451) (16493e6)
  • Formatters: Use id over ID (#6439) (84bb4f4)
  • RoleManager: Error in examples (#6416) (759faa4)
  • Rename implementation of deferReply (#6412) (615afab)

Features

  • Add support for role icons (#6633) (7129965)
  • Interaction: Add memberPermissions (#6741) (28d96e3)
  • CategoryChannel: Add createChannel shortcut method (#6614) (3eacf7a)
  • Allow webhooks to fetch, edit and delete messages in threads (#6695) (107822d)
  • Threads: Update permissions and fix getters (#6466) (10478ad)
  • PartialGroupDMChannel: Add recipients & fix name (#6713) (2803db6)
  • GuildMember: Add guild avatars (#5696) (dfd7b40)
  • MessageAttachment: Add support for ephemeral property (#6652) (c5db0ff)
  • ApplicationCommand: Add support for channel_types (#6640) (3b14883)
  • UserManager: Allow #fetch to take UserResolvable (#6677) (a06a87a)
  • Add api error code 50101 (#6663) (42fdcaa)
  • Add support for API command types in ApplicationCommandManager (#6621) (ecd637f)
  • Permissions: Add START_EMBEDDED_ACTIVITIES (#6622) (66a90d3)
  • Integration: Add missing props and fix docs/types (#6623) (caa3b60)
  • Default values for setX boolean methods (#6619) (8add4b0)
  • Add api error code 30042 (#6635) (183dbd7)
  • Give removed MessageReactions on messageReactionRemoveAll event (#6607) (be8912a)
  • ApplicationCommand: Add version property (#6603) (f866512)
  • MessageTypes: Add CONTEXT_MENU_COMMAND (23) (#6425) (d81590d)
  • Add api error code 160002 (#6566) (d16ada9)
  • ApplicationCommand: Add #equals (#6414) (581921f)
  • Threads: Add support for invitable in private threads (#6501) (a693254)
  • BaseGuildTextChannel: Export BaseGuildTextChannel (#6527) (fc51f61)
  • User: Banners and accent colors (#6117) (839c6da)
  • MessageAttachment: Allow files to be marked as spoilers (#6509) (96e26c4)
  • ThreadChannel: Add fetchStarterMessage (#6488) (705c5a1)
  • Message: Add method to resolve a component by id (#6484) (57b94b9)
  • Set methods for MessageActionRow and MessageSelectMenu (#6490) (fb50dd9)
  • Export BaseCommandInteraction (#6478) (c14e594)
  • Guild: Add Guild#maximumBitrate getter. (#6455) (21983de)
  • Message: Prevent fetching an interaction webhook. (#6468) (f39b597)
  • Add maximum prune requests reached api error (#6427) (a4b8623)
  • Rest: Expose https.Agent options (#6177) (5eb3553)
  • InteractionReponses: Allow fetching of ephemeral messages (#6426) (d289d5c)
  • Export ContextMenuInteraction (#6434) (170c0c4)

Performance

  • Use logical assignments instead of if statements (#6693) (e9daa31)

Refactor

  • User: Set accentColor and banner to undefined when not yet received (#6721) (ba93e85)
  • Use optional chaining (#6757) (a194d9c)
  • Use the node: protocol (#6710) (531b46c)
  • VoiceState: Use manager edit method to remove error (#6631) (29dd319)
  • Constants: Better type error in cdn endpoints (#6637) (124e177)
  • ES2021 features (#6540) (00bd92a)
  • Channel: Make delete async (#6417) (71fdf6f)

Typings

  • Interaction: Allow Interaction cached properties to be type narrowed (#6668) (d873a19)
  • Rename Awaited<T> to Awaitable<T> (#6756) (f88f4cc)
  • GuildBanManager: Remove can return null (#6748) (c3f4de4)
  • Add ExcludeEnum utility for easier typings (#6746) (42acc6e)
  • Webhook: More accurate type for sourceChannel (#6751) (32b5c2e)
  • WebhooksUpdate: Allow NewsChannels (#6749) (abf158d)
  • More accurate types instead of GuildChannelResolvable (#6744) (a8e6010)
  • ChannelTypes: Remove unknown from CHANNEL options (#6701) (8b4456e)
  • TextBasedChannels: Fix awaitMessageComponent return type (#6723) (a7cb314)
  • Vanity: Make uses non-nullable (#6715) (3a978f3)
  • Role: Role#comparePositionTo accepts RoleResolvable (#6722) (7c4d1df)
  • Presence: Fix ActivityOptions#type and Activity#id types (#6696) (fe95005)
  • Fix missing channel type in subcommand options (#6706) (da3ae48)
  • Add GuildEmojiManager to Caches (#6671) (1ca8d2c)
  • VoiceState: Allow moving members to stage channels (#6684) (94ca0f5)
  • Interaction: Improve type guard for inGuild() (#6644) (0347826)
  • MessageOptions: Allow APIEmbed (#6656) (92f6471)
  • WelcomeChannel: Allow store channels (#6615) (75d85f7)
  • MessageEmbed: Allow APIEmbed type (#6629) (256fb90)
  • TextBasedChannelFields: Add back createMessageCollector (#6616) (1b016a3)
  • Make channelId non-nullable on MessageComponentInteraction (#6600) (8cc3885)
  • Message#createMessageComponentCollector use MessageComponentInteractionOptions<T> (#6596) (c62823e)
  • MessagePayload: Specify typings for files and resolveFile (#6608) (ea36955)
  • Collector filter parameter inference (#6574) (0841956)
  • MessageReference: Correctly add undefined type (#6563) (cdb0005)
  • @typedef for StageChannelResolvable (#6568) (2c219cb)
  • Allow message component interaction collectors to infer collected interaction types (#6476) (03d5549)
  • CommandInteractionOptionResolver: Document & type thread channels (#6521) (774e960)
  • MessageComponentInteraction: Fix componentType (#6536) (0fe5f88)
  • Mark enums as const enums (#6394) (5c27639)
  • MessageEmbed: Allow null for setTimestamp (#6514) (7aff15a)
  • Require component type in raw object formats (#6452) (c232baa)
  • CommandInteractionOptionResolver: Add missing parameter (#6497) (656b518)
  • ClientPresence: Add type declarations and docs (#6450) (6cac03a)
  • GuildChannel: Added missing typing (#6454) (f294d1e)
  • Message#_patch typings return type (#6433) (81bb68d)

13.1.0 - (2021-08-12)

Bug Fixes

  • StageInstance: Ensure discoverableDisabled is not undefined (#6395) (dce8fc7)
  • WidgetMember: Default to null and not undefined (#6399) (44bbfa5)
  • Guild: preferredLocale to always be a string (#6402) (4a64662)
  • ContextMenuInteractin: Store message as raw value (#6400) (d9456a1)
  • Util: Remove truthy check before isNaN check (#6358) (3c17939)
  • Constants: Fix CDN endpoint typings (#6332) (47d2ef3)
  • Managers: Fix typo in unsupported warning (#6338) (917e71a)
  • GuildMemberRoleManager: Typo (#6335) (d87299b)

Documentation

  • Remove unparsed examples (#6404) (e6f48d8)
  • GuildManager: Increase fetch limit to 200 (#6406) (933d2c5)
  • ApplicationCommandData: Fix type property (#6385) (de3c86f)
  • Update links for api-docs (#6380) (779e14e)
  • Switch urls from upstream rearranging (#6378) (4c8dc4c)
  • Correct wrong interaction links (#6274) (49d3c0b)
  • Invite: MANAGE_CHANNELS instead of MANAGE_CHANNEL (#6361) (0062aa6)
  • Options: DefaultMakeCacheSettings typo (#6365) (ea8d77e)
  • Grammar fixes (#6345) (f13d27c)

Features

  • GuildMemberManager: Add 'list' method (#6403) (2bf0970)
  • GuildManager: Allow setting with_counts to false (#6407) (14aea12)
  • CommandInteractionResolvedData: Access to "raw" resolved data (#6384) (fff887b)
  • Utils: Add additional formatters (#6388) (cd40292)
  • Right-clickybois (context menu support for ApplicationCommand and CommandInteraction) (#6176) (0266f28)
  • Threads: Max autoArchiveDuration option (#6304) (394d486)

Refactor

  • Options: Separate default settings for make cache (#6330) (d14a6bf)

Typings

  • ApplicationCommandData: Make type field optional (#6405) (dcc556c)
  • Constants: Add ApplicationCommandTypes to Constants (#6398) (6342430)
  • ApplicationCommandOptionData: Align command data options types more with discord API (#6247) (297a911)
  • ApplicationCommandData: Stronger typings for ApplicationCommandData variants. (#6382) (75b48d8)
  • Options: CreateDefaultOptions => createDefault (#6376) (2a3e819)
  • Events: Renamed messageReactionAdd's reaction parameter (#6371) (006edca)
  • ImageURLOptions: Allow 'gif' format (#6342) (5f1def3)

13.0.1 - (2021-08-07)

Bug Fixes

  • GuildMemberManager: Refactor fetchMany (#6328) (909c873)
  • Message: Handle fetched messages (#6325) (ceae596)

Documentation

  • Fix bad indentation (#6316) (cd1aefb)

Typings

  • Util: Fix cleanContent parameter type (#6321) (60ace9a)

13.0.0 - (2021-08-06)

Bug Fixes

  • MessageMentions: Check guild exists before adding roles (#6313) (1200bba)
  • GuildMemberManager: FetchMany fixes (#6314) (52817fc)
  • Caching: Sweep archived threads in all channel caches (#6312) (3725dca)
  • Message: Fix thread getter (#6309) (913c9fa)
  • BaseGuildTextChannel: Call patch (#6298) (3eb4140)
  • Remove support for overriding caches that break functionality (#6282) (a6d4035)
  • Message: Make #channel and #guild getters (#6271) (6e3236a)
  • WebSocketShard: Mark shard ready if no guilds intent (#6284) (09471be)
  • Action: GetChannel interaction DM (#6280) (a72b5a3)
  • GuildChannel: SetParent not working (#6276) (7e0618f)
  • ChannelUpdate: Restore accidentally removed line (#6263) (774f5b7)
  • Util: Fix collection import (#6256) (93e0239)
  • Array/keyArray removed (#6245) (bf221f2)
  • TextBasedChannel: Fix MessageCreate handling (#6217) (6b85f90)
  • PermissionOverwrites: Throw better error if resolving option fails (#6219) (42a0313)
  • Channel: Add default for destructured options (#6203) (6872547)
  • Use string instead of Snowflake for invites (#6202) (f060a3f)
  • ThreadChannel: Better property handling (#6172) (9679b90)
  • Export various classes that are exported in the typings (#6166) (30a58dc)
  • Typings: Type attachments to InteractionUpdateOptions (#6162) (4f8ca29)
  • GuildAuditLog: Assert target to null upon not finding invite codes (#6171) (c8ca7bf)
  • Message: Fix typo in sticker_items (#6173) (870a0de)
  • Sticker: Replace 'this.guildID' (undefined) by 'this.guildId' in fetchUser (#6160) (07017a9)
  • CommandInteractionOptionResolver: Type should be USER (#6148) (02f55f0)
  • CommandInteractionOptionResolver: Export CommandInteractionOptio… (#6146) (8ccfd6e)
  • CommandInteraction: Change options type from Collection to array (#6139) (77784ac)
  • GuildChannel: Only fetch invites for the specific channel (#6132) (c40c0f9)
  • PermissionsOverwrites: Only convert type if number (#6092) (dee5c83)
  • Channel type check in actions (#6086) (d433fe8)
  • GuildChannel: Clone its PermissionOverwriteManager too (#6083) (f72ce7c)
  • PresenceUpdate: Use added presence over nullable getter (#6077) (637c8e0)
  • InviteScope: Added missing 'bot' scope (#6052) (93e2c04)
  • SelectMenuInteraction: Set values to empty array if not provided (#6045) (34708d6)
  • Guild: Add invite manager property, extend CachedManager (#6049) (e3d877d)
  • TeamMember: Fixed incorrect return types. (#6044) (fe5d56c)
  • Structures: Remove Structures (#6027) (ab0b3b9)
  • GuildChannel: Use map method on cache not its manager (#6032) (d58f0d2)
  • PermissionOverwriteManager: Pass ID to API correctly (#6026) (8077e4f)
  • GuildChannel: Add missing 'cache' property (#6019) (7e30011)
  • Remove connection.url from open debug message (#6018) (39db953)
  • Util: SplitMessage not working with array (#6008) (bd25ff5)
  • Correct permissions checks and cache on update (#6015) (568691c)
  • ThreadManager: Fixed wrong private and fetchAll check (#6012) (e4be666)
  • Typings: Improve components typings in MessageEditOptions (#6002) (3a718d8)
  • ApplicationCommand: Fix typo in JSDoc (#5994) (6edf55c)
  • ThreadChannel: Check for existence of properties when patching (#5961) (9ac6867)
  • Typings: Erronous RawMessage (5842e35)
  • Thread: Make archive_timestamp not nullable (#5965) (edab5af)
  • Sharding: Strict type context and return (#5933) (1925d01)
  • Webhook: Return void from #delete for consistency. (#5954) (5ad83a6)
  • Collector: Docs and types (#5937) (6c447b1)
  • Message: Make author of referenced message nullable (#5929) (dc671c8)
  • User: Fix bot and system properties being incorrect in some cases (#5923) (e44ae96)
  • ThreadMemberManager: Fix ThreadMemberManager#add and ThreadMemberManager#fetch (#5927) (adecead)
  • Webhook: Resolve non-string avatars too (#5914) (4714a96)
  • ApplicationCommand: StringType isn't supposed to be sent to the API (#5916) (ca2a36b)
  • Permissions: Allow admin to override in the missing method (#5911) (ee025b0)
  • InteractionResponses: Set replied status on editReply (#5899) (6d3d00b)
  • Message: Flags not being parsed on some edits (#5886) (2d7c12b)
  • Guild: Don't patch before instance properties (#5885) (174b7a7)
  • presenceUpdate: Fire when only state/details change on an activity (#5846) (1f8f3ab)
  • Message: EditedTimestamp defaulting to 0 (#5847) (671436c)
  • ApplicationCommand: Default option.required fix (#5848) (a1f94f6)
  • Guild: SetChannelPositions null parenting (#5841) (01a1fd6)
  • ApplicationCommand: Default option.required to false (#5838) (77c1f15)
  • GuildManager: #create throws when systemChannelFlags is undefined (#5832) (29173bf)
  • GuildChannel: Don't force parentID/permissionOverwrites to empty on create (#5823) (c585933)
  • GuildChannel: Improve empty overwrite handling for permissionsLocked (#5821) (6df3623)
  • ApplicationCommands: Allow managing commands for uncached guilds (#5729) (24e5868)
  • ClientApplication: Freeze flags (#5811) (e990c35)
  • *: Typedefs and typings for image & webhook options (#5805) (a5a6e22)
  • TextBasedChannel: Allow passing an APIMessage with split (#5815) (93b0a4e)
  • PermissionOverwrites: Optional allow/deny OverwriteData (#5810) (a7ebb21)
  • Typings: Fix BitField toJSON/valueOf return types (#5806) (935f819)
  • Hooks: Make husky hooks executable (#5812) (77e28cf)
  • GuildChannel: Clone errors when options.name isn't provided (#5804) (41673b7)
  • WebSocketShard: Don't catch errors thrown in event handlers (#5803) (53d8e49)
  • Don't patch missing properties from partial payloads (#5796) (097c7b9)
  • GuildChannel: Spread clone options to avoid infinite recursion (#5800) (2f5424b)
  • Webhook: Throw an error if no token is available when it's required (#5798) (eb98e33)
  • ClientPresence: Produce valid activities for set presences (#5799) (ea0e06f)
  • BitField: Ensure missing returns an array of strings (#5795) (68f7aeb)
  • ApiMessage: Only pass objects as options directly (#5793) (3578159)
  • BitField: Throw an error if bit to resolve is undefined (#5565) (0156f69)
  • Remove remnants of awaitMessageComponentInteractions (#5783) (ae78a33)
  • *: Add missing imports for custom errors (#5767) (e980948)
  • ShardingManager: Client error event cannot be emitted (#5559) (d1c5b6f)
  • Add components to MessageOption typedefs (#5768) (657635c)
  • Interaction: Add missing types and fix docs lists (#5762) (1d57754)
  • Webhook: #editMessage throws error when content is null (#5757) (2901fd5)
  • MessageComponentInteraction: Correctly type defer method (#5760) (f0dad26)
  • RoleManager: Bug in #create (#5730) (cf22456)
  • Message: Update typings and docs related to #edit (#5745) (a2f0c11)
  • Typings: Add missing typings for HttpError -> requestData (#5742) (3e9ce35)
  • MessageEmbed: Import custom RangeError class (#5740) (bfe01b5)
  • CommandInteraction: Cmds with no options throw error (#5734) (af2fad9)
  • CommandInteraction: Channel type should be text based channels (#5690) (5141ea4)
  • GuildMemberManager: Allow moving members to any non-text channel (#5681) (d21e6af)
  • Interfaces not importing due to re-export of Snowflake (#5723) (086c3f0)
  • PermissionOverwrites: Fix typo in typedef jsdoc (#5704) (6567ba8)
  • Types: Make event listeners accept async callbacks (#5602) (a73a5cf)
  • GuildEmojiRoleManager: Bug in #remove (#5666) (c89bdd7)
  • ApplicationCommandOptionData: Options property should be itself (#5679) (b90b0c3)
  • APIMessage: Document Interaction as valid MessageTarget (#5678) (9f491ff)
  • Message: Bug in #suppressEmbeds due to #5612 (#5644) (840ad0a)
  • Lint-staged for typescript files (5f6ec22)
  • DataResolver: Fix circular dependency error with GuildTemplate (#5622) (b376f31)
  • ApplicationCommandManager: Limit permission methods to guilds (#5613) (03256bd)
  • CommandInteraction: Update typings and docs for #editReply (#5630) (56d44fb)
  • ApplicationCommand: Return string equivalent of ApplicationCommandOptionType (#5617) (a6079bc)
  • Resolve emoji in Message#react (#5614) (c733436)
  • Typo in GuildMemberManager (#5616) (73f4114)
  • Message: Editing with MessageEmbed or APIMessage (#5612) (74e97ef)
  • VoiceReceiver: Fix memory leak (#5609) (2eac842)
  • ApplicationCommandManager: Fix typo in JSDoc (#5603) (3392eb7)
  • Sticker: File renamed to SnowflakeUtil (#5573) (f830eb7)
  • Emoji: Name can be null (#5513) (5397021)
  • GuildMemberRoleManager: Unable to remove roles when passed an array (#5556) (9572521)
  • Typings for 'Message' (#5518) (0d68ca8)
  • HTTPOptions: Change default value in jsdoc to 8 (#5547) (cb50241)
  • GuildAuditLogsEntry: Executor can be missing (#5500) (e9bf206)
  • typings: Update GuildMemberRoleManager typings to match implementation (#5497) (900e576)
  • MessageMentions#channels: Fix type of channels of mentions (#5370) (565d7b3)
  • Resolvables: Valid resolvables throw error when uncached (#5495) (fa5a37e)
  • GuildChannel: Check for community required channels in GuildChannel#deletable (#5170) (b710a43)
  • GuildMember: Correctly check for premium_since (#5312) (aff3625)
  • Voice: Only skip undocumented voice packet byte if present (#5309) (2b52cdc)
  • Typings for 'WebhookMessageOptions' (#5476) (67025e6)
  • IntegrationApplication: Add missing export to index.js (#5475) (8023250)
  • ApplicationFlags: Export class (#5465) (404ce57)
  • Voice: Disconnect if voice channel not cached (#5467) (3af8179)
  • InviteDelete: Guild can be missing (#5457) (6c6b105)
  • ReactionUserManager: Remove before query option (#5281) (43bd568)
  • GuildManager: Add missing toString() on Permission#resolve fns (#5324) (0778926)
  • GuildChannel: Regression on default channel type (#5251) (e7c4f36)
  • Guild/GuildChannel: Methods reason arg usage (#5419) (8411b9e)
  • Role: Pass Permissions class, not the bitfield (#5321) (d744e51)
  • WebSocketShard: Key name in WebSocketShard#_send. (#5304) (56d8b44)
  • ApiMessage: Remove resolve() from typings (#5241) (a6bc39d)
  • GuildChannel: Overload permissionsFor and BaseManager#resolve[id] (#5260) (41bd6c2)
  • GuildEmoji: Check for cahnges to available in equals (#5201) (f95f5dc)
  • VoiceConnection: Make #dispatcher nullable (#5217) (0d5de43)
  • Message: Update getters to take null permissions into account (#5066) (98b1c58)
  • typings: Return types for 'Webhook(Client)#send()' (#4876) (eb28ee7)
  • MessageEmbed: Include author.name in length getter (#5167) (e37160f)
  • Collection: ToJSON() errors if the collection includes empty values (#5129) (2c2249e)
  • Implement valueOf on pseudomanagers (#4595) (8883a01)
  • Add presence to ClientPresence from ClientOptions (#5041) (9c7fe34)
  • Filtering of string forms of null and undefined (#5075) (9042d19)
  • ChannelManager: Avoid crash in remove method with uncached channel (#4937) (12c909e)
  • Message: #system non-zero message types are not guaranteed to be system (#5108) (bb78120)
  • UserFlags: Correct early bot dev name, remove deprecated aliases (#5104) (b509862)
  • Collector: Throw an error if a non-function was provided as filter (#5034) (7365f40)
  • BaseGuildEmoji: Typo in requiresColons (#5076) (e272fd6)
  • MessageReaction: Set MessageReaction#me in patch method (#5047) (6b322f4)
  • Voice:* Filter out silent audio from video users (#5035) (4fcb9eb)
  • GuildTemplate: 'guild' getter (#5040) (53529bd)
  • RoleManager: Fix ID return value, change return type to collection (#4935) (12a096b)

Documentation

  • Grammatical fix (#6311) (7787a76)
  • Grammar fixes (#6308) (0664477)
  • General cleanup and improvements (#6299) (b4afcf8)
  • Typo in ClientOptions (#6305) (dd3a79e)
  • Grammar fix (#6294) (90c2e07)
  • Client: Mark _finalize as private (#6281) (35fa3b3)
  • Update link of the guide to v13 changes (#6273) (6e0ea02)
  • Add missing semicolon to readme (#6270) (2c452df)
  • Change example in readme to slash command (#6250) (626ff85)
  • InteractionResponses: Correct @returns on responses (#6257) (bb56f17)
  • Refactor a few @returns descriptions (#6228) (82daee5)
  • Widget: Add the typedef WidgetChannel (#6182) (8b52d06)
  • Update readme node version requirement (#6241) (797727a)
  • GuildManager: Correct GuildCreateOptions typo (#6224) (2675b08)
  • Constants: Document the Constants object for enum-like usage (#6208) (cc5f1ce)
  • Guild: Correct GuildRolePosition typo (#6223) (40b127e)
  • WelcomeChannel: Correct guild return type (#6222) (d310e4f)
  • Constants: Fix StickerTypes typedef (#6218) (105a194)
  • MessageMentions: Fix documentation for members property (#6206) (f44bfc4)
  • Guild: Add GuildTextChannelResolvable type definition (#6221) (1009ce1)
  • InteractionResponses: Document missing properties (#6178) (5e433b5)
  • CommandInteraction: Correct type definition of CommandInteractionOption (#6169) (5e70694)
  • InteractionResponses: Reply docs example (#6079) (b170fb5)
  • InteractionResponses: Generalize wording in update to fit other component interaction types (#6074) (67e9ce4)
  • ClientUser: Fix shardId nullable (#6072) (28b5ffb)
  • Fixed several typings and MessagePayload#create JSDoc (#6059) (4c0426c)
  • ThreadChannel: Fix documentation for setLocked method (#6053) (8d9ab74)
  • MessageManager: Document options param for #edit as required (#6031) (db60e36)
  • Add Partial typedef (#6029) (b62d646)
  • Fix some missed MessageComponent collector methods (#6023) (610b0b4)
  • *: Wrap optional properties with union types in parentheses (#6021) (ec06ba7)
  • Collector: Properly document endReason (#6016) (7dd1a8d)
  • CreateInviteOptions: Fix TargetType link (#6017) (4adfc45)
  • *: Add class links to isX() methods (#6007) (fbdad6e)
  • WebSocketShard#send and TextBasedChannel#send (#5998) (726073f)
  • Util: Methods removed on the base object (#5990) (d742814)
  • Partials: Add link to the guide (#5982) (58183d4)
  • MessageSelectMenu: Add link to Discord docs (#5984) (f819416)
  • ThreadManager: Fix FetchedThreads typedef and startMessage (#5971) (f108746)
  • Message: Add ThreadChannel as a channel type (#5972) (58bc145)
  • ThreadManager: Fix reason prop of ThreadCreateOptions (#5970) (5dfd7dd)
  • Channel: Fix description of thread channel types (#5968) (853be62)
  • Drop string from MessageButtonStyleResolvable (#5944) (41f718f)
  • Features: Resolved typo in FATEWAY_PRESENCE_LIMITED (#5952) (d38b347)
  • Webhook: Fix thread example in send method (#5953) (d3d19ce)
  • Channel: Make the type news_thread an inline code-block (#5940) (630432b)
  • Thread: Add links to discord api docs (#5919) (5af2ef5)
  • MessageSelectMenu: Fix options typings (#5922) (75837a8)
  • *: Add links to Discord's API objects & data (#5862) (e0efcc6)
  • Move embeds field into BaseMessageOptions (#5902) (6cebeae)
  • Readme: Remove dependencies badge (#5901) (edf6f0c)
  • AnonymousGuild: Add missing extends tag (#5896) (3d96a33)
  • VoiceState: Channel can be null (#5872) (807ea2d)
  • ReplyMessageOptions,MessageEditOptions: Replaced embed with embeds (#5860) (e3ed74a)
  • Consistent application name usage (#5853) (96a4e7b)
  • TextBasedChannel#send: Update embeds example (#5857) (a6dae75)
  • ButtonInteraction: Fix typo (#5835) (9376ee4)
  • Removed topics and FAQ from the repository (#5820) (9e5106d)
  • README: Re-add install command, remove voice remnants (#5817) (55ad6f0)
  • MessageEmbed: Deprecation advisory for type (#5774) (f5f3f77)
  • Messages: Fix examples in messages after changes in #5758 (#5791) (35c2225)
  • ApplicationCommand: Typos in ApplicationCommandPermissionData (#5789) (4511624)
  • GuildMemberManager: Fix docs for #search() (#5784) (0139e10)
  • CommandInteraction#channelID is type of Snowflake (#5776) (32d8c8b)
  • InteractionDeferOptions: Correctly define the typedef (#5769) (4567cd4)
  • Add new guild features (#5755) (f7e420b)
  • Message: Fix content param in #edit not showing as nullable (#5748) (df9b678)
  • All the missing object -> Object changes (#5738) (b317d86)
  • Remove traces of StringResolvable (#5727) (678b7da)
  • Webhook: Update typings and docs for #editMessage (#5713) (256d1b0)
  • Message: Add example for message.reply (#5332) (7d7d2a5)
  • TextChannel: Warning about setRateLimitPerUser NewsChannel (#5403) (47bbdf4)
  • Fix InteractionDeferOptions typedef (#5694) (add924c)
  • ColorResolvable: Add Fuchsia to ColorResolvable typedef (#5676) (7d9818e)
  • Add new typedef to properly doc InteractionReplyOptions (#5632) (3589e0f)
  • Guild: Add proper punctuation to #fetchOwner jsdoc (#5645) (c8d20a4)
  • Correct casing of object -> Object in AuditLogChange (#5636) (ab82caf)
  • GuildChannelManager: Add stage option (#5608) (d219ecd)
  • MessageEmbed: MessageEmbedOptions typedef (#5466) (4a06dd1)
  • Update invite link, change version in the intro (#5592) (533c247)
  • VoiceState: #setRequestToSpeak and #setSuppressed returns a Promise instead of void (#5558) (705d7b3)
  • GuildChannelManager: Fix type options in description (#5440) (936516c)
  • ClientUser: #setPresence does not return a promise (#5485) (599f0f5)
  • GuildChannel: #members add cached spec, include voice (#5385) (e848d25)
  • BanOptions: Make days description more clear (#5327) (dedf432)
  • Update docs and examples for #4879 (#5323) (685b260)
  • GuildMember: Document owner override in permissions getter (#5320) (62ba249)
  • ChannelManager: Fetch can return Promise (#5422) (1c8b109)
  • Guild: Clarified description of guild.features (#5352) (941e36f)
  • BaseManager: Fix a typo in #resolveID description (#5180) (640a663)
  • BitFields: Remove string from BitFieldResolvable (#5122) (9ffcd83)
  • MessageEditOptions: Add the flags parameter (#5126) (2aea7dd)
  • RoleManager: Fetch description (#4920) (be0f383)
  • TextBasedChannel: Indicate that replyTo cannot be system (#5115) (5c4547e)
  • Permission overwrite methods descriptions (#5079) (77d4237)
  • Client: #emojis is a BaseGuildEmojiManager (#5048) (2685b96)
  • User: Fix typos in jsdoc (#5060) (09d0755)
  • WebSocketManager: Fix type of status (#5059) (9f3c3e0)

Features

  • Collector: Return a boolean on checkEnd (#6289) (f473f43)
  • Channel: Add isVoice() (#6297) (5b4efd1)
  • Constants: Added more error codes (#6234) (6b2098f)
  • MessageEmbed: Add setFields method (#6186) (a25e165)
  • ThreadChannel: Add fetchOwner() method (#6207) (331a9d3)
  • Util: Add SweptCollection for auto sweeping of caches (#6110) (dbb59ba)
  • WebhookClient: Allow creation of clients via URLs (#6192) (e000af5)
  • FetchRecommendedShardsOptions: Account for large bot sharding (#6184) (19b242a)
  • GuildAuditLogs: Add threads (#6195) (26ba0e1)
  • Guild: Add fetchWidget() for getting widget data (#6180) (b22272f)
  • ApplicationCommandOptionType: Add NUMBER (10) (#6128) (2f1cc1f)
  • CommandInteractionOptionResolver: Add sub-command required option (#6165) (690c121)
  • Sticker: Updates, sticker packs, and guild stickers (#5867) (54d6a3a)
  • GuildPreview: Add createdAt & createdTimestamp (#6130) (9f039a8)
  • CommandInteraction: Add CommandInteractionOptionResolver (#6107) (f293132)
  • Make Instance#fetch force true by default, and fix force parameter (#6116) (366f3c9)
  • REST: Append additional information to the required User Agent (#6112) (f200f14)
  • Client: Add conditional ready typings (#6073) (4206e35)
  • Allow channels from uncached guilds to be returned from fetch (#6034) (755c180)
  • Collector: Better types for events (#6058) (c0a814f)
  • Message: Add 'failIfNotExists' to ClientOptions (#6038) (28c5724)
  • LimitedCollection: Export LimitedCollection (#6043) (31d3129)
  • Client: Enforce passing scopes to generateInvite (#6024) (c6e5521)
  • Managers: ✨ Add GuildInviteManager (#5889) (9e08b02)
  • Managers: Add customizable caching for managers (#6013) (8c7cb0e)
  • InteractionCollector: Reworked to be more generic (#5999) (374c779)
  • PermissionOverwriteManager (#5318) (e7ad2fe)
  • Formatters: Added new URL utilities and docs (#6014) (98e45a5)
  • RoleManager: Added edit method, alias Role#edit (#5983) (1e73c25)
  • StageChannel: Add createStageInstance method & use better naming convention (#5951) (71fb33a)
  • Channel: Add isThread typeguard for better TS support (#5978) (b7ed675)
  • Util: Added formatters (#5976) (8c7a28f)
  • Interactions: Option to auto-fetch replies (#5831) (5e28ff8)
  • Interaction: Add guild guard (#5955) (87e8cdd)
  • Managers: New ApplicationCommandPermissionsManager (#5897) (6264c60)
  • MessageComponentInteraction: Component getter (#5840) (1439183)
  • MessageMentions: Add repliedUser (#5905) (2616125)
  • MessageSelectMenu: Droppybois (#5692) (e5fcf0b)
  • Api v9 and threads (#5570) (7346621)
  • InteractionCreate: Move to an Action handler (#5906) (ea49f7c)
  • Add missing APIError codes (#5898) (d930c81)
  • Interactions: Improve error handling for ephemeral responses (#5892) (bd9f56a)
  • Add APIError codes for stage instance (#5888) (c850ae1)
  • WelcomeScreen: Welcome screens (#5490) (44e2ee7)
  • Stage instance invite (#5856) (2d12db0)
  • Guild: Add enum for premium_tier (#5868) (a3cbcca)
  • *: Use enums for consistency and speed (#5843) (f7eeccb)
  • Widget: Wrapper for widget.json (#5619) (038ee99)
  • Stage instances (#5749) (918921e)
  • *: Document and support embeds field in message create endpoint (#5792) (99ff715)
  • Guild: Add enum for mfa_level (#5797) (ffabec3)
  • RequestHandler: Emit more info when a rate limit was hit (#5801) (18ac72e)
  • Add new APIErrors (#5794) (e0ab836)
  • Util: Allow array for StringOptions' char (#5566) (fbcbb29)
  • GuildAuditLogs: Make #target a channel for channel related logs (#5781) (eb0291d)
  • Sharding:* Contexts for broadcastEval (#5756) (c6aeebb)
  • Voice: Implement support for @discordjs/voice (#5402) (7b2e12b)
  • General component improvements (#5787) (c4f1c75)
  • GuildChannelManager: Add 'fetch' method (#4966) (e798fb7)
  • Rest: Optional ratelimit errors (#5659) (16f261e)
  • Promisified single interaction collection (#5770) (c2b3ed0)
  • Message: ApplicationID for interaction responses (#5765) (65dc00f)
  • Client: Make use of with_expiration in #fetchInvite (#5764) (bf191df)
  • Interactions: Add InteractionWebhook for better internals (#5712) (dec191a)
  • MessageComponents: Clickybois (MessageButton, MessageActionRow, associated Collectors) (#5674) (cbd7f2b)
  • Esm: Use gen-esm-wrapper instead of manually making the file (#5700) (db0d7d4)
  • Rest: Show the data that is sent to Discord when an errors occurs (#5701) (ef92339)
  • CommandInteraction: Make options a collection (#5705) (fdad140)
  • *: Enforce strings (#4880) (7b85a72)
    • BREAKING CHANGE: Removes all Resolvables for only string inputs
    • Co-authored-by: SpaceEEC spaceeec@yahoo.com
  • Message: Allow editing files into messages (#5718) (b212b64)
  • Easier guards for channelUpdate (#5716) (d52bcd4)
  • Add support for fetching multiple guilds (#5472) (48d6850)
  • Guild: Add the new nsfw_level property (#5660) (3fe7add)
  • InteractionDeferOptions (#5641) (ed593c9)
  • CommandInteraction: Ephemeral followup messages (#5618) (68b40dd)
  • GuildChannel: CreateInvite target options (#5514) (f831872)
  • MessageEmbed: Remove normalizeField validation (#5459) (ff2f737)
  • GuildMemberManager: Extend API coverage (#4872) (2e2464b)
  • GuildChannel: Make createOverwrite and updateOverwrite not dependent on cache (#5489) (58763b0)
  • MessageManager: Extend API coverage (#4869) (c56c4a8)
  • Message: Add ReplyMessageOptions for #reply (#5296) (7ce741d)
  • ShardingManager: Add options typings (#5583) (31b4390)
  • GuildChannel#clone: Support for position property (#5236) (d455cb6)
  • GuildBanManager (#5276) (6d09160)
  • APIRequest: Support setting global headers in HTTPOptions (#5586) (135abcc)
  • Message: Replace referencedMessage with fetchReference (#5577) (1398431)
  • Message: Allow removing attachments (#5557) (ca9e5a0)
  • Add support for application command events (#5596) (9f74f95)
  • Interactions (#5448) (f7643f7)
  • Sticker: Added Sticker (#4909) (026afc2)
  • Webhook: Add 'fetchMessage' method (#5530) (63398d6)
  • GuildManager: Allow system channel flags in create (#5504) (d9fa180)
  • Guild: SetChannelPositions parent, lockPermissions keys (#5507) (4866e26)
  • Webhook: SourceGuild, sourceChannel, improve owner (#5508) (116ecf2)
  • Guild: Allow description and features in edit (#5505) (8a059cc)
  • Util: Make cleanContent take a channel instead of a message (#5535) (f1c0c04)
  • Guild: Nsfw guilds (#5525) (5968323)
  • Guild: Replace owner with fetchOwner (#5480) (1be67b8)
  • GuildFeatures: Added the new screening features (#5328) (3c175cb)
  • MessageAttachment: Support for #contentType (#5481) (7b161f9)
  • SysChanFlags: New flag and rename in sync with client (#5506) (fe93a7e)
  • Move internal regular expressions to static properties (#5384) (207735c)
  • typings: Add ShardingManager.shardList to type definitions (#5446) (32b0d71)
  • typings: Explicitly type PremiumTier and Collectors (#5458) (7c49612)
  • Make changes to PresenceData typings and docs (#5317) (eb43ce4)
  • MessageTypes: Add 16 and 17 (#4685) (c9107e3)
  • GuildMemberManager: Add 'search' method (#4154) (0ba2bcb)
  • Stage channels (#5456) (eec7cf7)
  • Activity: Add missing fields (#4984) (63ff6a0)
  • Webhook: Add '(edit|delete)Message' methods (#5223) (7cabc1c)
  • Rest: Better handling of global rate limit and invalid request tracking (#4711) (9d2d606)
  • Application: Application flags (#5147) (06e9d86)
  • WebSocketManager: Let identify throw on depleted limits (#5283) (624a446)
  • Jsdelivr default file support (#5424) (f469402)
  • Client: Add InviteGenerationOptions#additionalScopes (#5215) (ae3c3d8)
  • ReactionCollector: Event create (#4108) (09d1f2f)
  • ShardingManager: Allow b-Eval/fetchClientValues on a specific shard when not all are ready (#5222) (001676c)
  • GuildChannel: Support conversion between text and news (#5022) (5ac3b57)
  • BitField: Move problematic bit into the error message (#5228) (273e955)
  • ClientEvents: Add tuple labels to event arguments (#5225) (764966e)
  • GuildMember: #pending (#5121) (c4c8171)
  • GuildEmojiManager: Implement GuildEmojiManager#fetch (#4933) (ffe3140)
  • Browser: Remove browser <20> (#5113) (0a591a9)
  • Role: Role tags (#4628) (d6234b7)
  • APIMessage: Remove disableMentions (#4836) (4107899)
  • GuildMember: Make GuildMember#setNickname first param nullable (#5070) (d70127c)
  • Message|TextChannel: Inline replies (#4874) (60e5a0e)
  • BaseGuildEmojiManager (#4934) (8d650a7)
  • Message: Added string type for message nonce (#4782) (4b555fd)
  • GuildMemberManager: Throw TypeError on incorrect GuildMemberManager#ban params (#4816) (863734a)

Refactor

  • Replace dependency with initial implementation (#6310) (d5e28c2)
  • Interaction: Rename defer to deferReply (#6306) (4241feb)
  • InteractionCollector: Only keep Ids of objects (#6084) (b639b6c)
  • Channels: Fix incorrectly shared properties (#6262) (5be471b)
  • Added TextBasedChannels type (#6286) (61db5f7)
  • MessageComponents: Default setDisabled to true (#6279) (3c7c822)
  • *: Use async functions (#6210) (e2e4f65)
  • GuildChannel: Use filter method for #members (#6253) (7c54076)
  • VoiceState: Change kick to disconnect (#6251) (24931d7)
  • Merge collections with keeping entries at max (#6242) (bb5e648)
  • Message: Accept a single object instead of 3 arguments (#6244) (434e330)
  • Move member adding to manager (#6231) (198a5c4)
  • Use guild-wide route for fetching active threads (#6193) (2a07055)
  • Remove extended collection (#6246) (00bae4f)
  • Strengthen channel typings in appropriate places (#6232) (65ae064)
  • Message: Make thread a getter for accuracy (#6215) (5f710ae)
  • Match subcommand (group) name casing with Discord's (#6204) (a69e2f7)
  • Only cache commands from own user (#6161) (4886ae2)
  • Message: Combine patch methods (#6071) (cd47a52)
  • CommandInteractionOptionResolver: Add readonly data property (#6156) (328501b)
  • OptionResolver: Accept single type instead of an array (#6154) (5addcd1)
  • Change const enums to interfaces (#6078) (63ce065)
  • ActionsManager: Less complex code (#6102) (4d53d0f)
  • Remove timer utilities from Client (#6113) (5ca97c9)
  • Remove typing caching (#6114) (576eee8)
  • Channel: Change channel types to UPPER_CASE (#6035) (6301728)
  • Managers: Rename add to _add (#6060) (9cd5e7e)
  • ApplicationCommandManager: Remove unused assignment (#6063) (98a5b52)
  • Rename Constants.OPCode to Opcode, moved objects to enums (#6065) (4eb3a2a)
  • PresenceManager: Have Presence extend Base and simplify add (#6056) (ded93fe)
  • Presences: Remove from User, nullable on GuildMember (#6055) (afbd5db)
  • Intents: Remove computed shorts (#6050) (3022b0f)
  • Remove lastMessage properties from User and GuildMember (#6046) (1a27f57)
  • typings: General cleanup (#6047) (676118a)
  • Change xID to xId (#6036) (a7c6678)
  • Improve typings and docs related to threads (#5991) (4bf4980)
  • Util: Make class extend null (#6000) (2446ff5)
  • Rename events to be consistent with WS names (#6010) (a11a105)
  • New node features (#5132) (1e8f012)
  • Presence: Remove second assignment of syncID (#5956) (fb8d516)
  • MessagePayload: Rename APIMessage (#5921) (b15d825)
  • Removed code and split options (#5918) (985d4d6)
    • Co-authored-by: Jan 66554238+vaporox@users.noreply.github.com
    • BREAKING CHANGE: Removed APIMessage#split
    • BREAKING CHANGE: Removed MessageEditOptions#code
    • BREAKING CHANGE: Removed BaseMessageOptions#code
    • BREAKING CHANGE: Removed BaseMessageOptions#split
  • Collector: Make filter an option (#5903) (0d0c8f0)
  • Remove exported shortcuts to util methods (#5904) (1816a93)
  • Package: Remove runkitExampleFilename (#5866) (6cceb93)
  • awaitMessageComponentInteraction: Use options object for lib consistency (#5852) (9dda9b7)
  • *: Make typedefs for all options params (#5785) (1ac9a2e)
  • GuildPreviewEmoji: Make roles an array (#5720) (4dbcaf7)
  • APIMessage: Remove unused declarations (#5836) (02693bc)
  • Fetch options consistency (#5824) (7111b4c)
  • GuildChannel: Use Permissions.defaultBit over 0n (#5822) (19d0405)
  • Remove all voice code (#5818) (fdef940)
  • MessageEmbed: Remove files (#5813) (e3e466d)
  • Guild: Remove region from guild and manager methods (#5766) (a1f763e)
  • Enforce single param on sending/editing methods (#5758) (0467a90)
  • GuildAvailable, typingStop from Constants (#4861) (dda5ee2)
  • Interactions: Move Structures import out of switch block (#5763) (84e5b07)
  • Remove _roles from pseudo-managers (#5721) (53d952a)
  • Deps: Use async-queue package (#5662) (14c6802)
  • *: Return the invalid element when erroring from Array (#5314) (eaf332f)
  • MessageOptions: Move replyTo to reply#messageReference and add failIfNotExists (#5298) (1ecda83)
  • Sticker: Rename Snowflake variable (#5575) (af00ec8)
  • RequestHandler: Use x-ratelimit-reset-after when present (#5511) (a5d41c9)
  • Remove error-silencing try/catch on event handler imports (#5542) (cdcc50f)
  • Sharding: Use options objects (#5510) (c9b5353)
  • Add discord-api-types as a dependency (#5539) (1b827fe)
  • Rename Snowflake to SnowflakeUtil (#5502) (164ddf6)
  • Guild: Remove fetchVanityCode() (#5471) (0a2e0c0)
  • Collector: Make endReason a getter (#5271) (8d14ee3)
  • Switch api and gateway to V8 (#4879) (ee5bc1a)
  • Client: Remove fetchAllMembers option (#5257) (aaed72b)
  • GuildMember: Remove GuildMember#hasPermission (#5152) (5401b92)
  • Util: Remove convertToBuffer (#5237) (a33eed7)
  • Message: Remove stored edit history (#5155) (8c2e6b7)
  • RoleManager (#5131) (2a0dcc5)
  • Message: Remove options for Message#delete (#4999) (75e6dfb)
  • Client: Improve generateInvite() (#5065) (5b51392)

Testing

  • Types: Add notPropertyOf type-only utility (#6051) (03fe6ee)
  • Client should destroy (#5353) (4099c28)

Typings

  • MessageButtonOptions: Clean up and export some button option type definitions (#6291) (ae6200e)
  • Make MessageTarget extend on TextBasedChannels (#6296) (5b0621f)
  • Caches: Add GuildStickerManager and GuildInviteManager (#6268) (15aea68)
  • Use api-types for stricter typings (#6230) (00c2bf8)
  • ButtonMessageOptions: Make button/link button typings more specific (#6212) (77c72e6)
  • WsEvents: Add thread ws events (#6194) (4f1f32f)
  • DataManager: Add 'K' to type parameter of 'resolveId' (#6152) (8586505)
  • ColorResolvable: Readonly tuple (#6153) (1e90be8)
  • Message: Mark #thread as nullable (#6129) (ef5ba05)
  • Options: Add types for cacheWithLimits (#6095) (8db6df3)
  • Interaction: Change inGuild return type (#6094) (60148c6)
  • PartialWebhookFields: Add APIMessage to deleteMessage union (#6085) (a9e7ebd)
  • Interactions: Fix function overloads (#6109) (98c6078)
  • Guild: Remove fetchVoiceRegions (#6099) (a8984bc)
  • Partial: Add partial reactions (#6066) (d6c43a5)
  • Test: Fix overloads for channel create (5b6be0c)
  • GuildInviteManager: FetchInvitesOptions (#6076) (c1eaa78)
  • Fixed unreachable overloads (#6062) (7322547)
  • ApplicationCommand: Fix option name (#6067) (58bbcd5)
  • *: Revert incorrect unknown type changes (#6057) (2e078e4)
  • Options: Should extend null (#6042) (c4aa9fe)
  • Voice: Move types to the library's definitions (#6041) (185e376)
  • Better fullPermissions typings (#6028) (2ab32e6)
  • MessageOptions: Fix components being optional (#6005) (56b5b7e)
  • *: Create mention types (#6003) (0dc5dd5)
  • VoiceState: Fix optional params (#5993) (1242c54)
  • ClientUser: Updated setAFK signature (#6011) (c40b06c)
  • MessageSelectMenu: Fix typings (#5995) (fe6cc0c)
  • Interactions: Fix function overload types (#5989) (521d26c)
  • Few missing thread channels (#5988) (941cd86)
  • MessageOptions: Improved component typings (#5987) (0eeb277)
  • ApplicationCommandPermissionsManager: Fix types (#5979) (388e05b)
  • ThreadChannel: Make locked and archived param optional (#5980) (a08ce7d)
  • *: Make hex color types compatible with ColorResolvable (#5973) (788d58e)
  • CommandInteraction: Readd followUp type (#5974) (ae37d20)
  • ThreadManager: Add type to ThreadManager#create options (#5969) (3174507)
  • ColorResolvable: Change string to #${string} (#5950) (acdcb90)
  • Define ApplicationCommand enums in lib (#5947) (e37ef3a)
  • Fix remaining Raw type references, update discord-api-types dep (#5942) (03d3a5c)
  • ThreadMemberManager: Fix incorrect usage (#5928) (6065b11)
  • MessageReactionResolvable: Add string (#5863) (a0b7d95)
  • GuildApplicationCommandManager: Allow undefined command (#5837) (d5bb758)
  • Corrected shard broadcastEval (#5834) (a0a56e2)
  • MessageComponentInteraction: Update should return Promise (#5829) (08cffd6)
  • Extendable: Add ButtonInteraction (#5802) (19fd162)
  • Extend MessageComponentInteractionCollector correctly (#5752) (c6696d8)
  • Fix awaitReactions typings for returned collection (43fc40e)
  • Change remaining string IDs to Snowflakes (#5737) (ff4d6dd)
  • Snowflake: Export the type (#5722) (66a6a1f)
  • Use Snowflake type (#5717) (76db642)
  • PermissionOverwriteOptions: Remove unused interface (#5651) (b40027b)
  • WebhookMessageOptions: Omit reply instead of replyTo (#5610) (2345c6d)
  • Remove typings for Client#disconnect event (#5469) (a4d09ab)
  • PermissionOverwrites: Use correct parameter type for resolveOverwriteOptions (#5302) (ca5f371)
  • MessageReaction: Allow message to be partial (#5303) (aac6275)
  • RateLimitData: Remove timeDifference property (#5208) (80e1afb)
  • Make Client#voice non-nullable (#5148) (40d77ba)

12.5.0 - (2020-11-22)

Bug Fixes

  • Guild: Fetch member if already in the guild (#4967) (643f96c)
  • User: Only assign to bot initially or if info is actually present (#4990) (eaecd0e)
  • GuildMemberUpdate: Cache incoming members & use partials if enabled (#4986) (2e940e6)
  • MessageReaction*Action: Correctly cache incoming members and users (#4969) (8b91ac5)
  • MessageReaction: Add client property to typings (#5003) (042e071)
  • Shard: Don't pass event arguments to exit handler (#4957) (adf2e87)
  • PackageLock: Reinstall GitHub docgen dev dependency (#4958) (ed8b3cc)

Documentation

  • Use npm ci instead of npm install (#4928) (efd7849)

Features

  • Shard: Shard-specific broadcastEval/fetchClientValues + shard Id util (#4991) (2a6c363)
  • Add support for guild templates (#4907) (2b2994b)
  • Add missing error codes (#5008) (7faa73a)
  • Message: Add crosspostable property (#4903) (b8fd3f6)

12.4.1 - (2020-10-24)

Bug Fixes

  • Action: Attempt to get a User if GuildMember not returned (#4922) (3d158f4)
  • GuildChannel: ParentID shouldn't be set in the constructor (#4919) (250c3ae)

12.4.0 - (2020-10-19)

Bug Fixes

  • Webpack: Revert webpack upgrade (94c9cc2)
  • esm: Add missing exports (#4911) (4bbe716)
  • GuildEmojiManager: Check for guild in methods that use it (#4886) (728b3f9)
  • GuildMember: Properly check permissions for hasPermissions (#4677) (7db6978)
  • GuildEmojiCreate: Prevent double fire from emoji creation (#4863) (6261dd6)
  • GuildMemberManager: Options.roles on 'prune' (#4838) (a45cc11)
  • GuildChannel: Default parentID to null (#4881) (6e4308b)
  • Actions: Avoid crash in InviteCreate with unknown channel (#4882) (dd12912)
  • GuildMemberManager: Use actually random nonce in fetch (#4884) (937153a)
  • GuildChannel: Make setTopic argument nullable (#4875) (b9ad510)
  • Rest: Resolved a regression, added retried AbortError (#4852) (d234165)
  • MessageManager: Throw if delete param is not MessageResolvable (#4825) (13d64e6)
  • Shard: Avoid caching null child in eval/fetchClientValue (#4823) (77c0788)
  • Action: Sanity-Check if Discord includes all required data (#4841) (4e79e39)
  • Message: Use Promise#reject instead of Throw on Message#delete (#4818) (1e63f37)
  • Action: Don't crash when partials are disabled (#4822) (8fa3a89)
  • Partials: Use more user objects available from the gateway (#4791) (eeb4c14)
  • lint: RESTManager warning (#4796) (5b39737)
  • Typings: Remove Partial types from some events (#4781) (a28754b)
  • Util: Throw token invalid for fetching rec. shard amount (#4779) (77b6a7d)
  • Guild: Cache fetched widget data (#4760) (7ba9440)
  • Typing: Change NodeJS.Timer into NodeJS.Timeout (#4755) (405b487)
  • Correctly import extendable classes (#4744) (6aab9c3)
  • typings: Bot cannot be null (#4719) (e0e2711)

Documentation

  • PresenceData: Add YouTube and remove application (#4910) (a7af4a8)
  • Role: Update various Role method descriptions (#4798) (222137d)
  • ReactionCollector: Revise JSDoc for ReactionCollector#dispose and #remove (#4709) (372a405)
  • Guild: Guild.setName() example (#4797) (dfd63bd)
  • GuildChannel: ThisType should be this (#4793) (b43e742)
  • MessageManager: Update example for fetchPinned (#4785) (8ac25d3)
  • BaseGuildEmoji: Account for optional properties (#4723) (a363b90)
  • ClientOptions: Fix typo (#4730) (cfc6867)
  • APIMessage: Fix wording on comment (#4717) (05c9e30)
  • Update jsdoc type for User#bot (#4716) (b6167d8)

Features

  • Message: Allow custom emoji format for react (#4895) (30808f9)
  • Message: Add messageEditHistoryMaxSize to limit stored msg edits (#4867) (c412cd7)
  • NewsChannel: Add support for following (#4805) (f83b3d7)
  • GuildManager: Add AFK and system channel options in create (#4837) (f2bbad3)
  • Rest: Switch queue to AsyncQueue (#4835) (32fe72f)
  • ActivityTypes: Add Competing (type 5) (#4824) (9c76129)
  • Message: Add support for crossposting (#4105) (bcb7c72)
  • Channel: Add isText() type guard (#4745) (b0ab37d)
  • Guild: Add includeApplications option for fetchIntegrations (#4762) (3141f7c)
  • UserFlags: Add renamed UserFlags (#4761) (f973163)
  • Client: Allow options for generateInvite (#4741) (727b29c)

Refactor

  • Improve the accuracy of docs/improve docs (#4845) (af670fc)
  • ReactionUserManager: Use client property (#4829) (169d4c3)
  • Client: Remove non-existant property from toJSON (#4750) (46acfac)

Styling

  • Remove unnecessary eslint comment (#4758) (74ebb65)

Typings

  • TextBasedChannel: Make lastPinAt nullable (#4842) (4a6fb9a)
  • Activity: Move flags from Presence to Activity (#4843) (824e922)
  • GuildPreview: Make description nullable (#4854) (0b59141)
  • Guild: Document RELAY_ENABLED feature (#4788) (422a4dd)
  • Don't use readonly arrays in interfaces (#4794) (904aecf)
  • PartialUser: Fix PartialUser remove deleted property (#4773) (aa25608)
  • Don't allow any object in the first parameter if second parameter is not given in TextBasedChannel#send (#4736) (74763ef)
  • Add all types for GuildAuditLogsEntry#target (#4738) (2dc70af)

12.3.1 - (2020-08-15)

Bug Fixes

  • User: Set User#bot to false if not partial (#4706) (db512d8)

12.3.0 - (2020-08-14)

Bug Fixes

  • Partials: Correctly set properties as nullable (#4636) (980243f)
  • APIMessage: Add reply user to allowedMentions (#4591) (b6ddd4c)
  • MessageReactionAdd: Prevent double messageReactionAdd triggering (#4682) (6caeaeb)
  • Integration: User might not be present (#4691) (baffbdb)
  • GuildChannel: Make lockPermissions use parent overwrites (#4627) (599cde3)
  • Collector: Support async (#4123) (124afeb)
  • BaseManager: Properly type valueOf (#4594) (b4d6510)
  • Correctly import VoiceState (#4616) (c5b6c4d)
  • ApiMessage: Respect allowedMentions with split (#4588) (a663ea4)
  • Message: Message#createdTimestamp uses deconstructed message id to get timestamp (#4632) (2be68e4)
  • Util: Support empty array for flatten (#4590) (317f240)
  • Consider #nsfw false if not present in data (#4593) (fab3153)
  • PresenceStatus: Include invisible in typings (#4585) (276dddc)
  • Set #nickname to null as the default value (#4641) (2adb581)
  • Typings: Channel#delete returns bad type (#4118) (3df9993)
  • Message: Include MessageEmbed type (#4675) (bbfc715)
  • typings: Correct spelling of APIError (#4687) (c55b5c8)
  • Util: Fix cleanContent mention exploit (#4663) (fb1dd6b)
  • typings: Allow custom events (#4162) (47151fc)
  • User: Type dmChannel as nullable (#4609) (f9f3661)
  • Typing start event emitting on non text based channels (#4349) (16847a3)
  • Guild: Fix vanityURLUses desc, internally use fetchVanityData (#4335) (1c275af)
  • DataResolver: ResolveInviteCode to support new domain (#4281) (5955498)
  • Grammatical errors in INVALID_TYPE errors (#4289) (fc4bddf)
  • APIMessage: Only pass allowedMentions if content is defined (#4269) (15b5350)
  • In/de-crement max listener for client events (#4168) (407bc77)
  • Voice: Correctly set speaking data in the voice ssrcMap (d3c9384)
  • MessageEmbed: Explicitly mark proxyIconURL as undefined (#4097) (605ee85)
  • Typing: DmChannel bulkDelete (#4115) (819e04a)
  • Typing: SetSpeaking public (#4109) (e3303ac)
  • Webpack: Add Buffer polyfill in browser (#4102) (67a74c3)
  • Guild: Name acronym (#4104) (97cbbb1)
  • PacketHandler: Guild members chunk packet handler should… (#4092) (5af1a55)
  • Typings: Add optional Set to shardReady event (#4099) (97d23de)
  • User: Jsdoc for User#flags (#4094) (6fbaf0a)

Documentation

  • Updated applications URL (#4699) (0b38c5d)
  • ReactionCollector: Update remove and dispose events (#4136) (139e56c)
  • Embeds: Added descriptions to the typedefs (#4303) (2a7f749)
  • Constants: Improve large_threshold description (#3744) (de8d26d)
  • Ban: Days must be 0-7 (#4693) (446bbfe)
  • Welcome: Change discord badge to shields.io for consistency (#4633) (bd2bb0e)
  • Client: Fix docs for login method (#4350) (9d747d1)
  • Guild: Clarify vanity URL documentation (#4125) (05cbf70)
  • CategoryChannel: Fix children being incorrectly marked as nullable (#4620) (f628981)
  • examples: Fix example img (#4678) (755f379)
  • ReactionManager: Clarify cache Collection keys type (#4683) (5b716c5)
  • Message: Add NewsChannel type to Message#channel (#4680) (b0e53e9)
  • Make use of MessageResolvable type for bulkDelete (#4661) (0e61fca)
  • erlpack: Discordapp to discord (#4288) (9a1c56c)
  • Guild: Description of Guild#premiumSubscriptionCount (#4324) (bd34965)
  • GuildManager: Resolve returns a GuildChannel (#4333) (88a62d5)
  • WebSocketShard: Add missing properties (#4268) (2583ad5)
  • ShardingManager: Fix typo in JSDoc (#4158) (766b91d)
  • ShardingManager: Remove experimental status of Worker threads (#4157) (99612ba)
  • VoiceState: Remove permissions required from description (#4156) (2617d3c)
  • Message: Add timeout to Message#delete example (#4090) (863a709)

Features

  • Trigger userUpdate on GUILD_MEMBER_UPDATE (#4697) (178439e)
  • GuildMemberManager#prune: Roles query param (#4142) (f1194af)
  • GuildManager: Adds GuildManager#fetch (#4086) (2742923)
  • typings: Use readonly arrays in parameters (#4692) (f451be0)
  • typings: Add number type for setExplicitContentFilter method (#4694) (e7eda72)
  • Bypass cache check with forceFetch param (#4592) (290938b)
  • BitField: Add problematic bit to error (#4617) (0225851)
  • Guild: Updates for Community guilds (#4377) (57ca3d7)
  • Guild: Discovery splash (#4619) (5be6630)
  • types: BitFieldResolvable use ReadonlyArray (#4604) (f2f31a1)
  • Deprecate GuildEmbed methods and properties in favour of GuildWidget (#4121) (e92cbc4)
  • GuildEmoji: Cache the author (#4334) (b7740d4)
  • Util: Add missing colors to docs (#3843) (03580b2)
  • Add Blob support for browser (#4338) (1fbaf88)
  • typings: TypeScript support for changing $browser (#4667) (e54c21b)
  • Module: Add ReactionManager to exports (#4372) (2b6e6d8)
  • Message: Support pin and unpin with reason (#4586) (c79ac4d)
  • MessageMentions: Fix typings/docs, add resolvables support (#4339) (214981f)
  • voiceState: Add self_video property (#4346) (54a7fda)
  • Guild: Add fetchVanityData (#4103) (8030612)
  • REST: Allow options.query as URLSearchParams (#4143) (257371d)
  • GuildMemberManager: Nonce and chunk_count for _fetchMany (#4130) (ec0227a)
  • Guild#fetch: WithCount param (#4111) (0266917)

Refactor

  • GuildMemberManager: Use data instead of query (#4370) (49ad279)

Typings

  • Add User#fetchFlags (#4138) (6367f60)
  • User: Mark locale and flags as optional (#4127) (46b9e25)

12.2.0 - (2020-04-17)

Bug Fixes

  • PermissionOverwrites: ResolveOverwriteOptions description (#4088) (d709656)
  • Guild: Sort text, news, and store channels together (#4070) (fcacf1b)
  • Typings: GuildPreview#features and Integration#type (#4080) (72a33cb)
  • ClientApplication: Type fetchAssets as resolving with an a… (#4078) (72a7f2b)
  • StreamDispatcher: Correct property types (#4059) (9ba4eff)
  • BaseManager: Remove declaration of remove method (#4069) (a07c3c2)
  • Message: Update MessageMention's roles on message edit (#4016) (9e4c39a)
  • Presence: Add missing userID property to declarations (#4013) (691e96c)

Documentation

  • RoleManager: Everyone role can't be null (#3995) (a88b723)
  • Webhook: Id and token information (#3962) (da5d928)
  • MessageEmbed: Document the constructor (#4077) (4625881)
  • MessageManager: Document return type of delete (#4012) (4c2308b)
  • ShardClientUtil: Link Shard#message from send method (#4028) (7ce58db)

Features

  • DataResolver: Prefer streams over buffers (#4075) (12187ef)
  • ClientOptions: Allow setting default allowedMentions (#4085) (7c6000c)
  • ESModules: Importing for esm modules (#3998) (0a3759f)
  • GuildMemberManager: Customisable timeout for _fetchMany (#4081) (ff3454e)
  • User#flags (#4060) (2e5a647)
  • Message: Add allowedMentions to MessageEditOptions (#4071) (a8db988)
  • Add supported 4096 image size and jpeg format (#4031) (1330e2d)
  • Guild: PUBLIC_DISABLED and WELCOME_SCREEN_ENABLED features (#4009) (849c632)

12.1.1 - (2020-03-27)

Bug Fixes

  • Typings: Use Channel instead of *ChannelTypes in ClientEve… (#4001) (5e49126)

12.1.0 - (2020-03-27)

Bug Fixes

  • WebsocketShard: Pass ignore ACK when Discord asks for a beat (#3993) (65e8c92)
  • Typings: Client message event should not emit PartialMessa… (#3983) (f2fdb93)
  • Always emit guildUnavailable when a guild becomes unavailable (#3975) (2157401)
  • TypingStart: Typing methods returning falsy values (#3939) (495cfa9)
  • Guild: Default max presences value (#3970) (0f38d80)
  • Partials: Correctly document properties for partialized st… (#3922) (8b906c6)
  • Channel: Ensure partial DMChannels get created (#3954) (8c0a940)
  • MessageReaction: Fetching a removed partial custom emoji (#3955) (a36a65b)
  • RequestHandler: A global timeout implies limited (#3950) (7b38f46)
  • Util: CleanContent should remove mentions after formatting… (#3936) (44ac5fe)
  • GuildMemberRolesManager: Type error should mention Role an… (#3931) (e5264ab)
  • GuildEmojiManager: Throw an error if image resolving fails (#3934) (ca75eb5)

Documentation

  • MessageMentionTypes: Move possible values to description (#3990) (fee9a21)
  • MessageReaction: Fix jsdoc for count (#3980) (993411d)
  • VoiceState: Improve phrasing of setChannel method (#3959) (cd52424)
  • MessageEmbed: Correct description of createdAt (#3897) (a5267e1)
  • PlayInterface: Update example for broadcast (7994b56)

Features

  • GuildPreview: Implement support for "preview" endpoint (#3965) (88133d0)
  • AllowedMentions: Add support for MessageOptions#allowedMe… (#3893) (df324e2)
  • Permissions: Adds VIEW_GUILD_INSIGHTS (#3928) (5b9cdc5)
  • typings: Allow event listener type param inference (#3944) (2be9eba)
  • Types: Support type-guarding using Channel#type string li… (#3918) (69d69f2)

Typings

  • Add back accidental removal (#3984) (5da734c)
  • Partials: Fix unexpected TSC errors (#3957) (a660515)
  • StreamDispatcher: Remove end event (#3945) (609a545)
  • PartialTextBasedChannelFields: Fix send overload (#3942) (a53404f)
  • PartialTextBasedChannelFields: Fix send overloads (#3935) (d43f78c)
  • Client: Remove typingStop event (#3919) (5b8f022)

12.0.2 - (2020-03-08)

Bug Fixes

  • APIRequest: Only use form data when actually sending files (#3917) (a4f7e07)
  • MessageEmbed: Skip validation of fields when inside a message (#3894) (3e169cb)
  • Guild: Resolve role id and call existing handler (#3904) (f387337)
  • Adapt #manageable to check for CONNECT for VoiceChannel (#3885) (61ef46f)

Documentation

  • Structures: Add ExtendableStructure typedef (#3908) (79a28b5)
  • Make collections more accessible in docs (#3907) (b5dfb55)
  • GuildMemberResolvable: An member -> a member (#3909) (3c653aa)
  • BitField: Document constructors of deriving classes (#3903) (bca4b03)
  • sharding: ShardingManager#createShard doesn't spawn the s… (#3875) (b5a7e5c)
  • faq: Replace ffmpeg-binaries with ffmpeg-static (#3886) (bfcd4be)

Performance

  • VoiceConnection: Skip redundant volume transformer on join (#3916) (69d4153)

Testing

12.0.1 - (2020-03-01)

Bug Fixes

  • guild: VerificationLevels (#3873) (66e625c)
  • message_mentions: Lazy require GuildMember to avoid circular (#3877) (cd746f3)

12.0.0 - (2020-03-01)

Documentation

  • Clarify which checks GuildMember#manageable does (#3870) (2d67fbb)
  • PartialRoleData: Id is optional (#3866) (c7f4485)

Features

  • Document intent error code messages (#3871) (f4b1b39)

Refactor

  • Make LimitedCollection an implementation detail (#3872) (544bb78)

11.6.1 - (2020-02-29)

Bug Fixes

  • playinterface: Lazy require VoiceBroadcast to avoid circul… (#3864) (713309e)
  • typings: Enum values for ChannelType (#3861) (acdd832)
  • typings: Remove duplicate VerificationLevels (#3862) (09e4912)
  • typings: For intents (#3860) (a6d3501)

Documentation

  • Bump version to 11.6.0 (#3863) (34d352d)

11.6.0 - (2020-02-29)

Bug Fixes

  • guild: Import paths (d9e12b8)
  • MessageEmbed: Prevent possible destructuring error (bbe169d)
  • Shard: Cleanup after settling spawn promise (#3799) (f95df6f)
  • typings: MessageOptions#split (#3834) (cf646b5)
  • Client#sweepMessages should throw an INVALID_TYPE error (#3828) (0280734)
  • MessageEmbed: Various typos and fixes (#3819) (52c0a40)
  • ReactionManager: Update message if partial (#3789) (bc5e295)
  • Message: Handle undefined/null content in cleanContent getter (#3778) (a36f386)
  • Guild: Use snake case when editing system_channel_flags (#3781) (878cc05)
  • BaseManager: BaseManager#valueOf should return cache (#3776) (62b227c)
  • TextChannel: Remove old nsfw regex check (#3775) (324d9e0)
  • Guild: Update premiumSinceTimestamp on guild member update (83bc6e0)
  • GuildMember: Manageable - let owner override (#3766) (364914f)
  • GuildMember: Manageable - let owner override (#3765) (3f03901)
  • Voice:* Fix speaking event and voice receive (#3749) (fbcd363)
  • Remove for..in in favor of Object.keys (#3745) (6d7e1e4)
  • TextChannel#bulkDelete: Use GenericAction#getMessage to handle return value correctly (#3664) (d8b4725)
  • ClientUser: Verified and enabled properties resetting (#3733) (3ea9ac5)
  • *Collector: Always run postCheck, remove 'translatation' of message collector options (#3718) (099a1a4)
  • RichPresenceAssets: Add Twitch preview link for largeImageURL (#3715) (a505a55)
  • Only setMaxListeners when max listeners is not 0 (#3716) (903f6ca)
  • ClientDataResolver: Return a user in resolveUser when passing guild (#3719) (464ef25)
  • VoiceConnection: Use Client#clearTimeout to clear timeouts (#3709) (c5d2b96)
  • Presence: Account for multiple activities everywhere (#3703) (f501d06)
  • Regression (changing voice servers) (629c57f)
  • Guild: Assign GuildMember#selfStream, if present, when adding a member (36c0496)
  • ShardingManager: Assert shardList to be spawned, not totalShards (#3649) (400cb56)
  • BitField: Remove for..in in favor of Object.entries (#3650) (11f9118)
  • Provide count on bulk deletion (#3682) (59205a2)
  • typings: Remove VoiceChannel#connection (#3676) (f74ae12)
  • ChannelDelete: Mark messages of a deleted channel as deleted (#3572) (d1d0d75)
  • Voice:* Internally disconnect and cleanup when forcibly disconnected (#3597) (cbabc16)
  • Webhook: Edit channel when editing avatar (#3588) (e660ea9)
  • APIRouter: Use proper symbol for util.inspect (#3589) (1003607)
  • Invite: Fix valueOf returning undefined (#3582) (d39f179)
  • *Collector: Account for a max listener count of 0 (#3504) (2e20e80)
  • VoiceConnection: Clear timeouts using Client#clearTimeout (#3553) (9bcb6a0)
  • VoiceReceiver: Delete opus encoder from map in stoppedSpeaking (#3499) (91600a6)
  • Document ChannelData#reason (#3549) (7011c51)
  • Message: Check for edited_timestamp in data when patching message (#3535) (9e0705c)
  • docslink: Partialtypes (#3510) (c3228b4)
  • Set messages deleted when their channel is deleted (#3519) (48856c0)
  • Util: Make arraysEqual avoid mutating the input arrays (#3506) (8ddd061)
  • typings: GuildChannel#parent and #parentID are nullable (#3509) (2a78b00)
  • typings: GuildChannel#parentID is nullable (#3508) (e936f07)
  • GuildChannelStore: Default channel type incorrectly set (#3496) (a03e439)
  • BitField: Throw when resolving invalid string constant (41c0dd4)
  • stores: Add symbol.species for not-actual-stores (#3477) (60f89bd)
  • Typings for this-polymorphism of collections (#3472) (d5831df)
  • typings: Remove leftover typeof (ea9e144)
  • typings: Collection constructor (33ecdd4)
  • typings: Collections import (ac44a7f)
  • rate-limits: Reactions buckets need to be shared with sub-… (#3439) (278f185)
  • Role: Throw TypeError in comparePositionTo (#3466) (8e0f525)
  • Browser-compatability (4fc461c)
  • Util#splitMessage when destructured (#3456) (5d95a4b)
  • typings: Partially revert #3448 (89d9b0f)
  • GuildAuditLogsEntry: Default to object with id for deleted targets (#3373) (43c0a79)
  • ChannelStore: Return existing DMChannels within add() (#3438) (2a3fb70)
  • GuildMemberStore#_fetchMany (#3420) (cc488a8)
  • Webhook: Return raw data if the channel is unavailable (c786867)
  • ReactionUserStore: Remove method firing messageReactionRemove event twice (#3277) (1851f74)
  • GuildMemberRoleStore: Correctly reference the everyone role (#3434) (12b48b7)
  • Message: Delete method caused messageDelete event to fire twice (#3252) (8ae7a30)
  • Bots being unable to connect (f79f024)
  • GuildMemberStore: Reject BAN_RESOLVE_ID error instead of throwing it (#3425) (9e76f23)
  • typings: Send overloads (d14db52)
  • GuildChannel: Return GuildChannel in setPosition instead of Guild (1121b2f)
  • Update issue templates (651ff81)
  • ClientApplication: Fix ternaries (b65a4f0)
  • ClientApplication: Owner is still nullable (1dd4c04)
  • Guild: Allow fetchMember to be used with an uncached user (#3333) (6f49aad)
  • docs: Backport documentation for Presence#clientStatus (#3315) (0c61019)

Documentation

  • readme: Remove mention of uws (08e7328)
  • TextBasedChannel: Fix typo (#3858) (a04b4ca)
  • shard: Add .cache to GuildManager in fetchClientValue exa… (#3857) (31ee0d8)
  • MessageEmbed: Document article embed type (#3846) (31a3a86)
  • SystemChannelFlags: Properly document and use resolvable (#3794) (d406f42)
  • MessageAttachment: Mark spoiler as readonly, order spoiler in typings (#3714) (ccb83a7)
  • WSEvents: Add missing, remove duplicated and userbot events (#3800) (c4c6ad4)
  • PermissionResolvable: Move definition outside of class (544b14a)
  • Clarify what zlib-sync does (#3785) (21d37ed)
  • Guild: Channels is a manager of channels (#3779) (d43692b)
  • Info tag for ActivityType regarding CUSTOM_STATUS (#3758) (b7ccf9a)
  • Info tag for ActivityType regarding CUSTOM_STATUS (#3757) (3f8ea38)
  • Add extends to ChannelManager, cache is not nullable, resolveID accepts an object (#3771) (94bb268)
  • *Manager: Fix child classes' cache type annotations (#3777) (92bc634)
  • Guild: FetchBan returns a promise (#3752) (8e9e93d)
  • MessageMentions: Backport mention order notice (#3712) (d8419ac)
  • MessageMentions: Channels are actually in order (#3705) (6302afb)
  • Replace all occurances of node-opus with @discordjs/opus (#3698) (6a0fe46)
  • MessageMentions: Add sort order notice (#3693) (7f99be7)
  • ReactionStore: ResolveID takes a reaction, not role (#3617) (1237133)
  • Client: Clarify whose ToS are being violated (#3580) (1d66062)
  • README: Link to guide page instead of source (#3566) (1352bff)
  • README: Travis badge => github actions badge (#3569) (9a31e6e)
  • NewsChannel and StoreChannel (#3557) (cc466fa)
  • readme: Table of contents (#3539) (e26697f)
  • VoiceStatus: Document name -> value, link in VoiceConnection#status (#3500) (1861352)
  • VoiceStateUpdate always sends an instance of VoiceState (#3537) (a61cfc3)
  • Rename LURKABLE to PUBLIC and update GuildFeatures type (#3484) (ea8b4e7)
  • Document Message#author as nullable (#3464) (d252ddf)
  • ClientOptions: Document unit of restRequestTimeout (#3449) (4c08812)
  • Fix voice broadcast example code (#3436) (3fcc862)
  • Guild: Add missing features (#3406) (e562564)
  • Fix typos (#3404) (d8516ef)
  • VoiceStateStore: Document and type the class (#3294) (20d7b3d)
  • Team:* Fix appliction -> team, tag -> mention (4c11347)
  • Add zucc to docsite welcome page (#3355) (61e2e3e)
  • RoleStore: Update -> create in create method (#3349) (6100ace)
  • Presence: Document client property (#3342) (f82f0af)
  • Client: FetchVoiceRegions returns a promise (6cd4c27)
  • Guild: Add missing features (#3336) (19ef451)
  • *Resolvable: Make them appear on the docs (4a2335c)
  • Constants: Add missing GUILD_EMOJIS_UPDATE to WSEvents (#3325) (ddcc6cf)

Features

  • Intents bitfield (#3844) (8a2f893)
  • MessageEmbed: Support EmbedFieldData[] instead of EmbedFi… (#3845) (6650d50)
  • Reimplement disableEveryone into disableMentions (9c8aaf1)
  • GuildMemberStore: Add options.withPresences to fetch() (#3562) (de4b4a0)
  • GuildManager: Allow for more options for GuildManager.cre… (#3742) (2ee0f1c)
  • RichEmbed: Add toJSON returning an api-compatible object (97457e1)
  • RichEmbed: Backport spliceFields and normalizeField (#3762) (6eaf63f)
  • MessageEmbed: Re-introduce MessageEmbed#addField (#3850) (df88729)
  • Replace disableEveryone with disableMentions (#3830) (9cb306c)
  • GuildEmoji & Invite to GuildResolvable (#3637) (91a025c)
  • Collector: Addition of resetTimer() (#3825) (acf724e)
  • GuildAuditLogs: Handle new event types (#3602) (a69ebbe)
  • MessageEmbed: Change toJSON method to return an api-compatible object (#3813) (4ec01dd)
  • Bring embed builder field manipulation in line with underlying array functionality (#3761) (b727f6c)
  • PartialGroupDMChannel: To support Invite#channel for group dms (#3786) (161f907)
  • Guild: Add rulesChannel and publicUpdatesChannel (#3810) (b0aed05)
  • Guild: Add rulesChannel and publicUpdatesChannel (#3810) (bea6da6)
  • Add new MessageTypes (14 and 15) (#3812) (b0d0b81)
  • Message:* Add missing fields, add support for flag editing (#3795) (7e9c995)
  • Guild: Add support for system channel flags (#3793) (330c410)
  • GuildChannel: Add support for clone options, deprecate old signature (#3792) (ab866d6)
  • Add new MessageTypes (14 and 15) (#3812) (ef8acec)
  • Message: Add support for flag editing / embed suppression (#3674) (46ee06b)
  • Message: Throw a TypeError if delete is passed a non-object (#3772) (592021d)
  • BitField: Add BitField base class (#3759) (46e8bc4)
  • GuildAuditLogs: Handle new event types (#3760) (dbdb49e)
  • Remove datastores and implement Managers (#3696) (bbdbc4c)
  • Integration: Add guild integrations (#3756) (c955fd0)
  • Constants: Add CUSTOM_STATUS to ActivityTypes (2589db6)
  • Presence/Game: Multiple activities and custom status (#3747) (17b8b23)
  • Collector: Add idle option (#3746) (ccd6043)
  • MessageReaction: Add remove method and Client#messageReactionRemoveEmoji (#3723) (030d263)
  • MessageReaction: Backport removeAll and MessageReactionRemoveEmoji event (#3741) (ab7f9e8)
  • GuildMemberStore: Make timeout refresh after every GUILD_MEMBERS_CHUNK (#3645) (90aa5b3)
  • Webhook: Backport missing properties (#3710) (30adb37)
  • MessageReaction: Backport animated, client, created*, and url (#3711) (88b675d)
  • MessageAttachment: Add spoiler getter (#3713) (4ca1864)
  • Client: Add support for INVITE_CREATE and INVITE_DELETE events (#3720) (929ff9c)
  • Client: Backport INVITE_CREATE and INVITE_DELETE events (#3728) (40afbc1)
  • Guild: Add fetchBan method (#3726) (c779fe3)
  • Guild: Add setBanner method and banner to edit (#3708) (01826ae)
  • Message/Mentions: Implement caching of members (#3684) (0f49d67)
  • Collectors: Make collectors auto-stop when relevant structures are deleted (#3632) (cbb8db3)
  • Use updated eslint action (#3699) (d096e40)
  • Presence: Add support for multiple activities (#3661) (ee0b7c1)
  • Constants: Backport VerificationLevels and missing APIError codes (#3688) (07996d1)
  • Dynamic property for ImageURLOptions (#3530) (8014ddc)
  • Speaking: Add PRIORITY_SPEAKING bit (#3680) (b5825c3)
  • Webhook: Add ability to change channel and specify reason to edit (#3587) (fbe9bc4)
  • Permissions: Add any method (#3571) (367c800)
  • Partials: Add DMChannel/MessageReaction#fetch() and PartialTypes.REACTION (#3474) (6af0da1)
  • RichPresenceAssets: Add Twitch preview link for largeImageURL (#3655) (bf31b28)
  • MessageMentions: Cache mentioned members (#3601) (97eac66)
  • Webhook: Add type property and created* getters (#3585) (ea76a56)
  • Widen GuildResolvable to include more structures (#3512) (b4f00bf)
  • Guild: Add systemChannelFlags (#3559) (f578cce)
  • Add new MessageFlags.FLAGS & User#system (#3603) (4378283)
  • Webhook: Addition of Webhook#avatarURL function (#3625) (330d5db)
  • Activity: Support for CUSTOM_STATUS activity type (#3353) (2ca74d6)
  • GuildAuditLogs: Add new event types (#3584) (1bcc0c2)
  • MessageAttachment: Add spoiler property (#3561) (38d370f)
  • GuildMember: Add selfStream (#3522) (96037e1)
  • GuildMember: Filter out duplicate roles when updating (#3502) (f91ad70)
  • VoiceState: Add VoiceState#streaming (#3521) (a8f06f2)
  • GuildChannel: Backport permissionsLocked getter (#3507) (2610bf5)
  • External collection package (#2934) (dad0cd8)
  • constants: Add verificationLevels (#3369) (37ecf7b)
  • Partials: Add DMChannel/MessageReaction#fetch() and Parti… (#3261) (b0047c4)
  • Guild#partnered (#3444) (6f83e71)
  • VoiceState: Add kick method (#3462) (c86a615)
  • Permissions: Add new method Permissions#any (#3450) (a6810e2)
  • typings: Reply overloads for splitmessage (c5cbf86)
  • Abort Requests that takes a lot of time to resolve (#3327) (e4309b2)
  • Invite: Add targetUser(Type) (#3262) (d62db23)
  • Util: Fix animated part of parseEmoji regex and make id optional (#3407) (b662678)
  • Collector: Allow collectors to be consumed by for-await-of loops (#3269) (6d3c55b)
  • Overload for split always returning an array (#3411) (5af8cb8)
  • Util.splitMessage always return an array (#3035) (e645dd6)
  • typings: Constants export (#2915) (547bf83)
  • Collector: Add idle time for a Collector to stop itself (#2942) (f1433a2)
  • Teams: Backport support for teams (#3357) (0cd7556)
  • Guild: Add banner to edit method and add setBanner method (#3364) (adb0823)
  • Teams support (#3350) (a22aabf)
  • Emoji: Backport delete method (#3343) (c355236)
  • Guild: Add support for premium/boosting (#3332) (b892436)
  • Guild: Backport misc properties and setRolePositions (#3337) (e6a378b)
  • Guild: Default iconURL to gif if animated (#3338) (1bec28b)
  • Guild: Add setRolePositions method(#3317) (8bc8ffe)
  • Add support for premium guilds (#3316) (c877580)

Refactor

  • GuildChannel: Change overwritePermisions to accept an… (#3853) (e4f567c)
  • Add some more consistency (#3842) (1af1e0c)
  • Remove unused error in catch statements (#3820) (0a1b9a5)
  • MessageEmbed: Simplify initialization of files property (#3814) (b347e9e)
  • VoiceChannel: Use Permissions.FLAGS in speakable (#3780) (562b5bf)
  • Remove util alias export (#3691) (53a1f8f)
  • TeamMember: Remove client from constructor (#3409) (ab27dd0)
  • Move Guild#defaultRole to RoleStore#everyone (#3347) (2df4f22)
  • Util.escapeMarkdown: Allow separate escaping and add tests (#3241) (00c4098)
  • TeamMember: Make id a getter (d7b2146)

Styling

  • Change let to const in MessageMentions (#3483) (d280d1b)

Typings

  • Refactor how channel types are done (#3808) (d33fc74)
  • WebhookClient: Client is not a client (#3838) (6109669)
  • WebhookClient: Client is not a Client (#3829) (44ff67d)
  • MessageEmebd: Fix typings for addFields (#3821) (54f24d1)
  • MessageEmbed: Properly mark properties (#3822) (967b533)
  • MessageEmbed: Add interfaces for props, fix copy constructor (#3492) (e57ef25)
  • Invite: Channel can be a PartialGroupDMChannel (#3823) (28490e8)
  • AddGuildMemberOptions: Change accessToken from String to string (#3815) (ecd8ccc)
  • Constants: Add VerificationLevels (#3811) (f6075a6)
  • Guild: Mark afkChannel* & applicationID as nullable (#3805) (f852308)
  • Add invite events to WSEventType and constants (#3782) (6770c7c)
  • GuildMemberManager: Fetch with no parameters returns collection (#3773) (149f72b)
  • Add HTTPOptions#api and export Constants as a value (#3768) (fe7df70)
  • Constants: Add CUSTOM_STATUS to ActivityTypes (a12e1e8)
  • TextChannel: Topic can be null (#3687) (17237c7)
  • RichPresenceAssets: *ImageURL's options are optional (#3727) (877577b)
  • GuildEmoji: Id isn't nullable (#3694) (69c79a4)
  • VoiceBroadcast: Add subscribers property (#3677) (45cd58b)
  • Fixed build error (#3689) (62afafd)
  • BaseClient: Remove delay parameter from setImmediate (#3667) (a53d865)
  • GuildEmoji: Make url not-nullable (#3656) (155b682)
  • ShardingManager: Add options.shardList (#3657) (c734979)
  • Bitfield: Add hasParams to toArray, fix serialize's type (#3579) (fc27ce1)
  • TextChannel.topic & NewsChannel.topic should be nullable (#3628) (e13b3f5)
  • Extendable: Add missing channels (#3581) (7d74e7e)
  • Bitfield: Use IterableIterator instead of Iterator (#3599) (f56b442)
  • GuildAuditLogsFetchOptions: Specify concrete type of 'type' property (#3586) (cbde819)
  • Util: Use StringResolvable (fixes old pull) (#3556) (99466a9)
  • GuildEmoji: Restore deletable, remove inherited property deleted (#3543) (16db92e)
  • Emoji: Remove deletable, add deleted, mark nullable props (#3542) (ca1bd61)
  • Optional reason for setNSFW and add deleted properties (#3505) (a8e3657)
  • Mark GuildMember#nickname as nullable (#3517) (94ce19d)
  • Mark GuildMember#nickname as nullable (#3516) (3458693)
  • Add missing rateLimitPerUser property (#3480) (7485550)
  • Make TypeScript interaction with channels better (#3469) (d05334f)
  • GuildChannel: Add members getter (#3467) (4072ffb)
  • Client: Remove 'resume', add 'replayed' parameter to 'shardResumed' (#3455) (9e6a73d)
  • DataStore: Correct return types for resolve, resolveID and remove (#3448) (745a0ea)
  • Switch overloads of RoleStore#fetch (#3397) (7fae6e5)
  • Guild: Add typings for setRolePositions (8e18572)
  • GuildChannelStore: Add CategoryChannel as possible return value (#3326) (e87e4a6)

11.5.1 - (2019-05-29)

Bug Fixes

  • Decode voice ws data as json (8652e47)
  • StreamOptions#volume typings (#3303) (d34b624)
  • Delete VoiceStates even for uncached members (db56e0c)
  • Message#pinnable: You can't pin system messages (#3279) (8c213e9)
  • Message#pinnable: You can't pin system messages (#3279) (abebeac)
  • GuildMember: Do not create a channel key when editing (06b72ee)
  • GuildMember: Do not create a channel key when editing (3ad16fa)
  • typings: Guild#member can return null (#3274) (97de79b)
  • READY: Do not overwrite Client#user when reidentifying (1bafa4b)
  • WebSocketManager: Rethrow unknown errors when connecting a WebSocketShard (16fcfa3)

Deprecation

  • Explicitly mark everything deprecated as @ deprecated (#3307) (db492e6)

Documentation

  • StreamDispatcher: Specify pausedTime is in milliseconds (#3295) (34006cb)
  • ChannelCreationOverwrites: Revert incorrect rename of "id" property (#3273) (e3d03ad)
  • TextChanne: Specify unit of rateLimitPerUser (#3272) (363cec3)
  • TextChanne: Specify unit of rateLimitPerUser (#3272) (55447fd)
  • Guild: Fix typo in example of createChannel (c844a7b)

Features

  • Throw custom error for uncached Guild#me (#3271) (3f1232e)

Typings

  • VoiceState: Add connection getter (#3292) (9ca36b8)
  • Guild: Remove voiceConnection, add voice, cleanup rest (97f3b6c)
  • Collection: Use T in accumulator and initialValue when reducing (#3284) (b3060ea)

11.5.0 - (2019-05-11)

Bug Fixes

  • Partials: Client#event:messageUpdate(oldMessage) and MessageReactionAdd on guild channels (#3250) (0dd3ed7)
  • Client: Type status and do not throw an error if accessed before login (67da457)
  • WebSocketConnection: Stringify data when no websocket is available (60013b7)
  • ClientUser: Lint (aa253d9)
  • Typing map being reset for ClientUser (#3216) (4e0cf87)
  • Not checking for guild when creating a channel (e0cfb7f)
  • Channels being removed from guild.channels (4d7fc03)
  • MessageCreateAction: Remove redundant GuildMemberStore#add call (39115c8)
  • Guild: Only update emojis when they are present in the payload (6a07715)
  • typings: Collection#find & findKey can return undefined (#3228) (3f6d08a)
  • Old objects not being cached (#3225) (23e6414)
  • Structures: Allow multiple extensions by checking prototype chain (#3217) (52b4f09)
  • Emit resume event, silent disconnects, error event param (#3192) (1514df0)
  • PresenceUpdateAction: Emit presences again (#3214) (cde955c)
  • typings: Remove duplicated Guild#defaultRole (#3211) (39fd8fd)
  • Guild: Sort roles with the same position in the correct order (#3184) (923c945)
  • ApiRequest: Filter out null query values (00eb7e3)
  • ShardingManager: Do not spawn the last shard early (bfab203)
  • Remove GuildChannel fallback, and remove GuildChannel as extendable (#3165) (bb92289)
  • Internal Sharding, this time fixed™ (#3140) (3f5161e)
  • MessageReactionRemove not emitting for partial messages (#3125) (2341d13)
  • APIMessage: Edit shouldn't remove content (#3129) (1673b6f)
  • Role: Proper undefined check for data.permission when editing (579283d)
  • Emoji: Reject explicit error when MANAGE_EMOJI permissions are missing (#3063) (45a17e7)
  • Util: SplitMessage throws an error if a chunk is too large (#3060) (1618829)
  • GuildMember: Add explicit channel resolve error to member edit (#3059) (a0ff72b)
  • Sharding issues, silent disconnects and code cleanup (#2976) (793341d)
  • Ensure VIEW_CHANNEL permissions before trying to join (#3046) (7324a99)
  • WebSocketShard: Report correct resumed event count (#3019) (f2ed93c)
  • Guild: Ignore voice states referencing an invalid channel (73aaab5)
  • ShardClientUtil#id: Erroneously reporting as an array (8230255)
  • TextBasedChannel: Added missing lastMessage functionality in textchannels (#2999) (7186c91)
  • WebSocketShard: Add websocket send error handling (#2981) (5cbdf38)
  • GuildBanRemove event name (#2983) (b5d5c69)
  • Util: Throw an explicit error if a chunk exceeds the max length (#2936) (ecaec29)
  • GuildChannel: Add explicit channel resolve error to member edit (#2958) (23a16c3)
  • Sharding Issues & Cleanup (#2952) (9085138)
  • ShardClientUtil#count and ShardClientUtil#id typedef (#2956) (e793338)
  • (GuilChannel): clone method not taking overwrites into account (#2932) (980d71f)
  • Client#userUpdate receiving wrong packet (08002d0)
  • Client#raw emitting twice (7796cb5)
  • Client#shards not being set properly (be0d1cd)
  • VoiceConnection: Compare new speaking to old to avoid TypeError (01476de)
  • VoiceConnection: Use Speaking#has to fire _stoppedSpeaking (#2896) (2ba0003)
  • Client#voiceStateUpdate: NewState is guaranteed (1607612)
  • Emit voiceStateUpdate on guildMemberRemove (#2892) (183ba25)
  • Revert #2768 (#2848) (950abd4)
  • Shard: Use DISCORD_TOKEN instead of CLIENT_TOKEN, see #2843 (73b9b0e)
  • ClientPresence: Use possibly extended constructor from structures (6b810b2)
  • typings: Fix compilation with 'strict' enabled (#2845) (21999fa)
  • Webhook: APIMessage require should be a const (0ab69c5)
  • Webhook: APIMessage is not circular, fixes WebhookClients (c0a9b08)
  • Webhook#send not resolving content (53420fa)
  • typings: Remove UserConnection, fix various constructors (1d77d1a)
  • HTTPError: The path property should actually be the path (ead99a5)
  • typings: Move static properties above methods (b1ce602)
  • Emit ReactionCollector#remove when reaction is removed by collected user (#2803) (038b142)
  • Guild#deleteEmoji: Reject non emojis / emoji IDs (#2793) (cd58599)
  • Better global ratelimit management (#2801) (989c365)
  • Reactions ratelimits (#2795) (f326fe6)
  • GuildChannel#lockPermissions: Properties allow and deny always returning undefined (#2800) (1fc84a9)
  • Private_channels always returns an empty array on ready (#2787) (9c2aeb7)
  • Guild#addMember incorrectly resolving userID (93bf430)
  • Voice not throwing errors on bad stream input (#2786) (6f62d7d)
  • ClientApplication: Message#application is a partial ClientApplication (82993fb)
  • webpack: Properly minifying (02f98cd)
  • webpack: Properly emitting process deprecation warnings (7684ad3)
  • Actually fix Readonly typos (928fb30)
  • Typo in Activity#flags (c59d329)
  • Disable getter-return (5523233)
  • Pin & update deps (d3e7dbc)
  • WebhookClient should handle ratelimits properly (4ee3cf0)
  • RequestHandler: DiscordAPIError#path should be the path, not the route (d91deef)
  • Pin peer-deps to the latest version we allow (ab0ede0)
  • Pin dev-deps to a higher version to avoid problems with upath on node 10 (8afc1fa)
  • GuildBanAddHandler: Not emitting guildBanAdd for uncached users (#2763) (e935611)
  • Handle async stacks correctly (#2744) (3f81b61)
  • Permissions: Permissions itself is a valid PermissionResolvable (5d889be)
  • GuildAuditLogs: Default target to object with target_id (#2742) (700201e)
  • Message: Properly check for an edited_timestamp in patch (616e0dd)
  • Fix GuildMember#presence getter and cleanup (#2751) (6506252)
  • Client: Do not redefine _timeouts and _intervals of BaseClient (#2748) (7525474)
  • Util#cleanContent parsing of GuildMember (bb0700a)
  • StreamDispatcher doesn't emit finish if ended while paused (#2648) (bfde1dd)
  • Message passing empty data to GuildMember#_patch (edf9c44)
  • GuildMemberStore now works with custom structures again (d276850)
  • GuildMemberStore now patches existing members (#1870) (332e30d)

Documentation

  • (Client): disambiguate the description of channels collection (#3251) (8915bc1)
  • faq: Bump to node 10.0.0 (#3224) (f7f4607)
  • Update node version requirement, npm install links, add update guide (#3220) (d177877)
  • Collector: Specify the unit for CollectionOptions#time (#3219) (bccbb55)
  • WebSocketShard: Mark non-nullable parameters as non-nullable (#3209) (eb537b6)
  • Presence: Add ClientPresenceStatus typedef (#3208) (d9a053d)
  • Collection: Fix findKey jsdoc (#3204) (3cd224d)
  • faq: Add a link to the guide, restructure a bit (#3082) (2af101e)
  • Document constructors of extendible structures (#3160) (ca43919)
  • Presence: Add missing descriptions to clientStatus (#3127) (5d10585)
  • GuildEmoji: Add @ name to requiresColons and managed properties (97c196c)
  • GuildChannel: Fix setPosition's reason type (#3199) (62cba2e)
  • Role: Fix setPosition's reason type (#3198) (266ac1c)
  • Mark getters as @ readonly (e62833b)
  • RateLimitInfo#limit instead of requestLimit (#3132) (be2f788)
  • Guild: Update createChannel examples to not use deprecated overload (32ad56a)
  • MessageEmbed: Add missing type value (#3106) (4d3f766)
  • GuildMember: Add missing @name to document user property (4289b18)
  • Structures: Note about extending prior to instantiating client (#2884) (db3ae01)
  • Examples: Fix usage of removed overload of Collection#find (#3027) (3dff505)
  • Client: Add missing example tag and closing parenthesis (#3024) (3b7b282)
  • Client: Add missing parenthesis in fetchInvite example (#3023) (5ed2a95)
  • Guild: Use 'updated' variable in example for setRegion (28db527)
  • Guild: Use AuditLogAction for fetchAuditLogs' type option (46fd7b0)
  • Webhook: Add mising '@name' to Webhook#token's docstring (89a9b93)
  • Webhook: Add mising '@name' to Webhook#token's docstring (840d22f)
  • (TextChannel): add documentation for messages and lastMessage (#2986) (2aa8e1d)
  • Move event docstrings to the emitting line of code (fd21bbb)
  • Add documentation for Client#channelCreate (#2967) (1d1b3f2)
  • GuildChannel: Fix doc string for clone method (377ecd7)
  • GuildChannel: Add rateLimitPerUser to ChannelData typdef (6aa7792)
  • Restore Client#error docs that went missing (3418b5a)
  • Add missing docstring for Client#guildDelete (b59c75e)
  • Add missing docstring for Client#userUpdate (#2930) (905f1c3)
  • ClientUser: Fix example for setActivity method (#2880) (fd25d19)
  • Collection: Clarify example for tap method (#2881) (78c4be5)
  • Game: Document possible values for type property (b92f8d9)
  • Integration: Document Integration class (1428967)
  • Fix typos (#2868) (d8c97be)
  • Correct default value for SplitOptions.maxLength in Util#splitMessage (#2847) (3298ea1)
  • MessageAttachment: Redocument name property (3f44320)
  • Client: Fix syntax error in fetchInvite example (d2da771)
  • User: Clarify what User#tag represents (9de3e09)
  • ChannelPinsUpdate: Clarify time param (#2823) (9c2924a)
  • GuildChannel: Permissionsfor returns a nullable readonly Permissions instance (6b9dd13)
  • Add docstring to HTTPError (f75b80d)
  • Correct Guild#memberCount (#2812) (da2d4d7)
  • Added url to Invite's warning comment (#2804) (b83fdbf)
  • Emoji: Fix typo of the word "emoji" (#2791) (469fbe2)
  • User: Fix hydrabolt's tag (#2747) (0ad7c24)

Features

  • GuildMember: Add support for voice kicking (#3246) (ee42bdf)
  • Actions: Use partials for messageDeleteBulk (#3240) (176fc47)
  • VoiceState: Self mute/deaf methods (#3243) (692494d)
  • VoiceConnection: Add .voice (ce1e3d2)
  • MessageStore: Add remove() (#2468) (2666a9d)
  • Public raw events (#3159) (9b0f4b2)
  • VoiceChannel: Add editable (#3173) (870528e)
  • Partials.GuildMember: GuildMemberRemove & Guild#me (#3229) (23191da)
  • Invite: Add deletable getter (#3203) (c4b7957)
  • Sharding: Change waitForReady to spawnTimeout (#3080) (01c708b)
  • Util: Resolve text parameter of splitMessage to a string (#3212) (abd9d36)
  • MessageEmbed: Resolve color in embed constructor (#2912) (52bc5b0)
  • Util: Add YELLOW to ColorResolvable (#3182) (520810d)
  • Webhook: Add url getter (#3178) (c078682)
  • Guild: Add fetchBan and withReasons to fetchBans (#3170) (5cd6d8d)
  • MessageStore: Add cache parameter to fetchPinned() (#3154) (9b2bf03)
  • MessageEmbed: Add missing proxyURL property to video (#3109) (7006f00)
  • RichEmbed: Add timestamp support for setTimestamp (#3061) (49e8bd9)
  • Guild: Add position to createChannel's implementation (#3058) (7bc2e23)
  • RichEmbed: Add length getter (#3057) (890b1be)
  • Presence: Add clientStatus (#3056) (a2a0c05)
  • Util: Add WHITE as color resolvable (#3062) (5272cec)
  • RoleStore, ChannelStore: fetch() method (#3071) (c432591)
  • Constants: Add error code 50020 (#2953) (359ddaf)
  • Presence#clientStatus (#2997) (75e264d)
  • MessageEmbed#length (#3003) (1db7899)
  • GuildChannelStore: Add support for create to accept a position (#2965) (21ec031)
  • GuildChannelStore: Add support for create to accept a position (a8b47a7)
  • GuildChannel: Allow to set all options when cloning (#2937) (d92ee2f)
  • Constants: Add error code 50020 (#2953) (54aff31)
  • Internal sharding (#2902) (f3cad81)
  • Emoji: Move createdAt and createdTimestamp getters from GuildEmoji (#2872) (71c04a3)
  • ClientUser: Allow options as first parameter to setActivity (#2890) (1ee417c)
  • GuildChannelStore: Support for create with rateLimitPerUser (#2878) (8ec3b51)
  • MessageEmbed: Add spliceField method (#2857) (8feb874)
  • MessageEmbed: Allow setTimestamp to take a timestamp (#2875) (1fe3608)
  • TextChannel: RateLimitPerUser (#2811) (d4c0bb2)
  • TextBasedChannel: Add lastPinTimestamp and lastPinAt (#2813) (e96a603)
  • Add ClientOptions#retryLimit (#2805) (be4d6f9)
  • Guild Integrations (#2760) (c4df027)
  • GuildEmbed support (#2766) (5787dee)
  • Handle and forward WEBHOOKS_UPDATE events (#2762) (0401b8a)
  • Add guild.fetchVanityCode() (#2732) (f8057b0)

Refactor

  • ClientVoiceManager: Make public, remove Client#voiceConnections (#3186) (70d4b44)
  • WebSocket: Utilize URLSearchParams (#3185) (152d2e8)
  • APIRequest: Utilize URLSearchParams (#3180) (5e9bd78)
  • User: Avoid invoking dmChannel getter more than once per method (#3108) (fe5563e)
  • Consistently use permissionOverwrites over overwrites (#2886) (6e5f088)
  • WebhookClient: Make token property non-enumerable (#2861) (96a0655)
  • Comprehensive permissionOverwrites refactor (#2818) (3d8207a)
  • Remove duplicate send checks (#2790) (6d18425)
  • Clean up rate limit handling (#2694) (13f46b9)
  • Rewrite message creation (#2774) (19c298f)
  • BitField: Base class for Permissions, ActivityFlags, Speaking (#2765) (c62f01f)
  • Typings for voice state and presences refactor (9b5df57)
  • Merge typings into 11.4-dev branch (efc8445)

Testing

  • Add Webhook(Client) testing file (#2855) (cbb9b14)
  • Add typings lint runner to test script (68c8329)
  • lint: Update typings lint script (3b91fa0)
  • lint: Fix typings lint errors (5fdd3a5)
  • Fix typings lint script (29d51fa)

Typings

  • Presence: Add missing guild property (8b83e2f)
  • GuildChannel: Add manageable getter (12e041b)
  • Collection: Add missing thisArg to partition (#3167) (4b6e8fc)
  • Collection: Add typings for partition (#3166) (831f988)
  • Guild: Add missing defaultRole property (#3126) (1207c24)
  • Convert types to interfaces where applicable (#3068) (bc0a761)
  • SnowflakeUtil: Add optional "timestamp" parameter to generate (#2998) (8b602eb)
  • ShardClientUtil: Fix id property type (#3054) (ae72690)
  • GuildCreateChannelOptions: Added missing properties (#3052) (d98d464)
  • Add missing ImageSize numbers (#3045) (2dcdc79)
  • TextBasedChannel: Fix create(Message)Collector's options type (17ca836)
  • Guild: Fix typos in method names (9d83516)
  • TextBasedChannel: Add Snowflake[] overload to bulkDelete (#3001) (8a76cc5)
  • SnowflakeUtil: Add optional "timestamp" parameter to generate (#2998) (8286d1a)
  • RichEmbed: Add MessageEmbed as valid data in constructor (351f0a3)
  • Add Guild#shard and Guild#shardID (6b886b0)
  • MessageEmbed: Add spliceField and static checkField methods (4491b7b)
  • Collection: Each return Collection<K, V>, not void (27d2ce7)
  • Fix lint script and linter errors (fcf4745)
  • Add HTTPError class definition (#2852) (60ad905)
  • Message: Member property is a readonly getter (2cc0a31)
  • Add declaration of Message#url and MessageAttachment#size (#2821) (b068abb)
  • GuildChannel: PermissionsFor's return value is nullable (75745fe)
  • Clean up permissionResolvable (2e2c9c4)
  • Add WEBHOOKS_UPDATE (bd14d5d)
  • Fix PermissionResolvable typedef, allow resolving of Readonly<BitField> (55c58b6)
  • Guild: Add fetchVanityCode (7546ca3)
  • VoiceState is extendable (e7ee8d2)
  • Remove UserFlags and ClientApplicationCreateAssetsOptions (58ce082)
  • VoiceRegion: Remove no longer existing sampleHostname (c966aa2)
  • VoiceConnection: Receivers is now receiver and no longer an array (6841b4e)
  • Remove user bots (5942e8b)
  • Make PermissionResolvable recursive (f5b3dff)
  • Client: VoiceStateUpdate now always has an old state (9a95b6a)

11.4.1 - (2018-08-12)

Bug Fixes

  • ClientDataManager: Replacing channels unecessarily (d772bff)
  • PresenceStore: Pass user id as extra (#2733) (b7e61f2)
  • Util.basename being unreliable (#2679) (0f63c50)
  • Collection: Use Symbol.species for creating derived collections (#2715) (ce8a679)
  • RichEmbed#_apiTransform fields (7126cad)

Documentation

  • Update for 11.4.0 (#2727) (8b1bb95)
  • Client: Actually fix rateLimit's event params (8adfc97)
  • Fix client#rateLimit parameters (0e370d7)

11.4.0 - (2018-08-09)

Bug Fixes

  • Collection: Use new this.constructor instead of new Collection (#2709) (c10b4fe)
  • Wrong _patch call from GuildEmoji#edit and other issues (#2673) (4ae58f6)
  • Shards not receiving regular messages (88616ea)
  • Emoji#fetchAuthor: Reject with Error rather than TypeError (4a9c2f8)
  • GuildEmoji: Added a check for managed emojis in fetchAuthor (#2645) (f963621)
  • MessageReaction: Only delete reaction if cache and count is empty (#2661) (3a7a7d7)
  • Invite: Support for group dm invites (#2603) (3680661)
  • GuildAuditLogs: Default to PartialGuildChannel if channel deleted (#2605) (886c212)
  • ShardingManager: RespawnAll shard iteration (f67d682)
  • Message: Keep reply option when replying with an embed or attachment (1d9edec)
  • Message: Keep reply option when using an embed or attachment (5268320)
  • Webhook: Import Channel correctly (077d41f)
  • Shard: Actually remove default execArgv (938d87d)
  • Client: Login catch (a667e44)
  • Client: Login not properly rejecting on invalid token (448f384)
  • TextBasedChannel: BulkDelete should not return non-Promise (72346fb)
  • RequestHandler: Provide proper route and method (2694c0d)
  • Shard: Allow node to default to process.execArgv (93f8c85)
  • Instantiate constructors before using those properties (92e2c3c)
  • Util: Circular reference (41a1dee)
  • Typo in src/errors/messages.js (#2631) (f711aa3)
  • Shard: Fix default args (6b3bfdd)
  • Ratelimits (#2615) (58e5017)
  • BasePlayer: Incorrectly mutating FFMPEG_ARGUMENTS when using seek (#2622) (bf738b3)
  • Do not cache webhook users (#2611) (8a3ae87)
  • ShardClientUtil: Send method erroneously rejecting (#2604) (c5fea45)
  • ShardClientUtil: Send method's promise erroneously rejecting (#2604) (493ba73)
  • Messages: Undeleting themselves (#2570) (037e8cf)
  • GuildMember: Mark joined as nullable (ecf6e2b)
  • GuildMember: Account for joinedTimestamp as well (5071477)
  • GuildMember: Mark joined as nullable and fix fetching for these cases (13bfceb)
  • VoiceChannel: Deletable erroneously returning true (0387d34)
  • VoiceChannel: Deletable erroneously returning true (0be0d25)
  • GuildMember: Invalid Date (46b19bb)
  • Guild: Equals method modifying features array of guild (#2544) (d02c303)
  • RequestHandler: Only retry once on 5xx (#2471) (14aab1b)
  • ClientUser: Correctly resolve nicks to an object in createGroupDM (f23b617)
  • docs: Remove duplicated Collection#findAll docstring (f921261)
  • Burst request mode hanging permanently (3790619)
  • Guild: MemberCount not decrementing when an uncached member leaves (15a8e17)
  • ClientDataResolver: Always resolve with a buffer when fetching a file (ae28f52)
  • Role: Allow role color to be removed (2f2e281)
  • Collector: Increase and decrease max listeners dynamically (60288d0)
  • GuildEmoji: Verify MANAGE_EMOJIS permission from Guild#me (6cde6de)
  • Prevent max listener problems with collectors (#2521) (32369f3)
  • RESTMethods: Remove listener from correct event (#2534) (a89de09)
  • Webhook#edit attempting to use client.channels always (f293ddd)
  • ClientUser: SetActivity should resolve with a Presence (a85d801)
  • GuildMember#toJSON not having roles (#2520) (5acf406)
  • Added everyone role to GuildMemberRoleStore#_filtered (#2514) (934e90b)
  • OpusEngineLinst: Throw a descriptive error when not funding an opus engine (33a4232)
  • Util: Reject with a meaningful error instead of throwing one (44fefdf)
  • GuildEmoji#clone (64caa33)
  • GuildMemberRoleStore#remove (30d43ef)
  • TypeError in mixin function (#2506) (95b5317)
  • MessageEmbed: Correct docs, default to array, resolve MessageAttachments (#2492) (e12ab74)
  • Use Object.keys instead of Object.values for node 6 (#2487) (feb0991)
  • RestMethods: Typo timeout -> timed (ff671b2)
  • MessageEmbed: Avoid throwing error when accessing colorless hexColor (b60ee25)
  • Message: Do not update editedTimestamp when there is none in the payload (3ba26ad)
  • RESTMethods: Verify correct member in add and remove role listeners (de78a8d)
  • MessageDeleteBulkAction: Remove bulkDeleted messages from cache (7c37a0d)
  • Client#generateInvite resolving permissions incorrectly (c387e96)
  • Client#generateInvite resolving permissions incorrectly (8d065fa)
  • Role#setPermissions resolving & docs (7c0b617)
  • GuildChannel#setTopic not nullable (92b4216)
  • ClientManager: Patch ClientUser's presence with ClientOption's one (#2458) (61ad947)
  • Webpack building and upgrading to webpack 4.5 (f247484)
  • StreamDispatcher: Only update speaking for non broadcasts (#2437) (e845758)
  • Guild: Remove member's voice state on guildMemberRemove (b955a51)
  • Role: Allow edit method to null the color (#2447) (f985b6b)
  • GuildChannel: Always return a boolean from the manageable getter (e431ccd)
  • GuildEmojiRoleStore: Do not prematurely patch roles (d041cb2)
  • MessageReaction: Do not increment count twice for own user (513dbf2)
  • GuildemojiStore: Allow resolving of external ReactionEmoji (0f7ce3f)
  • Convert lastMessage to getters (#2384) (630009f)
  • DataResolver: Always resolve with buffer when resolving urls (8541348)
  • GuildMemberRoleStore: Make remove role remove roles again (3e6c310)
  • GuildMemberRoleStore: Only update roles after successful request (3f6a0e4)

Documentation

  • Small changes regarding permissions/overwrites (#2718) (bafbee9)
  • Change for GuildChannel#replacePermissionOverwrites (#2714) (af6d649)
  • Implement #2707 on master (5980d04)
  • RichEmbed: Timestamp is actually a Date (c7f379f)
  • ShardingManager: RespawnAll actually resolves with a collection of shards keyed by numbers (4a48a7d)
  • Added sizes 16, 32, 64 (#2666) (c46cbbf)
  • Client: Clarify messageReactionRemove event's user description (#2657) (717e7f0)
  • Client: Clarify messageReactionRemove event's user description (#2657) (a97b504)
  • Improvements in various places (3d82ca9)
  • Guild: MemberCount is not as of ready (#2621) (de408d7)
  • Only cached messages emit reaction events (#2607) (7ce1d16)
  • GuildMember: JoinedAt is nullable (bd3d8d4)
  • Add video to MessageAttachment properties (#2608) (791f58e)
  • Document lastMessageID for TextChannel and (Group)DMChannel (#2602) (e7eab42)
  • Document lastMessageID for TextChannel and (Group)DMChannel (#2602) (507cce3)
  • Last english fix for now (ba9a93b)
  • Fix english because english is difficult (eb4607c)
  • Wording improvements (5eff360)
  • Add examples & improve notices (dfbd4bd)
  • Add examples & improve notices (c699888)
  • Guild: Handle error in example of fetchInvites correctly (#2568) (13880fe)
  • Guild: Handle error in example of fetchInvites correctly (#2568) (27fcb64)
  • Collection: Make findKey method show up in docs (56a9d1b)
  • Using deprecated version of find (6070b22)
  • Permissions (b2d1cb6)
  • RateLimit event (6f02be2)
  • Role: Change 'the this' to this (typo) (#2377) (e5e59cc)
  • ClientUser: Correct warning for createGuild method (9264511)
  • GroupDMChannel: Fix top 'an user' -> 'a user' (54fa5f6)
  • Collection: Fix spelling of 'behavior' (#2529) (b757f9e)
  • Collection: Fix spelling of 'behavior' (#2529) (17d2c2e)
  • Consistency (745669a)
  • (backport) Bring the main doc pages up to date, and add more examples (#2094) (d7e7803)
  • Inconsistencies (b8a9a76)
  • Inconsistencies (ec9211c)
  • GroupDMChannel: Fix grammar an user -> a user (#2482) (2dd7fd2)
  • Fix a number of spelling mistakes (#2469) (8551b89)
  • GuildStore: Correct warning for create method (#2453) (2bf68dc)
  • Fix missing parameter type/description from #2193 (#2396) (acd1740)

Features

  • Add new Permission PRIORITY_SPEAKER (#2698) (b38f537)
  • Message: Add url getter (#2594) (ba32eec)
  • Add support for Guild#setDefaultMessageNotifications (#2624) (95b2dd3)
  • ShardingManager: Add execArgv option (#2585) (bfbb723)
  • Guild: Add support to edit defaultMessageNotifications level (#2592) (270a278)
  • User: Add locale property (#2571) (bce9a8a)
  • Add "deleted" property to multiple structures. (#2556) (f0c4d0e)
  • Shard#kill method (#2454) (fc81924)
  • Collection: Backport partition method (f456f4c)
  • Collection: Add tap method (#2507) (de7d90a)
  • Collection: Add sweep method (#2528) (2b6592e)
  • GuildMember: Add manageable getter (9bb8831)
  • GuildChannel: Add fetchInvites method (9904167)
  • Emoji: Add fetchAuthor method (dd7eedb)
  • Game: Add toString method (c0ca73a)
  • GuildChannel: Add setNSFW method (54913d9)
  • Guild: Add verified getter (#2027) (9169958)
  • ClientDataResolver: Add 2 basic role colors (96b115e)
  • Permissions: Add valueOf method (#2363) (2d83126)
  • Emoji: Add deletable getter (ed8ab91)
  • GuildEmoji: Add deletable getter (#2535) (fca6d3b)
  • ClientDataResolver: Account for discord.gg/invite/ invites (21326f6)
  • Add Collection#sweep() (#2528) (7a3a4d1)
  • Add Collection#tap (#2507) (9f91819)
  • DiscordAPIError: Backport method property (#2536) (8700e96)
  • DataResolver: Account for discord.gg/invite/ invites (ddab809)
  • DiscordAPIError: Add method property (#2530) (62605c4)
  • Allow sweeping of inactive request buckets (b5f3772)
  • SnowflakeUtil: Allow snowflakes to be generated dynamically (d9a091f)
  • GuildChannel: Add manageable getter (#2439) (49ad8cc)
  • Guild: Add mfaLevel property (#2451) (7b9e84d)
  • GuildChannelStore: Add topic to create options (#2488) (c9c2d66)
  • SnowflakeUtil: Allow snowflakes to be generated dynamically (#2459) (f6216f3)
  • Guild: Add mfaLevel property (#2451) (b3ff7c7)
  • GuildChannel: Add manageable getter (#2439) (ef4bd92)

Refactor

  • Move Message#cleanContent function to Util (#2703) (f3d7f7c)
  • Remove user bot methods (#2559) (5afd77a)
  • Webhook: Make token not enumerable (#2566) (e0378cf)
  • MessageMentions: Make client, guild, and _content non enumerable (e8ab049)
  • RESTManager handlers to use collection (#2539) (99bd355)
  • Remove unnecessary Collection methods and add Collection#partition (#2511) (a732402)
  • VolumeInterface: Remove usage of deprecated new Buffer (#2531) (bd9c9ce)
  • Improve sweep performance (bd83bb9)
  • Tidy up _inactive check (27a0f48)
  • Role stores (#2478) (8b83553)

11.3.2 - (2018-03-04)

Bug Fixes

  • ws: Set correct ratelimit remaining after reset or destroy (#1806) (c8f78b2)

Documentation

  • Change 'the this' to this (typo) (#2377) (8b67991)
  • TextChannel Webhooks fix&improvement (0a951cf)

11.3.1 - (2018-03-03)

Bug Fixes

  • RichEmbed timestamp cloning (8f9e911)
  • BulkDelete discarding non-cached messages (363ead9)
  • GuildAuditLogs using Guild#fetchInvites (acdf43a)
  • Export CategoryChannel (f64e924)
  • StreamDispatcher: Remove gratuitous parentheses (f2c5714)
  • Activity: Ensure that timestamps are actually numbers (464fc14)
  • If present, wait for libsodium-wrappers' ready to support v0.7.3 (c6f92c1)
  • StreamDispatcher: Emit volumeChange event when the volume changes (#2349) (c25ea45)
  • ReadyHandler: Don't create new guild instances for already existing guilds (dc92582)
  • StreamDispatcher: Do nothing when resume is called when not paused (05c5bdc)
  • Build with node 8 (2254a3e)
  • Add node 8 to build (da14e33)
  • Webpack minified and bump deps (a7b46be)
  • Properly fix minified builds (5583e70)
  • Dont require snekfetch supplemental because they are not a thing anymore (8e60743)
  • Npm scripts (332558a)
  • VoiceChannel: SetUserLimit defaulting to wrong value (40a2f09)
  • StreamDispatcher: Properly check that timestamp fits in 2^32-1 (#2325) (8ee2788)
  • AudioPlayer: Add opus to destructured key of stream options (96904b1)
  • ClientApplication: CreateAsset incorrectly resolving image and posting (234648b)
  • Add clone methods to GuildMember and GuildMemberRoleStore (32e2dd2)
  • MessageEmbed: Remove length checks (#2304) (9810bdb)
  • resolveColor: Not interpreting DEFAULT correctly (d46eec4)
  • resolveColor: Not interpreting DEFAULT correctly (52c402f)
  • Nullable activity (bd154bd)
  • Webhook#send: Incorrect docs + return (e978253)
  • RoleStore: Create method is supposed to take an options object (048e147)
  • Require discordjserror to throw meaningful errors where necessary (07c48a6)
  • startTyping: Return, to not overwrite already existing entries (8df1ac9)
  • Guild: MemberCount not decrementing when an uncached member leaves (93e083d)
  • client#voiceConnections: Incorrect docs description (#2280) (00e2f39)
  • CategoryChannel: Set the type to 'category' and document its type (b5ff309)
  • GuildMember: Make edit method only modify a copy of the voice state (fbd25f8)
  • WebSocketConnection: Make errors in event handlers throw again (a22b856)
  • guild#createRole: Incorrect guild reference (932980e)
  • Missing height & width in embeds (#2249) (351f5f7)

Documentation

  • Document the messages property for all TextBasedChannels (#2373) (069dccf)
  • Examples & improvements (24571e4)
  • Incorrect returns (96e88f3)
  • Improvements & examples (fcdffcf)
  • Message#type (38f5288)
  • WIP: Bring the main doc pages up to date, and add more examples (#2094) (9f89252)
  • Remove trailing commas (b79722a)
  • Trailing commas (2b24b10)
  • Improvements (af35175)
  • Add links for the guide (#2346) (0ec53c9)
  • Add links for the guide (#2346) (dc6bce1)
  • Add TypeDef for MessageActivity (#2321) (4336317)
  • ClientUser: Mark email field as user account only property (#2306) (31873eb)
  • ClientUser: Mark email field as user account only property (#2306) (1f14758)
  • Doc changes (2e0048a)
  • Fix VoiceBroadcast documentation (#2277) (8a2ace4)
  • Fix streamdispatcher documentation (#2275) (edc4e2b)
  • Fix attachFiles() docs (#2267) (19591b0)
  • Collection > RoleStore (#2251) (a3be0f3)

Features

  • Allow multiple permission overwrites when editing channel (#2370) (b637c9c)
  • GuildChannel: Add fetchInvites method (#2339) (47bc0fc)
  • ShardClientUtil#broadcastEval: Allow promise resolve (#2328) (66c0512)
  • ClientOptions: Add support for setting an initial presence (#2320) (87e5a45)
  • Add GuildEmoji#fetchAuthor (#2315) (e0cbf0b)

Performance

  • Collection: Performance improvements (#2342) (b7851ba)
  • Collection: Performance improvements (#2342) (a817295)

Refactor

  • Move member role-related functions to a special store (#2242) (00172e6)
  • GuildMember#manageable: Refactored kickable and bannable (#2211) (36555c1)
  • Tidier overflow checking in StreamDispatcher (83640a2)

11.3.0 - (2018-01-13)

Bug Fixes

  • Message#addReaction: Incorrect regex (#2247) (f62fa05)
  • Stream dispatcher throwing key error due to missing secretKey (8cab673)
  • avatarURL: Gifs not being animated (#2195) (d94ead7)
  • voiceStateUpdate: Incorrect members.size (#2231) (8226752)
  • Allow the Util#parseEmoji regex to match emoji identifier (#2229) (2318812)
  • verson: Update package.json (#2196) (b6c89ef)
  • Guild#createChannel: Default type to 'text' (#2184) (4063a3a)
  • bulkDelete: Stop rejections when filterOld=true (#2178) (6683c40)
  • Guild#createChannel: Default to text (#2168) (9f0417c)
  • CreateMessage: Reassigning wrong content (#2169) (1598efa)
  • CreateMessage: Fix attachment and array sending (#2158) (443961c)
  • UserGuildSettingsUpdate: Not creating settings with new guilds (#2150) (1c34819)
  • VoiceChannel#edit: Incorrect bitrate (#2144) (d705a0c)
  • guild#createChannel: New channel returning null (#2143) (fb6d14d)
  • GuildAuditLogs: Backport (#2123) (e40c3f8)
  • DMChannel: Messages not being cached (#2122) (22da595)
  • GuildMember: Permissions.missing is not a function (#2118) (b274dba)
  • Shard: Extend EventEmitter to be able to emit events (#2112) (6fa4fc5)
  • Split/Webhook: Readd message chunk sending and fix webhook avatar/username (#2085) (05a41b5)
  • Guild: Correctly resolve user in Guild#addMember (#2090) (21d09f3)
  • TextBasedChannel: Return a promise in startTyping and clarify count parameter (#2047) (94a4a06)
  • Presence: Pass client and default to offline (#2071) (a62d1e9)
  • GuildMember#hasPermission: Pass correct parameters to Permissions#has (#2070) (cd3d334)
  • Client: Login wasnt using env.token (#2060) (0277d1d)
  • MessageBulkDeleteAction: Remove deleted messages from cache (#2046) (356778b)
  • GuildDelete: Disconnect voice and cleanup GuildChannels (#2026) (fa3eee8)
  • GuildAuditLogs: Incorrect webhook reference (#2004) (8fbae13)
  • setPosition: RawPosition never getting updated when setPosition was called (#2006) (f178f9b)
  • Role: SetPosition typo (#2003) (b462a7b)
  • SetPosition taking wrong IDs and edit with position 0 breaking (#1989) (743668a)
  • createChannel: Add support for more properties and fix overwrites optionals (#1983) (cc8060c)
  • MessageEmbed: Don't send 'files' as part of the embed (#1982) (1537dd7)
  • ClientManager: Reject login with proper error on timeout or on connection failure (#1947) (3ace61a)
  • Reactions: Make MessageRection#id again null for default emojis (#1940) (25ece18)
  • EmojiStore: Return super.create in the create method (#1932) (cc0b65d)
  • DataStore: Make resolveID work properly (#1927) (fc1e78e)
  • MessageEmbed: Deep copy fields and fix files when passed into constructor (#1864) (63f6247)
  • Guild: Fix setChannelPositions method (#1900) (41c4999)
  • Errors: Throw DiscordjsErrors where one would expect them (#1905) (e34bd7c)
  • WebhookClient: Use applyToClass instead of multiple inheritance (#1896) (694f78c)
  • Voice websocket sending (2305311)
  • Minified webpack builds (9e66e80)
  • Client: Apply shardId and shardCount to the correct options object (#1888) (bb4fe25)
  • MessageStore: Fix fetchPinned method and add notice. (#1881) (ea1949a)

Documentation

  • Fix guildChannel#toString() example (#2203) (e883afa)
  • Improve examples (#2200) (c798230)
  • Improve examples (master branch) (#2209) (45127bb)
  • setParent: Docs update and nullable channel param (#2160) (4f8f208)
  • Remove leftover docstring from 11.2 (#2115) (efd1c4c)
  • Fixed some missing docstrings or incorrect return types (#2093) (0cd4a92)
  • Add Guild#features type (#2105) (2d8e26c)
  • Add/normalize .toString() docs on all classes (#2042) (1a8e8c7)
  • Change repo for erlpack (#1992) (fc43736)
  • Small doc improvement for PermissionOverwrites (#1964) (26c978c)
  • Fix some small typos or "missing" docs (#1943) (eb591da)
  • Improve documentation (#1898) (0607720)
  • Collection first, firstKey, last, lastKey (a8df63a)

Features

  • Backport animated emojis support (#2217) (659e89e)
  • Backport after and before parameter when fetching a reaction's users (#2218) (db5bdcd)
  • ClientUser: Deprecate ClientUser#setGame in favour of ClientUser#setActivity (#2127) (cd06684)
  • CategoryChannel: Backport (#2117) (cce2480)
  • Webhook: Allow to edit the channel of webhooks (#2039) (d8850db)
  • MessageReaction: Add after option when fetching users who reacted with an emoji (#1882) (f40a5e9)

Refactor

  • More oop with stores (#2216) (9eac19d)
  • Actions: Remove obsolete user and guild member get actions (#2061) (cd08a3b)
  • Remove redundant Client#rest and obsolete RESTManager#destroy (#2022) (68a3058)
  • Make use of destructuring for Constants (#1942) (ec4c987)
  • Attachment: Merge MessageAttachment with Attachment (#1894) (d6b276b)

11.2.0 - (2017-09-03)

Bug Fixes

  • Made options.type optional in ClientUser#setActivity (#1875) (39013b1)
  • Guild: Passing the constructor partial data from an invite no longer errors (#1868) (1bdaa62)

Documentation

  • Collection: Adjust exists documentation (#1876) (efbde07)

Features

  • Add DiscordAPIError#path and fixed Burst request handler handling api errors (#1867) (95e22c2)

Refactor

  • DataStores: Move instantiating of store related classes into their date stores (#1869) (c4b5736)
  • Emoji: Remove Guild#deleteEmoji in favour of Emoji#delete (#1877) (c93c4ad)

13.16.0 - (2023-05-06)

Bug Fixes

  • Constants: Ordering and missing information (#9500) (53d3477)
  • Miscellaneous fixes (#9445) (21dfac9)

Features

  • Update Discord developer documentation links and add new flags (#9473) (d867936)
  • Voice messages (#9444) (3386bab)
  • Add ACTIVE_DEVELOPER user flag (#9428) (420f379)
  • roleTagData: V13 add guildConnections (#9391) (7116151)
  • V13 VIEW_CREATOR_MONETIZATION_ANALYTICS and USE_SOUNDBOARD permissions (#9124) (28a5c7b)
  • StageChannel: V13 support messages (#9145) (7cf9224)
  • AutoModeration: V13 support customMessage (#9173) (add14ac)

13.15.1 - (2023-04-07)

Bug Fixes

  • Message: Fix permissions check in locked threads (#9338) (a8d5325)
  • ClientUser: Fix modifying self (#9318) (09ca243)
  • Typo in src/util/MessageFlags.js (#9312) (8f12054)
  • AutocompleteInteraction: Fix responding (#9315) (f79a9b5)

13.15.0 - (2023-04-02)

Bug Fixes

  • ThreadChannel: Fetch starter message properly (#9217) (af6a0e5)
  • Actions: Inject built data by using a symbol (#9204) (df68520)

Features

  • Backport chatInputApplicationCommandMention (#9245) (51c3bf1)
  • Add support for gif stickers (v13) (#9158) (4bc25c4)
  • V13 support SUPPRESS_NOTIFICATIONS flag (#9184) (120270e)

13.13.1 - (2023-02-21)

Bug Fixes

  • Constants: Enum creation error (#9155) (224f21c)

13.13.0 - (2023-02-21)

Bug Fixes

  • Minor forums cleanup (#9033) (eed293f)
  • InteractionResponses: Spell messages correctly (#9080) (123d0f1)
  • ThreadChannel: reason as second parameter (#9023) (a941cb6)
  • Import errors correctly (#9030) (6457519)
  • websocketshard: Backport zombie connection fix (#9003) (56e6718)
  • Util: Flatten ignoring certain fields (v13) (#8936) (4ec3355)
  • Backport allow deletion of ephemeral messages to v13 (#8811) (98846cf)
  • Activity: Fix equals() not checking for differing emoji (v13) (#8842) (eecc50b)
  • escapeMarkdown: Fix double escaping (v13) (#8799) (caf6f66)
  • Fixed TS 4.8 compatibility (#8601) (e6ee7d8)

Documentation

  • ThreadEditOptions: Move info tag back to invitable (#9021) (cf3c7a7)
  • Add missing @extends (#9028) (1779e1b)
  • Update UserContextMenu documentation v13 (#8721) (ea117bf)
  • Update misleading Client#guildMemberAvailable event description (v13) (#8627) (fcd52d7)

Features

  • GuildMemberManager: Add addRole and removeRole methods (#9108) (fd494a3)
  • WebSocketShard: V13 add resume url (#9078) (0188e36)
  • V13 guildAuditLogEntryCreate event (#9092) (84d34dc)
  • Constants: Add auto moderation events to WSEvents (#9102) (61fa6f4)
  • Role subscriptions (#9040) (0afa405)
  • GuildChannelManager: Add addFollower (#9050) (86329ad)
  • Guild: Add INVITES_DISABLED feature support (#9051) (69d71e9)
  • ClientApplication: Add role connections (#9072) (a7dc40f)
  • Webhook: Add channel getter (#9074) (32cdaff)
  • GuildMember: Add flags (#9098) (d69529e)
  • applicationCommandPermissionsUpdate event (#9121) (c2968b5)
  • Backport automod (#8886) (4287983)
  • GuildAuditLogs: Support after (#9012) (f0d4264)
  • Backport guild forum support to v13 (#8651) (546ac43)
  • Add Message#bulkDeletable (v13) (#8761) (ca662b4)
  • InteractionResponses: Add message parameter (v13) (#8838) (0e0851a)
  • Util: Backport escapeMarkdown PRs to v13 (#8703) (8a6588a)
  • GuildBanManager: Add deleteMessageSeconds (#8575) (ca68fc3)

Refactor

  • Move me and add fetchMe() (#9029) (b01c81d)

Typings

  • ThreadEditOptions: Add appliedTags (#9022) (6854df4)
  • widget: Add missing name (#9031) (35f6dad)
  • Swap message reaction and emoji identifier types (#8970) (6490580)
  • GuildChannelManager: Correct fetch return type (v13) (#8551) (f4e8133)

13.10.3 - (2022-08-22)

Documentation

  • Fix broken discord support link (#8485) (11d6949)

Typings

  • Disallow some channel types from webhook creation (#8535) (10b12cc)
  • ModalMessageModalSubmitInteraction: ChannelId is not nullable (v13) (#8505) (526ea74)

13.10.2 - (2022-08-10)

Typings

  • Message: Correct bulkDelete return type (v13) (#8469) (03c59e3)

13.10.1 - (2022-08-10)

Bug Fixes

  • ThreadChannel: Handle possibly null parent (v13) (#8467) (2a46d9f)

13.10.0 - (2022-08-10)

Features

  • Guild: Add max_video_channel_users (v13) (#8424) (ae43bca)

13.9.2 - (2022-07-29)

Bug Fixes

  • MessageMentions: ignoreRepliedUser option in has() (v13) (#8365) (d0a4199)
  • GuildChannelManager: Allow unsetting rtcRegion (v13) (#8362) (9612507)
  • ThreadChannel: Omit webhook fetching (v13) (#8352) (4f7c1e3)

13.9.1 - (2022-07-23)

Bug Fixes

  • ApplicationCommandManager: Allow passing 0n to defaultMemberPermissions (v13) (#8312) (4cf0555)

Refactor

  • embed: Deprecate addField (#8318) (be35db2)
  • Presence: Remove redundant date parsing (v13) (#8341) (e95caa7)

13.9.0 - (2022-07-17)

Bug Fixes

  • PermissionOverwriteManager: Mutates user (#8282) (4d86cf4)
  • GuildChannelManager: Access resolveId correctly (v13) (#8297) (beb3d8e)
  • GuildChannelManager: Edit lockPermissions (#8267) (8fe166d)
  • applicationcommandmanager: Explicitly allow passing builders to methods (v13) (#8229) (f457cdd)
  • Pass in the expected query object type for application commands (#8189) (f704b26)
  • Use non-global flag whilst resolving regular expressions (#8178) (4063b90)
  • GuildStickerManager.fetchUser: Changed guildId to guild.id (#8176) (0e0f784)
  • guildmemberremove: Remove member's presence for v13 (#8182) (e8d72c7)
  • WebSocketShard: Backport error handler preservation on connections (#8164) (c198e89)

Documentation

  • Add new HTTP Error Codes 50068 (v13) (#8273) (00a7057)
  • Add MessageActivityType (v13) (#8257) (9cc336c)
  • MessageInteraction: Update commandName description (v13) (#8220) (feb8e30)
  • constants: Document missing constants (#8168) (4ae08ad)

Features

  • ApplicationCommand: Add min_length and max_length for string option (v13) (#8217) (a93f4b1)
  • interaction: Add appPermissions (v13) (#8195) (222fc9c)
  • Partially backport perms v2 for v13 (#8162) (125696f)

Typings

  • GuildMemberManager: Non-void return of edit() (v13) (#8187) (631abee)
  • Add missing shard types (v13) (#8192) (079973f)

13.8.1 - (2022-06-23)

Bug Fixes

  • VoiceChannel: NSFW property (v13) (#8161) (c61fc80)
  • ModalSubmitInteraction: Add isFromMessage() missing method (#8092) (0ab2227)
  • Destroy options during cleanup (#8082) (afb18b9)
  • AuditLog: Default changes to empty array (#8076) (3095f35)

Documentation

  • TextBasedChannel-> TextBasedChannels typos (v13) (#8155) (65444f5)

Refactor

  • Deprecate $ prefix from ws.properties keys (#8095) (3638b40)

Typings

  • Shard#reconnecting: Backport to v13 - Fix event name (#8126) (70450f6)
  • AutocompleteOption: Backport fix and improve types (#8078) (613fd43)
  • GuildChannel: Fix type of .isText() method (#8061) (0d0190a)

13.8.0 - (2022-06-05)

Bug Fixes

  • guildchannelmanager: Wrong parameter in _sortedChannels call (#8011) (876816a)
  • websocketshard: Deal with zombie connection caused by 4009 (#7581) (114bcc0)
  • Video quality mode data property (#7946) (76df9fd)
  • ApplicationCommandOptionType: Add attachment to jsdoc (#7952) (a51420f)

Features

  • Backport text-in-voice support to v13 (#7999) (ddfe15b)

13.7.0 - (2022-05-13)

Bug Fixes

  • MessageEmbed: Fix a typo (#7906) (ea28638)
  • GuildEditData: Some fields can be null for v13 (#7633) (816936e)
  • Apply v14 fix (#7756) (ab6c2ba)
  • GuildChannelManager: delete method accessing wrong id (#7771) (c9e4562)
  • GuildScheduledEvent: Handle missing image for v13 (#7627) (dfea9c2)
  • messagementions: Fix has method for v13 (#7591) (7a52785)
  • Check if member has admininistrator on moderatable (v13) (#7578) (13dd82d)
  • ThreadChannel: Require sendable for unarchivable (#7555) (49397c0)
  • Backport MessageReaction#me being incorrectly false (#7553) (5f621c1)
  • typings: SweepStageInstances typo (#7521) (f096069)
  • MessagePayload: V13 don't set reply flags to target flags (#7515) (30baff7)
  • Shard: V13 EventEmitter listener warning (#7479) (77b8e01)
  • MessageEmbed: Set footer to undefined (#7358) (bc5ddc3)

Documentation

  • shardingmanager: Fix type of execArgv option (v13) (#7863) (43a7870)
  • Fix and improve localization docs (v13 backport) (#7807) (6dcf0bd)
  • ApplicationCommand: Fix ApplicationCommandOptionChoice (#7798) (1040ce0)
  • Backport version 13 fixes (#7552) (69ba067)

Features

  • Backport (#7776) (5165b18)
  • Backport (#7787) (3eb45e3)
  • Backport (#7786) (ab324ea)
  • Add support for localized slash commands (v13 backport) (#7766) (022e138)
  • App authorization links and tags for v13 (#7731) (9e4a900)
  • Backport (#7777) (6c56132)
  • Backport (#7778) (ff49b82)
  • Backport (#7779) (ae7f991)
  • Backport (#7783) (cedc333)
  • VoiceChannel: Support video_quality_mode (v13) (#7785) (6daee1b)
  • StageInstance: Add support for associated guild event (#7713) (68498a8)
  • modals: Modals, input text components and modal submits, v13 style (#7431) (e1cdcfa)
  • Backport Interaction#isRepliable (#7563) (5e8162a)
  • Add methods to managers for v13 (#7611) (9f09702)
  • Add premiumSubscriptionCount to InviteGuild (#7629) (8e7d15e)
  • scheduledevents: Event cover images for v13 (#7613) (a7535a2)
  • Backport MessageMentions channel type fixes (#7562) (93cdb2f)
  • Backport cache types resolving to never (#7561) (611d3a7)
  • Backport sending message flags (#7560) (29d42ed)
  • ThreadChannel: Backport creation timestamp (#7559) (1d97dcf)
  • Add custom image support to version 13 (#7557) (679b87c)
  • Backport reason on pin and unpin (#7556) (b231bec)
  • GuildPreview: Add stickers to version 13 (#7554) (215dfe0)
  • Backport sweepStickers method (#7558) (ee1698d)
  • scheduledevents: Add image option (v13) (#7549) (2fcf8af)
  • thread: V13 add newlyCreated to threadCreate event (#7481) (2b3db73)
  • commands: Attachment options (#7441) (5bcca8b)

Refactor

  • Deprecate v13 properties and methods (#7782) (b9802f4)
  • Remove non-breaking stuff (#7636) (b9c5676)

Typings

  • Fix ModalSubmitInteraction (#7768) (1d09ad4)
  • threadchannel: Fix autoArchiveDuration types (#7817) (7afcd95)
  • InteractionCollector: Fix guild and channel types (#7624) (7814074)
  • V13 channel create overloads fix (#7480) (0b54089)

13.6.0 - (2022-01-13)

Documentation

  • interaction: Add locale list link (#7261) (1f4e633)

Features

  • Add Locales to Interactions (#7131) (233084a)

13.5.1 - (2022-01-07)

Bug Fixes

  • sweepers: Provide default for object param (#7182) (2dabd82)
  • GuildMemberManager: Nick endpoint (#7151) (d0c3961)
  • Permissions: ToArray shouldn't check admin (#7144) (fc4292e)
  • Remove deprecation warning on Message#cleanContent (#7143) (7e5f16b)

Documentation

  • Sweepers: Fix typo (#7165) (780b7ed)

Features

  • GuildMember: Add method to check timeout (#7146) (baacd6b)
  • ClientOptions: WaitGuildTimeout amount client option (#6576) (2bfc638)

Refactor

  • MessageEmbed: Deprecate strings for setAuthor() (completely) and setFooter() (#7153) (3496516)
  • Import timers, process, and Buffer from node: (#7157) (3c62bd2)

13.4.0 - (2021-12-24)

Bug Fixes

  • BaseMessageComponent: Don't create new class instances (#7140) (e6f41b5)
  • Make the followUp function error more clear (#7129) (b763dab)
  • StickerPack: Nullify bannerId (#7119) (6bb03f2)
  • Webhook typeguards should use string comparisons (#7127) (645b3f8)
  • Message: Remove usage of .deleted (#7109) (a0fe0ac)
  • GuildAuditLog: Remove Promises in constructor (#7089) (9cf44d1)
  • ShardingManager: Fix respawnAll not passing delay correctly (#7084) (de61fe4)
  • StoreChannel: Mark as deprecated (#7072) (5ec542d)
  • InteractionCollector: Handle thread (and parent) deletion (#7070) (b5cd288)
  • ReactionCollector: Check for channel.threads (#7069) (3846f0d)
  • GuildChannel: Default to this.rawPosition in clone() (#7057) (5fcda73)
  • Interaction channel type should be GuildTextBasedChannels when in guild (#6998) (da86bd4)
  • Util: Fix sorting for GuildChannels (#7002) (c07207f)
  • MessageManager: Do not use client.emojis (#7039) (fd63139)
  • ActionsManager: Revert to manual requires (#7034) (0193efa)
  • MessagePayload: Prevent spread of undefined (#7029) (fabd343)
  • MessageManager: Allow a string for edit() (#7033) (54f937d)
  • Avoid sending bot auth on token endpoints (#7022) (7efeff4)
  • Sharding: Properly handle errors in fetchClientValues (#6990) (c0ba2d4)
  • VoiceState: Set streaming to false when the stream ended (#6992) (fdb09cb)
  • MessageReaction: Cache myself when MessageReaction#me is true. (#6956) (b001e19)

Documentation

  • Deprecate .deleted getters (#7107) (d43f684)
  • Sticker: Fix typo (#7085) (ee91f5a)
  • Constants: Document missing errors (#7086) (6e57b65)
  • Constants: Adjust GUILD_STORE warning placement (#7083) (23513d1)
  • StoreChannel: Add deprecation warnings (#7080) (fdba146)
  • GuildStickerManager: Fix create() example (#7060) (6f58e81)
  • Invite: Add info blocks for missing props (#7014) (b183a8e)
  • MessageReference: Fix static link (#7041) (85e6812)
  • Constants: Fix typo "announcement" (#7016) (a1a8ca4)
  • README: Add installation instruction on @discordjs/voice (#6964) (3c857a6)
  • Guild: Fix setOwner() example (#6929) (dc64541)

Features

  • Add support for GuildScheduledEvent (#6493) (1316fd4)
  • GuildMember: Add timeouts (#7104) (aa7c1b2)
  • Export Sweepers (#7117) (b9b60a3)
  • Add API error code 50109 (#7112) (55960cc)
  • Client: Add global sweepers (#6825) (d1ef2f5)
  • Add API error code 20029 (#7078) (f410536)
  • ApplicationCommand: Add setX methods for easier editing (#7063) (7f980e3)
  • Add API error code 50055 (#7068) (f028aea)
  • SnowflakeUtil: Add timestampFrom (#7058) (8b200c0)
  • Guild: Add premiumProgressbarEnabled (#6887) (552d89f)
  • Add UserContextMenuInteraction and MessageContextMenuInteraction (#7003) (4fe063f)
  • Shard: Add eval context (#7011) (77aff08)
  • ThreadChannel: Add ThreadChannel#viewable (#6975) (db09d79)
  • ThreadManager: Add slowmode option on thread creation (#6989) (493e4f9)
  • MessageAttachment: Description (alt text) support (#6871) (5e0a7d5)
  • ApplicationCommand: Add support for min and max values (#6855) (c30a818)
  • SystemChannelFlags: Add new flag (#6870) (49e3ce2)
  • UserFlags: Add BOT_HTTP_INTERACTIONS (#6733) (f43140a)
  • Add new activity flags (#6699) (47d74eb)
  • ApplicationFlags: Add message content intent flags (#6888) (e94073a)

Refactor

  • UserManager: Move methods to the manager (#7087) (2ed02f7)
  • RoleManager: Move some methods over from Role (#7096) (1e00fc2)
  • Guild: Remove duplicate methods (#7100) (717e0e9)
  • Util: Replace Util.delayFor with tp.setTimeout (#7082) (25b8491)
  • Make Structure#deleted a getter to a WeakSet (#7074) (b093750)
  • SnowflakeUtil: Clean up utils and improve perf (#7036) (e59fac3)
  • MessageEmbed: Utilise an object approach for .setAuthor() (#6966) (73854ee)
  • Deprecate application command events (#6937) (28688e2)

Typings

  • CategoryChannel: Fix createChannel return type (#7138) (1626dde)
  • CategoryChannel: createChannel should default to a text channel (#7132) (a0a5b0e)
  • Make channel types a lot stricter (#7120) (7b65a04)
  • Forward cache types to collector filters (#7126) (77489b9)
  • Fix possibly null message properties (#7111) (bc6a6c5)
  • Use mapped enums instead of overloads (#7088) (49f9a18)
  • MessageComponentInteraction: Ensure component is not null (#7099) (2ce244b)
  • GuildAuditLog: Strengthen types (#7090) (5a5c045)
  • Message: guild should be non-null when message is in guild (#6933) (1230bee)
  • Improve audit logs' typings (#6647) (b6b4570)
  • Interaction: Narrow memberPermissions (#7054) (01f8d1b)
  • ApplicationCommandManager: Deprecate old *Data type usages and allow camel cased dapi types to be used (#6959) (2c91c48)
  • WebhookMessageOptions: Disallow stickers (#7012) (099536e)
  • Remove unneeded collector types (#7008) (c1f2fe2)
  • Make event emitters use mapped event types (#7019) (48555cb)
  • ApplicationSubcommandData: Allow autocomplete to be true (#6981) (ecc61f3)
  • Fix interaction typeguards (#6976) (06cd16f)
  • Strengthen autocomplete option types (#6950) (7630158)
  • Fix cache type fallback types (#6961) (9f240ea)
  • Unify ApplicationCommandManager#create overloads (#6970) (8e881d2)
  • Events: Rest events can be emitted on BaseClient (#6936) (c297829)

13.3.1 - (2021-11-01)

Bug Fixes

  • Assert channel types in message actions (#6919) (9bd3689)
  • MessageEmbed: Only compare image urls in #equals (#6926) (95d2a4d)
  • Correctly access guild IDs inside managers (#6927) (2d9ffb8)

Documentation

  • README: Use correct capitalization of npm (#6930) (bb245b7)

Typings

  • Improve toJSON methods for message components & embeds (#6925) (204aee7)

13.3.0 - (2021-10-29)

Bug Fixes

  • Handle message bulk delete and thread delete in collectors (#6902) (d6685b1)
  • ApplicationCommandManager: Update guild command cache on c/u/d (#6841) (f169c8f)
  • TextBasedChannel: Return the cached message instead of clone it (#6877) (ceaf738)
  • MessageComponentInteraction: Component getter is not null anymore (#6835) (7621e9d)
  • PartialGuildMember#id is not null (#6840) (4dff279)
  • Webhook: Resolve source guild only if cached (#6834) (d193d04)
  • AllowedImageSizes: Add new image sizes (#6844) (ef01b84)
  • MessageReaction: Prevent event double fire from uncached messages (#6818) (267a4b3)
  • Guild: Guild.available is never set on new joins (#6769) (29667c9)
  • Types: Export more types (#6808) (b474677)
  • GuildBanManager: Send reason in the headers instead of json body (#6800) (bfb89de)
  • User: Don't generate the banner URL when not cached (#6783) (0d599a1)
  • GuildMember: More explicit partial check (#6760) (b1656bf)
  • Role: Check for presence of icon and unicode_emoji before patching (#6780) (e31c5ca)

Documentation

  • Constants: Document missing autocomplete interaction constants (#6916) (aa4d055)
  • InteractionCollector: Add info block about being prone to always running (#6906) (5d987ee)
  • GuildStickerManager: Fix create() example (#6900) (bdd841a)
  • InteractionResponses: Move embed var position in example (#6896) (8806039)
  • Application: Rename Oauth2Application to Application (#6891) (76856b9)
  • Util: Deprecate .removeMentions() (#6866) (b6c9fd6)
  • Correct tags used for objects (#6846) (f7b7aac)
  • Redirect to events correctly (#6845) (38cc89e)
  • Typos, consistency and grammar fixes (#6811) (c44ea50)
  • Message: Specify Snowflake in return type of awaitReactions() (#6822) (4354c37)
  • Replace FetchOwnerOptions type definition (#6814) (b030130)
  • Remove dangling reference (#6810) (d57ec7a)
  • InteractionCollector: Remove repeated "the" (#6802) (b1b9c83)
  • MessagePayload: Change the typo of "wether" to "whether" (#6771) (d32956c)

Features

  • ThreadMemberManager: Allow individual members to be fetched (#6889) (14716df)
  • Add support for autocomplete interactions (#6672) (ddf759c)
  • MessageEmbed: Add #equals (#6885) (fae4abf)
  • StartThreadOptions: Default autoArchiveDuration to channel's defaultAutoArchiveDuration (#6278) (740d3f0)
  • Add rtcRegion to GuildManager#create() (#6858) (399e720)
  • Add typeguards to webhooks (#6850) (e0afcad)
  • GuildChannelManager: Add 'rtcRegion' option to 'create' method (#6849) (487d32d)
  • Permissions: Add checkAdmin to permission overwrite checks (#6847) (7513b45)
  • Interaction: Add isApplicationCommand check (#6801) (6898fa3)
  • CommandInteraction: Add toString method (#6793) (bd48e6d)
  • Client: Add apiResponse and apiRequest events (#6739) (26f927b)
  • ModuleImporter: Implement import module compatible with bundlers (#6709) (d399a28)

Refactor

  • Move Guild setPositions methods to managers (#6875) (e12a5b6)
  • Remove gen-esm-wrapper dependency (#6884) (b278884)
  • Fix typos (#6852) (672baa4)
  • GuildManager: Remove redundant check (#6859) (579569a)
  • Remove redundant user agent parsing (#6820) (460df9e)
  • Remove unnecessary checks (#6777) (e24209a)
  • Role: Move initialization of delete prop out of _patch (#6776) (872e7a5)

Typings

  • fix: BaseCommandInteractionOptionResolver and CommandInteraction (#6910) (673c03f)
  • Constants: Remove deleted properties from Package (#6908) (7be9170)
  • Shard: Eval returns a promise resolving with T instead of T[] (#6901) (14d9a99)
  • ApplicationCommandManager: Add missing overload for fetch (#6904) (ee93a27)
  • TextBasedChannel: Text channel interaction collectors should have message option (#6903) (91a432e)
  • Cache types cleanup (#6867) (b2836da)
  • Allow message cached props to be narrowed (#6838) (c3948f8)
  • CommandInteractionOptionResolver: Allow narrowing of getMember() (#6831) (e8b6997)
  • BaseMessageComponent: Remove third parameter of create() (#6833) (d27fddb)
  • Message component cached props narrowing (#6809) (b541d0a)
  • ApplicationCommandOptionData: Remove required on subcommands (#6790) (5566404)
  • Integration: Add IntegrationType values (#6815) (187581d)
  • WelcomeChannelData: Allow store channels (#6778) (45ebea3)
  • Make embed author and footer props name and text required (#6779) (a84e51b)

13.2.0 - (2021-10-05)

Bug Fixes

  • AllowedImageSizes: Add new image sizes (#6754) (d0025be)
  • User: Compare flags in #equals (#6750) (00e1e26)
  • VoiceState: Patch streaming value (#6747) (7eec061)
  • Message: Avoid overwriting properties in _patch (#6738) (a8c21cd)
  • ReactionCollector: Only call the filter function once (#6734) (d15dd5f)
  • Shard: Use provided timeout when respawning (#6735) (905d100)
  • Role: ToJSON() throwing due to permission bigints (#6724) (9e421f6)
  • Don't patch set data with undefined (#6694) (9eb9591)
  • Invite: #guild never resolving into a Guild (#6742) (b76bb8a)
  • GuildManager: Add missing types and converts (#6683) (cdf65f7)
  • Util: Default animated to false when omitted on resolvePartialEmoji (#6725) (8d80fec)
  • Message: Throw error on missing channel (#6581) (60aa9ae)
  • CachedManager: Return updated data when cache is false (#6685) (8426770)
  • GuildEmoji: Cache restricted roles and author data (#6675) (60b8ba6)
  • Constants: Allow undefined size (#6686) (d3da833)
  • *RoleManager: Create set of role ids correctly (#6674) (f8aa4bd)
  • Shard: Eval promise never resolves (#6649) (5070d23)
  • xxxable: Follow more properly with discord behavior (#6551) (5d87398)
  • Allow null to be passed in order to reset icon/avatar (#6646) (6033506)
  • Message: Pinnable returning false in non-DEFAULT messages (#6585) (3183b11)
  • threadMembersUpdate: Fixed typo (#6589) (8826e9f)
  • ThreadChannel: FetchStarterMessage bug (#6584) (08edc0b)
  • Await message component collectors should return component interactions not collectors (#6562) (f49f70a)
  • GuildChannel: Fix manageable method for voice-channels (#6447) (9301c9b)
  • MessageAttachment: Re-assign name (#6518) (8a8c69a)
  • UserUpdateAction: Rely on client.user when ids match (#6511) (1418649)
  • Util: Allow empty strings in splitMessage (#6437) (d6e6244)
  • BaseClient: Remove selfbot ability (#6429) (9a833b1)
  • Sticker: Rename method correctly to _add (#6421) (2c449b6)
  • Message: Fix typo (#6435) (ecb6e50)

Documentation

  • FetchReply info + example (#6753) (8bc1ece)
  • GuildMemberUpdateAction: Event doesn't get emitted on user update (#6752) (1db3e76)
  • Better links for .toJSON() of button and select menu (#6745) (6e5c768)
  • Undocument private constructors (#6732) (34b2ad0)
  • Message: Fix return type for reply (#6720) (3f11009)
  • CommandInteractionResolvedData: Fix key type (#6729) (466e796)
  • EmojiResolvable: Update description of typedef to remove ambiguity (#6708) (7cba676)
  • ApplicationCommandPermissionsManager: Fix example set method (#6658) (839974c)
  • Shard: Point to correct events (#6641) (b9a4899)
  • VoiceChannel: Deprecate editable (#6613) (88e2622)
  • PermissionOverwriteManager: Correct @returns of delete (#6632) (3c3522a)
  • MessagePayload: Correct return type of resolveFile() (#6605) (ea6a57e)
  • MessageButton: Fix info tag (#6590) (db73cf9)
  • WidgetMember: Fix typo for deaf (#6564) (33f6f82)
  • Constants: Fix interaction type link (#6558) (29d5fd1)
  • Fix JSDoc for ClientUser#edit (#6554) (34024f5)
  • Util: Correct @param for cleanContent() (#6531) (b89280a)
  • Formatters: Fix typo of TimestampStyles (#6523) (7d4a40a)
  • GuildChannelCreateOptions: Fix #type type (#6502) (4bfd5d3)
  • ThreadManager: Fix typo (#6485) (8a95211)
  • Fix wrong type being displayed in docs (#6504) (9ca10cc)
  • MessageManager: Fix typo (#6482) (70cc029)
  • MessageReference: Add possible message types (#6464) (93a83c2)
  • ApplicationCommandType: Add DAPI link (#6463) (17b4079)
  • BufferResolvable: Add warning for URL input (#6451) (16493e6)
  • Formatters: Use id over ID (#6439) (84bb4f4)
  • RoleManager: Error in examples (#6416) (759faa4)
  • Rename implementation of deferReply (#6412) (615afab)

Features

  • Add support for role icons (#6633) (7129965)
  • Interaction: Add memberPermissions (#6741) (28d96e3)
  • CategoryChannel: Add createChannel shortcut method (#6614) (3eacf7a)
  • Allow webhooks to fetch, edit and delete messages in threads (#6695) (107822d)
  • Threads: Update permissions and fix getters (#6466) (10478ad)
  • PartialGroupDMChannel: Add recipients & fix name (#6713) (2803db6)
  • GuildMember: Add guild avatars (#5696) (dfd7b40)
  • MessageAttachment: Add support for ephemeral property (#6652) (c5db0ff)
  • ApplicationCommand: Add support for channel_types (#6640) (3b14883)
  • UserManager: Allow #fetch to take UserResolvable (#6677) (a06a87a)
  • Add api error code 50101 (#6663) (42fdcaa)
  • Add support for API command types in ApplicationCommandManager (#6621) (ecd637f)
  • Permissions: Add START_EMBEDDED_ACTIVITIES (#6622) (66a90d3)
  • Integration: Add missing props and fix docs/types (#6623) (caa3b60)
  • Default values for setX boolean methods (#6619) (8add4b0)
  • Add api error code 30042 (#6635) (183dbd7)
  • Give removed MessageReactions on messageReactionRemoveAll event (#6607) (be8912a)
  • ApplicationCommand: Add version property (#6603) (f866512)
  • MessageTypes: Add CONTEXT_MENU_COMMAND (23) (#6425) (d81590d)
  • Add api error code 160002 (#6566) (d16ada9)
  • ApplicationCommand: Add #equals (#6414) (581921f)
  • Threads: Add support for invitable in private threads (#6501) (a693254)
  • BaseGuildTextChannel: Export BaseGuildTextChannel (#6527) (fc51f61)
  • User: Banners and accent colors (#6117) (839c6da)
  • MessageAttachment: Allow files to be marked as spoilers (#6509) (96e26c4)
  • ThreadChannel: Add fetchStarterMessage (#6488) (705c5a1)
  • Message: Add method to resolve a component by id (#6484) (57b94b9)
  • Set methods for MessageActionRow and MessageSelectMenu (#6490) (fb50dd9)
  • Export BaseCommandInteraction (#6478) (c14e594)
  • Guild: Add Guild#maximumBitrate getter. (#6455) (21983de)
  • Message: Prevent fetching an interaction webhook. (#6468) (f39b597)
  • Add maximum prune requests reached api error (#6427) (a4b8623)
  • Rest: Expose https.Agent options (#6177) (5eb3553)
  • InteractionReponses: Allow fetching of ephemeral messages (#6426) (d289d5c)
  • Export ContextMenuInteraction (#6434) (170c0c4)

Performance

  • Use logical assignments instead of if statements (#6693) (e9daa31)

Refactor

  • User: Set accentColor and banner to undefined when not yet received (#6721) (ba93e85)
  • Use optional chaining (#6757) (a194d9c)
  • Use the node: protocol (#6710) (531b46c)
  • VoiceState: Use manager edit method to remove error (#6631) (29dd319)
  • Constants: Better type error in cdn endpoints (#6637) (124e177)
  • ES2021 features (#6540) (00bd92a)
  • Channel: Make delete async (#6417) (71fdf6f)

Typings

  • Interaction: Allow Interaction cached properties to be type narrowed (#6668) (d873a19)
  • Rename Awaited<T> to Awaitable<T> (#6756) (f88f4cc)
  • GuildBanManager: Remove can return null (#6748) (c3f4de4)
  • Add ExcludeEnum utility for easier typings (#6746) (42acc6e)
  • Webhook: More accurate type for sourceChannel (#6751) (32b5c2e)
  • WebhooksUpdate: Allow NewsChannels (#6749) (abf158d)
  • More accurate types instead of GuildChannelResolvable (#6744) (a8e6010)
  • ChannelTypes: Remove unknown from CHANNEL options (#6701) (8b4456e)
  • TextBasedChannels: Fix awaitMessageComponent return type (#6723) (a7cb314)
  • Vanity: Make uses non-nullable (#6715) (3a978f3)
  • Role: Role#comparePositionTo accepts RoleResolvable (#6722) (7c4d1df)
  • Presence: Fix ActivityOptions#type and Activity#id types (#6696) (fe95005)
  • Fix missing channel type in subcommand options (#6706) (da3ae48)
  • Add GuildEmojiManager to Caches (#6671) (1ca8d2c)
  • VoiceState: Allow moving members to stage channels (#6684) (94ca0f5)
  • Interaction: Improve type guard for inGuild() (#6644) (0347826)
  • MessageOptions: Allow APIEmbed (#6656) (92f6471)
  • WelcomeChannel: Allow store channels (#6615) (75d85f7)
  • MessageEmbed: Allow APIEmbed type (#6629) (256fb90)
  • TextBasedChannelFields: Add back createMessageCollector (#6616) (1b016a3)
  • Make channelId non-nullable on MessageComponentInteraction (#6600) (8cc3885)
  • Message#createMessageComponentCollector use MessageComponentInteractionOptions<T> (#6596) (c62823e)
  • MessagePayload: Specify typings for files and resolveFile (#6608) (ea36955)
  • Collector filter parameter inference (#6574) (0841956)
  • MessageReference: Correctly add undefined type (#6563) (cdb0005)
  • @typedef for StageChannelResolvable (#6568) (2c219cb)
  • Allow message component interaction collectors to infer collected interaction types (#6476) (03d5549)
  • CommandInteractionOptionResolver: Document & type thread channels (#6521) (774e960)
  • MessageComponentInteraction: Fix componentType (#6536) (0fe5f88)
  • Mark enums as const enums (#6394) (5c27639)
  • MessageEmbed: Allow null for setTimestamp (#6514) (7aff15a)
  • Require component type in raw object formats (#6452) (c232baa)
  • CommandInteractionOptionResolver: Add missing parameter (#6497) (656b518)
  • ClientPresence: Add type declarations and docs (#6450) (6cac03a)
  • GuildChannel: Added missing typing (#6454) (f294d1e)
  • Message#_patch typings return type (#6433) (81bb68d)

13.1.0 - (2021-08-12)

Bug Fixes

  • StageInstance: Ensure discoverableDisabled is not undefined (#6395) (dce8fc7)
  • WidgetMember: Default to null and not undefined (#6399) (44bbfa5)
  • Guild: preferredLocale to always be a string (#6402) (4a64662)
  • ContextMenuInteractin: Store message as raw value (#6400) (d9456a1)
  • Util: Remove truthy check before isNaN check (#6358) (3c17939)
  • Constants: Fix CDN endpoint typings (#6332) (47d2ef3)
  • Managers: Fix typo in unsupported warning (#6338) (917e71a)
  • GuildMemberRoleManager: Typo (#6335) (d87299b)

Documentation

  • Remove unparsed examples (#6404) (e6f48d8)
  • GuildManager: Increase fetch limit to 200 (#6406) (933d2c5)
  • ApplicationCommandData: Fix type property (#6385) (de3c86f)
  • Update links for api-docs (#6380) (779e14e)
  • Switch urls from upstream rearranging (#6378) (4c8dc4c)
  • Correct wrong interaction links (#6274) (49d3c0b)
  • Invite: MANAGE_CHANNELS instead of MANAGE_CHANNEL (#6361) (0062aa6)
  • Options: DefaultMakeCacheSettings typo (#6365) (ea8d77e)
  • Grammar fixes (#6345) (f13d27c)

Features

  • GuildMemberManager: Add 'list' method (#6403) (2bf0970)
  • GuildManager: Allow setting with_counts to false (#6407) (14aea12)
  • CommandInteractionResolvedData: Access to "raw" resolved data (#6384) (fff887b)
  • Utils: Add additional formatters (#6388) (cd40292)
  • Right-clickybois (context menu support for ApplicationCommand and CommandInteraction) (#6176) (0266f28)
  • Threads: Max autoArchiveDuration option (#6304) (394d486)

Refactor

  • Options: Separate default settings for make cache (#6330) (d14a6bf)

Typings

  • ApplicationCommandData: Make type field optional (#6405) (dcc556c)
  • Constants: Add ApplicationCommandTypes to Constants (#6398) (6342430)
  • ApplicationCommandOptionData: Align command data options types more with discord API (#6247) (297a911)
  • ApplicationCommandData: Stronger typings for ApplicationCommandData variants. (#6382) (75b48d8)
  • Options: CreateDefaultOptions => createDefault (#6376) (2a3e819)
  • Events: Renamed messageReactionAdd's reaction parameter (#6371) (006edca)
  • ImageURLOptions: Allow 'gif' format (#6342) (5f1def3)

13.0.1 - (2021-08-07)

Bug Fixes

  • GuildMemberManager: Refactor fetchMany (#6328) (909c873)
  • Message: Handle fetched messages (#6325) (ceae596)

Documentation

  • Fix bad indentation (#6316) (cd1aefb)

Typings

  • Util: Fix cleanContent parameter type (#6321) (60ace9a)

13.0.0 - (2021-08-06)

Bug Fixes

  • MessageMentions: Check guild exists before adding roles (#6313) (1200bba)
  • GuildMemberManager: FetchMany fixes (#6314) (52817fc)
  • Caching: Sweep archived threads in all channel caches (#6312) (3725dca)
  • Message: Fix thread getter (#6309) (913c9fa)
  • BaseGuildTextChannel: Call patch (#6298) (3eb4140)
  • Remove support for overriding caches that break functionality (#6282) (a6d4035)
  • Message: Make #channel and #guild getters (#6271) (6e3236a)
  • WebSocketShard: Mark shard ready if no guilds intent (#6284) (09471be)
  • Action: GetChannel interaction DM (#6280) (a72b5a3)
  • GuildChannel: SetParent not working (#6276) (7e0618f)
  • ChannelUpdate: Restore accidentally removed line (#6263) (774f5b7)
  • Util: Fix collection import (#6256) (93e0239)
  • Array/keyArray removed (#6245) (bf221f2)
  • TextBasedChannel: Fix MessageCreate handling (#6217) (6b85f90)
  • PermissionOverwrites: Throw better error if resolving option fails (#6219) (42a0313)
  • Channel: Add default for destructured options (#6203) (6872547)
  • Use string instead of Snowflake for invites (#6202) (f060a3f)
  • ThreadChannel: Better property handling (#6172) (9679b90)
  • Export various classes that are exported in the typings (#6166) (30a58dc)
  • Typings: Type attachments to InteractionUpdateOptions (#6162) (4f8ca29)
  • GuildAuditLog: Assert target to null upon not finding invite codes (#6171) (c8ca7bf)
  • Message: Fix typo in sticker_items (#6173) (870a0de)
  • Sticker: Replace 'this.guildID' (undefined) by 'this.guildId' in fetchUser (#6160) (07017a9)
  • CommandInteractionOptionResolver: Type should be USER (#6148) (02f55f0)
  • CommandInteractionOptionResolver: Export CommandInteractionOptio… (#6146) (8ccfd6e)
  • CommandInteraction: Change options type from Collection to array (#6139) (77784ac)
  • GuildChannel: Only fetch invites for the specific channel (#6132) (c40c0f9)
  • PermissionsOverwrites: Only convert type if number (#6092) (dee5c83)
  • Channel type check in actions (#6086) (d433fe8)
  • GuildChannel: Clone its PermissionOverwriteManager too (#6083) (f72ce7c)
  • PresenceUpdate: Use added presence over nullable getter (#6077) (637c8e0)
  • InviteScope: Added missing 'bot' scope (#6052) (93e2c04)
  • SelectMenuInteraction: Set values to empty array if not provided (#6045) (34708d6)
  • Guild: Add invite manager property, extend CachedManager (#6049) (e3d877d)
  • TeamMember: Fixed incorrect return types. (#6044) (fe5d56c)
  • Structures: Remove Structures (#6027) (ab0b3b9)
  • GuildChannel: Use map method on cache not its manager (#6032) (d58f0d2)
  • PermissionOverwriteManager: Pass ID to API correctly (#6026) (8077e4f)
  • GuildChannel: Add missing 'cache' property (#6019) (7e30011)
  • Remove connection.url from open debug message (#6018) (39db953)
  • Util: SplitMessage not working with array (#6008) (bd25ff5)
  • Correct permissions checks and cache on update (#6015) (568691c)
  • ThreadManager: Fixed wrong private and fetchAll check (#6012) (e4be666)
  • Typings: Improve components typings in MessageEditOptions (#6002) (3a718d8)
  • ApplicationCommand: Fix typo in JSDoc (#5994) (6edf55c)
  • ThreadChannel: Check for existence of properties when patching (#5961) (9ac6867)
  • Typings: Erronous RawMessage (5842e35)
  • Thread: Make archive_timestamp not nullable (#5965) (edab5af)
  • Sharding: Strict type context and return (#5933) (1925d01)
  • Webhook: Return void from #delete for consistency. (#5954) (5ad83a6)
  • Collector: Docs and types (#5937) (6c447b1)
  • Message: Make author of referenced message nullable (#5929) (dc671c8)
  • User: Fix bot and system properties being incorrect in some cases (#5923) (e44ae96)
  • ThreadMemberManager: Fix ThreadMemberManager#add and ThreadMemberManager#fetch (#5927) (adecead)
  • Webhook: Resolve non-string avatars too (#5914) (4714a96)
  • ApplicationCommand: StringType isn't supposed to be sent to the API (#5916) (ca2a36b)
  • Permissions: Allow admin to override in the missing method (#5911) (ee025b0)
  • InteractionResponses: Set replied status on editReply (#5899) (6d3d00b)
  • Message: Flags not being parsed on some edits (#5886) (2d7c12b)
  • Guild: Don't patch before instance properties (#5885) (174b7a7)
  • presenceUpdate: Fire when only state/details change on an activity (#5846) (1f8f3ab)
  • Message: EditedTimestamp defaulting to 0 (#5847) (671436c)
  • ApplicationCommand: Default option.required fix (#5848) (a1f94f6)
  • Guild: SetChannelPositions null parenting (#5841) (01a1fd6)
  • ApplicationCommand: Default option.required to false (#5838) (77c1f15)
  • GuildManager: #create throws when systemChannelFlags is undefined (#5832) (29173bf)
  • GuildChannel: Don't force parentID/permissionOverwrites to empty on create (#5823) (c585933)
  • GuildChannel: Improve empty overwrite handling for permissionsLocked (#5821) (6df3623)
  • ApplicationCommands: Allow managing commands for uncached guilds (#5729) (24e5868)
  • ClientApplication: Freeze flags (#5811) (e990c35)
  • *: Typedefs and typings for image & webhook options (#5805) (a5a6e22)
  • TextBasedChannel: Allow passing an APIMessage with split (#5815) (93b0a4e)
  • PermissionOverwrites: Optional allow/deny OverwriteData (#5810) (a7ebb21)
  • Typings: Fix BitField toJSON/valueOf return types (#5806) (935f819)
  • Hooks: Make husky hooks executable (#5812) (77e28cf)
  • GuildChannel: Clone errors when options.name isn't provided (#5804) (41673b7)
  • WebSocketShard: Don't catch errors thrown in event handlers (#5803) (53d8e49)
  • Don't patch missing properties from partial payloads (#5796) (097c7b9)
  • GuildChannel: Spread clone options to avoid infinite recursion (#5800) (2f5424b)
  • Webhook: Throw an error if no token is available when it's required (#5798) (eb98e33)
  • ClientPresence: Produce valid activities for set presences (#5799) (ea0e06f)
  • BitField: Ensure missing returns an array of strings (#5795) (68f7aeb)
  • ApiMessage: Only pass objects as options directly (#5793) (3578159)
  • BitField: Throw an error if bit to resolve is undefined (#5565) (0156f69)
  • Remove remnants of awaitMessageComponentInteractions (#5783) (ae78a33)
  • *: Add missing imports for custom errors (#5767) (e980948)
  • ShardingManager: Client error event cannot be emitted (#5559) (d1c5b6f)
  • Add components to MessageOption typedefs (#5768) (657635c)
  • Interaction: Add missing types and fix docs lists (#5762) (1d57754)
  • Webhook: #editMessage throws error when content is null (#5757) (2901fd5)
  • MessageComponentInteraction: Correctly type defer method (#5760) (f0dad26)
  • RoleManager: Bug in #create (#5730) (cf22456)
  • Message: Update typings and docs related to #edit (#5745) (a2f0c11)
  • Typings: Add missing typings for HttpError -> requestData (#5742) (3e9ce35)
  • MessageEmbed: Import custom RangeError class (#5740) (bfe01b5)
  • CommandInteraction: Cmds with no options throw error (#5734) (af2fad9)
  • CommandInteraction: Channel type should be text based channels (#5690) (5141ea4)
  • GuildMemberManager: Allow moving members to any non-text channel (#5681) (d21e6af)
  • Interfaces not importing due to re-export of Snowflake (#5723) (086c3f0)
  • PermissionOverwrites: Fix typo in typedef jsdoc (#5704) (6567ba8)
  • Types: Make event listeners accept async callbacks (#5602) (a73a5cf)
  • GuildEmojiRoleManager: Bug in #remove (#5666) (c89bdd7)
  • ApplicationCommandOptionData: Options property should be itself (#5679) (b90b0c3)
  • APIMessage: Document Interaction as valid MessageTarget (#5678) (9f491ff)
  • Message: Bug in #suppressEmbeds due to #5612 (#5644) (840ad0a)
  • Lint-staged for typescript files (5f6ec22)
  • DataResolver: Fix circular dependency error with GuildTemplate (#5622) (b376f31)
  • ApplicationCommandManager: Limit permission methods to guilds (#5613) (03256bd)
  • CommandInteraction: Update typings and docs for #editReply (#5630) (56d44fb)
  • ApplicationCommand: Return string equivalent of ApplicationCommandOptionType (#5617) (a6079bc)
  • Resolve emoji in Message#react (#5614) (c733436)
  • Typo in GuildMemberManager (#5616) (73f4114)
  • Message: Editing with MessageEmbed or APIMessage (#5612) (74e97ef)
  • VoiceReceiver: Fix memory leak (#5609) (2eac842)
  • ApplicationCommandManager: Fix typo in JSDoc (#5603) (3392eb7)
  • Sticker: File renamed to SnowflakeUtil (#5573) (f830eb7)
  • Emoji: Name can be null (#5513) (5397021)
  • GuildMemberRoleManager: Unable to remove roles when passed an array (#5556) (9572521)
  • Typings for 'Message' (#5518) (0d68ca8)
  • HTTPOptions: Change default value in jsdoc to 8 (#5547) (cb50241)
  • GuildAuditLogsEntry: Executor can be missing (#5500) (e9bf206)
  • typings: Update GuildMemberRoleManager typings to match implementation (#5497) (900e576)
  • MessageMentions#channels: Fix type of channels of mentions (#5370) (565d7b3)
  • Resolvables: Valid resolvables throw error when uncached (#5495) (fa5a37e)
  • GuildChannel: Check for community required channels in GuildChannel#deletable (#5170) (b710a43)
  • GuildMember: Correctly check for premium_since (#5312) (aff3625)
  • Voice: Only skip undocumented voice packet byte if present (#5309) (2b52cdc)
  • Typings for 'WebhookMessageOptions' (#5476) (67025e6)
  • IntegrationApplication: Add missing export to index.js (#5475) (8023250)
  • ApplicationFlags: Export class (#5465) (404ce57)
  • Voice: Disconnect if voice channel not cached (#5467) (3af8179)
  • InviteDelete: Guild can be missing (#5457) (6c6b105)
  • ReactionUserManager: Remove before query option (#5281) (43bd568)
  • GuildManager: Add missing toString() on Permission#resolve fns (#5324) (0778926)
  • GuildChannel: Regression on default channel type (#5251) (e7c4f36)
  • Guild/GuildChannel: Methods reason arg usage (#5419) (8411b9e)
  • Role: Pass Permissions class, not the bitfield (#5321) (d744e51)
  • WebSocketShard: Key name in WebSocketShard#_send. (#5304) (56d8b44)
  • ApiMessage: Remove resolve() from typings (#5241) (a6bc39d)
  • GuildChannel: Overload permissionsFor and BaseManager#resolve[id] (#5260) (41bd6c2)
  • GuildEmoji: Check for cahnges to available in equals (#5201) (f95f5dc)
  • VoiceConnection: Make #dispatcher nullable (#5217) (0d5de43)
  • Message: Update getters to take null permissions into account (#5066) (98b1c58)
  • typings: Return types for 'Webhook(Client)#send()' (#4876) (eb28ee7)
  • MessageEmbed: Include author.name in length getter (#5167) (e37160f)
  • Collection: ToJSON() errors if the collection includes empty values (#5129) (2c2249e)
  • Implement valueOf on pseudomanagers (#4595) (8883a01)
  • Add presence to ClientPresence from ClientOptions (#5041) (9c7fe34)
  • Filtering of string forms of null and undefined (#5075) (9042d19)
  • ChannelManager: Avoid crash in remove method with uncached channel (#4937) (12c909e)
  • Message: #system non-zero message types are not guaranteed to be system (#5108) (bb78120)
  • UserFlags: Correct early bot dev name, remove deprecated aliases (#5104) (b509862)
  • Collector: Throw an error if a non-function was provided as filter (#5034) (7365f40)
  • BaseGuildEmoji: Typo in requiresColons (#5076) (e272fd6)
  • MessageReaction: Set MessageReaction#me in patch method (#5047) (6b322f4)
  • Voice:* Filter out silent audio from video users (#5035) (4fcb9eb)
  • GuildTemplate: 'guild' getter (#5040) (53529bd)
  • RoleManager: Fix ID return value, change return type to collection (#4935) (12a096b)

Documentation

  • Grammatical fix (#6311) (7787a76)
  • Grammar fixes (#6308) (0664477)
  • General cleanup and improvements (#6299) (b4afcf8)
  • Typo in ClientOptions (#6305) (dd3a79e)
  • Grammar fix (#6294) (90c2e07)
  • Client: Mark _finalize as private (#6281) (35fa3b3)
  • Update link of the guide to v13 changes (#6273) (6e0ea02)
  • Add missing semicolon to readme (#6270) (2c452df)
  • Change example in readme to slash command (#6250) (626ff85)
  • InteractionResponses: Correct @returns on responses (#6257) (bb56f17)
  • Refactor a few @returns descriptions (#6228) (82daee5)
  • Widget: Add the typedef WidgetChannel (#6182) (8b52d06)
  • Update readme node version requirement (#6241) (797727a)
  • GuildManager: Correct GuildCreateOptions typo (#6224) (2675b08)
  • Constants: Document the Constants object for enum-like usage (#6208) (cc5f1ce)
  • Guild: Correct GuildRolePosition typo (#6223) (40b127e)
  • WelcomeChannel: Correct guild return type (#6222) (d310e4f)
  • Constants: Fix StickerTypes typedef (#6218) (105a194)
  • MessageMentions: Fix documentation for members property (#6206) (f44bfc4)
  • Guild: Add GuildTextChannelResolvable type definition (#6221) (1009ce1)
  • InteractionResponses: Document missing properties (#6178) (5e433b5)
  • CommandInteraction: Correct type definition of CommandInteractionOption (#6169) (5e70694)
  • InteractionResponses: Reply docs example (#6079) (b170fb5)
  • InteractionResponses: Generalize wording in update to fit other component interaction types (#6074) (67e9ce4)
  • ClientUser: Fix shardId nullable (#6072) (28b5ffb)
  • Fixed several typings and MessagePayload#create JSDoc (#6059) (4c0426c)
  • ThreadChannel: Fix documentation for setLocked method (#6053) (8d9ab74)
  • MessageManager: Document options param for #edit as required (#6031) (db60e36)
  • Add Partial typedef (#6029) (b62d646)
  • Fix some missed MessageComponent collector methods (#6023) (610b0b4)
  • *: Wrap optional properties with union types in parentheses (#6021) (ec06ba7)
  • Collector: Properly document endReason (#6016) (7dd1a8d)
  • CreateInviteOptions: Fix TargetType link (#6017) (4adfc45)
  • *: Add class links to isX() methods (#6007) (fbdad6e)
  • WebSocketShard#send and TextBasedChannel#send (#5998) (726073f)
  • Util: Methods removed on the base object (#5990) (d742814)
  • Partials: Add link to the guide (#5982) (58183d4)
  • MessageSelectMenu: Add link to Discord docs (#5984) (f819416)
  • ThreadManager: Fix FetchedThreads typedef and startMessage (#5971) (f108746)
  • Message: Add ThreadChannel as a channel type (#5972) (58bc145)
  • ThreadManager: Fix reason prop of ThreadCreateOptions (#5970) (5dfd7dd)
  • Channel: Fix description of thread channel types (#5968) (853be62)
  • Drop string from MessageButtonStyleResolvable (#5944) (41f718f)
  • Features: Resolved typo in FATEWAY_PRESENCE_LIMITED (#5952) (d38b347)
  • Webhook: Fix thread example in send method (#5953) (d3d19ce)
  • Channel: Make the type news_thread an inline code-block (#5940) (630432b)
  • Thread: Add links to discord api docs (#5919) (5af2ef5)
  • MessageSelectMenu: Fix options typings (#5922) (75837a8)
  • *: Add links to Discord's API objects & data (#5862) (e0efcc6)
  • Move embeds field into BaseMessageOptions (#5902) (6cebeae)
  • Readme: Remove dependencies badge (#5901) (edf6f0c)
  • AnonymousGuild: Add missing extends tag (#5896) (3d96a33)
  • VoiceState: Channel can be null (#5872) (807ea2d)
  • ReplyMessageOptions,MessageEditOptions: Replaced embed with embeds (#5860) (e3ed74a)
  • Consistent application name usage (#5853) (96a4e7b)
  • TextBasedChannel#send: Update embeds example (#5857) (a6dae75)
  • ButtonInteraction: Fix typo (#5835) (9376ee4)
  • Removed topics and FAQ from the repository (#5820) (9e5106d)
  • README: Re-add install command, remove voice remnants (#5817) (55ad6f0)
  • MessageEmbed: Deprecation advisory for type (#5774) (f5f3f77)
  • Messages: Fix examples in messages after changes in #5758 (#5791) (35c2225)
  • ApplicationCommand: Typos in ApplicationCommandPermissionData (#5789) (4511624)
  • GuildMemberManager: Fix docs for #search() (#5784) (0139e10)
  • CommandInteraction#channelID is type of Snowflake (#5776) (32d8c8b)
  • InteractionDeferOptions: Correctly define the typedef (#5769) (4567cd4)
  • Add new guild features (#5755) (f7e420b)
  • Message: Fix content param in #edit not showing as nullable (#5748) (df9b678)
  • All the missing object -> Object changes (#5738) (b317d86)
  • Remove traces of StringResolvable (#5727) (678b7da)
  • Webhook: Update typings and docs for #editMessage (#5713) (256d1b0)
  • Message: Add example for message.reply (#5332) (7d7d2a5)
  • TextChannel: Warning about setRateLimitPerUser NewsChannel (#5403) (47bbdf4)
  • Fix InteractionDeferOptions typedef (#5694) (add924c)
  • ColorResolvable: Add Fuchsia to ColorResolvable typedef (#5676) (7d9818e)
  • Add new typedef to properly doc InteractionReplyOptions (#5632) (3589e0f)
  • Guild: Add proper punctuation to #fetchOwner jsdoc (#5645) (c8d20a4)
  • Correct casing of object -> Object in AuditLogChange (#5636) (ab82caf)
  • GuildChannelManager: Add stage option (#5608) (d219ecd)
  • MessageEmbed: MessageEmbedOptions typedef (#5466) (4a06dd1)
  • Update invite link, change version in the intro (#5592) (533c247)
  • VoiceState: #setRequestToSpeak and #setSuppressed returns a Promise instead of void (#5558) (705d7b3)
  • GuildChannelManager: Fix type options in description (#5440) (936516c)
  • ClientUser: #setPresence does not return a promise (#5485) (599f0f5)
  • GuildChannel: #members add cached spec, include voice (#5385) (e848d25)
  • BanOptions: Make days description more clear (#5327) (dedf432)
  • Update docs and examples for #4879 (#5323) (685b260)
  • GuildMember: Document owner override in permissions getter (#5320) (62ba249)
  • ChannelManager: Fetch can return Promise (#5422) (1c8b109)
  • Guild: Clarified description of guild.features (#5352) (941e36f)
  • BaseManager: Fix a typo in #resolveID description (#5180) (640a663)
  • BitFields: Remove string from BitFieldResolvable (#5122) (9ffcd83)
  • MessageEditOptions: Add the flags parameter (#5126) (2aea7dd)
  • RoleManager: Fetch description (#4920) (be0f383)
  • TextBasedChannel: Indicate that replyTo cannot be system (#5115) (5c4547e)
  • Permission overwrite methods descriptions (#5079) (77d4237)
  • Client: #emojis is a BaseGuildEmojiManager (#5048) (2685b96)
  • User: Fix typos in jsdoc (#5060) (09d0755)
  • WebSocketManager: Fix type of status (#5059) (9f3c3e0)

Features

  • Collector: Return a boolean on checkEnd (#6289) (f473f43)
  • Channel: Add isVoice() (#6297) (5b4efd1)
  • Constants: Added more error codes (#6234) (6b2098f)
  • MessageEmbed: Add setFields method (#6186) (a25e165)
  • ThreadChannel: Add fetchOwner() method (#6207) (331a9d3)
  • Util: Add SweptCollection for auto sweeping of caches (#6110) (dbb59ba)
  • WebhookClient: Allow creation of clients via URLs (#6192) (e000af5)
  • FetchRecommendedShardsOptions: Account for large bot sharding (#6184) (19b242a)
  • GuildAuditLogs: Add threads (#6195) (26ba0e1)
  • Guild: Add fetchWidget() for getting widget data (#6180) (b22272f)
  • ApplicationCommandOptionType: Add NUMBER (10) (#6128) (2f1cc1f)
  • CommandInteractionOptionResolver: Add sub-command required option (#6165) (690c121)
  • Sticker: Updates, sticker packs, and guild stickers (#5867) (54d6a3a)
  • GuildPreview: Add createdAt & createdTimestamp (#6130) (9f039a8)
  • CommandInteraction: Add CommandInteractionOptionResolver (#6107) (f293132)
  • Make Instance#fetch force true by default, and fix force parameter (#6116) (366f3c9)
  • REST: Append additional information to the required User Agent (#6112) (f200f14)
  • Client: Add conditional ready typings (#6073) (4206e35)
  • Allow channels from uncached guilds to be returned from fetch (#6034) (755c180)
  • Collector: Better types for events (#6058) (c0a814f)
  • Message: Add 'failIfNotExists' to ClientOptions (#6038) (28c5724)
  • LimitedCollection: Export LimitedCollection (#6043) (31d3129)
  • Client: Enforce passing scopes to generateInvite (#6024) (c6e5521)
  • Managers: ✨ Add GuildInviteManager (#5889) (9e08b02)
  • Managers: Add customizable caching for managers (#6013) (8c7cb0e)
  • InteractionCollector: Reworked to be more generic (#5999) (374c779)
  • PermissionOverwriteManager (#5318) (e7ad2fe)
  • Formatters: Added new URL utilities and docs (#6014) (98e45a5)
  • RoleManager: Added edit method, alias Role#edit (#5983) (1e73c25)
  • StageChannel: Add createStageInstance method & use better naming convention (#5951) (71fb33a)
  • Channel: Add isThread typeguard for better TS support (#5978) (b7ed675)
  • Util: Added formatters (#5976) (8c7a28f)
  • Interactions: Option to auto-fetch replies (#5831) (5e28ff8)
  • Interaction: Add guild guard (#5955) (87e8cdd)
  • Managers: New ApplicationCommandPermissionsManager (#5897) (6264c60)
  • MessageComponentInteraction: Component getter (#5840) (1439183)
  • MessageMentions: Add repliedUser (#5905) (2616125)
  • MessageSelectMenu: Droppybois (#5692) (e5fcf0b)
  • Api v9 and threads (#5570) (7346621)
  • InteractionCreate: Move to an Action handler (#5906) (ea49f7c)
  • Add missing APIError codes (#5898) (d930c81)
  • Interactions: Improve error handling for ephemeral responses (#5892) (bd9f56a)
  • Add APIError codes for stage instance (#5888) (c850ae1)
  • WelcomeScreen: Welcome screens (#5490) (44e2ee7)
  • Stage instance invite (#5856) (2d12db0)
  • Guild: Add enum for premium_tier (#5868) (a3cbcca)
  • *: Use enums for consistency and speed (#5843) (f7eeccb)
  • Widget: Wrapper for widget.json (#5619) (038ee99)
  • Stage instances (#5749) (918921e)
  • *: Document and support embeds field in message create endpoint (#5792) (99ff715)
  • Guild: Add enum for mfa_level (#5797) (ffabec3)
  • RequestHandler: Emit more info when a rate limit was hit (#5801) (18ac72e)
  • Add new APIErrors (#5794) (e0ab836)
  • Util: Allow array for StringOptions' char (#5566) (fbcbb29)
  • GuildAuditLogs: Make #target a channel for channel related logs (#5781) (eb0291d)
  • Sharding:* Contexts for broadcastEval (#5756) (c6aeebb)
  • Voice: Implement support for @discordjs/voice (#5402) (7b2e12b)
  • General component improvements (#5787) (c4f1c75)
  • GuildChannelManager: Add 'fetch' method (#4966) (e798fb7)
  • Rest: Optional ratelimit errors (#5659) (16f261e)
  • Promisified single interaction collection (#5770) (c2b3ed0)
  • Message: ApplicationID for interaction responses (#5765) (65dc00f)
  • Client: Make use of with_expiration in #fetchInvite (#5764) (bf191df)
  • Interactions: Add InteractionWebhook for better internals (#5712) (dec191a)
  • MessageComponents: Clickybois (MessageButton, MessageActionRow, associated Collectors) (#5674) (cbd7f2b)
  • Esm: Use gen-esm-wrapper instead of manually making the file (#5700) (db0d7d4)
  • Rest: Show the data that is sent to Discord when an errors occurs (#5701) (ef92339)
  • CommandInteraction: Make options a collection (#5705) (fdad140)
  • *: Enforce strings (#4880) (7b85a72)
    • BREAKING CHANGE: Removes all Resolvables for only string inputs
    • Co-authored-by: SpaceEEC spaceeec@yahoo.com
  • Message: Allow editing files into messages (#5718) (b212b64)
  • Easier guards for channelUpdate (#5716) (d52bcd4)
  • Add support for fetching multiple guilds (#5472) (48d6850)
  • Guild: Add the new nsfw_level property (#5660) (3fe7add)
  • InteractionDeferOptions (#5641) (ed593c9)
  • CommandInteraction: Ephemeral followup messages (#5618) (68b40dd)
  • GuildChannel: CreateInvite target options (#5514) (f831872)
  • MessageEmbed: Remove normalizeField validation (#5459) (ff2f737)
  • GuildMemberManager: Extend API coverage (#4872) (2e2464b)
  • GuildChannel: Make createOverwrite and updateOverwrite not dependent on cache (#5489) (58763b0)
  • MessageManager: Extend API coverage (#4869) (c56c4a8)
  • Message: Add ReplyMessageOptions for #reply (#5296) (7ce741d)
  • ShardingManager: Add options typings (#5583) (31b4390)
  • GuildChannel#clone: Support for position property (#5236) (d455cb6)
  • GuildBanManager (#5276) (6d09160)
  • APIRequest: Support setting global headers in HTTPOptions (#5586) (135abcc)
  • Message: Replace referencedMessage with fetchReference (#5577) (1398431)
  • Message: Allow removing attachments (#5557) (ca9e5a0)
  • Add support for application command events (#5596) (9f74f95)
  • Interactions (#5448) (f7643f7)
  • Sticker: Added Sticker (#4909) (026afc2)
  • Webhook: Add 'fetchMessage' method (#5530) (63398d6)
  • GuildManager: Allow system channel flags in create (#5504) (d9fa180)
  • Guild: SetChannelPositions parent, lockPermissions keys (#5507) (4866e26)
  • Webhook: SourceGuild, sourceChannel, improve owner (#5508) (116ecf2)
  • Guild: Allow description and features in edit (#5505) (8a059cc)
  • Util: Make cleanContent take a channel instead of a message (#5535) (f1c0c04)
  • Guild: Nsfw guilds (#5525) (5968323)
  • Guild: Replace owner with fetchOwner (#5480) (1be67b8)
  • GuildFeatures: Added the new screening features (#5328) (3c175cb)
  • MessageAttachment: Support for #contentType (#5481) (7b161f9)
  • SysChanFlags: New flag and rename in sync with client (#5506) (fe93a7e)
  • Move internal regular expressions to static properties (#5384) (207735c)
  • typings: Add ShardingManager.shardList to type definitions (#5446) (32b0d71)
  • typings: Explicitly type PremiumTier and Collectors (#5458) (7c49612)
  • Make changes to PresenceData typings and docs (#5317) (eb43ce4)
  • MessageTypes: Add 16 and 17 (#4685) (c9107e3)
  • GuildMemberManager: Add 'search' method (#4154) (0ba2bcb)
  • Stage channels (#5456) (eec7cf7)
  • Activity: Add missing fields (#4984) (63ff6a0)
  • Webhook: Add '(edit|delete)Message' methods (#5223) (7cabc1c)
  • Rest: Better handling of global rate limit and invalid request tracking (#4711) (9d2d606)
  • Application: Application flags (#5147) (06e9d86)
  • WebSocketManager: Let identify throw on depleted limits (#5283) (624a446)
  • Jsdelivr default file support (#5424) (f469402)
  • Client: Add InviteGenerationOptions#additionalScopes (#5215) (ae3c3d8)
  • ReactionCollector: Event create (#4108) (09d1f2f)
  • ShardingManager: Allow b-Eval/fetchClientValues on a specific shard when not all are ready (#5222) (001676c)
  • GuildChannel: Support conversion between text and news (#5022) (5ac3b57)
  • BitField: Move problematic bit into the error message (#5228) (273e955)
  • ClientEvents: Add tuple labels to event arguments (#5225) (764966e)
  • GuildMember: #pending (#5121) (c4c8171)
  • GuildEmojiManager: Implement GuildEmojiManager#fetch (#4933) (ffe3140)
  • Browser: Remove browser <20> (#5113) (0a591a9)
  • Role: Role tags (#4628) (d6234b7)
  • APIMessage: Remove disableMentions (#4836) (4107899)
  • GuildMember: Make GuildMember#setNickname first param nullable (#5070) (d70127c)
  • Message|TextChannel: Inline replies (#4874) (60e5a0e)
  • BaseGuildEmojiManager (#4934) (8d650a7)
  • Message: Added string type for message nonce (#4782) (4b555fd)
  • GuildMemberManager: Throw TypeError on incorrect GuildMemberManager#ban params (#4816) (863734a)

Refactor

  • Replace dependency with initial implementation (#6310) (d5e28c2)
  • Interaction: Rename defer to deferReply (#6306) (4241feb)
  • InteractionCollector: Only keep Ids of objects (#6084) (b639b6c)
  • Channels: Fix incorrectly shared properties (#6262) (5be471b)
  • Added TextBasedChannels type (#6286) (61db5f7)
  • MessageComponents: Default setDisabled to true (#6279) (3c7c822)
  • *: Use async functions (#6210) (e2e4f65)
  • GuildChannel: Use filter method for #members (#6253) (7c54076)
  • VoiceState: Change kick to disconnect (#6251) (24931d7)
  • Merge collections with keeping entries at max (#6242) (bb5e648)
  • Message: Accept a single object instead of 3 arguments (#6244) (434e330)
  • Move member adding to manager (#6231) (198a5c4)
  • Use guild-wide route for fetching active threads (#6193) (2a07055)
  • Remove extended collection (#6246) (00bae4f)
  • Strengthen channel typings in appropriate places (#6232) (65ae064)
  • Message: Make thread a getter for accuracy (#6215) (5f710ae)
  • Match subcommand (group) name casing with Discord's (#6204) (a69e2f7)
  • Only cache commands from own user (#6161) (4886ae2)
  • Message: Combine patch methods (#6071) (cd47a52)
  • CommandInteractionOptionResolver: Add readonly data property (#6156) (328501b)
  • OptionResolver: Accept single type instead of an array (#6154) (5addcd1)
  • Change const enums to interfaces (#6078) (63ce065)
  • ActionsManager: Less complex code (#6102) (4d53d0f)
  • Remove timer utilities from Client (#6113) (5ca97c9)
  • Remove typing caching (#6114) (576eee8)
  • Channel: Change channel types to UPPER_CASE (#6035) (6301728)
  • Managers: Rename add to _add (#6060) (9cd5e7e)
  • ApplicationCommandManager: Remove unused assignment (#6063) (98a5b52)
  • Rename Constants.OPCode to Opcode, moved objects to enums (#6065) (4eb3a2a)
  • PresenceManager: Have Presence extend Base and simplify add (#6056) (ded93fe)
  • Presences: Remove from User, nullable on GuildMember (#6055) (afbd5db)
  • Intents: Remove computed shorts (#6050) (3022b0f)
  • Remove lastMessage properties from User and GuildMember (#6046) (1a27f57)
  • typings: General cleanup (#6047) (676118a)
  • Change xID to xId (#6036) (a7c6678)
  • Improve typings and docs related to threads (#5991) (4bf4980)
  • Util: Make class extend null (#6000) (2446ff5)
  • Rename events to be consistent with WS names (#6010) (a11a105)
  • New node features (#5132) (1e8f012)
  • Presence: Remove second assignment of syncID (#5956) (fb8d516)
  • MessagePayload: Rename APIMessage (#5921) (b15d825)
  • Removed code and split options (#5918) (985d4d6)
    • Co-authored-by: Jan 66554238+vaporox@users.noreply.github.com
    • BREAKING CHANGE: Removed APIMessage#split
    • BREAKING CHANGE: Removed MessageEditOptions#code
    • BREAKING CHANGE: Removed BaseMessageOptions#code
    • BREAKING CHANGE: Removed BaseMessageOptions#split
  • Collector: Make filter an option (#5903) (0d0c8f0)
  • Remove exported shortcuts to util methods (#5904) (1816a93)
  • Package: Remove runkitExampleFilename (#5866) (6cceb93)
  • awaitMessageComponentInteraction: Use options object for lib consistency (#5852) (9dda9b7)
  • *: Make typedefs for all options params (#5785) (1ac9a2e)
  • GuildPreviewEmoji: Make roles an array (#5720) (4dbcaf7)
  • APIMessage: Remove unused declarations (#5836) (02693bc)
  • Fetch options consistency (#5824) (7111b4c)
  • GuildChannel: Use Permissions.defaultBit over 0n (#5822) (19d0405)
  • Remove all voice code (#5818) (fdef940)
  • MessageEmbed: Remove files (#5813) (e3e466d)
  • Guild: Remove region from guild and manager methods (#5766) (a1f763e)
  • Enforce single param on sending/editing methods (#5758) (0467a90)
  • GuildAvailable, typingStop from Constants (#4861) (dda5ee2)
  • Interactions: Move Structures import out of switch block (#5763) (84e5b07)
  • Remove _roles from pseudo-managers (#5721) (53d952a)
  • Deps: Use async-queue package (#5662) (14c6802)
  • *: Return the invalid element when erroring from Array (#5314) (eaf332f)
  • MessageOptions: Move replyTo to reply#messageReference and add failIfNotExists (#5298) (1ecda83)
  • Sticker: Rename Snowflake variable (#5575) (af00ec8)
  • RequestHandler: Use x-ratelimit-reset-after when present (#5511) (a5d41c9)
  • Remove error-silencing try/catch on event handler imports (#5542) (cdcc50f)
  • Sharding: Use options objects (#5510) (c9b5353)
  • Add discord-api-types as a dependency (#5539) (1b827fe)
  • Rename Snowflake to SnowflakeUtil (#5502) (164ddf6)
  • Guild: Remove fetchVanityCode() (#5471) (0a2e0c0)
  • Collector: Make endReason a getter (#5271) (8d14ee3)
  • Switch api and gateway to V8 (#4879) (ee5bc1a)
  • Client: Remove fetchAllMembers option (#5257) (aaed72b)
  • GuildMember: Remove GuildMember#hasPermission (#5152) (5401b92)
  • Util: Remove convertToBuffer (#5237) (a33eed7)
  • Message: Remove stored edit history (#5155) (8c2e6b7)
  • RoleManager (#5131) (2a0dcc5)
  • Message: Remove options for Message#delete (#4999) (75e6dfb)
  • Client: Improve generateInvite() (#5065) (5b51392)

Testing

  • Types: Add notPropertyOf type-only utility (#6051) (03fe6ee)
  • Client should destroy (#5353) (4099c28)

Typings

  • MessageButtonOptions: Clean up and export some button option type definitions (#6291) (ae6200e)
  • Make MessageTarget extend on TextBasedChannels (#6296) (5b0621f)
  • Caches: Add GuildStickerManager and GuildInviteManager (#6268) (15aea68)
  • Use api-types for stricter typings (#6230) (00c2bf8)
  • ButtonMessageOptions: Make button/link button typings more specific (#6212) (77c72e6)
  • WsEvents: Add thread ws events (#6194) (4f1f32f)
  • DataManager: Add 'K' to type parameter of 'resolveId' (#6152) (8586505)
  • ColorResolvable: Readonly tuple (#6153) (1e90be8)
  • Message: Mark #thread as nullable (#6129) (ef5ba05)
  • Options: Add types for cacheWithLimits (#6095) (8db6df3)
  • Interaction: Change inGuild return type (#6094) (60148c6)
  • PartialWebhookFields: Add APIMessage to deleteMessage union (#6085) (a9e7ebd)
  • Interactions: Fix function overloads (#6109) (98c6078)
  • Guild: Remove fetchVoiceRegions (#6099) (a8984bc)
  • Partial: Add partial reactions (#6066) (d6c43a5)
  • Test: Fix overloads for channel create (5b6be0c)
  • GuildInviteManager: FetchInvitesOptions (#6076) (c1eaa78)
  • Fixed unreachable overloads (#6062) (7322547)
  • ApplicationCommand: Fix option name (#6067) (58bbcd5)
  • *: Revert incorrect unknown type changes (#6057) (2e078e4)
  • Options: Should extend null (#6042) (c4aa9fe)
  • Voice: Move types to the library's definitions (#6041) (185e376)
  • Better fullPermissions typings (#6028) (2ab32e6)
  • MessageOptions: Fix components being optional (#6005) (56b5b7e)
  • *: Create mention types (#6003) (0dc5dd5)
  • VoiceState: Fix optional params (#5993) (1242c54)
  • ClientUser: Updated setAFK signature (#6011) (c40b06c)
  • MessageSelectMenu: Fix typings (#5995) (fe6cc0c)
  • Interactions: Fix function overload types (#5989) (521d26c)
  • Few missing thread channels (#5988) (941cd86)
  • MessageOptions: Improved component typings (#5987) (0eeb277)
  • ApplicationCommandPermissionsManager: Fix types (#5979) (388e05b)
  • ThreadChannel: Make locked and archived param optional (#5980) (a08ce7d)
  • *: Make hex color types compatible with ColorResolvable (#5973) (788d58e)
  • CommandInteraction: Readd followUp type (#5974) (ae37d20)
  • ThreadManager: Add type to ThreadManager#create options (#5969) (3174507)
  • ColorResolvable: Change string to #${string} (#5950) (acdcb90)
  • Define ApplicationCommand enums in lib (#5947) (e37ef3a)
  • Fix remaining Raw type references, update discord-api-types dep (#5942) (03d3a5c)
  • ThreadMemberManager: Fix incorrect usage (#5928) (6065b11)
  • MessageReactionResolvable: Add string (#5863) (a0b7d95)
  • GuildApplicationCommandManager: Allow undefined command (#5837) (d5bb758)
  • Corrected shard broadcastEval (#5834) (a0a56e2)
  • MessageComponentInteraction: Update should return Promise (#5829) (08cffd6)
  • Extendable: Add ButtonInteraction (#5802) (19fd162)
  • Extend MessageComponentInteractionCollector correctly (#5752) (c6696d8)
  • Fix awaitReactions typings for returned collection (43fc40e)
  • Change remaining string IDs to Snowflakes (#5737) (ff4d6dd)
  • Snowflake: Export the type (#5722) (66a6a1f)
  • Use Snowflake type (#5717) (76db642)
  • PermissionOverwriteOptions: Remove unused interface (#5651) (b40027b)
  • WebhookMessageOptions: Omit reply instead of replyTo (#5610) (2345c6d)
  • Remove typings for Client#disconnect event (#5469) (a4d09ab)
  • PermissionOverwrites: Use correct parameter type for resolveOverwriteOptions (#5302) (ca5f371)
  • MessageReaction: Allow message to be partial (#5303) (aac6275)
  • RateLimitData: Remove timeDifference property (#5208) (80e1afb)
  • Make Client#voice non-nullable (#5148) (40d77ba)

12.5.0 - (2020-11-22)

Bug Fixes

  • Guild: Fetch member if already in the guild (#4967) (643f96c)
  • User: Only assign to bot initially or if info is actually present (#4990) (eaecd0e)
  • GuildMemberUpdate: Cache incoming members & use partials if enabled (#4986) (2e940e6)
  • MessageReaction*Action: Correctly cache incoming members and users (#4969) (8b91ac5)
  • MessageReaction: Add client property to typings (#5003) (042e071)
  • Shard: Don't pass event arguments to exit handler (#4957) (adf2e87)
  • PackageLock: Reinstall GitHub docgen dev dependency (#4958) (ed8b3cc)

Documentation

  • Use npm ci instead of npm install (#4928) (efd7849)

Features

  • Shard: Shard-specific broadcastEval/fetchClientValues + shard Id util (#4991) (2a6c363)
  • Add support for guild templates (#4907) (2b2994b)
  • Add missing error codes (#5008) (7faa73a)
  • Message: Add crosspostable property (#4903) (b8fd3f6)

12.4.1 - (2020-10-24)

Bug Fixes

  • Action: Attempt to get a User if GuildMember not returned (#4922) (3d158f4)
  • GuildChannel: ParentID shouldn't be set in the constructor (#4919) (250c3ae)

12.4.0 - (2020-10-19)

Bug Fixes

  • Webpack: Revert webpack upgrade (94c9cc2)
  • esm: Add missing exports (#4911) (4bbe716)
  • GuildEmojiManager: Check for guild in methods that use it (#4886) (728b3f9)
  • GuildMember: Properly check permissions for hasPermissions (#4677) (7db6978)
  • GuildEmojiCreate: Prevent double fire from emoji creation (#4863) (6261dd6)
  • GuildMemberManager: Options.roles on 'prune' (#4838) (a45cc11)
  • GuildChannel: Default parentID to null (#4881) (6e4308b)
  • Actions: Avoid crash in InviteCreate with unknown channel (#4882) (dd12912)
  • GuildMemberManager: Use actually random nonce in fetch (#4884) (937153a)
  • GuildChannel: Make setTopic argument nullable (#4875) (b9ad510)
  • Rest: Resolved a regression, added retried AbortError (#4852) (d234165)
  • MessageManager: Throw if delete param is not MessageResolvable (#4825) (13d64e6)
  • Shard: Avoid caching null child in eval/fetchClientValue (#4823) (77c0788)
  • Action: Sanity-Check if Discord includes all required data (#4841) (4e79e39)
  • Message: Use Promise#reject instead of Throw on Message#delete (#4818) (1e63f37)
  • Action: Don't crash when partials are disabled (#4822) (8fa3a89)
  • Partials: Use more user objects available from the gateway (#4791) (eeb4c14)
  • lint: RESTManager warning (#4796) (5b39737)
  • Typings: Remove Partial types from some events (#4781) (a28754b)
  • Util: Throw token invalid for fetching rec. shard amount (#4779) (77b6a7d)
  • Guild: Cache fetched widget data (#4760) (7ba9440)
  • Typing: Change NodeJS.Timer into NodeJS.Timeout (#4755) (405b487)
  • Correctly import extendable classes (#4744) (6aab9c3)
  • typings: Bot cannot be null (#4719) (e0e2711)

Documentation

  • PresenceData: Add YouTube and remove application (#4910) (a7af4a8)
  • Role: Update various Role method descriptions (#4798) (222137d)
  • ReactionCollector: Revise JSDoc for ReactionCollector#dispose and #remove (#4709) (372a405)
  • Guild: Guild.setName() example (#4797) (dfd63bd)
  • GuildChannel: ThisType should be this (#4793) (b43e742)
  • MessageManager: Update example for fetchPinned (#4785) (8ac25d3)
  • BaseGuildEmoji: Account for optional properties (#4723) (a363b90)
  • ClientOptions: Fix typo (#4730) (cfc6867)
  • APIMessage: Fix wording on comment (#4717) (05c9e30)
  • Update jsdoc type for User#bot (#4716) (b6167d8)

Features

  • Message: Allow custom emoji format for react (#4895) (30808f9)
  • Message: Add messageEditHistoryMaxSize to limit stored msg edits (#4867) (c412cd7)
  • NewsChannel: Add support for following (#4805) (f83b3d7)
  • GuildManager: Add AFK and system channel options in create (#4837) (f2bbad3)
  • Rest: Switch queue to AsyncQueue (#4835) (32fe72f)
  • ActivityTypes: Add Competing (type 5) (#4824) (9c76129)
  • Message: Add support for crossposting (#4105) (bcb7c72)
  • Channel: Add isText() type guard (#4745) (b0ab37d)
  • Guild: Add includeApplications option for fetchIntegrations (#4762) (3141f7c)
  • UserFlags: Add renamed UserFlags (#4761) (f973163)
  • Client: Allow options for generateInvite (#4741) (727b29c)

Refactor

  • Improve the accuracy of docs/improve docs (#4845) (af670fc)
  • ReactionUserManager: Use client property (#4829) (169d4c3)
  • Client: Remove non-existant property from toJSON (#4750) (46acfac)

Styling

  • Remove unnecessary eslint comment (#4758) (74ebb65)

Typings

  • TextBasedChannel: Make lastPinAt nullable (#4842) (4a6fb9a)
  • Activity: Move flags from Presence to Activity (#4843) (824e922)
  • GuildPreview: Make description nullable (#4854) (0b59141)
  • Guild: Document RELAY_ENABLED feature (#4788) (422a4dd)
  • Don't use readonly arrays in interfaces (#4794) (904aecf)
  • PartialUser: Fix PartialUser remove deleted property (#4773) (aa25608)
  • Don't allow any object in the first parameter if second parameter is not given in TextBasedChannel#send (#4736) (74763ef)
  • Add all types for GuildAuditLogsEntry#target (#4738) (2dc70af)

12.3.1 - (2020-08-15)

Bug Fixes

  • User: Set User#bot to false if not partial (#4706) (db512d8)

12.3.0 - (2020-08-14)

Bug Fixes

  • Partials: Correctly set properties as nullable (#4636) (980243f)
  • APIMessage: Add reply user to allowedMentions (#4591) (b6ddd4c)
  • MessageReactionAdd: Prevent double messageReactionAdd triggering (#4682) (6caeaeb)
  • Integration: User might not be present (#4691) (baffbdb)
  • GuildChannel: Make lockPermissions use parent overwrites (#4627) (599cde3)
  • Collector: Support async (#4123) (124afeb)
  • BaseManager: Properly type valueOf (#4594) (b4d6510)
  • Correctly import VoiceState (#4616) (c5b6c4d)
  • ApiMessage: Respect allowedMentions with split (#4588) (a663ea4)
  • Message: Message#createdTimestamp uses deconstructed message id to get timestamp (#4632) (2be68e4)
  • Util: Support empty array for flatten (#4590) (317f240)
  • Consider #nsfw false if not present in data (#4593) (fab3153)
  • PresenceStatus: Include invisible in typings (#4585) (276dddc)
  • Set #nickname to null as the default value (#4641) (2adb581)
  • Typings: Channel#delete returns bad type (#4118) (3df9993)
  • Message: Include MessageEmbed type (#4675) (bbfc715)
  • typings: Correct spelling of APIError (#4687) (c55b5c8)
  • Util: Fix cleanContent mention exploit (#4663) (fb1dd6b)
  • typings: Allow custom events (#4162) (47151fc)
  • User: Type dmChannel as nullable (#4609) (f9f3661)
  • Typing start event emitting on non text based channels (#4349) (16847a3)
  • Guild: Fix vanityURLUses desc, internally use fetchVanityData (#4335) (1c275af)
  • DataResolver: ResolveInviteCode to support new domain (#4281) (5955498)
  • Grammatical errors in INVALID_TYPE errors (#4289) (fc4bddf)
  • APIMessage: Only pass allowedMentions if content is defined (#4269) (15b5350)
  • In/de-crement max listener for client events (#4168) (407bc77)
  • Voice: Correctly set speaking data in the voice ssrcMap (d3c9384)
  • MessageEmbed: Explicitly mark proxyIconURL as undefined (#4097) (605ee85)
  • Typing: DmChannel bulkDelete (#4115) (819e04a)
  • Typing: SetSpeaking public (#4109) (e3303ac)
  • Webpack: Add Buffer polyfill in browser (#4102) (67a74c3)
  • Guild: Name acronym (#4104) (97cbbb1)
  • PacketHandler: Guild members chunk packet handler should… (#4092) (5af1a55)
  • Typings: Add optional Set to shardReady event (#4099) (97d23de)
  • User: Jsdoc for User#flags (#4094) (6fbaf0a)

Documentation

  • Updated applications URL (#4699) (0b38c5d)
  • ReactionCollector: Update remove and dispose events (#4136) (139e56c)
  • Embeds: Added descriptions to the typedefs (#4303) (2a7f749)
  • Constants: Improve large_threshold description (#3744) (de8d26d)
  • Ban: Days must be 0-7 (#4693) (446bbfe)
  • Welcome: Change discord badge to shields.io for consistency (#4633) (bd2bb0e)
  • Client: Fix docs for login method (#4350) (9d747d1)
  • Guild: Clarify vanity URL documentation (#4125) (05cbf70)
  • CategoryChannel: Fix children being incorrectly marked as nullable (#4620) (f628981)
  • examples: Fix example img (#4678) (755f379)
  • ReactionManager: Clarify cache Collection keys type (#4683) (5b716c5)
  • Message: Add NewsChannel type to Message#channel (#4680) (b0e53e9)
  • Make use of MessageResolvable type for bulkDelete (#4661) (0e61fca)
  • erlpack: Discordapp to discord (#4288) (9a1c56c)
  • Guild: Description of Guild#premiumSubscriptionCount (#4324) (bd34965)
  • GuildManager: Resolve returns a GuildChannel (#4333) (88a62d5)
  • WebSocketShard: Add missing properties (#4268) (2583ad5)
  • ShardingManager: Fix typo in JSDoc (#4158) (766b91d)
  • ShardingManager: Remove experimental status of Worker threads (#4157) (99612ba)
  • VoiceState: Remove permissions required from description (#4156) (2617d3c)
  • Message: Add timeout to Message#delete example (#4090) (863a709)

Features

  • Trigger userUpdate on GUILD_MEMBER_UPDATE (#4697) (178439e)
  • GuildMemberManager#prune: Roles query param (#4142) (f1194af)
  • GuildManager: Adds GuildManager#fetch (#4086) (2742923)
  • typings: Use readonly arrays in parameters (#4692) (f451be0)
  • typings: Add number type for setExplicitContentFilter method (#4694) (e7eda72)
  • Bypass cache check with forceFetch param (#4592) (290938b)
  • BitField: Add problematic bit to error (#4617) (0225851)
  • Guild: Updates for Community guilds (#4377) (57ca3d7)
  • Guild: Discovery splash (#4619) (5be6630)
  • types: BitFieldResolvable use ReadonlyArray (#4604) (f2f31a1)
  • Deprecate GuildEmbed methods and properties in favour of GuildWidget (#4121) (e92cbc4)
  • GuildEmoji: Cache the author (#4334) (b7740d4)
  • Util: Add missing colors to docs (#3843) (03580b2)
  • Add Blob support for browser (#4338) (1fbaf88)
  • typings: TypeScript support for changing $browser (#4667) (e54c21b)
  • Module: Add ReactionManager to exports (#4372) (2b6e6d8)
  • Message: Support pin and unpin with reason (#4586) (c79ac4d)
  • MessageMentions: Fix typings/docs, add resolvables support (#4339) (214981f)
  • voiceState: Add self_video property (#4346) (54a7fda)
  • Guild: Add fetchVanityData (#4103) (8030612)
  • REST: Allow options.query as URLSearchParams (#4143) (257371d)
  • GuildMemberManager: Nonce and chunk_count for _fetchMany (#4130) (ec0227a)
  • Guild#fetch: WithCount param (#4111) (0266917)

Refactor

  • GuildMemberManager: Use data instead of query (#4370) (49ad279)

Typings

  • Add User#fetchFlags (#4138) (6367f60)
  • User: Mark locale and flags as optional (#4127) (46b9e25)

12.2.0 - (2020-04-17)

Bug Fixes

  • PermissionOverwrites: ResolveOverwriteOptions description (#4088) (d709656)
  • Guild: Sort text, news, and store channels together (#4070) (fcacf1b)
  • Typings: GuildPreview#features and Integration#type (#4080) (72a33cb)
  • ClientApplication: Type fetchAssets as resolving with an a… (#4078) (72a7f2b)
  • StreamDispatcher: Correct property types (#4059) (9ba4eff)
  • BaseManager: Remove declaration of remove method (#4069) (a07c3c2)
  • Message: Update MessageMention's roles on message edit (#4016) (9e4c39a)
  • Presence: Add missing userID property to declarations (#4013) (691e96c)

Documentation

  • RoleManager: Everyone role can't be null (#3995) (a88b723)
  • Webhook: Id and token information (#3962) (da5d928)
  • MessageEmbed: Document the constructor (#4077) (4625881)
  • MessageManager: Document return type of delete (#4012) (4c2308b)
  • ShardClientUtil: Link Shard#message from send method (#4028) (7ce58db)

Features

  • DataResolver: Prefer streams over buffers (#4075) (12187ef)
  • ClientOptions: Allow setting default allowedMentions (#4085) (7c6000c)
  • ESModules: Importing for esm modules (#3998) (0a3759f)
  • GuildMemberManager: Customisable timeout for _fetchMany (#4081) (ff3454e)
  • User#flags (#4060) (2e5a647)
  • Message: Add allowedMentions to MessageEditOptions (#4071) (a8db988)
  • Add supported 4096 image size and jpeg format (#4031) (1330e2d)
  • Guild: PUBLIC_DISABLED and WELCOME_SCREEN_ENABLED features (#4009) (849c632)

12.1.1 - (2020-03-27)

Bug Fixes

  • Typings: Use Channel instead of *ChannelTypes in ClientEve… (#4001) (5e49126)

12.1.0 - (2020-03-27)

Bug Fixes

  • WebsocketShard: Pass ignore ACK when Discord asks for a beat (#3993) (65e8c92)
  • Typings: Client message event should not emit PartialMessa… (#3983) (f2fdb93)
  • Always emit guildUnavailable when a guild becomes unavailable (#3975) (2157401)
  • TypingStart: Typing methods returning falsy values (#3939) (495cfa9)
  • Guild: Default max presences value (#3970) (0f38d80)
  • Partials: Correctly document properties for partialized st… (#3922) (8b906c6)
  • Channel: Ensure partial DMChannels get created (#3954) (8c0a940)
  • MessageReaction: Fetching a removed partial custom emoji (#3955) (a36a65b)
  • RequestHandler: A global timeout implies limited (#3950) (7b38f46)
  • Util: CleanContent should remove mentions after formatting… (#3936) (44ac5fe)
  • GuildMemberRolesManager: Type error should mention Role an… (#3931) (e5264ab)
  • GuildEmojiManager: Throw an error if image resolving fails (#3934) (ca75eb5)

Documentation

  • MessageMentionTypes: Move possible values to description (#3990) (fee9a21)
  • MessageReaction: Fix jsdoc for count (#3980) (993411d)
  • VoiceState: Improve phrasing of setChannel method (#3959) (cd52424)
  • MessageEmbed: Correct description of createdAt (#3897) (a5267e1)
  • PlayInterface: Update example for broadcast (7994b56)

Features

  • GuildPreview: Implement support for "preview" endpoint (#3965) (88133d0)
  • AllowedMentions: Add support for MessageOptions#allowedMe… (#3893) (df324e2)
  • Permissions: Adds VIEW_GUILD_INSIGHTS (#3928) (5b9cdc5)
  • typings: Allow event listener type param inference (#3944) (2be9eba)
  • Types: Support type-guarding using Channel#type string li… (#3918) (69d69f2)

Typings

  • Add back accidental removal (#3984) (5da734c)
  • Partials: Fix unexpected TSC errors (#3957) (a660515)
  • StreamDispatcher: Remove end event (#3945) (609a545)
  • PartialTextBasedChannelFields: Fix send overload (#3942) (a53404f)
  • PartialTextBasedChannelFields: Fix send overloads (#3935) (d43f78c)
  • Client: Remove typingStop event (#3919) (5b8f022)

12.0.2 - (2020-03-08)

Bug Fixes

  • APIRequest: Only use form data when actually sending files (#3917) (a4f7e07)
  • MessageEmbed: Skip validation of fields when inside a message (#3894) (3e169cb)
  • Guild: Resolve role id and call existing handler (#3904) (f387337)
  • Adapt #manageable to check for CONNECT for VoiceChannel (#3885) (61ef46f)

Documentation

  • Structures: Add ExtendableStructure typedef (#3908) (79a28b5)
  • Make collections more accessible in docs (#3907) (b5dfb55)
  • GuildMemberResolvable: An member -> a member (#3909) (3c653aa)
  • BitField: Document constructors of deriving classes (#3903) (bca4b03)
  • sharding: ShardingManager#createShard doesn't spawn the s… (#3875) (b5a7e5c)
  • faq: Replace ffmpeg-binaries with ffmpeg-static (#3886) (bfcd4be)

Performance

  • VoiceConnection: Skip redundant volume transformer on join (#3916) (69d4153)

Testing

12.0.1 - (2020-03-01)

Bug Fixes

  • guild: VerificationLevels (#3873) (66e625c)
  • message_mentions: Lazy require GuildMember to avoid circular (#3877) (cd746f3)

12.0.0 - (2020-03-01)

Documentation

  • Clarify which checks GuildMember#manageable does (#3870) (2d67fbb)
  • PartialRoleData: Id is optional (#3866) (c7f4485)

Features

  • Document intent error code messages (#3871) (f4b1b39)

Refactor

  • Make LimitedCollection an implementation detail (#3872) (544bb78)

11.6.1 - (2020-02-29)

Bug Fixes

  • playinterface: Lazy require VoiceBroadcast to avoid circul… (#3864) (713309e)
  • typings: Enum values for ChannelType (#3861) (acdd832)
  • typings: Remove duplicate VerificationLevels (#3862) (09e4912)
  • typings: For intents (#3860) (a6d3501)

Documentation

  • Bump version to 11.6.0 (#3863) (34d352d)

11.6.0 - (2020-02-29)

Bug Fixes

  • guild: Import paths (d9e12b8)
  • MessageEmbed: Prevent possible destructuring error (bbe169d)
  • Shard: Cleanup after settling spawn promise (#3799) (f95df6f)
  • typings: MessageOptions#split (#3834) (cf646b5)
  • Client#sweepMessages should throw an INVALID_TYPE error (#3828) (0280734)
  • MessageEmbed: Various typos and fixes (#3819) (52c0a40)
  • ReactionManager: Update message if partial (#3789) (bc5e295)
  • Message: Handle undefined/null content in cleanContent getter (#3778) (a36f386)
  • Guild: Use snake case when editing system_channel_flags (#3781) (878cc05)
  • BaseManager: BaseManager#valueOf should return cache (#3776) (62b227c)
  • TextChannel: Remove old nsfw regex check (#3775) (324d9e0)
  • Guild: Update premiumSinceTimestamp on guild member update (83bc6e0)
  • GuildMember: Manageable - let owner override (#3766) (364914f)
  • GuildMember: Manageable - let owner override (#3765) (3f03901)
  • Voice:* Fix speaking event and voice receive (#3749) (fbcd363)
  • Remove for..in in favor of Object.keys (#3745) (6d7e1e4)
  • TextChannel#bulkDelete: Use GenericAction#getMessage to handle return value correctly (#3664) (d8b4725)
  • ClientUser: Verified and enabled properties resetting (#3733) (3ea9ac5)
  • *Collector: Always run postCheck, remove 'translatation' of message collector options (#3718) (099a1a4)
  • RichPresenceAssets: Add Twitch preview link for largeImageURL (#3715) (a505a55)
  • Only setMaxListeners when max listeners is not 0 (#3716) (903f6ca)
  • ClientDataResolver: Return a user in resolveUser when passing guild (#3719) (464ef25)
  • VoiceConnection: Use Client#clearTimeout to clear timeouts (#3709) (c5d2b96)
  • Presence: Account for multiple activities everywhere (#3703) (f501d06)
  • Regression (changing voice servers) (629c57f)
  • Guild: Assign GuildMember#selfStream, if present, when adding a member (36c0496)
  • ShardingManager: Assert shardList to be spawned, not totalShards (#3649) (400cb56)
  • BitField: Remove for..in in favor of Object.entries (#3650) (11f9118)
  • Provide count on bulk deletion (#3682) (59205a2)
  • typings: Remove VoiceChannel#connection (#3676) (f74ae12)
  • ChannelDelete: Mark messages of a deleted channel as deleted (#3572) (d1d0d75)
  • Voice:* Internally disconnect and cleanup when forcibly disconnected (#3597) (cbabc16)
  • Webhook: Edit channel when editing avatar (#3588) (e660ea9)
  • APIRouter: Use proper symbol for util.inspect (#3589) (1003607)
  • Invite: Fix valueOf returning undefined (#3582) (d39f179)
  • *Collector: Account for a max listener count of 0 (#3504) (2e20e80)
  • VoiceConnection: Clear timeouts using Client#clearTimeout (#3553) (9bcb6a0)
  • VoiceReceiver: Delete opus encoder from map in stoppedSpeaking (#3499) (91600a6)
  • Document ChannelData#reason (#3549) (7011c51)
  • Message: Check for edited_timestamp in data when patching message (#3535) (9e0705c)
  • docslink: Partialtypes (#3510) (c3228b4)
  • Set messages deleted when their channel is deleted (#3519) (48856c0)
  • Util: Make arraysEqual avoid mutating the input arrays (#3506) (8ddd061)
  • typings: GuildChannel#parent and #parentID are nullable (#3509) (2a78b00)
  • typings: GuildChannel#parentID is nullable (#3508) (e936f07)
  • GuildChannelStore: Default channel type incorrectly set (#3496) (a03e439)
  • BitField: Throw when resolving invalid string constant (41c0dd4)
  • stores: Add symbol.species for not-actual-stores (#3477) (60f89bd)
  • Typings for this-polymorphism of collections (#3472) (d5831df)
  • typings: Remove leftover typeof (ea9e144)
  • typings: Collection constructor (33ecdd4)
  • typings: Collections import (ac44a7f)
  • rate-limits: Reactions buckets need to be shared with sub-… (#3439) (278f185)
  • Role: Throw TypeError in comparePositionTo (#3466) (8e0f525)
  • Browser-compatability (4fc461c)
  • Util#splitMessage when destructured (#3456) (5d95a4b)
  • typings: Partially revert #3448 (89d9b0f)
  • GuildAuditLogsEntry: Default to object with id for deleted targets (#3373) (43c0a79)
  • ChannelStore: Return existing DMChannels within add() (#3438) (2a3fb70)
  • GuildMemberStore#_fetchMany (#3420) (cc488a8)
  • Webhook: Return raw data if the channel is unavailable (c786867)
  • ReactionUserStore: Remove method firing messageReactionRemove event twice (#3277) (1851f74)
  • GuildMemberRoleStore: Correctly reference the everyone role (#3434) (12b48b7)
  • Message: Delete method caused messageDelete event to fire twice (#3252) (8ae7a30)
  • Bots being unable to connect (f79f024)
  • GuildMemberStore: Reject BAN_RESOLVE_ID error instead of throwing it (#3425) (9e76f23)
  • typings: Send overloads (d14db52)
  • GuildChannel: Return GuildChannel in setPosition instead of Guild (1121b2f)
  • Update issue templates (651ff81)
  • ClientApplication: Fix ternaries (b65a4f0)
  • ClientApplication: Owner is still nullable (1dd4c04)
  • Guild: Allow fetchMember to be used with an uncached user (#3333) (6f49aad)
  • docs: Backport documentation for Presence#clientStatus (#3315) (0c61019)

Documentation

  • readme: Remove mention of uws (08e7328)
  • TextBasedChannel: Fix typo (#3858) (a04b4ca)
  • shard: Add .cache to GuildManager in fetchClientValue exa… (#3857) (31ee0d8)
  • MessageEmbed: Document article embed type (#3846) (31a3a86)
  • SystemChannelFlags: Properly document and use resolvable (#3794) (d406f42)
  • MessageAttachment: Mark spoiler as readonly, order spoiler in typings (#3714) (ccb83a7)
  • WSEvents: Add missing, remove duplicated and userbot events (#3800) (c4c6ad4)
  • PermissionResolvable: Move definition outside of class (544b14a)
  • Clarify what zlib-sync does (#3785) (21d37ed)
  • Guild: Channels is a manager of channels (#3779) (d43692b)
  • Info tag for ActivityType regarding CUSTOM_STATUS (#3758) (b7ccf9a)
  • Info tag for ActivityType regarding CUSTOM_STATUS (#3757) (3f8ea38)
  • Add extends to ChannelManager, cache is not nullable, resolveID accepts an object (#3771) (94bb268)
  • *Manager: Fix child classes' cache type annotations (#3777) (92bc634)
  • Guild: FetchBan returns a promise (#3752) (8e9e93d)
  • MessageMentions: Backport mention order notice (#3712) (d8419ac)
  • MessageMentions: Channels are actually in order (#3705) (6302afb)
  • Replace all occurances of node-opus with @discordjs/opus (#3698) (6a0fe46)
  • MessageMentions: Add sort order notice (#3693) (7f99be7)
  • ReactionStore: ResolveID takes a reaction, not role (#3617) (1237133)
  • Client: Clarify whose ToS are being violated (#3580) (1d66062)
  • README: Link to guide page instead of source (#3566) (1352bff)
  • README: Travis badge => github actions badge (#3569) (9a31e6e)
  • NewsChannel and StoreChannel (#3557) (cc466fa)
  • readme: Table of contents (#3539) (e26697f)
  • VoiceStatus: Document name -> value, link in VoiceConnection#status (#3500) (1861352)
  • VoiceStateUpdate always sends an instance of VoiceState (#3537) (a61cfc3)
  • Rename LURKABLE to PUBLIC and update GuildFeatures type (#3484) (ea8b4e7)
  • Document Message#author as nullable (#3464) (d252ddf)
  • ClientOptions: Document unit of restRequestTimeout (#3449) (4c08812)
  • Fix voice broadcast example code (#3436) (3fcc862)
  • Guild: Add missing features (#3406) (e562564)
  • Fix typos (#3404) (d8516ef)
  • VoiceStateStore: Document and type the class (#3294) (20d7b3d)
  • Team:* Fix appliction -> team, tag -> mention (4c11347)
  • Add zucc to docsite welcome page (#3355) (61e2e3e)
  • RoleStore: Update -> create in create method (#3349) (6100ace)
  • Presence: Document client property (#3342) (f82f0af)
  • Client: FetchVoiceRegions returns a promise (6cd4c27)
  • Guild: Add missing features (#3336) (19ef451)
  • *Resolvable: Make them appear on the docs (4a2335c)
  • Constants: Add missing GUILD_EMOJIS_UPDATE to WSEvents (#3325) (ddcc6cf)

Features

  • Intents bitfield (#3844) (8a2f893)
  • MessageEmbed: Support EmbedFieldData[] instead of EmbedFi… (#3845) (6650d50)
  • Reimplement disableEveryone into disableMentions (9c8aaf1)
  • GuildMemberStore: Add options.withPresences to fetch() (#3562) (de4b4a0)
  • GuildManager: Allow for more options for GuildManager.cre… (#3742) (2ee0f1c)
  • RichEmbed: Add toJSON returning an api-compatible object (97457e1)
  • RichEmbed: Backport spliceFields and normalizeField (#3762) (6eaf63f)
  • MessageEmbed: Re-introduce MessageEmbed#addField (#3850) (df88729)
  • Replace disableEveryone with disableMentions (#3830) (9cb306c)
  • GuildEmoji & Invite to GuildResolvable (#3637) (91a025c)
  • Collector: Addition of resetTimer() (#3825) (acf724e)
  • GuildAuditLogs: Handle new event types (#3602) (a69ebbe)
  • MessageEmbed: Change toJSON method to return an api-compatible object (#3813) (4ec01dd)
  • Bring embed builder field manipulation in line with underlying array functionality (#3761) (b727f6c)
  • PartialGroupDMChannel: To support Invite#channel for group dms (#3786) (161f907)
  • Guild: Add rulesChannel and publicUpdatesChannel (#3810) (b0aed05)
  • Guild: Add rulesChannel and publicUpdatesChannel (#3810) (bea6da6)
  • Add new MessageTypes (14 and 15) (#3812) (b0d0b81)
  • Message:* Add missing fields, add support for flag editing (#3795) (7e9c995)
  • Guild: Add support for system channel flags (#3793) (330c410)
  • GuildChannel: Add support for clone options, deprecate old signature (#3792) (ab866d6)
  • Add new MessageTypes (14 and 15) (#3812) (ef8acec)
  • Message: Add support for flag editing / embed suppression (#3674) (46ee06b)
  • Message: Throw a TypeError if delete is passed a non-object (#3772) (592021d)
  • BitField: Add BitField base class (#3759) (46e8bc4)
  • GuildAuditLogs: Handle new event types (#3760) (dbdb49e)
  • Remove datastores and implement Managers (#3696) (bbdbc4c)
  • Integration: Add guild integrations (#3756) (c955fd0)
  • Constants: Add CUSTOM_STATUS to ActivityTypes (2589db6)
  • Presence/Game: Multiple activities and custom status (#3747) (17b8b23)
  • Collector: Add idle option (#3746) (ccd6043)
  • MessageReaction: Add remove method and Client#messageReactionRemoveEmoji (#3723) (030d263)
  • MessageReaction: Backport removeAll and MessageReactionRemoveEmoji event (#3741) (ab7f9e8)
  • GuildMemberStore: Make timeout refresh after every GUILD_MEMBERS_CHUNK (#3645) (90aa5b3)
  • Webhook: Backport missing properties (#3710) (30adb37)
  • MessageReaction: Backport animated, client, created*, and url (#3711) (88b675d)
  • MessageAttachment: Add spoiler getter (#3713) (4ca1864)
  • Client: Add support for INVITE_CREATE and INVITE_DELETE events (#3720) (929ff9c)
  • Client: Backport INVITE_CREATE and INVITE_DELETE events (#3728) (40afbc1)
  • Guild: Add fetchBan method (#3726) (c779fe3)
  • Guild: Add setBanner method and banner to edit (#3708) (01826ae)
  • Message/Mentions: Implement caching of members (#3684) (0f49d67)
  • Collectors: Make collectors auto-stop when relevant structures are deleted (#3632) (cbb8db3)
  • Use updated eslint action (#3699) (d096e40)
  • Presence: Add support for multiple activities (#3661) (ee0b7c1)
  • Constants: Backport VerificationLevels and missing APIError codes (#3688) (07996d1)
  • Dynamic property for ImageURLOptions (#3530) (8014ddc)
  • Speaking: Add PRIORITY_SPEAKING bit (#3680) (b5825c3)
  • Webhook: Add ability to change channel and specify reason to edit (#3587) (fbe9bc4)
  • Permissions: Add any method (#3571) (367c800)
  • Partials: Add DMChannel/MessageReaction#fetch() and PartialTypes.REACTION (#3474) (6af0da1)
  • RichPresenceAssets: Add Twitch preview link for largeImageURL (#3655) (bf31b28)
  • MessageMentions: Cache mentioned members (#3601) (97eac66)
  • Webhook: Add type property and created* getters (#3585) (ea76a56)
  • Widen GuildResolvable to include more structures (#3512) (b4f00bf)
  • Guild: Add systemChannelFlags (#3559) (f578cce)
  • Add new MessageFlags.FLAGS & User#system (#3603) (4378283)
  • Webhook: Addition of Webhook#avatarURL function (#3625) (330d5db)
  • Activity: Support for CUSTOM_STATUS activity type (#3353) (2ca74d6)
  • GuildAuditLogs: Add new event types (#3584) (1bcc0c2)
  • MessageAttachment: Add spoiler property (#3561) (38d370f)
  • GuildMember: Add selfStream (#3522) (96037e1)
  • GuildMember: Filter out duplicate roles when updating (#3502) (f91ad70)
  • VoiceState: Add VoiceState#streaming (#3521) (a8f06f2)
  • GuildChannel: Backport permissionsLocked getter (#3507) (2610bf5)
  • External collection package (#2934) (dad0cd8)
  • constants: Add verificationLevels (#3369) (37ecf7b)
  • Partials: Add DMChannel/MessageReaction#fetch() and Parti… (#3261) (b0047c4)
  • Guild#partnered (#3444) (6f83e71)
  • VoiceState: Add kick method (#3462) (c86a615)
  • Permissions: Add new method Permissions#any (#3450) (a6810e2)
  • typings: Reply overloads for splitmessage (c5cbf86)
  • Abort Requests that takes a lot of time to resolve (#3327) (e4309b2)
  • Invite: Add targetUser(Type) (#3262) (d62db23)
  • Util: Fix animated part of parseEmoji regex and make id optional (#3407) (b662678)
  • Collector: Allow collectors to be consumed by for-await-of loops (#3269) (6d3c55b)
  • Overload for split always returning an array (#3411) (5af8cb8)
  • Util.splitMessage always return an array (#3035) (e645dd6)
  • typings: Constants export (#2915) (547bf83)
  • Collector: Add idle time for a Collector to stop itself (#2942) (f1433a2)
  • Teams: Backport support for teams (#3357) (0cd7556)
  • Guild: Add banner to edit method and add setBanner method (#3364) (adb0823)
  • Teams support (#3350) (a22aabf)
  • Emoji: Backport delete method (#3343) (c355236)
  • Guild: Add support for premium/boosting (#3332) (b892436)
  • Guild: Backport misc properties and setRolePositions (#3337) (e6a378b)
  • Guild: Default iconURL to gif if animated (#3338) (1bec28b)
  • Guild: Add setRolePositions method(#3317) (8bc8ffe)
  • Add support for premium guilds (#3316) (c877580)

Refactor

  • GuildChannel: Change overwritePermisions to accept an… (#3853) (e4f567c)
  • Add some more consistency (#3842) (1af1e0c)
  • Remove unused error in catch statements (#3820) (0a1b9a5)
  • MessageEmbed: Simplify initialization of files property (#3814) (b347e9e)
  • VoiceChannel: Use Permissions.FLAGS in speakable (#3780) (562b5bf)
  • Remove util alias export (#3691) (53a1f8f)
  • TeamMember: Remove client from constructor (#3409) (ab27dd0)
  • Move Guild#defaultRole to RoleStore#everyone (#3347) (2df4f22)
  • Util.escapeMarkdown: Allow separate escaping and add tests (#3241) (00c4098)
  • TeamMember: Make id a getter (d7b2146)

Styling

  • Change let to const in MessageMentions (#3483) (d280d1b)

Typings

  • Refactor how channel types are done (#3808) (d33fc74)
  • WebhookClient: Client is not a client (#3838) (6109669)
  • WebhookClient: Client is not a Client (#3829) (44ff67d)
  • MessageEmebd: Fix typings for addFields (#3821) (54f24d1)
  • MessageEmbed: Properly mark properties (#3822) (967b533)
  • MessageEmbed: Add interfaces for props, fix copy constructor (#3492) (e57ef25)
  • Invite: Channel can be a PartialGroupDMChannel (#3823) (28490e8)
  • AddGuildMemberOptions: Change accessToken from String to string (#3815) (ecd8ccc)
  • Constants: Add VerificationLevels (#3811) (f6075a6)
  • Guild: Mark afkChannel* & applicationID as nullable (#3805) (f852308)
  • Add invite events to WSEventType and constants (#3782) (6770c7c)
  • GuildMemberManager: Fetch with no parameters returns collection (#3773) (149f72b)
  • Add HTTPOptions#api and export Constants as a value (#3768) (fe7df70)
  • Constants: Add CUSTOM_STATUS to ActivityTypes (a12e1e8)
  • TextChannel: Topic can be null (#3687) (17237c7)
  • RichPresenceAssets: *ImageURL's options are optional (#3727) (877577b)
  • GuildEmoji: Id isn't nullable (#3694) (69c79a4)
  • VoiceBroadcast: Add subscribers property (#3677) (45cd58b)
  • Fixed build error (#3689) (62afafd)
  • BaseClient: Remove delay parameter from setImmediate (#3667) (a53d865)
  • GuildEmoji: Make url not-nullable (#3656) (155b682)
  • ShardingManager: Add options.shardList (#3657) (c734979)
  • Bitfield: Add hasParams to toArray, fix serialize's type (#3579) (fc27ce1)
  • TextChannel.topic & NewsChannel.topic should be nullable (#3628) (e13b3f5)
  • Extendable: Add missing channels (#3581) (7d74e7e)
  • Bitfield: Use IterableIterator instead of Iterator (#3599) (f56b442)
  • GuildAuditLogsFetchOptions: Specify concrete type of 'type' property (#3586) (cbde819)
  • Util: Use StringResolvable (fixes old pull) (#3556) (99466a9)
  • GuildEmoji: Restore deletable, remove inherited property deleted (#3543) (16db92e)
  • Emoji: Remove deletable, add deleted, mark nullable props (#3542) (ca1bd61)
  • Optional reason for setNSFW and add deleted properties (#3505) (a8e3657)
  • Mark GuildMember#nickname as nullable (#3517) (94ce19d)
  • Mark GuildMember#nickname as nullable (#3516) (3458693)
  • Add missing rateLimitPerUser property (#3480) (7485550)
  • Make TypeScript interaction with channels better (#3469) (d05334f)
  • GuildChannel: Add members getter (#3467) (4072ffb)
  • Client: Remove 'resume', add 'replayed' parameter to 'shardResumed' (#3455) (9e6a73d)
  • DataStore: Correct return types for resolve, resolveID and remove (#3448) (745a0ea)
  • Switch overloads of RoleStore#fetch (#3397) (7fae6e5)
  • Guild: Add typings for setRolePositions (8e18572)
  • GuildChannelStore: Add CategoryChannel as possible return value (#3326) (e87e4a6)

11.5.1 - (2019-05-29)

Bug Fixes

  • Decode voice ws data as json (8652e47)
  • StreamOptions#volume typings (#3303) (d34b624)
  • Delete VoiceStates even for uncached members (db56e0c)
  • Message#pinnable: You can't pin system messages (#3279) (8c213e9)
  • Message#pinnable: You can't pin system messages (#3279) (abebeac)
  • GuildMember: Do not create a channel key when editing (06b72ee)
  • GuildMember: Do not create a channel key when editing (3ad16fa)
  • typings: Guild#member can return null (#3274) (97de79b)
  • READY: Do not overwrite Client#user when reidentifying (1bafa4b)
  • WebSocketManager: Rethrow unknown errors when connecting a WebSocketShard (16fcfa3)

Deprecation

  • Explicitly mark everything deprecated as @ deprecated (#3307) (db492e6)

Documentation

  • StreamDispatcher: Specify pausedTime is in milliseconds (#3295) (34006cb)
  • ChannelCreationOverwrites: Revert incorrect rename of "id" property (#3273) (e3d03ad)
  • TextChanne: Specify unit of rateLimitPerUser (#3272) (363cec3)
  • TextChanne: Specify unit of rateLimitPerUser (#3272) (55447fd)
  • Guild: Fix typo in example of createChannel (c844a7b)

Features

  • Throw custom error for uncached Guild#me (#3271) (3f1232e)

Typings

  • VoiceState: Add connection getter (#3292) (9ca36b8)
  • Guild: Remove voiceConnection, add voice, cleanup rest (97f3b6c)
  • Collection: Use T in accumulator and initialValue when reducing (#3284) (b3060ea)

11.5.0 - (2019-05-11)

Bug Fixes

  • Partials: Client#event:messageUpdate(oldMessage) and MessageReactionAdd on guild channels (#3250) (0dd3ed7)
  • Client: Type status and do not throw an error if accessed before login (67da457)
  • WebSocketConnection: Stringify data when no websocket is available (60013b7)
  • ClientUser: Lint (aa253d9)
  • Typing map being reset for ClientUser (#3216) (4e0cf87)
  • Not checking for guild when creating a channel (e0cfb7f)
  • Channels being removed from guild.channels (4d7fc03)
  • MessageCreateAction: Remove redundant GuildMemberStore#add call (39115c8)
  • Guild: Only update emojis when they are present in the payload (6a07715)
  • typings: Collection#find & findKey can return undefined (#3228) (3f6d08a)
  • Old objects not being cached (#3225) (23e6414)
  • Structures: Allow multiple extensions by checking prototype chain (#3217) (52b4f09)
  • Emit resume event, silent disconnects, error event param (#3192) (1514df0)
  • PresenceUpdateAction: Emit presences again (#3214) (cde955c)
  • typings: Remove duplicated Guild#defaultRole (#3211) (39fd8fd)
  • Guild: Sort roles with the same position in the correct order (#3184) (923c945)
  • ApiRequest: Filter out null query values (00eb7e3)
  • ShardingManager: Do not spawn the last shard early (bfab203)
  • Remove GuildChannel fallback, and remove GuildChannel as extendable (#3165) (bb92289)
  • Internal Sharding, this time fixed™ (#3140) (3f5161e)
  • MessageReactionRemove not emitting for partial messages (#3125) (2341d13)
  • APIMessage: Edit shouldn't remove content (#3129) (1673b6f)
  • Role: Proper undefined check for data.permission when editing (579283d)
  • Emoji: Reject explicit error when MANAGE_EMOJI permissions are missing (#3063) (45a17e7)
  • Util: SplitMessage throws an error if a chunk is too large (#3060) (1618829)
  • GuildMember: Add explicit channel resolve error to member edit (#3059) (a0ff72b)
  • Sharding issues, silent disconnects and code cleanup (#2976) (793341d)
  • Ensure VIEW_CHANNEL permissions before trying to join (#3046) (7324a99)
  • WebSocketShard: Report correct resumed event count (#3019) (f2ed93c)
  • Guild: Ignore voice states referencing an invalid channel (73aaab5)
  • ShardClientUtil#id: Erroneously reporting as an array (8230255)
  • TextBasedChannel: Added missing lastMessage functionality in textchannels (#2999) (7186c91)
  • WebSocketShard: Add websocket send error handling (#2981) (5cbdf38)
  • GuildBanRemove event name (#2983) (b5d5c69)
  • Util: Throw an explicit error if a chunk exceeds the max length (#2936) (ecaec29)
  • GuildChannel: Add explicit channel resolve error to member edit (#2958) (23a16c3)
  • Sharding Issues & Cleanup (#2952) (9085138)
  • ShardClientUtil#count and ShardClientUtil#id typedef (#2956) (e793338)
  • (GuilChannel): clone method not taking overwrites into account (#2932) (980d71f)
  • Client#userUpdate receiving wrong packet (08002d0)
  • Client#raw emitting twice (7796cb5)
  • Client#shards not being set properly (be0d1cd)
  • VoiceConnection: Compare new speaking to old to avoid TypeError (01476de)
  • VoiceConnection: Use Speaking#has to fire _stoppedSpeaking (#2896) (2ba0003)
  • Client#voiceStateUpdate: NewState is guaranteed (1607612)
  • Emit voiceStateUpdate on guildMemberRemove (#2892) (183ba25)
  • Revert #2768 (#2848) (950abd4)
  • Shard: Use DISCORD_TOKEN instead of CLIENT_TOKEN, see #2843 (73b9b0e)
  • ClientPresence: Use possibly extended constructor from structures (6b810b2)
  • typings: Fix compilation with 'strict' enabled (#2845) (21999fa)
  • Webhook: APIMessage require should be a const (0ab69c5)
  • Webhook: APIMessage is not circular, fixes WebhookClients (c0a9b08)
  • Webhook#send not resolving content (53420fa)
  • typings: Remove UserConnection, fix various constructors (1d77d1a)
  • HTTPError: The path property should actually be the path (ead99a5)
  • typings: Move static properties above methods (b1ce602)
  • Emit ReactionCollector#remove when reaction is removed by collected user (#2803) (038b142)
  • Guild#deleteEmoji: Reject non emojis / emoji IDs (#2793) (cd58599)
  • Better global ratelimit management (#2801) (989c365)
  • Reactions ratelimits (#2795) (f326fe6)
  • GuildChannel#lockPermissions: Properties allow and deny always returning undefined (#2800) (1fc84a9)
  • Private_channels always returns an empty array on ready (#2787) (9c2aeb7)
  • Guild#addMember incorrectly resolving userID (93bf430)
  • Voice not throwing errors on bad stream input (#2786) (6f62d7d)
  • ClientApplication: Message#application is a partial ClientApplication (82993fb)
  • webpack: Properly minifying (02f98cd)
  • webpack: Properly emitting process deprecation warnings (7684ad3)
  • Actually fix Readonly typos (928fb30)
  • Typo in Activity#flags (c59d329)
  • Disable getter-return (5523233)
  • Pin & update deps (d3e7dbc)
  • WebhookClient should handle ratelimits properly (4ee3cf0)
  • RequestHandler: DiscordAPIError#path should be the path, not the route (d91deef)
  • Pin peer-deps to the latest version we allow (ab0ede0)
  • Pin dev-deps to a higher version to avoid problems with upath on node 10 (8afc1fa)
  • GuildBanAddHandler: Not emitting guildBanAdd for uncached users (#2763) (e935611)
  • Handle async stacks correctly (#2744) (3f81b61)
  • Permissions: Permissions itself is a valid PermissionResolvable (5d889be)
  • GuildAuditLogs: Default target to object with target_id (#2742) (700201e)
  • Message: Properly check for an edited_timestamp in patch (616e0dd)
  • Fix GuildMember#presence getter and cleanup (#2751) (6506252)
  • Client: Do not redefine _timeouts and _intervals of BaseClient (#2748) (7525474)
  • Util#cleanContent parsing of GuildMember (bb0700a)
  • StreamDispatcher doesn't emit finish if ended while paused (#2648) (bfde1dd)
  • Message passing empty data to GuildMember#_patch (edf9c44)
  • GuildMemberStore now works with custom structures again (d276850)
  • GuildMemberStore now patches existing members (#1870) (332e30d)

Documentation

  • (Client): disambiguate the description of channels collection (#3251) (8915bc1)
  • faq: Bump to node 10.0.0 (#3224) (f7f4607)
  • Update node version requirement, npm install links, add update guide (#3220) (d177877)
  • Collector: Specify the unit for CollectionOptions#time (#3219) (bccbb55)
  • WebSocketShard: Mark non-nullable parameters as non-nullable (#3209) (eb537b6)
  • Presence: Add ClientPresenceStatus typedef (#3208) (d9a053d)
  • Collection: Fix findKey jsdoc (#3204) (3cd224d)
  • faq: Add a link to the guide, restructure a bit (#3082) (2af101e)
  • Document constructors of extendible structures (#3160) (ca43919)
  • Presence: Add missing descriptions to clientStatus (#3127) (5d10585)
  • GuildEmoji: Add @ name to requiresColons and managed properties (97c196c)
  • GuildChannel: Fix setPosition's reason type (#3199) (62cba2e)
  • Role: Fix setPosition's reason type (#3198) (266ac1c)
  • Mark getters as @ readonly (e62833b)
  • RateLimitInfo#limit instead of requestLimit (#3132) (be2f788)
  • Guild: Update createChannel examples to not use deprecated overload (32ad56a)
  • MessageEmbed: Add missing type value (#3106) (4d3f766)
  • GuildMember: Add missing @name to document user property (4289b18)
  • Structures: Note about extending prior to instantiating client (#2884) (db3ae01)
  • Examples: Fix usage of removed overload of Collection#find (#3027) (3dff505)
  • Client: Add missing example tag and closing parenthesis (#3024) (3b7b282)
  • Client: Add missing parenthesis in fetchInvite example (#3023) (5ed2a95)
  • Guild: Use 'updated' variable in example for setRegion (28db527)
  • Guild: Use AuditLogAction for fetchAuditLogs' type option (46fd7b0)
  • Webhook: Add mising '@name' to Webhook#token's docstring (89a9b93)
  • Webhook: Add mising '@name' to Webhook#token's docstring (840d22f)
  • (TextChannel): add documentation for messages and lastMessage (#2986) (2aa8e1d)
  • Move event docstrings to the emitting line of code (fd21bbb)
  • Add documentation for Client#channelCreate (#2967) (1d1b3f2)
  • GuildChannel: Fix doc string for clone method (377ecd7)
  • GuildChannel: Add rateLimitPerUser to ChannelData typdef (6aa7792)
  • Restore Client#error docs that went missing (3418b5a)
  • Add missing docstring for Client#guildDelete (b59c75e)
  • Add missing docstring for Client#userUpdate (#2930) (905f1c3)
  • ClientUser: Fix example for setActivity method (#2880) (fd25d19)
  • Collection: Clarify example for tap method (#2881) (78c4be5)
  • Game: Document possible values for type property (b92f8d9)
  • Integration: Document Integration class (1428967)
  • Fix typos (#2868) (d8c97be)
  • Correct default value for SplitOptions.maxLength in Util#splitMessage (#2847) (3298ea1)
  • MessageAttachment: Redocument name property (3f44320)
  • Client: Fix syntax error in fetchInvite example (d2da771)
  • User: Clarify what User#tag represents (9de3e09)
  • ChannelPinsUpdate: Clarify time param (#2823) (9c2924a)
  • GuildChannel: Permissionsfor returns a nullable readonly Permissions instance (6b9dd13)
  • Add docstring to HTTPError (f75b80d)
  • Correct Guild#memberCount (#2812) (da2d4d7)
  • Added url to Invite's warning comment (#2804) (b83fdbf)
  • Emoji: Fix typo of the word "emoji" (#2791) (469fbe2)
  • User: Fix hydrabolt's tag (#2747) (0ad7c24)

Features

  • GuildMember: Add support for voice kicking (#3246) (ee42bdf)
  • Actions: Use partials for messageDeleteBulk (#3240) (176fc47)
  • VoiceState: Self mute/deaf methods (#3243) (692494d)
  • VoiceConnection: Add .voice (ce1e3d2)
  • MessageStore: Add remove() (#2468) (2666a9d)
  • Public raw events (#3159) (9b0f4b2)
  • VoiceChannel: Add editable (#3173) (870528e)
  • Partials.GuildMember: GuildMemberRemove & Guild#me (#3229) (23191da)
  • Invite: Add deletable getter (#3203) (c4b7957)
  • Sharding: Change waitForReady to spawnTimeout (#3080) (01c708b)
  • Util: Resolve text parameter of splitMessage to a string (#3212) (abd9d36)
  • MessageEmbed: Resolve color in embed constructor (#2912) (52bc5b0)
  • Util: Add YELLOW to ColorResolvable (#3182) (520810d)
  • Webhook: Add url getter (#3178) (c078682)
  • Guild: Add fetchBan and withReasons to fetchBans (#3170) (5cd6d8d)
  • MessageStore: Add cache parameter to fetchPinned() (#3154) (9b2bf03)
  • MessageEmbed: Add missing proxyURL property to video (#3109) (7006f00)
  • RichEmbed: Add timestamp support for setTimestamp (#3061) (49e8bd9)
  • Guild: Add position to createChannel's implementation (#3058) (7bc2e23)
  • RichEmbed: Add length getter (#3057) (890b1be)
  • Presence: Add clientStatus (#3056) (a2a0c05)
  • Util: Add WHITE as color resolvable (#3062) (5272cec)
  • RoleStore, ChannelStore: fetch() method (#3071) (c432591)
  • Constants: Add error code 50020 (#2953) (359ddaf)
  • Presence#clientStatus (#2997) (75e264d)
  • MessageEmbed#length (#3003) (1db7899)
  • GuildChannelStore: Add support for create to accept a position (#2965) (21ec031)
  • GuildChannelStore: Add support for create to accept a position (a8b47a7)
  • GuildChannel: Allow to set all options when cloning (#2937) (d92ee2f)
  • Constants: Add error code 50020 (#2953) (54aff31)
  • Internal sharding (#2902) (f3cad81)
  • Emoji: Move createdAt and createdTimestamp getters from GuildEmoji (#2872) (71c04a3)
  • ClientUser: Allow options as first parameter to setActivity (#2890) (1ee417c)
  • GuildChannelStore: Support for create with rateLimitPerUser (#2878) (8ec3b51)
  • MessageEmbed: Add spliceField method (#2857) (8feb874)
  • MessageEmbed: Allow setTimestamp to take a timestamp (#2875) (1fe3608)
  • TextChannel: RateLimitPerUser (#2811) (d4c0bb2)
  • TextBasedChannel: Add lastPinTimestamp and lastPinAt (#2813) (e96a603)
  • Add ClientOptions#retryLimit (#2805) (be4d6f9)
  • Guild Integrations (#2760) (c4df027)
  • GuildEmbed support (#2766) (5787dee)
  • Handle and forward WEBHOOKS_UPDATE events (#2762) (0401b8a)
  • Add guild.fetchVanityCode() (#2732) (f8057b0)

Refactor

  • ClientVoiceManager: Make public, remove Client#voiceConnections (#3186) (70d4b44)
  • WebSocket: Utilize URLSearchParams (#3185) (152d2e8)
  • APIRequest: Utilize URLSearchParams (#3180) (5e9bd78)
  • User: Avoid invoking dmChannel getter more than once per method (#3108) (fe5563e)
  • Consistently use permissionOverwrites over overwrites (#2886) (6e5f088)
  • WebhookClient: Make token property non-enumerable (#2861) (96a0655)
  • Comprehensive permissionOverwrites refactor (#2818) (3d8207a)
  • Remove duplicate send checks (#2790) (6d18425)
  • Clean up rate limit handling (#2694) (13f46b9)
  • Rewrite message creation (#2774) (19c298f)
  • BitField: Base class for Permissions, ActivityFlags, Speaking (#2765) (c62f01f)
  • Typings for voice state and presences refactor (9b5df57)
  • Merge typings into 11.4-dev branch (efc8445)

Testing

  • Add Webhook(Client) testing file (#2855) (cbb9b14)
  • Add typings lint runner to test script (68c8329)
  • lint: Update typings lint script (3b91fa0)
  • lint: Fix typings lint errors (5fdd3a5)
  • Fix typings lint script (29d51fa)

Typings

  • Presence: Add missing guild property (8b83e2f)
  • GuildChannel: Add manageable getter (12e041b)
  • Collection: Add missing thisArg to partition (#3167) (4b6e8fc)
  • Collection: Add typings for partition (#3166) (831f988)
  • Guild: Add missing defaultRole property (#3126) (1207c24)
  • Convert types to interfaces where applicable (#3068) (bc0a761)
  • SnowflakeUtil: Add optional "timestamp" parameter to generate (#2998) (8b602eb)
  • ShardClientUtil: Fix id property type (#3054) (ae72690)
  • GuildCreateChannelOptions: Added missing properties (#3052) (d98d464)
  • Add missing ImageSize numbers (#3045) (2dcdc79)
  • TextBasedChannel: Fix create(Message)Collector's options type (17ca836)
  • Guild: Fix typos in method names (9d83516)
  • TextBasedChannel: Add Snowflake[] overload to bulkDelete (#3001) (8a76cc5)
  • SnowflakeUtil: Add optional "timestamp" parameter to generate (#2998) (8286d1a)
  • RichEmbed: Add MessageEmbed as valid data in constructor (351f0a3)
  • Add Guild#shard and Guild#shardID (6b886b0)
  • MessageEmbed: Add spliceField and static checkField methods (4491b7b)
  • Collection: Each return Collection<K, V>, not void (27d2ce7)
  • Fix lint script and linter errors (fcf4745)
  • Add HTTPError class definition (#2852) (60ad905)
  • Message: Member property is a readonly getter (2cc0a31)
  • Add declaration of Message#url and MessageAttachment#size (#2821) (b068abb)
  • GuildChannel: PermissionsFor's return value is nullable (75745fe)
  • Clean up permissionResolvable (2e2c9c4)
  • Add WEBHOOKS_UPDATE (bd14d5d)
  • Fix PermissionResolvable typedef, allow resolving of Readonly<BitField> (55c58b6)
  • Guild: Add fetchVanityCode (7546ca3)
  • VoiceState is extendable (e7ee8d2)
  • Remove UserFlags and ClientApplicationCreateAssetsOptions (58ce082)
  • VoiceRegion: Remove no longer existing sampleHostname (c966aa2)
  • VoiceConnection: Receivers is now receiver and no longer an array (6841b4e)
  • Remove user bots (5942e8b)
  • Make PermissionResolvable recursive (f5b3dff)
  • Client: VoiceStateUpdate now always has an old state (9a95b6a)

11.4.1 - (2018-08-12)

Bug Fixes

  • ClientDataManager: Replacing channels unecessarily (d772bff)
  • PresenceStore: Pass user id as extra (#2733) (b7e61f2)
  • Util.basename being unreliable (#2679) (0f63c50)
  • Collection: Use Symbol.species for creating derived collections (#2715) (ce8a679)
  • RichEmbed#_apiTransform fields (7126cad)

Documentation

  • Update for 11.4.0 (#2727) (8b1bb95)
  • Client: Actually fix rateLimit's event params (8adfc97)
  • Fix client#rateLimit parameters (0e370d7)

11.4.0 - (2018-08-09)

Bug Fixes

  • Collection: Use new this.constructor instead of new Collection (#2709) (c10b4fe)
  • Wrong _patch call from GuildEmoji#edit and other issues (#2673) (4ae58f6)
  • Shards not receiving regular messages (88616ea)
  • Emoji#fetchAuthor: Reject with Error rather than TypeError (4a9c2f8)
  • GuildEmoji: Added a check for managed emojis in fetchAuthor (#2645) (f963621)
  • MessageReaction: Only delete reaction if cache and count is empty (#2661) (3a7a7d7)
  • Invite: Support for group dm invites (#2603) (3680661)
  • GuildAuditLogs: Default to PartialGuildChannel if channel deleted (#2605) (886c212)
  • ShardingManager: RespawnAll shard iteration (f67d682)
  • Message: Keep reply option when replying with an embed or attachment (1d9edec)
  • Message: Keep reply option when using an embed or attachment (5268320)
  • Webhook: Import Channel correctly (077d41f)
  • Shard: Actually remove default execArgv (938d87d)
  • Client: Login catch (a667e44)
  • Client: Login not properly rejecting on invalid token (448f384)
  • TextBasedChannel: BulkDelete should not return non-Promise (72346fb)
  • RequestHandler: Provide proper route and method (2694c0d)
  • Shard: Allow node to default to process.execArgv (93f8c85)
  • Instantiate constructors before using those properties (92e2c3c)
  • Util: Circular reference (41a1dee)
  • Typo in src/errors/messages.js (#2631) (f711aa3)
  • Shard: Fix default args (6b3bfdd)
  • Ratelimits (#2615) (58e5017)
  • BasePlayer: Incorrectly mutating FFMPEG_ARGUMENTS when using seek (#2622) (bf738b3)
  • Do not cache webhook users (#2611) (8a3ae87)
  • ShardClientUtil: Send method erroneously rejecting (#2604) (c5fea45)
  • ShardClientUtil: Send method's promise erroneously rejecting (#2604) (493ba73)
  • Messages: Undeleting themselves (#2570) (037e8cf)
  • GuildMember: Mark joined as nullable (ecf6e2b)
  • GuildMember: Account for joinedTimestamp as well (5071477)
  • GuildMember: Mark joined as nullable and fix fetching for these cases (13bfceb)
  • VoiceChannel: Deletable erroneously returning true (0387d34)
  • VoiceChannel: Deletable erroneously returning true (0be0d25)
  • GuildMember: Invalid Date (46b19bb)
  • Guild: Equals method modifying features array of guild (#2544) (d02c303)
  • RequestHandler: Only retry once on 5xx (#2471) (14aab1b)
  • ClientUser: Correctly resolve nicks to an object in createGroupDM (f23b617)
  • docs: Remove duplicated Collection#findAll docstring (f921261)
  • Burst request mode hanging permanently (3790619)
  • Guild: MemberCount not decrementing when an uncached member leaves (15a8e17)
  • ClientDataResolver: Always resolve with a buffer when fetching a file (ae28f52)
  • Role: Allow role color to be removed (2f2e281)
  • Collector: Increase and decrease max listeners dynamically (60288d0)
  • GuildEmoji: Verify MANAGE_EMOJIS permission from Guild#me (6cde6de)
  • Prevent max listener problems with collectors (#2521) (32369f3)
  • RESTMethods: Remove listener from correct event (#2534) (a89de09)
  • Webhook#edit attempting to use client.channels always (f293ddd)
  • ClientUser: SetActivity should resolve with a Presence (a85d801)
  • GuildMember#toJSON not having roles (#2520) (5acf406)
  • Added everyone role to GuildMemberRoleStore#_filtered (#2514) (934e90b)
  • OpusEngineLinst: Throw a descriptive error when not funding an opus engine (33a4232)
  • Util: Reject with a meaningful error instead of throwing one (44fefdf)
  • GuildEmoji#clone (64caa33)
  • GuildMemberRoleStore#remove (30d43ef)
  • TypeError in mixin function (#2506) (95b5317)
  • MessageEmbed: Correct docs, default to array, resolve MessageAttachments (#2492) (e12ab74)
  • Use Object.keys instead of Object.values for node 6 (#2487) (feb0991)
  • RestMethods: Typo timeout -> timed (ff671b2)
  • MessageEmbed: Avoid throwing error when accessing colorless hexColor (b60ee25)
  • Message: Do not update editedTimestamp when there is none in the payload (3ba26ad)
  • RESTMethods: Verify correct member in add and remove role listeners (de78a8d)
  • MessageDeleteBulkAction: Remove bulkDeleted messages from cache (7c37a0d)
  • Client#generateInvite resolving permissions incorrectly (c387e96)
  • Client#generateInvite resolving permissions incorrectly (8d065fa)
  • Role#setPermissions resolving & docs (7c0b617)
  • GuildChannel#setTopic not nullable (92b4216)
  • ClientManager: Patch ClientUser's presence with ClientOption's one (#2458) (61ad947)
  • Webpack building and upgrading to webpack 4.5 (f247484)
  • StreamDispatcher: Only update speaking for non broadcasts (#2437) (e845758)
  • Guild: Remove member's voice state on guildMemberRemove (b955a51)
  • Role: Allow edit method to null the color (#2447) (f985b6b)
  • GuildChannel: Always return a boolean from the manageable getter (e431ccd)
  • GuildEmojiRoleStore: Do not prematurely patch roles (d041cb2)
  • MessageReaction: Do not increment count twice for own user (513dbf2)
  • GuildemojiStore: Allow resolving of external ReactionEmoji (0f7ce3f)
  • Convert lastMessage to getters (#2384) (630009f)
  • DataResolver: Always resolve with buffer when resolving urls (8541348)
  • GuildMemberRoleStore: Make remove role remove roles again (3e6c310)
  • GuildMemberRoleStore: Only update roles after successful request (3f6a0e4)

Documentation

  • Small changes regarding permissions/overwrites (#2718) (bafbee9)
  • Change for GuildChannel#replacePermissionOverwrites (#2714) (af6d649)
  • Implement #2707 on master (5980d04)
  • RichEmbed: Timestamp is actually a Date (c7f379f)
  • ShardingManager: RespawnAll actually resolves with a collection of shards keyed by numbers (4a48a7d)
  • Added sizes 16, 32, 64 (#2666) (c46cbbf)
  • Client: Clarify messageReactionRemove event's user description (#2657) (717e7f0)
  • Client: Clarify messageReactionRemove event's user description (#2657) (a97b504)
  • Improvements in various places (3d82ca9)
  • Guild: MemberCount is not as of ready (#2621) (de408d7)
  • Only cached messages emit reaction events (#2607) (7ce1d16)
  • GuildMember: JoinedAt is nullable (bd3d8d4)
  • Add video to MessageAttachment properties (#2608) (791f58e)
  • Document lastMessageID for TextChannel and (Group)DMChannel (#2602) (e7eab42)
  • Document lastMessageID for TextChannel and (Group)DMChannel (#2602) (507cce3)
  • Last english fix for now (ba9a93b)
  • Fix english because english is difficult (eb4607c)
  • Wording improvements (5eff360)
  • Add examples & improve notices (dfbd4bd)
  • Add examples & improve notices (c699888)
  • Guild: Handle error in example of fetchInvites correctly (#2568) (13880fe)
  • Guild: Handle error in example of fetchInvites correctly (#2568) (27fcb64)
  • Collection: Make findKey method show up in docs (56a9d1b)
  • Using deprecated version of find (6070b22)
  • Permissions (b2d1cb6)
  • RateLimit event (6f02be2)
  • Role: Change 'the this' to this (typo) (#2377) (e5e59cc)
  • ClientUser: Correct warning for createGuild method (9264511)
  • GroupDMChannel: Fix top 'an user' -> 'a user' (54fa5f6)
  • Collection: Fix spelling of 'behavior' (#2529) (b757f9e)
  • Collection: Fix spelling of 'behavior' (#2529) (17d2c2e)
  • Consistency (745669a)
  • (backport) Bring the main doc pages up to date, and add more examples (#2094) (d7e7803)
  • Inconsistencies (b8a9a76)
  • Inconsistencies (ec9211c)
  • GroupDMChannel: Fix grammar an user -> a user (#2482) (2dd7fd2)
  • Fix a number of spelling mistakes (#2469) (8551b89)
  • GuildStore: Correct warning for create method (#2453) (2bf68dc)
  • Fix missing parameter type/description from #2193 (#2396) (acd1740)

Features

  • Add new Permission PRIORITY_SPEAKER (#2698) (b38f537)
  • Message: Add url getter (#2594) (ba32eec)
  • Add support for Guild#setDefaultMessageNotifications (#2624) (95b2dd3)
  • ShardingManager: Add execArgv option (#2585) (bfbb723)
  • Guild: Add support to edit defaultMessageNotifications level (#2592) (270a278)
  • User: Add locale property (#2571) (bce9a8a)
  • Add "deleted" property to multiple structures. (#2556) (f0c4d0e)
  • Shard#kill method (#2454) (fc81924)
  • Collection: Backport partition method (f456f4c)
  • Collection: Add tap method (#2507) (de7d90a)
  • Collection: Add sweep method (#2528) (2b6592e)
  • GuildMember: Add manageable getter (9bb8831)
  • GuildChannel: Add fetchInvites method (9904167)
  • Emoji: Add fetchAuthor method (dd7eedb)
  • Game: Add toString method (c0ca73a)
  • GuildChannel: Add setNSFW method (54913d9)
  • Guild: Add verified getter (#2027) (9169958)
  • ClientDataResolver: Add 2 basic role colors (96b115e)
  • Permissions: Add valueOf method (#2363) (2d83126)
  • Emoji: Add deletable getter (ed8ab91)
  • GuildEmoji: Add deletable getter (#2535) (fca6d3b)
  • ClientDataResolver: Account for discord.gg/invite/ invites (21326f6)
  • Add Collection#sweep() (#2528) (7a3a4d1)
  • Add Collection#tap (#2507) (9f91819)
  • DiscordAPIError: Backport method property (#2536) (8700e96)
  • DataResolver: Account for discord.gg/invite/ invites (ddab809)
  • DiscordAPIError: Add method property (#2530) (62605c4)
  • Allow sweeping of inactive request buckets (b5f3772)
  • SnowflakeUtil: Allow snowflakes to be generated dynamically (d9a091f)
  • GuildChannel: Add manageable getter (#2439) (49ad8cc)
  • Guild: Add mfaLevel property (#2451) (7b9e84d)
  • GuildChannelStore: Add topic to create options (#2488) (c9c2d66)
  • SnowflakeUtil: Allow snowflakes to be generated dynamically (#2459) (f6216f3)
  • Guild: Add mfaLevel property (#2451) (b3ff7c7)
  • GuildChannel: Add manageable getter (#2439) (ef4bd92)

Refactor

  • Move Message#cleanContent function to Util (#2703) (f3d7f7c)
  • Remove user bot methods (#2559) (5afd77a)
  • Webhook: Make token not enumerable (#2566) (e0378cf)
  • MessageMentions: Make client, guild, and _content non enumerable (e8ab049)
  • RESTManager handlers to use collection (#2539) (99bd355)
  • Remove unnecessary Collection methods and add Collection#partition (#2511) (a732402)
  • VolumeInterface: Remove usage of deprecated new Buffer (#2531) (bd9c9ce)
  • Improve sweep performance (bd83bb9)
  • Tidy up _inactive check (27a0f48)
  • Role stores (#2478) (8b83553)

11.3.2 - (2018-03-04)

Bug Fixes

  • ws: Set correct ratelimit remaining after reset or destroy (#1806) (c8f78b2)

Documentation

  • Change 'the this' to this (typo) (#2377) (8b67991)
  • TextChannel Webhooks fix&improvement (0a951cf)

11.3.1 - (2018-03-03)

Bug Fixes

  • RichEmbed timestamp cloning (8f9e911)
  • BulkDelete discarding non-cached messages (363ead9)
  • GuildAuditLogs using Guild#fetchInvites (acdf43a)
  • Export CategoryChannel (f64e924)
  • StreamDispatcher: Remove gratuitous parentheses (f2c5714)
  • Activity: Ensure that timestamps are actually numbers (464fc14)
  • If present, wait for libsodium-wrappers' ready to support v0.7.3 (c6f92c1)
  • StreamDispatcher: Emit volumeChange event when the volume changes (#2349) (c25ea45)
  • ReadyHandler: Don't create new guild instances for already existing guilds (dc92582)
  • StreamDispatcher: Do nothing when resume is called when not paused (05c5bdc)
  • Build with node 8 (2254a3e)
  • Add node 8 to build (da14e33)
  • Webpack minified and bump deps (a7b46be)
  • Properly fix minified builds (5583e70)
  • Dont require snekfetch supplemental because they are not a thing anymore (8e60743)
  • Npm scripts (332558a)
  • VoiceChannel: SetUserLimit defaulting to wrong value (40a2f09)
  • StreamDispatcher: Properly check that timestamp fits in 2^32-1 (#2325) (8ee2788)
  • AudioPlayer: Add opus to destructured key of stream options (96904b1)
  • ClientApplication: CreateAsset incorrectly resolving image and posting (234648b)
  • Add clone methods to GuildMember and GuildMemberRoleStore (32e2dd2)
  • MessageEmbed: Remove length checks (#2304) (9810bdb)
  • resolveColor: Not interpreting DEFAULT correctly (d46eec4)
  • resolveColor: Not interpreting DEFAULT correctly (52c402f)
  • Nullable activity (bd154bd)
  • Webhook#send: Incorrect docs + return (e978253)
  • RoleStore: Create method is supposed to take an options object (048e147)
  • Require discordjserror to throw meaningful errors where necessary (07c48a6)
  • startTyping: Return, to not overwrite already existing entries (8df1ac9)
  • Guild: MemberCount not decrementing when an uncached member leaves (93e083d)
  • client#voiceConnections: Incorrect docs description (#2280) (00e2f39)
  • CategoryChannel: Set the type to 'category' and document its type (b5ff309)
  • GuildMember: Make edit method only modify a copy of the voice state (fbd25f8)
  • WebSocketConnection: Make errors in event handlers throw again (a22b856)
  • guild#createRole: Incorrect guild reference (932980e)
  • Missing height & width in embeds (#2249) (351f5f7)

Documentation

  • Document the messages property for all TextBasedChannels (#2373) (069dccf)
  • Examples & improvements (24571e4)
  • Incorrect returns (96e88f3)
  • Improvements & examples (fcdffcf)
  • Message#type (38f5288)
  • WIP: Bring the main doc pages up to date, and add more examples (#2094) (9f89252)
  • Remove trailing commas (b79722a)
  • Trailing commas (2b24b10)
  • Improvements (af35175)
  • Add links for the guide (#2346) (0ec53c9)
  • Add links for the guide (#2346) (dc6bce1)
  • Add TypeDef for MessageActivity (#2321) (4336317)
  • ClientUser: Mark email field as user account only property (#2306) (31873eb)
  • ClientUser: Mark email field as user account only property (#2306) (1f14758)
  • Doc changes (2e0048a)
  • Fix VoiceBroadcast documentation (#2277) (8a2ace4)
  • Fix streamdispatcher documentation (#2275) (edc4e2b)
  • Fix attachFiles() docs (#2267) (19591b0)
  • Collection > RoleStore (#2251) (a3be0f3)

Features

  • Allow multiple permission overwrites when editing channel (#2370) (b637c9c)
  • GuildChannel: Add fetchInvites method (#2339) (47bc0fc)
  • ShardClientUtil#broadcastEval: Allow promise resolve (#2328) (66c0512)
  • ClientOptions: Add support for setting an initial presence (#2320) (87e5a45)
  • Add GuildEmoji#fetchAuthor (#2315) (e0cbf0b)

Performance

  • Collection: Performance improvements (#2342) (b7851ba)
  • Collection: Performance improvements (#2342) (a817295)

Refactor

  • Move member role-related functions to a special store (#2242) (00172e6)
  • GuildMember#manageable: Refactored kickable and bannable (#2211) (36555c1)
  • Tidier overflow checking in StreamDispatcher (83640a2)

11.3.0 - (2018-01-13)

Bug Fixes

  • Message#addReaction: Incorrect regex (#2247) (f62fa05)
  • Stream dispatcher throwing key error due to missing secretKey (8cab673)
  • avatarURL: Gifs not being animated (#2195) (d94ead7)
  • voiceStateUpdate: Incorrect members.size (#2231) (8226752)
  • Allow the Util#parseEmoji regex to match emoji identifier (#2229) (2318812)
  • verson: Update package.json (#2196) (b6c89ef)
  • Guild#createChannel: Default type to 'text' (#2184) (4063a3a)
  • bulkDelete: Stop rejections when filterOld=true (#2178) (6683c40)
  • Guild#createChannel: Default to text (#2168) (9f0417c)
  • CreateMessage: Reassigning wrong content (#2169) (1598efa)
  • CreateMessage: Fix attachment and array sending (#2158) (443961c)
  • UserGuildSettingsUpdate: Not creating settings with new guilds (#2150) (1c34819)
  • VoiceChannel#edit: Incorrect bitrate (#2144) (d705a0c)
  • guild#createChannel: New channel returning null (#2143) (fb6d14d)
  • GuildAuditLogs: Backport (#2123) (e40c3f8)
  • DMChannel: Messages not being cached (#2122) (22da595)
  • GuildMember: Permissions.missing is not a function (#2118) (b274dba)
  • Shard: Extend EventEmitter to be able to emit events (#2112) (6fa4fc5)
  • Split/Webhook: Readd message chunk sending and fix webhook avatar/username (#2085) (05a41b5)
  • Guild: Correctly resolve user in Guild#addMember (#2090) (21d09f3)
  • TextBasedChannel: Return a promise in startTyping and clarify count parameter (#2047) (94a4a06)
  • Presence: Pass client and default to offline (#2071) (a62d1e9)
  • GuildMember#hasPermission: Pass correct parameters to Permissions#has (#2070) (cd3d334)
  • Client: Login wasnt using env.token (#2060) (0277d1d)
  • MessageBulkDeleteAction: Remove deleted messages from cache (#2046) (356778b)
  • GuildDelete: Disconnect voice and cleanup GuildChannels (#2026) (fa3eee8)
  • GuildAuditLogs: Incorrect webhook reference (#2004) (8fbae13)
  • setPosition: RawPosition never getting updated when setPosition was called (#2006) (f178f9b)
  • Role: SetPosition typo (#2003) (b462a7b)
  • SetPosition taking wrong IDs and edit with position 0 breaking (#1989) (743668a)
  • createChannel: Add support for more properties and fix overwrites optionals (#1983) (cc8060c)
  • MessageEmbed: Don't send 'files' as part of the embed (#1982) (1537dd7)
  • ClientManager: Reject login with proper error on timeout or on connection failure (#1947) (3ace61a)
  • Reactions: Make MessageRection#id again null for default emojis (#1940) (25ece18)
  • EmojiStore: Return super.create in the create method (#1932) (cc0b65d)
  • DataStore: Make resolveID work properly (#1927) (fc1e78e)
  • MessageEmbed: Deep copy fields and fix files when passed into constructor (#1864) (63f6247)
  • Guild: Fix setChannelPositions method (#1900) (41c4999)
  • Errors: Throw DiscordjsErrors where one would expect them (#1905) (e34bd7c)
  • WebhookClient: Use applyToClass instead of multiple inheritance (#1896) (694f78c)
  • Voice websocket sending (2305311)
  • Minified webpack builds (9e66e80)
  • Client: Apply shardId and shardCount to the correct options object (#1888) (bb4fe25)
  • MessageStore: Fix fetchPinned method and add notice. (#1881) (ea1949a)

Documentation

  • Fix guildChannel#toString() example (#2203) (e883afa)
  • Improve examples (#2200) (c798230)
  • Improve examples (master branch) (#2209) (45127bb)
  • setParent: Docs update and nullable channel param (#2160) (4f8f208)
  • Remove leftover docstring from 11.2 (#2115) (efd1c4c)
  • Fixed some missing docstrings or incorrect return types (#2093) (0cd4a92)
  • Add Guild#features type (#2105) (2d8e26c)
  • Add/normalize .toString() docs on all classes (#2042) (1a8e8c7)
  • Change repo for erlpack (#1992) (fc43736)
  • Small doc improvement for PermissionOverwrites (#1964) (26c978c)
  • Fix some small typos or "missing" docs (#1943) (eb591da)
  • Improve documentation (#1898) (0607720)
  • Collection first, firstKey, last, lastKey (a8df63a)

Features

  • Backport animated emojis support (#2217) (659e89e)
  • Backport after and before parameter when fetching a reaction's users (#2218) (db5bdcd)
  • ClientUser: Deprecate ClientUser#setGame in favour of ClientUser#setActivity (#2127) (cd06684)
  • CategoryChannel: Backport (#2117) (cce2480)
  • Webhook: Allow to edit the channel of webhooks (#2039) (d8850db)
  • MessageReaction: Add after option when fetching users who reacted with an emoji (#1882) (f40a5e9)

Refactor

  • More oop with stores (#2216) (9eac19d)
  • Actions: Remove obsolete user and guild member get actions (#2061) (cd08a3b)
  • Remove redundant Client#rest and obsolete RESTManager#destroy (#2022) (68a3058)
  • Make use of destructuring for Constants (#1942) (ec4c987)
  • Attachment: Merge MessageAttachment with Attachment (#1894) (d6b276b)

11.2.0 - (2017-09-03)

Bug Fixes

  • Made options.type optional in ClientUser#setActivity (#1875) (39013b1)
  • Guild: Passing the constructor partial data from an invite no longer errors (#1868) (1bdaa62)

Documentation

  • Collection: Adjust exists documentation (#1876) (efbde07)

Features

  • Add DiscordAPIError#path and fixed Burst request handler handling api errors (#1867) (95e22c2)

Refactor

  • DataStores: Move instantiating of store related classes into their date stores (#1869) (c4b5736)
  • Emoji: Remove Guild#deleteEmoji in favour of Emoji#delete (#1877) (c93c4ad)

13.15.1 - (2023-04-07)

Bug Fixes

  • Message: Fix permissions check in locked threads (#9338) (a8d5325)
  • ClientUser: Fix modifying self (#9318) (09ca243)
  • Typo in src/util/MessageFlags.js (#9312) (8f12054)
  • AutocompleteInteraction: Fix responding (#9315) (f79a9b5)

13.15.0 - (2023-04-02)

Bug Fixes

  • ThreadChannel: Fetch starter message properly (#9217) (af6a0e5)
  • Actions: Inject built data by using a symbol (#9204) (df68520)

Features

  • Backport chatInputApplicationCommandMention (#9245) (51c3bf1)
  • Add support for gif stickers (v13) (#9158) (4bc25c4)
  • V13 support SUPPRESS_NOTIFICATIONS flag (#9184) (120270e)

13.14.0 - (2023-03-12)

Bug Fixes

  • ThreadChannel: Fetch starter message properly (#9217) (af6a0e5)
  • Actions: Inject built data by using a symbol (#9204) (df68520)

Features

  • Add support for gif stickers (v13) (#9158) (4bc25c4)
  • V13 support SUPPRESS_NOTIFICATIONS flag (#9184) (120270e)

13.13.1 - (2023-02-21)

Bug Fixes

  • Constants: Enum creation error (#9155) (224f21c)

13.13.0 - (2023-02-21)

Bug Fixes

  • Minor forums cleanup (#9033) (eed293f)
  • InteractionResponses: Spell messages correctly (#9080) (123d0f1)
  • ThreadChannel: reason as second parameter (#9023) (a941cb6)
  • Import errors correctly (#9030) (6457519)
  • websocketshard: Backport zombie connection fix (#9003) (56e6718)
  • Util: Flatten ignoring certain fields (v13) (#8936) (4ec3355)
  • Backport allow deletion of ephemeral messages to v13 (#8811) (98846cf)
  • Activity: Fix equals() not checking for differing emoji (v13) (#8842) (eecc50b)
  • escapeMarkdown: Fix double escaping (v13) (#8799) (caf6f66)
  • Fixed TS 4.8 compatibility (#8601) (e6ee7d8)

Documentation

  • ThreadEditOptions: Move info tag back to invitable (#9021) (cf3c7a7)
  • Add missing @extends (#9028) (1779e1b)
  • Update UserContextMenu documentation v13 (#8721) (ea117bf)
  • Update misleading Client#guildMemberAvailable event description (v13) (#8627) (fcd52d7)

Features

  • WebSocketShard: V13 add resume url (#9078) (0188e36)
  • V13 guildAuditLogEntryCreate event (#9092) (84d34dc)
  • Constants: Add auto moderation events to WSEvents (#9102) (61fa6f4)
  • Role subscriptions (#9040) (0afa405)
  • GuildChannelManager: Add addFollower (#9050) (86329ad)
  • Guild: Add INVITES_DISABLED feature support (#9051) (69d71e9)
  • ClientApplication: Add role connections (#9072) (a7dc40f)
  • Webhook: Add channel getter (#9074) (32cdaff)
  • GuildMember: Add flags (#9098) (d69529e)
  • applicationCommandPermissionsUpdate event (#9121) (c2968b5)
  • Backport automod (#8886) (4287983)
  • GuildAuditLogs: Support after (#9012) (f0d4264)
  • Backport guild forum support to v13 (#8651) (546ac43)
  • Add Message#bulkDeletable (v13) (#8761) (ca662b4)
  • InteractionResponses: Add message parameter (v13) (#8838) (0e0851a)
  • Util: Backport escapeMarkdown PRs to v13 (#8703) (8a6588a)
  • GuildBanManager: Add deleteMessageSeconds (#8575) (ca68fc3)

Refactor

  • Move me and add fetchMe() (#9029) (b01c81d)

Typings

  • ThreadEditOptions: Add appliedTags (#9022) (6854df4)
  • widget: Add missing name (#9031) (35f6dad)
  • Swap message reaction and emoji identifier types (#8970) (6490580)
  • GuildChannelManager: Correct fetch return type (v13) (#8551) (f4e8133)

13.12.0 - (2022-10-10)

Documentation

  • Update UserContextMenu documentation v13 (#8721) (ea117bf)

Features

  • Util: Backport escapeMarkdown PRs to v13 (#8703) (8a6588a)

13.11.0 - (2022-09-15)

Bug Fixes

  • Fixed TS 4.8 compatibility (#8601) (e6ee7d8)

Documentation

  • Update misleading Client#guildMemberAvailable event description (v13) (#8627) (fcd52d7)

Features

  • GuildBanManager: Add deleteMessageSeconds (#8575) (ca68fc3)

Typings

  • GuildChannelManager: Correct fetch return type (v13) (#8551) (f4e8133)

13.10.3 - (2022-08-22)

Documentation

  • Fix broken discord support link (#8485) (11d6949)

Typings

  • Disallow some channel types from webhook creation (#8535) (10b12cc)
  • ModalMessageModalSubmitInteraction: ChannelId is not nullable (v13) (#8505) (526ea74)

13.10.2 - (2022-08-10)

Typings

  • Message: Correct bulkDelete return type (v13) (#8469) (03c59e3)

13.10.1 - (2022-08-10)

Bug Fixes

  • ThreadChannel: Handle possibly null parent (v13) (#8467) (2a46d9f)

13.10.0 - (2022-08-10)

Features

  • Guild: Add max_video_channel_users (v13) (#8424) (ae43bca)

13.9.2 - (2022-07-29)

Bug Fixes

  • MessageMentions: ignoreRepliedUser option in has() (v13) (#8365) (d0a4199)
  • GuildChannelManager: Allow unsetting rtcRegion (v13) (#8362) (9612507)
  • ThreadChannel: Omit webhook fetching (v13) (#8352) (4f7c1e3)

13.9.1 - (2022-07-23)

Bug Fixes

  • ApplicationCommandManager: Allow passing 0n to defaultMemberPermissions (v13) (#8312) (4cf0555)

Refactor

  • embed: Deprecate addField (#8318) (be35db2)
  • Presence: Remove redundant date parsing (v13) (#8341) (e95caa7)

13.9.0 - (2022-07-17)

Bug Fixes

  • PermissionOverwriteManager: Mutates user (#8282) (4d86cf4)
  • GuildChannelManager: Access resolveId correctly (v13) (#8297) (beb3d8e)
  • GuildChannelManager: Edit lockPermissions (#8267) (8fe166d)
  • applicationcommandmanager: Explicitly allow passing builders to methods (v13) (#8229) (f457cdd)
  • Pass in the expected query object type for application commands (#8189) (f704b26)
  • Use non-global flag whilst resolving regular expressions (#8178) (4063b90)
  • GuildStickerManager.fetchUser: Changed guildId to guild.id (#8176) (0e0f784)
  • guildmemberremove: Remove member's presence for v13 (#8182) (e8d72c7)
  • WebSocketShard: Backport error handler preservation on connections (#8164) (c198e89)

Documentation

  • Add new HTTP Error Codes 50068 (v13) (#8273) (00a7057)
  • Add MessageActivityType (v13) (#8257) (9cc336c)
  • MessageInteraction: Update commandName description (v13) (#8220) (feb8e30)
  • constants: Document missing constants (#8168) (4ae08ad)

Features

  • ApplicationCommand: Add min_length and max_length for string option (v13) (#8217) (a93f4b1)
  • interaction: Add appPermissions (v13) (#8195) (222fc9c)
  • Partially backport perms v2 for v13 (#8162) (125696f)

Typings

  • GuildMemberManager: Non-void return of edit() (v13) (#8187) (631abee)
  • Add missing shard types (v13) (#8192) (079973f)

13.8.1 - (2022-06-23)

Bug Fixes

  • VoiceChannel: NSFW property (v13) (#8161) (c61fc80)
  • ModalSubmitInteraction: Add isFromMessage() missing method (#8092) (0ab2227)
  • Destroy options during cleanup (#8082) (afb18b9)
  • AuditLog: Default changes to empty array (#8076) (3095f35)

Documentation

  • TextBasedChannel-> TextBasedChannels typos (v13) (#8155) (65444f5)

Refactor

  • Deprecate $ prefix from ws.properties keys (#8095) (3638b40)

Typings

  • Shard#reconnecting: Backport to v13 - Fix event name (#8126) (70450f6)
  • AutocompleteOption: Backport fix and improve types (#8078) (613fd43)
  • GuildChannel: Fix type of .isText() method (#8061) (0d0190a)

13.8.0 - (2022-06-05)

Bug Fixes

  • guildchannelmanager: Wrong parameter in _sortedChannels call (#8011) (876816a)
  • websocketshard: Deal with zombie connection caused by 4009 (#7581) (114bcc0)
  • Video quality mode data property (#7946) (76df9fd)
  • ApplicationCommandOptionType: Add attachment to jsdoc (#7952) (a51420f)

Features

  • Backport text-in-voice support to v13 (#7999) (ddfe15b)

13.7.0 - (2022-05-13)

Bug Fixes

  • MessageEmbed: Fix a typo (#7906) (ea28638)
  • GuildEditData: Some fields can be null for v13 (#7633) (816936e)
  • Apply v14 fix (#7756) (ab6c2ba)
  • GuildChannelManager: delete method accessing wrong id (#7771) (c9e4562)
  • GuildScheduledEvent: Handle missing image for v13 (#7627) (dfea9c2)
  • messagementions: Fix has method for v13 (#7591) (7a52785)
  • Check if member has admininistrator on moderatable (v13) (#7578) (13dd82d)
  • ThreadChannel: Require sendable for unarchivable (#7555) (49397c0)
  • Backport MessageReaction#me being incorrectly false (#7553) (5f621c1)
  • typings: SweepStageInstances typo (#7521) (f096069)
  • MessagePayload: V13 don't set reply flags to target flags (#7515) (30baff7)
  • Shard: V13 EventEmitter listener warning (#7479) (77b8e01)
  • MessageEmbed: Set footer to undefined (#7358) (bc5ddc3)

Documentation

  • shardingmanager: Fix type of execArgv option (v13) (#7863) (43a7870)
  • Fix and improve localization docs (v13 backport) (#7807) (6dcf0bd)
  • ApplicationCommand: Fix ApplicationCommandOptionChoice (#7798) (1040ce0)
  • Backport version 13 fixes (#7552) (69ba067)

Features

  • Backport (#7776) (5165b18)
  • Backport (#7787) (3eb45e3)
  • Backport (#7786) (ab324ea)
  • Add support for localized slash commands (v13 backport) (#7766) (022e138)
  • App authorization links and tags for v13 (#7731) (9e4a900)
  • Backport (#7777) (6c56132)
  • Backport (#7778) (ff49b82)
  • Backport (#7779) (ae7f991)
  • Backport (#7783) (cedc333)
  • VoiceChannel: Support video_quality_mode (v13) (#7785) (6daee1b)
  • StageInstance: Add support for associated guild event (#7713) (68498a8)
  • modals: Modals, input text components and modal submits, v13 style (#7431) (e1cdcfa)
  • Backport Interaction#isRepliable (#7563) (5e8162a)
  • Add methods to managers for v13 (#7611) (9f09702)
  • Add premiumSubscriptionCount to InviteGuild (#7629) (8e7d15e)
  • scheduledevents: Event cover images for v13 (#7613) (a7535a2)
  • Backport MessageMentions channel type fixes (#7562) (93cdb2f)
  • Backport cache types resolving to never (#7561) (611d3a7)
  • Backport sending message flags (#7560) (29d42ed)
  • ThreadChannel: Backport creation timestamp (#7559) (1d97dcf)
  • Add custom image support to version 13 (#7557) (679b87c)
  • Backport reason on pin and unpin (#7556) (b231bec)
  • GuildPreview: Add stickers to version 13 (#7554) (215dfe0)
  • Backport sweepStickers method (#7558) (ee1698d)
  • scheduledevents: Add image option (v13) (#7549) (2fcf8af)
  • thread: V13 add newlyCreated to threadCreate event (#7481) (2b3db73)
  • commands: Attachment options (#7441) (5bcca8b)

Refactor

  • Deprecate v13 properties and methods (#7782) (b9802f4)
  • Remove non-breaking stuff (#7636) (b9c5676)

Typings

  • Fix ModalSubmitInteraction (#7768) (1d09ad4)
  • threadchannel: Fix autoArchiveDuration types (#7817) (7afcd95)
  • InteractionCollector: Fix guild and channel types (#7624) (7814074)
  • V13 channel create overloads fix (#7480) (0b54089)

13.6.0 - (2022-01-13)

Documentation

  • interaction: Add locale list link (#7261) (1f4e633)

Features

  • Add Locales to Interactions (#7131) (233084a)

13.5.1 - (2022-01-07)

Bug Fixes

  • sweepers: Provide default for object param (#7182) (2dabd82)
  • GuildMemberManager: Nick endpoint (#7151) (d0c3961)
  • Permissions: ToArray shouldn't check admin (#7144) (fc4292e)
  • Remove deprecation warning on Message#cleanContent (#7143) (7e5f16b)

Documentation

  • Sweepers: Fix typo (#7165) (780b7ed)

Features

  • GuildMember: Add method to check timeout (#7146) (baacd6b)
  • ClientOptions: WaitGuildTimeout amount client option (#6576) (2bfc638)

Refactor

  • MessageEmbed: Deprecate strings for setAuthor() (completely) and setFooter() (#7153) (3496516)
  • Import timers, process, and Buffer from node: (#7157) (3c62bd2)

13.4.0 - (2021-12-24)

Bug Fixes

  • BaseMessageComponent: Don't create new class instances (#7140) (e6f41b5)
  • Make the followUp function error more clear (#7129) (b763dab)
  • StickerPack: Nullify bannerId (#7119) (6bb03f2)
  • Webhook typeguards should use string comparisons (#7127) (645b3f8)
  • Message: Remove usage of .deleted (#7109) (a0fe0ac)
  • GuildAuditLog: Remove Promises in constructor (#7089) (9cf44d1)
  • ShardingManager: Fix respawnAll not passing delay correctly (#7084) (de61fe4)
  • StoreChannel: Mark as deprecated (#7072) (5ec542d)
  • InteractionCollector: Handle thread (and parent) deletion (#7070) (b5cd288)
  • ReactionCollector: Check for channel.threads (#7069) (3846f0d)
  • GuildChannel: Default to this.rawPosition in clone() (#7057) (5fcda73)
  • Interaction channel type should be GuildTextBasedChannels when in guild (#6998) (da86bd4)
  • Util: Fix sorting for GuildChannels (#7002) (c07207f)
  • MessageManager: Do not use client.emojis (#7039) (fd63139)
  • ActionsManager: Revert to manual requires (#7034) (0193efa)
  • MessagePayload: Prevent spread of undefined (#7029) (fabd343)
  • MessageManager: Allow a string for edit() (#7033) (54f937d)
  • Avoid sending bot auth on token endpoints (#7022) (7efeff4)
  • Sharding: Properly handle errors in fetchClientValues (#6990) (c0ba2d4)
  • VoiceState: Set streaming to false when the stream ended (#6992) (fdb09cb)
  • MessageReaction: Cache myself when MessageReaction#me is true. (#6956) (b001e19)

Documentation

  • Deprecate .deleted getters (#7107) (d43f684)
  • Sticker: Fix typo (#7085) (ee91f5a)
  • Constants: Document missing errors (#7086) (6e57b65)
  • Constants: Adjust GUILD_STORE warning placement (#7083) (23513d1)
  • StoreChannel: Add deprecation warnings (#7080) (fdba146)
  • GuildStickerManager: Fix create() example (#7060) (6f58e81)
  • Invite: Add info blocks for missing props (#7014) (b183a8e)
  • MessageReference: Fix static link (#7041) (85e6812)
  • Constants: Fix typo "announcement" (#7016) (a1a8ca4)
  • README: Add installation instruction on @discordjs/voice (#6964) (3c857a6)
  • Guild: Fix setOwner() example (#6929) (dc64541)

Features

  • Add support for GuildScheduledEvent (#6493) (1316fd4)
  • GuildMember: Add timeouts (#7104) (aa7c1b2)
  • Export Sweepers (#7117) (b9b60a3)
  • Add API error code 50109 (#7112) (55960cc)
  • Client: Add global sweepers (#6825) (d1ef2f5)
  • Add API error code 20029 (#7078) (f410536)
  • ApplicationCommand: Add setX methods for easier editing (#7063) (7f980e3)
  • Add API error code 50055 (#7068) (f028aea)
  • SnowflakeUtil: Add timestampFrom (#7058) (8b200c0)
  • Guild: Add premiumProgressbarEnabled (#6887) (552d89f)
  • Add UserContextMenuInteraction and MessageContextMenuInteraction (#7003) (4fe063f)
  • Shard: Add eval context (#7011) (77aff08)
  • ThreadChannel: Add ThreadChannel#viewable (#6975) (db09d79)
  • ThreadManager: Add slowmode option on thread creation (#6989) (493e4f9)
  • MessageAttachment: Description (alt text) support (#6871) (5e0a7d5)
  • ApplicationCommand: Add support for min and max values (#6855) (c30a818)
  • SystemChannelFlags: Add new flag (#6870) (49e3ce2)
  • UserFlags: Add BOT_HTTP_INTERACTIONS (#6733) (f43140a)
  • Add new activity flags (#6699) (47d74eb)
  • ApplicationFlags: Add message content intent flags (#6888) (e94073a)

Refactor

  • UserManager: Move methods to the manager (#7087) (2ed02f7)
  • RoleManager: Move some methods over from Role (#7096) (1e00fc2)
  • Guild: Remove duplicate methods (#7100) (717e0e9)
  • Util: Replace Util.delayFor with tp.setTimeout (#7082) (25b8491)
  • Make Structure#deleted a getter to a WeakSet (#7074) (b093750)
  • SnowflakeUtil: Clean up utils and improve perf (#7036) (e59fac3)
  • MessageEmbed: Utilise an object approach for .setAuthor() (#6966) (73854ee)
  • Deprecate application command events (#6937) (28688e2)

Typings

  • CategoryChannel: Fix createChannel return type (#7138) (1626dde)
  • CategoryChannel: createChannel should default to a text channel (#7132) (a0a5b0e)
  • Make channel types a lot stricter (#7120) (7b65a04)
  • Forward cache types to collector filters (#7126) (77489b9)
  • Fix possibly null message properties (#7111) (bc6a6c5)
  • Use mapped enums instead of overloads (#7088) (49f9a18)
  • MessageComponentInteraction: Ensure component is not null (#7099) (2ce244b)
  • GuildAuditLog: Strengthen types (#7090) (5a5c045)
  • Message: guild should be non-null when message is in guild (#6933) (1230bee)
  • Improve audit logs' typings (#6647) (b6b4570)
  • Interaction: Narrow memberPermissions (#7054) (01f8d1b)
  • ApplicationCommandManager: Deprecate old *Data type usages and allow camel cased dapi types to be used (#6959) (2c91c48)
  • WebhookMessageOptions: Disallow stickers (#7012) (099536e)
  • Remove unneeded collector types (#7008) (c1f2fe2)
  • Make event emitters use mapped event types (#7019) (48555cb)
  • ApplicationSubcommandData: Allow autocomplete to be true (#6981) (ecc61f3)
  • Fix interaction typeguards (#6976) (06cd16f)
  • Strengthen autocomplete option types (#6950) (7630158)
  • Fix cache type fallback types (#6961) (9f240ea)
  • Unify ApplicationCommandManager#create overloads (#6970) (8e881d2)
  • Events: Rest events can be emitted on BaseClient (#6936) (c297829)

13.3.1 - (2021-11-01)

Bug Fixes

  • Assert channel types in message actions (#6919) (9bd3689)
  • MessageEmbed: Only compare image urls in #equals (#6926) (95d2a4d)
  • Correctly access guild IDs inside managers (#6927) (2d9ffb8)

Documentation

  • README: Use correct capitalization of npm (#6930) (bb245b7)

Typings

  • Improve toJSON methods for message components & embeds (#6925) (204aee7)

13.3.0 - (2021-10-29)

Bug Fixes

  • Handle message bulk delete and thread delete in collectors (#6902) (d6685b1)
  • ApplicationCommandManager: Update guild command cache on c/u/d (#6841) (f169c8f)
  • TextBasedChannel: Return the cached message instead of clone it (#6877) (ceaf738)
  • MessageComponentInteraction: Component getter is not null anymore (#6835) (7621e9d)
  • PartialGuildMember#id is not null (#6840) (4dff279)
  • Webhook: Resolve source guild only if cached (#6834) (d193d04)
  • AllowedImageSizes: Add new image sizes (#6844) (ef01b84)
  • MessageReaction: Prevent event double fire from uncached messages (#6818) (267a4b3)
  • Guild: Guild.available is never set on new joins (#6769) (29667c9)
  • Types: Export more types (#6808) (b474677)
  • GuildBanManager: Send reason in the headers instead of json body (#6800) (bfb89de)
  • User: Don't generate the banner URL when not cached (#6783) (0d599a1)
  • GuildMember: More explicit partial check (#6760) (b1656bf)
  • Role: Check for presence of icon and unicode_emoji before patching (#6780) (e31c5ca)

Documentation

  • Constants: Document missing autocomplete interaction constants (#6916) (aa4d055)
  • InteractionCollector: Add info block about being prone to always running (#6906) (5d987ee)
  • GuildStickerManager: Fix create() example (#6900) (bdd841a)
  • InteractionResponses: Move embed var position in example (#6896) (8806039)
  • Application: Rename Oauth2Application to Application (#6891) (76856b9)
  • Util: Deprecate .removeMentions() (#6866) (b6c9fd6)
  • Correct tags used for objects (#6846) (f7b7aac)
  • Redirect to events correctly (#6845) (38cc89e)
  • Typos, consistency and grammar fixes (#6811) (c44ea50)
  • Message: Specify Snowflake in return type of awaitReactions() (#6822) (4354c37)
  • Replace FetchOwnerOptions type definition (#6814) (b030130)
  • Remove dangling reference (#6810) (d57ec7a)
  • InteractionCollector: Remove repeated "the" (#6802) (b1b9c83)
  • MessagePayload: Change the typo of "wether" to "whether" (#6771) (d32956c)

Features

  • ThreadMemberManager: Allow individual members to be fetched (#6889) (14716df)
  • Add support for autocomplete interactions (#6672) (ddf759c)
  • MessageEmbed: Add #equals (#6885) (fae4abf)
  • StartThreadOptions: Default autoArchiveDuration to channel's defaultAutoArchiveDuration (#6278) (740d3f0)
  • Add rtcRegion to GuildManager#create() (#6858) (399e720)
  • Add typeguards to webhooks (#6850) (e0afcad)
  • GuildChannelManager: Add 'rtcRegion' option to 'create' method (#6849) (487d32d)
  • Permissions: Add checkAdmin to permission overwrite checks (#6847) (7513b45)
  • Interaction: Add isApplicationCommand check (#6801) (6898fa3)
  • CommandInteraction: Add toString method (#6793) (bd48e6d)
  • Client: Add apiResponse and apiRequest events (#6739) (26f927b)
  • ModuleImporter: Implement import module compatible with bundlers (#6709) (d399a28)

Refactor

  • Move Guild setPositions methods to managers (#6875) (e12a5b6)
  • Remove gen-esm-wrapper dependency (#6884) (b278884)
  • Fix typos (#6852) (672baa4)
  • GuildManager: Remove redundant check (#6859) (579569a)
  • Remove redundant user agent parsing (#6820) (460df9e)
  • Remove unnecessary checks (#6777) (e24209a)
  • Role: Move initialization of delete prop out of _patch (#6776) (872e7a5)

Typings

  • fix: BaseCommandInteractionOptionResolver and CommandInteraction (#6910) (673c03f)
  • Constants: Remove deleted properties from Package (#6908) (7be9170)
  • Shard: Eval returns a promise resolving with T instead of T[] (#6901) (14d9a99)
  • ApplicationCommandManager: Add missing overload for fetch (#6904) (ee93a27)
  • TextBasedChannel: Text channel interaction collectors should have message option (#6903) (91a432e)
  • Cache types cleanup (#6867) (b2836da)
  • Allow message cached props to be narrowed (#6838) (c3948f8)
  • CommandInteractionOptionResolver: Allow narrowing of getMember() (#6831) (e8b6997)
  • BaseMessageComponent: Remove third parameter of create() (#6833) (d27fddb)
  • Message component cached props narrowing (#6809) (b541d0a)
  • ApplicationCommandOptionData: Remove required on subcommands (#6790) (5566404)
  • Integration: Add IntegrationType values (#6815) (187581d)
  • WelcomeChannelData: Allow store channels (#6778) (45ebea3)
  • Make embed author and footer props name and text required (#6779) (a84e51b)

13.2.0 - (2021-10-05)

Bug Fixes

  • AllowedImageSizes: Add new image sizes (#6754) (d0025be)
  • User: Compare flags in #equals (#6750) (00e1e26)
  • VoiceState: Patch streaming value (#6747) (7eec061)
  • Message: Avoid overwriting properties in _patch (#6738) (a8c21cd)
  • ReactionCollector: Only call the filter function once (#6734) (d15dd5f)
  • Shard: Use provided timeout when respawning (#6735) (905d100)
  • Role: ToJSON() throwing due to permission bigints (#6724) (9e421f6)
  • Don't patch set data with undefined (#6694) (9eb9591)
  • Invite: #guild never resolving into a Guild (#6742) (b76bb8a)
  • GuildManager: Add missing types and converts (#6683) (cdf65f7)
  • Util: Default animated to false when omitted on resolvePartialEmoji (#6725) (8d80fec)
  • Message: Throw error on missing channel (#6581) (60aa9ae)
  • CachedManager: Return updated data when cache is false (#6685) (8426770)
  • GuildEmoji: Cache restricted roles and author data (#6675) (60b8ba6)
  • Constants: Allow undefined size (#6686) (d3da833)
  • *RoleManager: Create set of role ids correctly (#6674) (f8aa4bd)
  • Shard: Eval promise never resolves (#6649) (5070d23)
  • xxxable: Follow more properly with discord behavior (#6551) (5d87398)
  • Allow null to be passed in order to reset icon/avatar (#6646) (6033506)
  • Message: Pinnable returning false in non-DEFAULT messages (#6585) (3183b11)
  • threadMembersUpdate: Fixed typo (#6589) (8826e9f)
  • ThreadChannel: FetchStarterMessage bug (#6584) (08edc0b)
  • Await message component collectors should return component interactions not collectors (#6562) (f49f70a)
  • GuildChannel: Fix manageable method for voice-channels (#6447) (9301c9b)
  • MessageAttachment: Re-assign name (#6518) (8a8c69a)
  • UserUpdateAction: Rely on client.user when ids match (#6511) (1418649)
  • Util: Allow empty strings in splitMessage (#6437) (d6e6244)
  • BaseClient: Remove selfbot ability (#6429) (9a833b1)
  • Sticker: Rename method correctly to _add (#6421) (2c449b6)
  • Message: Fix typo (#6435) (ecb6e50)

Documentation

  • FetchReply info + example (#6753) (8bc1ece)
  • GuildMemberUpdateAction: Event doesn't get emitted on user update (#6752) (1db3e76)
  • Better links for .toJSON() of button and select menu (#6745) (6e5c768)
  • Undocument private constructors (#6732) (34b2ad0)
  • Message: Fix return type for reply (#6720) (3f11009)
  • CommandInteractionResolvedData: Fix key type (#6729) (466e796)
  • EmojiResolvable: Update description of typedef to remove ambiguity (#6708) (7cba676)
  • ApplicationCommandPermissionsManager: Fix example set method (#6658) (839974c)
  • Shard: Point to correct events (#6641) (b9a4899)
  • VoiceChannel: Deprecate editable (#6613) (88e2622)
  • PermissionOverwriteManager: Correct @returns of delete (#6632) (3c3522a)
  • MessagePayload: Correct return type of resolveFile() (#6605) (ea6a57e)
  • MessageButton: Fix info tag (#6590) (db73cf9)
  • WidgetMember: Fix typo for deaf (#6564) (33f6f82)
  • Constants: Fix interaction type link (#6558) (29d5fd1)
  • Fix JSDoc for ClientUser#edit (#6554) (34024f5)
  • Util: Correct @param for cleanContent() (#6531) (b89280a)
  • Formatters: Fix typo of TimestampStyles (#6523) (7d4a40a)
  • GuildChannelCreateOptions: Fix #type type (#6502) (4bfd5d3)
  • ThreadManager: Fix typo (#6485) (8a95211)
  • Fix wrong type being displayed in docs (#6504) (9ca10cc)
  • MessageManager: Fix typo (#6482) (70cc029)
  • MessageReference: Add possible message types (#6464) (93a83c2)
  • ApplicationCommandType: Add DAPI link (#6463) (17b4079)
  • BufferResolvable: Add warning for URL input (#6451) (16493e6)
  • Formatters: Use id over ID (#6439) (84bb4f4)
  • RoleManager: Error in examples (#6416) (759faa4)
  • Rename implementation of deferReply (#6412) (615afab)

Features

  • Add support for role icons (#6633) (7129965)
  • Interaction: Add memberPermissions (#6741) (28d96e3)
  • CategoryChannel: Add createChannel shortcut method (#6614) (3eacf7a)
  • Allow webhooks to fetch, edit and delete messages in threads (#6695) (107822d)
  • Threads: Update permissions and fix getters (#6466) (10478ad)
  • PartialGroupDMChannel: Add recipients & fix name (#6713) (2803db6)
  • GuildMember: Add guild avatars (#5696) (dfd7b40)
  • MessageAttachment: Add support for ephemeral property (#6652) (c5db0ff)
  • ApplicationCommand: Add support for channel_types (#6640) (3b14883)
  • UserManager: Allow #fetch to take UserResolvable (#6677) (a06a87a)
  • Add api error code 50101 (#6663) (42fdcaa)
  • Add support for API command types in ApplicationCommandManager (#6621) (ecd637f)
  • Permissions: Add START_EMBEDDED_ACTIVITIES (#6622) (66a90d3)
  • Integration: Add missing props and fix docs/types (#6623) (caa3b60)
  • Default values for setX boolean methods (#6619) (8add4b0)
  • Add api error code 30042 (#6635) (183dbd7)
  • Give removed MessageReactions on messageReactionRemoveAll event (#6607) (be8912a)
  • ApplicationCommand: Add version property (#6603) (f866512)
  • MessageTypes: Add CONTEXT_MENU_COMMAND (23) (#6425) (d81590d)
  • Add api error code 160002 (#6566) (d16ada9)
  • ApplicationCommand: Add #equals (#6414) (581921f)
  • Threads: Add support for invitable in private threads (#6501) (a693254)
  • BaseGuildTextChannel: Export BaseGuildTextChannel (#6527) (fc51f61)
  • User: Banners and accent colors (#6117) (839c6da)
  • MessageAttachment: Allow files to be marked as spoilers (#6509) (96e26c4)
  • ThreadChannel: Add fetchStarterMessage (#6488) (705c5a1)
  • Message: Add method to resolve a component by id (#6484) (57b94b9)
  • Set methods for MessageActionRow and MessageSelectMenu (#6490) (fb50dd9)
  • Export BaseCommandInteraction (#6478) (c14e594)
  • Guild: Add Guild#maximumBitrate getter. (#6455) (21983de)
  • Message: Prevent fetching an interaction webhook. (#6468) (f39b597)
  • Add maximum prune requests reached api error (#6427) (a4b8623)
  • Rest: Expose https.Agent options (#6177) (5eb3553)
  • InteractionReponses: Allow fetching of ephemeral messages (#6426) (d289d5c)
  • Export ContextMenuInteraction (#6434) (170c0c4)

Performance

  • Use logical assignments instead of if statements (#6693) (e9daa31)

Refactor

  • User: Set accentColor and banner to undefined when not yet received (#6721) (ba93e85)
  • Use optional chaining (#6757) (a194d9c)
  • Use the node: protocol (#6710) (531b46c)
  • VoiceState: Use manager edit method to remove error (#6631) (29dd319)
  • Constants: Better type error in cdn endpoints (#6637) (124e177)
  • ES2021 features (#6540) (00bd92a)
  • Channel: Make delete async (#6417) (71fdf6f)

Typings

  • Interaction: Allow Interaction cached properties to be type narrowed (#6668) (d873a19)
  • Rename Awaited<T> to Awaitable<T> (#6756) (f88f4cc)
  • GuildBanManager: Remove can return null (#6748) (c3f4de4)
  • Add ExcludeEnum utility for easier typings (#6746) (42acc6e)
  • Webhook: More accurate type for sourceChannel (#6751) (32b5c2e)
  • WebhooksUpdate: Allow NewsChannels (#6749) (abf158d)
  • More accurate types instead of GuildChannelResolvable (#6744) (a8e6010)
  • ChannelTypes: Remove unknown from CHANNEL options (#6701) (8b4456e)
  • TextBasedChannels: Fix awaitMessageComponent return type (#6723) (a7cb314)
  • Vanity: Make uses non-nullable (#6715) (3a978f3)
  • Role: Role#comparePositionTo accepts RoleResolvable (#6722) (7c4d1df)
  • Presence: Fix ActivityOptions#type and Activity#id types (#6696) (fe95005)
  • Fix missing channel type in subcommand options (#6706) (da3ae48)
  • Add GuildEmojiManager to Caches (#6671) (1ca8d2c)
  • VoiceState: Allow moving members to stage channels (#6684) (94ca0f5)
  • Interaction: Improve type guard for inGuild() (#6644) (0347826)
  • MessageOptions: Allow APIEmbed (#6656) (92f6471)
  • WelcomeChannel: Allow store channels (#6615) (75d85f7)
  • MessageEmbed: Allow APIEmbed type (#6629) (256fb90)
  • TextBasedChannelFields: Add back createMessageCollector (#6616) (1b016a3)
  • Make channelId non-nullable on MessageComponentInteraction (#6600) (8cc3885)
  • Message#createMessageComponentCollector use MessageComponentInteractionOptions<T> (#6596) (c62823e)
  • MessagePayload: Specify typings for files and resolveFile (#6608) (ea36955)
  • Collector filter parameter inference (#6574) (0841956)
  • MessageReference: Correctly add undefined type (#6563) (cdb0005)
  • @typedef for StageChannelResolvable (#6568) (2c219cb)
  • Allow message component interaction collectors to infer collected interaction types (#6476) (03d5549)
  • CommandInteractionOptionResolver: Document & type thread channels (#6521) (774e960)
  • MessageComponentInteraction: Fix componentType (#6536) (0fe5f88)
  • Mark enums as const enums (#6394) (5c27639)
  • MessageEmbed: Allow null for setTimestamp (#6514) (7aff15a)
  • Require component type in raw object formats (#6452) (c232baa)
  • CommandInteractionOptionResolver: Add missing parameter (#6497) (656b518)
  • ClientPresence: Add type declarations and docs (#6450) (6cac03a)
  • GuildChannel: Added missing typing (#6454) (f294d1e)
  • Message#_patch typings return type (#6433) (81bb68d)

13.1.0 - (2021-08-12)

Bug Fixes

  • StageInstance: Ensure discoverableDisabled is not undefined (#6395) (dce8fc7)
  • WidgetMember: Default to null and not undefined (#6399) (44bbfa5)
  • Guild: preferredLocale to always be a string (#6402) (4a64662)
  • ContextMenuInteractin: Store message as raw value (#6400) (d9456a1)
  • Util: Remove truthy check before isNaN check (#6358) (3c17939)
  • Constants: Fix CDN endpoint typings (#6332) (47d2ef3)
  • Managers: Fix typo in unsupported warning (#6338) (917e71a)
  • GuildMemberRoleManager: Typo (#6335) (d87299b)

Documentation

  • Remove unparsed examples (#6404) (e6f48d8)
  • GuildManager: Increase fetch limit to 200 (#6406) (933d2c5)
  • ApplicationCommandData: Fix type property (#6385) (de3c86f)
  • Update links for api-docs (#6380) (779e14e)
  • Switch urls from upstream rearranging (#6378) (4c8dc4c)
  • Correct wrong interaction links (#6274) (49d3c0b)
  • Invite: MANAGE_CHANNELS instead of MANAGE_CHANNEL (#6361) (0062aa6)
  • Options: DefaultMakeCacheSettings typo (#6365) (ea8d77e)
  • Grammar fixes (#6345) (f13d27c)

Features

  • GuildMemberManager: Add 'list' method (#6403) (2bf0970)
  • GuildManager: Allow setting with_counts to false (#6407) (14aea12)
  • CommandInteractionResolvedData: Access to "raw" resolved data (#6384) (fff887b)
  • Utils: Add additional formatters (#6388) (cd40292)
  • Right-clickybois (context menu support for ApplicationCommand and CommandInteraction) (#6176) (0266f28)
  • Threads: Max autoArchiveDuration option (#6304) (394d486)

Refactor

  • Options: Separate default settings for make cache (#6330) (d14a6bf)

Typings

  • ApplicationCommandData: Make type field optional (#6405) (dcc556c)
  • Constants: Add ApplicationCommandTypes to Constants (#6398) (6342430)
  • ApplicationCommandOptionData: Align command data options types more with discord API (#6247) (297a911)
  • ApplicationCommandData: Stronger typings for ApplicationCommandData variants. (#6382) (75b48d8)
  • Options: CreateDefaultOptions => createDefault (#6376) (2a3e819)
  • Events: Renamed messageReactionAdd's reaction parameter (#6371) (006edca)
  • ImageURLOptions: Allow 'gif' format (#6342) (5f1def3)

13.0.1 - (2021-08-07)

Bug Fixes

  • GuildMemberManager: Refactor fetchMany (#6328) (909c873)
  • Message: Handle fetched messages (#6325) (ceae596)

Documentation

  • Fix bad indentation (#6316) (cd1aefb)

Typings

  • Util: Fix cleanContent parameter type (#6321) (60ace9a)

13.0.0 - (2021-08-06)

Bug Fixes

  • MessageMentions: Check guild exists before adding roles (#6313) (1200bba)
  • GuildMemberManager: FetchMany fixes (#6314) (52817fc)
  • Caching: Sweep archived threads in all channel caches (#6312) (3725dca)
  • Message: Fix thread getter (#6309) (913c9fa)
  • BaseGuildTextChannel: Call patch (#6298) (3eb4140)
  • Remove support for overriding caches that break functionality (#6282) (a6d4035)
  • Message: Make #channel and #guild getters (#6271) (6e3236a)
  • WebSocketShard: Mark shard ready if no guilds intent (#6284) (09471be)
  • Action: GetChannel interaction DM (#6280) (a72b5a3)
  • GuildChannel: SetParent not working (#6276) (7e0618f)
  • ChannelUpdate: Restore accidentally removed line (#6263) (774f5b7)
  • Util: Fix collection import (#6256) (93e0239)
  • Array/keyArray removed (#6245) (bf221f2)
  • TextBasedChannel: Fix MessageCreate handling (#6217) (6b85f90)
  • PermissionOverwrites: Throw better error if resolving option fails (#6219) (42a0313)
  • Channel: Add default for destructured options (#6203) (6872547)
  • Use string instead of Snowflake for invites (#6202) (f060a3f)
  • ThreadChannel: Better property handling (#6172) (9679b90)
  • Export various classes that are exported in the typings (#6166) (30a58dc)
  • Typings: Type attachments to InteractionUpdateOptions (#6162) (4f8ca29)
  • GuildAuditLog: Assert target to null upon not finding invite codes (#6171) (c8ca7bf)
  • Message: Fix typo in sticker_items (#6173) (870a0de)
  • Sticker: Replace 'this.guildID' (undefined) by 'this.guildId' in fetchUser (#6160) (07017a9)
  • CommandInteractionOptionResolver: Type should be USER (#6148) (02f55f0)
  • CommandInteractionOptionResolver: Export CommandInteractionOptio… (#6146) (8ccfd6e)
  • CommandInteraction: Change options type from Collection to array (#6139) (77784ac)
  • GuildChannel: Only fetch invites for the specific channel (#6132) (c40c0f9)
  • PermissionsOverwrites: Only convert type if number (#6092) (dee5c83)
  • Channel type check in actions (#6086) (d433fe8)
  • GuildChannel: Clone its PermissionOverwriteManager too (#6083) (f72ce7c)
  • PresenceUpdate: Use added presence over nullable getter (#6077) (637c8e0)
  • InviteScope: Added missing 'bot' scope (#6052) (93e2c04)
  • SelectMenuInteraction: Set values to empty array if not provided (#6045) (34708d6)
  • Guild: Add invite manager property, extend CachedManager (#6049) (e3d877d)
  • TeamMember: Fixed incorrect return types. (#6044) (fe5d56c)
  • Structures: Remove Structures (#6027) (ab0b3b9)
  • GuildChannel: Use map method on cache not its manager (#6032) (d58f0d2)
  • PermissionOverwriteManager: Pass ID to API correctly (#6026) (8077e4f)
  • GuildChannel: Add missing 'cache' property (#6019) (7e30011)
  • Remove connection.url from open debug message (#6018) (39db953)
  • Util: SplitMessage not working with array (#6008) (bd25ff5)
  • Correct permissions checks and cache on update (#6015) (568691c)
  • ThreadManager: Fixed wrong private and fetchAll check (#6012) (e4be666)
  • Typings: Improve components typings in MessageEditOptions (#6002) (3a718d8)
  • ApplicationCommand: Fix typo in JSDoc (#5994) (6edf55c)
  • ThreadChannel: Check for existence of properties when patching (#5961) (9ac6867)
  • Typings: Erronous RawMessage (5842e35)
  • Thread: Make archive_timestamp not nullable (#5965) (edab5af)
  • Sharding: Strict type context and return (#5933) (1925d01)
  • Webhook: Return void from #delete for consistency. (#5954) (5ad83a6)
  • Collector: Docs and types (#5937) (6c447b1)
  • Message: Make author of referenced message nullable (#5929) (dc671c8)
  • User: Fix bot and system properties being incorrect in some cases (#5923) (e44ae96)
  • ThreadMemberManager: Fix ThreadMemberManager#add and ThreadMemberManager#fetch (#5927) (adecead)
  • Webhook: Resolve non-string avatars too (#5914) (4714a96)
  • ApplicationCommand: StringType isn't supposed to be sent to the API (#5916) (ca2a36b)
  • Permissions: Allow admin to override in the missing method (#5911) (ee025b0)
  • InteractionResponses: Set replied status on editReply (#5899) (6d3d00b)
  • Message: Flags not being parsed on some edits (#5886) (2d7c12b)
  • Guild: Don't patch before instance properties (#5885) (174b7a7)
  • presenceUpdate: Fire when only state/details change on an activity (#5846) (1f8f3ab)
  • Message: EditedTimestamp defaulting to 0 (#5847) (671436c)
  • ApplicationCommand: Default option.required fix (#5848) (a1f94f6)
  • Guild: SetChannelPositions null parenting (#5841) (01a1fd6)
  • ApplicationCommand: Default option.required to false (#5838) (77c1f15)
  • GuildManager: #create throws when systemChannelFlags is undefined (#5832) (29173bf)
  • GuildChannel: Don't force parentID/permissionOverwrites to empty on create (#5823) (c585933)
  • GuildChannel: Improve empty overwrite handling for permissionsLocked (#5821) (6df3623)
  • ApplicationCommands: Allow managing commands for uncached guilds (#5729) (24e5868)
  • ClientApplication: Freeze flags (#5811) (e990c35)
  • *: Typedefs and typings for image & webhook options (#5805) (a5a6e22)
  • TextBasedChannel: Allow passing an APIMessage with split (#5815) (93b0a4e)
  • PermissionOverwrites: Optional allow/deny OverwriteData (#5810) (a7ebb21)
  • Typings: Fix BitField toJSON/valueOf return types (#5806) (935f819)
  • Hooks: Make husky hooks executable (#5812) (77e28cf)
  • GuildChannel: Clone errors when options.name isn't provided (#5804) (41673b7)
  • WebSocketShard: Don't catch errors thrown in event handlers (#5803) (53d8e49)
  • Don't patch missing properties from partial payloads (#5796) (097c7b9)
  • GuildChannel: Spread clone options to avoid infinite recursion (#5800) (2f5424b)
  • Webhook: Throw an error if no token is available when it's required (#5798) (eb98e33)
  • ClientPresence: Produce valid activities for set presences (#5799) (ea0e06f)
  • BitField: Ensure missing returns an array of strings (#5795) (68f7aeb)
  • ApiMessage: Only pass objects as options directly (#5793) (3578159)
  • BitField: Throw an error if bit to resolve is undefined (#5565) (0156f69)
  • Remove remnants of awaitMessageComponentInteractions (#5783) (ae78a33)
  • *: Add missing imports for custom errors (#5767) (e980948)
  • ShardingManager: Client error event cannot be emitted (#5559) (d1c5b6f)
  • Add components to MessageOption typedefs (#5768) (657635c)
  • Interaction: Add missing types and fix docs lists (#5762) (1d57754)
  • Webhook: #editMessage throws error when content is null (#5757) (2901fd5)
  • MessageComponentInteraction: Correctly type defer method (#5760) (f0dad26)
  • RoleManager: Bug in #create (#5730) (cf22456)
  • Message: Update typings and docs related to #edit (#5745) (a2f0c11)
  • Typings: Add missing typings for HttpError -> requestData (#5742) (3e9ce35)
  • MessageEmbed: Import custom RangeError class (#5740) (bfe01b5)
  • CommandInteraction: Cmds with no options throw error (#5734) (af2fad9)
  • CommandInteraction: Channel type should be text based channels (#5690) (5141ea4)
  • GuildMemberManager: Allow moving members to any non-text channel (#5681) (d21e6af)
  • Interfaces not importing due to re-export of Snowflake (#5723) (086c3f0)
  • PermissionOverwrites: Fix typo in typedef jsdoc (#5704) (6567ba8)
  • Types: Make event listeners accept async callbacks (#5602) (a73a5cf)
  • GuildEmojiRoleManager: Bug in #remove (#5666) (c89bdd7)
  • ApplicationCommandOptionData: Options property should be itself (#5679) (b90b0c3)
  • APIMessage: Document Interaction as valid MessageTarget (#5678) (9f491ff)
  • Message: Bug in #suppressEmbeds due to #5612 (#5644) (840ad0a)
  • Lint-staged for typescript files (5f6ec22)
  • DataResolver: Fix circular dependency error with GuildTemplate (#5622) (b376f31)
  • ApplicationCommandManager: Limit permission methods to guilds (#5613) (03256bd)
  • CommandInteraction: Update typings and docs for #editReply (#5630) (56d44fb)
  • ApplicationCommand: Return string equivalent of ApplicationCommandOptionType (#5617) (a6079bc)
  • Resolve emoji in Message#react (#5614) (c733436)
  • Typo in GuildMemberManager (#5616) (73f4114)
  • Message: Editing with MessageEmbed or APIMessage (#5612) (74e97ef)
  • VoiceReceiver: Fix memory leak (#5609) (2eac842)
  • ApplicationCommandManager: Fix typo in JSDoc (#5603) (3392eb7)
  • Sticker: File renamed to SnowflakeUtil (#5573) (f830eb7)
  • Emoji: Name can be null (#5513) (5397021)
  • GuildMemberRoleManager: Unable to remove roles when passed an array (#5556) (9572521)
  • Typings for 'Message' (#5518) (0d68ca8)
  • HTTPOptions: Change default value in jsdoc to 8 (#5547) (cb50241)
  • GuildAuditLogsEntry: Executor can be missing (#5500) (e9bf206)
  • typings: Update GuildMemberRoleManager typings to match implementation (#5497) (900e576)
  • MessageMentions#channels: Fix type of channels of mentions (#5370) (565d7b3)
  • Resolvables: Valid resolvables throw error when uncached (#5495) (fa5a37e)
  • GuildChannel: Check for community required channels in GuildChannel#deletable (#5170) (b710a43)
  • GuildMember: Correctly check for premium_since (#5312) (aff3625)
  • Voice: Only skip undocumented voice packet byte if present (#5309) (2b52cdc)
  • Typings for 'WebhookMessageOptions' (#5476) (67025e6)
  • IntegrationApplication: Add missing export to index.js (#5475) (8023250)
  • ApplicationFlags: Export class (#5465) (404ce57)
  • Voice: Disconnect if voice channel not cached (#5467) (3af8179)
  • InviteDelete: Guild can be missing (#5457) (6c6b105)
  • ReactionUserManager: Remove before query option (#5281) (43bd568)
  • GuildManager: Add missing toString() on Permission#resolve fns (#5324) (0778926)
  • GuildChannel: Regression on default channel type (#5251) (e7c4f36)
  • Guild/GuildChannel: Methods reason arg usage (#5419) (8411b9e)
  • Role: Pass Permissions class, not the bitfield (#5321) (d744e51)
  • WebSocketShard: Key name in WebSocketShard#_send. (#5304) (56d8b44)
  • ApiMessage: Remove resolve() from typings (#5241) (a6bc39d)
  • GuildChannel: Overload permissionsFor and BaseManager#resolve[id] (#5260) (41bd6c2)
  • GuildEmoji: Check for cahnges to available in equals (#5201) (f95f5dc)
  • VoiceConnection: Make #dispatcher nullable (#5217) (0d5de43)
  • Message: Update getters to take null permissions into account (#5066) (98b1c58)
  • typings: Return types for 'Webhook(Client)#send()' (#4876) (eb28ee7)
  • MessageEmbed: Include author.name in length getter (#5167) (e37160f)
  • Collection: ToJSON() errors if the collection includes empty values (#5129) (2c2249e)
  • Implement valueOf on pseudomanagers (#4595) (8883a01)
  • Add presence to ClientPresence from ClientOptions (#5041) (9c7fe34)
  • Filtering of string forms of null and undefined (#5075) (9042d19)
  • ChannelManager: Avoid crash in remove method with uncached channel (#4937) (12c909e)
  • Message: #system non-zero message types are not guaranteed to be system (#5108) (bb78120)
  • UserFlags: Correct early bot dev name, remove deprecated aliases (#5104) (b509862)
  • Collector: Throw an error if a non-function was provided as filter (#5034) (7365f40)
  • BaseGuildEmoji: Typo in requiresColons (#5076) (e272fd6)
  • MessageReaction: Set MessageReaction#me in patch method (#5047) (6b322f4)
  • Voice*: Filter out silent audio from video users (#5035) (4fcb9eb)
  • GuildTemplate: 'guild' getter (#5040) (53529bd)
  • RoleManager: Fix ID return value, change return type to collection (#4935) (12a096b)

Documentation

  • Grammatical fix (#6311) (7787a76)
  • Grammar fixes (#6308) (0664477)
  • General cleanup and improvements (#6299) (b4afcf8)
  • Typo in ClientOptions (#6305) (dd3a79e)
  • Grammar fix (#6294) (90c2e07)
  • Client: Mark _finalize as private (#6281) (35fa3b3)
  • Update link of the guide to v13 changes (#6273) (6e0ea02)
  • Add missing semicolon to readme (#6270) (2c452df)
  • Change example in readme to slash command (#6250) (626ff85)
  • InteractionResponses: Correct @returns on responses (#6257) (bb56f17)
  • Refactor a few @returns descriptions (#6228) (82daee5)
  • Widget: Add the typedef WidgetChannel (#6182) (8b52d06)
  • Update readme node version requirement (#6241) (797727a)
  • GuildManager: Correct GuildCreateOptions typo (#6224) (2675b08)
  • Constants: Document the Constants object for enum-like usage (#6208) (cc5f1ce)
  • Guild: Correct GuildRolePosition typo (#6223) (40b127e)
  • WelcomeChannel: Correct guild return type (#6222) (d310e4f)
  • Constants: Fix StickerTypes typedef (#6218) (105a194)
  • MessageMentions: Fix documentation for members property (#6206) (f44bfc4)
  • Guild: Add GuildTextChannelResolvable type definition (#6221) (1009ce1)
  • InteractionResponses: Document missing properties (#6178) (5e433b5)
  • CommandInteraction: Correct type definition of CommandInteractionOption (#6169) (5e70694)
  • InteractionResponses: Reply docs example (#6079) (b170fb5)
  • InteractionResponses: Generalize wording in update to fit other component interaction types (#6074) (67e9ce4)
  • ClientUser: Fix shardId nullable (#6072) (28b5ffb)
  • Fixed several typings and MessagePayload#create JSDoc (#6059) (4c0426c)
  • ThreadChannel: Fix documentation for setLocked method (#6053) (8d9ab74)
  • MessageManager: Document options param for #edit as required (#6031) (db60e36)
  • Add Partial typedef (#6029) (b62d646)
  • Fix some missed MessageComponent collector methods (#6023) (610b0b4)
  • *: Wrap optional properties with union types in parentheses (#6021) (ec06ba7)
  • Collector: Properly document endReason (#6016) (7dd1a8d)
  • CreateInviteOptions: Fix TargetType link (#6017) (4adfc45)
  • *: Add class links to isX() methods (#6007) (fbdad6e)
  • WebSocketShard#send and TextBasedChannel#send (#5998) (726073f)
  • Util: Methods removed on the base object (#5990) (d742814)
  • Partials: Add link to the guide (#5982) (58183d4)
  • MessageSelectMenu: Add link to Discord docs (#5984) (f819416)
  • ThreadManager: Fix FetchedThreads typedef and startMessage (#5971) (f108746)
  • Message: Add ThreadChannel as a channel type (#5972) (58bc145)
  • ThreadManager: Fix reason prop of ThreadCreateOptions (#5970) (5dfd7dd)
  • Channel: Fix description of thread channel types (#5968) (853be62)
  • Drop string from MessageButtonStyleResolvable (#5944) (41f718f)
  • Features: Resolved typo in FATEWAY_PRESENCE_LIMITED (#5952) (d38b347)
  • Webhook: Fix thread example in send method (#5953) (d3d19ce)
  • Channel: Make the type news_thread an inline code-block (#5940) (630432b)
  • Thread: Add links to discord api docs (#5919) (5af2ef5)
  • MessageSelectMenu: Fix options typings (#5922) (75837a8)
  • *: Add links to Discord's API objects & data (#5862) (e0efcc6)
  • Move embeds field into BaseMessageOptions (#5902) (6cebeae)
  • Readme: Remove dependencies badge (#5901) (edf6f0c)
  • AnonymousGuild: Add missing extends tag (#5896) (3d96a33)
  • VoiceState: Channel can be null (#5872) (807ea2d)
  • ReplyMessageOptions,MessageEditOptions: Replaced embed with embeds (#5860) (e3ed74a)
  • Consistent application name usage (#5853) (96a4e7b)
  • TextBasedChannel#send: Update embeds example (#5857) (a6dae75)
  • ButtonInteraction: Fix typo (#5835) (9376ee4)
  • Removed topics and FAQ from the repository (#5820) (9e5106d)
  • README: Re-add install command, remove voice remnants (#5817) (55ad6f0)
  • MessageEmbed: Deprecation advisory for type (#5774) (f5f3f77)
  • Messages: Fix examples in messages after changes in #5758 (#5791) (35c2225)
  • ApplicationCommand: Typos in ApplicationCommandPermissionData (#5789) (4511624)
  • GuildMemberManager: Fix docs for #search() (#5784) (0139e10)
  • CommandInteraction#channelID is type of Snowflake (#5776) (32d8c8b)
  • InteractionDeferOptions: Correctly define the typedef (#5769) (4567cd4)
  • Add new guild features (#5755) (f7e420b)
  • Message: Fix content param in #edit not showing as nullable (#5748) (df9b678)
  • All the missing object -> Object changes (#5738) (b317d86)
  • Remove traces of StringResolvable (#5727) (678b7da)
  • Webhook: Update typings and docs for #editMessage (#5713) (256d1b0)
  • Message: Add example for message.reply (#5332) (7d7d2a5)
  • TextChannel: Warning about setRateLimitPerUser NewsChannel (#5403) (47bbdf4)
  • Fix InteractionDeferOptions typedef (#5694) (add924c)
  • ColorResolvable: Add Fuchsia to ColorResolvable typedef (#5676) (7d9818e)
  • Add new typedef to properly doc InteractionReplyOptions (#5632) (3589e0f)
  • Guild: Add proper punctuation to #fetchOwner jsdoc (#5645) (c8d20a4)
  • Correct casing of object -> Object in AuditLogChange (#5636) (ab82caf)
  • GuildChannelManager: Add stage option (#5608) (d219ecd)
  • MessageEmbed: MessageEmbedOptions typedef (#5466) (4a06dd1)
  • Update invite link, change version in the intro (#5592) (533c247)
  • VoiceState: #setRequestToSpeak and #setSuppressed returns a Promise instead of void (#5558) (705d7b3)
  • GuildChannelManager: Fix type options in description (#5440) (936516c)
  • ClientUser: #setPresence does not return a promise (#5485) (599f0f5)
  • GuildChannel: #members add cached spec, include voice (#5385) (e848d25)
  • BanOptions: Make days description more clear (#5327) (dedf432)
  • Update docs and examples for #4879 (#5323) (685b260)
  • GuildMember: Document owner override in permissions getter (#5320) (62ba249)
  • ChannelManager: Fetch can return Promise (#5422) (1c8b109)
  • Guild: Clarified description of guild.features (#5352) (941e36f)
  • BaseManager: Fix a typo in #resolveID description (#5180) (640a663)
  • BitFields: Remove string from BitFieldResolvable (#5122) (9ffcd83)
  • MessageEditOptions: Add the flags parameter (#5126) (2aea7dd)
  • RoleManager: Fetch description (#4920) (be0f383)
  • TextBasedChannel: Indicate that replyTo cannot be system (#5115) (5c4547e)
  • Permission overwrite methods descriptions (#5079) (77d4237)
  • Client: #emojis is a BaseGuildEmojiManager (#5048) (2685b96)
  • User: Fix typos in jsdoc (#5060) (09d0755)
  • WebSocketManager: Fix type of status (#5059) (9f3c3e0)

Features

  • Collector: Return a boolean on checkEnd (#6289) (f473f43)
  • Channel: Add isVoice() (#6297) (5b4efd1)
  • Constants: Added more error codes (#6234) (6b2098f)
  • MessageEmbed: Add setFields method (#6186) (a25e165)
  • ThreadChannel: Add fetchOwner() method (#6207) (331a9d3)
  • Util: Add SweptCollection for auto sweeping of caches (#6110) (dbb59ba)
  • WebhookClient: Allow creation of clients via URLs (#6192) (e000af5)
  • FetchRecommendedShardsOptions: Account for large bot sharding (#6184) (19b242a)
  • GuildAuditLogs: Add threads (#6195) (26ba0e1)
  • Guild: Add fetchWidget() for getting widget data (#6180) (b22272f)
  • ApplicationCommandOptionType: Add NUMBER (10) (#6128) (2f1cc1f)
  • CommandInteractionOptionResolver: Add sub-command required option (#6165) (690c121)
  • Sticker: Updates, sticker packs, and guild stickers (#5867) (54d6a3a)
  • GuildPreview: Add createdAt & createdTimestamp (#6130) (9f039a8)
  • CommandInteraction: Add CommandInteractionOptionResolver (#6107) (f293132)
  • Make Instance#fetch force true by default, and fix force parameter (#6116) (366f3c9)
  • REST: Append additional information to the required User Agent (#6112) (f200f14)
  • Client: Add conditional ready typings (#6073) (4206e35)
  • Allow channels from uncached guilds to be returned from fetch (#6034) (755c180)
  • Collector: Better types for events (#6058) (c0a814f)
  • Message: Add 'failIfNotExists' to ClientOptions (#6038) (28c5724)
  • LimitedCollection: Export LimitedCollection (#6043) (31d3129)
  • Client: Enforce passing scopes to generateInvite (#6024) (c6e5521)
  • Managers: ✨ Add GuildInviteManager (#5889) (9e08b02)
  • Managers: Add customizable caching for managers (#6013) (8c7cb0e)
  • InteractionCollector: Reworked to be more generic (#5999) (374c779)
  • PermissionOverwriteManager (#5318) (e7ad2fe)
  • Formatters: Added new URL utilities and docs (#6014) (98e45a5)
  • RoleManager: Added edit method, alias Role#edit (#5983) (1e73c25)
  • StageChannel: Add createStageInstance method & use better naming convention (#5951) (71fb33a)
  • Channel: Add isThread typeguard for better TS support (#5978) (b7ed675)
  • Util: Added formatters (#5976) (8c7a28f)
  • Interactions: Option to auto-fetch replies (#5831) (5e28ff8)
  • Interaction: Add guild guard (#5955) (87e8cdd)
  • Managers: New ApplicationCommandPermissionsManager (#5897) (6264c60)
  • MessageComponentInteraction: Component getter (#5840) (1439183)
  • MessageMentions: Add repliedUser (#5905) (2616125)
  • MessageSelectMenu: Droppybois (#5692) (e5fcf0b)
  • Api v9 and threads (#5570) (7346621)
  • InteractionCreate: Move to an Action handler (#5906) (ea49f7c)
  • Add missing APIError codes (#5898) (d930c81)
  • Interactions: Improve error handling for ephemeral responses (#5892) (bd9f56a)
  • Add APIError codes for stage instance (#5888) (c850ae1)
  • WelcomeScreen: Welcome screens (#5490) (44e2ee7)
  • Stage instance invite (#5856) (2d12db0)
  • Guild: Add enum for premium_tier (#5868) (a3cbcca)
  • *: Use enums for consistency and speed (#5843) (f7eeccb)
  • Widget: Wrapper for widget.json (#5619) (038ee99)
  • Stage instances (#5749) (918921e)
  • *: Document and support embeds field in message create endpoint (#5792) (99ff715)
  • Guild: Add enum for mfa_level (#5797) (ffabec3)
  • RequestHandler: Emit more info when a rate limit was hit (#5801) (18ac72e)
  • Add new APIErrors (#5794) (e0ab836)
  • Util: Allow array for StringOptions' char (#5566) (fbcbb29)
  • GuildAuditLogs: Make #target a channel for channel related logs (#5781) (eb0291d)
  • Sharding*: Contexts for broadcastEval (#5756) (c6aeebb)
  • Voice: Implement support for @discordjs/voice (#5402) (7b2e12b)
  • General component improvements (#5787) (c4f1c75)
  • GuildChannelManager: Add 'fetch' method (#4966) (e798fb7)
  • Rest: Optional ratelimit errors (#5659) (16f261e)
  • Promisified single interaction collection (#5770) (c2b3ed0)
  • Message: ApplicationID for interaction responses (#5765) (65dc00f)
  • Client: Make use of with_expiration in #fetchInvite (#5764) (bf191df)
  • Interactions: Add InteractionWebhook for better internals (#5712) (dec191a)
  • MessageComponents: Clickybois (MessageButton, MessageActionRow, associated Collectors) (#5674) (cbd7f2b)
  • Esm: Use gen-esm-wrapper instead of manually making the file (#5700) (db0d7d4)
  • Rest: Show the data that is sent to Discord when an errors occurs (#5701) (ef92339)
  • CommandInteraction: Make options a collection (#5705) (fdad140)
  • *: Enforce strings (#4880) (7b85a72)
    • BREAKING CHANGE: Removes all Resolvables for only string inputs
    • Co-authored-by: SpaceEEC spaceeec@yahoo.com
  • Message: Allow editing files into messages (#5718) (b212b64)
  • Easier guards for channelUpdate (#5716) (d52bcd4)
  • Add support for fetching multiple guilds (#5472) (48d6850)
  • Guild: Add the new nsfw_level property (#5660) (3fe7add)
  • InteractionDeferOptions (#5641) (ed593c9)
  • CommandInteraction: Ephemeral followup messages (#5618) (68b40dd)
  • GuildChannel: CreateInvite target options (#5514) (f831872)
  • MessageEmbed: Remove normalizeField validation (#5459) (ff2f737)
  • GuildMemberManager: Extend API coverage (#4872) (2e2464b)
  • GuildChannel: Make createOverwrite and updateOverwrite not dependent on cache (#5489) (58763b0)
  • MessageManager: Extend API coverage (#4869) (c56c4a8)
  • Message: Add ReplyMessageOptions for #reply (#5296) (7ce741d)
  • ShardingManager: Add options typings (#5583) (31b4390)
  • GuildChannel#clone: Support for position property (#5236) (d455cb6)
  • GuildBanManager (#5276) (6d09160)
  • APIRequest: Support setting global headers in HTTPOptions (#5586) (135abcc)
  • Message: Replace referencedMessage with fetchReference (#5577) (1398431)
  • Message: Allow removing attachments (#5557) (ca9e5a0)
  • Add support for application command events (#5596) (9f74f95)
  • Interactions (#5448) (f7643f7)
  • Sticker: Added Sticker (#4909) (026afc2)
  • Webhook: Add 'fetchMessage' method (#5530) (63398d6)
  • GuildManager: Allow system channel flags in create (#5504) (d9fa180)
  • Guild: SetChannelPositions parent, lockPermissions keys (#5507) (4866e26)
  • Webhook: SourceGuild, sourceChannel, improve owner (#5508) (116ecf2)
  • Guild: Allow description and features in edit (#5505) (8a059cc)
  • Util: Make cleanContent take a channel instead of a message (#5535) (f1c0c04)
  • Guild: Nsfw guilds (#5525) (5968323)
  • Guild: Replace owner with fetchOwner (#5480) (1be67b8)
  • GuildFeatures: Added the new screening features (#5328) (3c175cb)
  • MessageAttachment: Support for #contentType (#5481) (7b161f9)
  • SysChanFlags: New flag and rename in sync with client (#5506) (fe93a7e)
  • Move internal regular expressions to static properties (#5384) (207735c)
  • typings: Add ShardingManager.shardList to type definitions (#5446) (32b0d71)
  • typings: Explicitly type PremiumTier and Collectors (#5458) (7c49612)
  • Make changes to PresenceData typings and docs (#5317) (eb43ce4)
  • MessageTypes: Add 16 and 17 (#4685) (c9107e3)
  • GuildMemberManager: Add 'search' method (#4154) (0ba2bcb)
  • Stage channels (#5456) (eec7cf7)
  • Activity: Add missing fields (#4984) (63ff6a0)
  • Webhook: Add '(edit|delete)Message' methods (#5223) (7cabc1c)
  • Rest: Better handling of global rate limit and invalid request tracking (#4711) (9d2d606)
  • Application: Application flags (#5147) (06e9d86)
  • WebSocketManager: Let identify throw on depleted limits (#5283) (624a446)
  • Jsdelivr default file support (#5424) (f469402)
  • Client: Add InviteGenerationOptions#additionalScopes (#5215) (ae3c3d8)
  • ReactionCollector: Event create (#4108) (09d1f2f)
  • ShardingManager: Allow b-Eval/fetchClientValues on a specific shard when not all are ready (#5222) (001676c)
  • GuildChannel: Support conversion between text and news (#5022) (5ac3b57)
  • BitField: Move problematic bit into the error message (#5228) (273e955)
  • ClientEvents: Add tuple labels to event arguments (#5225) (764966e)
  • GuildMember: #pending (#5121) (c4c8171)
  • GuildEmojiManager: Implement GuildEmojiManager#fetch (#4933) (ffe3140)
  • Browser: Remove browser <20> (#5113) (0a591a9)
  • Role: Role tags (#4628) (d6234b7)
  • APIMessage: Remove disableMentions (#4836) (4107899)
  • GuildMember: Make GuildMember#setNickname first param nullable (#5070) (d70127c)
  • Message|TextChannel: Inline replies (#4874) (60e5a0e)
  • BaseGuildEmojiManager (#4934) (8d650a7)
  • Message: Added string type for message nonce (#4782) (4b555fd)
  • GuildMemberManager: Throw TypeError on incorrect GuildMemberManager#ban params (#4816) (863734a)

Refactor

  • Replace dependency with initial implementation (#6310) (d5e28c2)
  • Interaction: Rename defer to deferReply (#6306) (4241feb)
  • InteractionCollector: Only keep Ids of objects (#6084) (b639b6c)
  • Channels: Fix incorrectly shared properties (#6262) (5be471b)
  • Added TextBasedChannels type (#6286) (61db5f7)
  • MessageComponents: Default setDisabled to true (#6279) (3c7c822)
  • *: Use async functions (#6210) (e2e4f65)
  • GuildChannel: Use filter method for #members (#6253) (7c54076)
  • VoiceState: Change kick to disconnect (#6251) (24931d7)
  • Merge collections with keeping entries at max (#6242) (bb5e648)
  • Message: Accept a single object instead of 3 arguments (#6244) (434e330)
  • Move member adding to manager (#6231) (198a5c4)
  • Use guild-wide route for fetching active threads (#6193) (2a07055)
  • Remove extended collection (#6246) (00bae4f)
  • Strengthen channel typings in appropriate places (#6232) (65ae064)
  • Message: Make thread a getter for accuracy (#6215) (5f710ae)
  • Match subcommand (group) name casing with Discord's (#6204) (a69e2f7)
  • Only cache commands from own user (#6161) (4886ae2)
  • Message: Combine patch methods (#6071) (cd47a52)
  • CommandInteractionOptionResolver: Add readonly data property (#6156) (328501b)
  • OptionResolver: Accept single type instead of an array (#6154) (5addcd1)
  • Change const enums to interfaces (#6078) (63ce065)
  • ActionsManager: Less complex code (#6102) (4d53d0f)
  • Remove timer utilities from Client (#6113) (5ca97c9)
  • Remove typing caching (#6114) (576eee8)
  • Channel: Change channel types to UPPER_CASE (#6035) (6301728)
  • Managers: Rename add to _add (#6060) (9cd5e7e)
  • ApplicationCommandManager: Remove unused assignment (#6063) (98a5b52)
  • Rename Constants.OPCode to Opcode, moved objects to enums (#6065) (4eb3a2a)
  • PresenceManager: Have Presence extend Base and simplify add (#6056) (ded93fe)
  • Presences: Remove from User, nullable on GuildMember (#6055) (afbd5db)
  • Intents: Remove computed shorts (#6050) (3022b0f)
  • Remove lastMessage properties from User and GuildMember (#6046) (1a27f57)
  • typings: General cleanup (#6047) (676118a)
  • Change xID to xId (#6036) (a7c6678)
  • Improve typings and docs related to threads (#5991) (4bf4980)
  • Util: Make class extend null (#6000) (2446ff5)
  • Rename events to be consistent with WS names (#6010) (a11a105)
  • New node features (#5132) (1e8f012)
  • Presence: Remove second assignment of syncID (#5956) (fb8d516)
  • MessagePayload: Rename APIMessage (#5921) (b15d825)
  • Removed code and split options (#5918) (985d4d6)
    • Co-authored-by: Jan 66554238+vaporox@users.noreply.github.com
    • BREAKING CHANGE: Removed APIMessage#split
    • BREAKING CHANGE: Removed MessageEditOptions#code
    • BREAKING CHANGE: Removed BaseMessageOptions#code
    • BREAKING CHANGE: Removed BaseMessageOptions#split
  • Collector: Make filter an option (#5903) (0d0c8f0)
  • Remove exported shortcuts to util methods (#5904) (1816a93)
  • Package: Remove runkitExampleFilename (#5866) (6cceb93)
  • awaitMessageComponentInteraction: Use options object for lib consistency (#5852) (9dda9b7)
  • *: Make typedefs for all options params (#5785) (1ac9a2e)
  • GuildPreviewEmoji: Make roles an array (#5720) (4dbcaf7)
  • APIMessage: Remove unused declarations (#5836) (02693bc)
  • Fetch options consistency (#5824) (7111b4c)
  • GuildChannel: Use Permissions.defaultBit over 0n (#5822) (19d0405)
  • Remove all voice code (#5818) (fdef940)
  • MessageEmbed: Remove files (#5813) (e3e466d)
  • Guild: Remove region from guild and manager methods (#5766) (a1f763e)
  • Enforce single param on sending/editing methods (#5758) (0467a90)
  • GuildAvailable, typingStop from Constants (#4861) (dda5ee2)
  • Interactions: Move Structures import out of switch block (#5763) (84e5b07)
  • Remove _roles from pseudo-managers (#5721) (53d952a)
  • Deps: Use async-queue package (#5662) (14c6802)
  • *: Return the invalid element when erroring from Array (#5314) (eaf332f)
  • MessageOptions: Move replyTo to reply#messageReference and add failIfNotExists (#5298) (1ecda83)
  • Sticker: Rename Snowflake variable (#5575) (af00ec8)
  • RequestHandler: Use x-ratelimit-reset-after when present (#5511) (a5d41c9)
  • Remove error-silencing try/catch on event handler imports (#5542) (cdcc50f)
  • Sharding: Use options objects (#5510) (c9b5353)
  • Add discord-api-types as a dependency (#5539) (1b827fe)
  • Rename Snowflake to SnowflakeUtil (#5502) (164ddf6)
  • Guild: Remove fetchVanityCode() (#5471) (0a2e0c0)
  • Collector: Make endReason a getter (#5271) (8d14ee3)
  • Switch api and gateway to V8 (#4879) (ee5bc1a)
  • Client: Remove fetchAllMembers option (#5257) (aaed72b)
  • GuildMember: Remove GuildMember#hasPermission (#5152) (5401b92)
  • Util: Remove convertToBuffer (#5237) (a33eed7)
  • Message: Remove stored edit history (#5155) (8c2e6b7)
  • RoleManager (#5131) (2a0dcc5)
  • Message: Remove options for Message#delete (#4999) (75e6dfb)
  • Client: Improve generateInvite() (#5065) (5b51392)

Testing

  • Types: Add notPropertyOf type-only utility (#6051) (03fe6ee)
  • Client should destroy (#5353) (4099c28)

Typings

  • MessageButtonOptions: Clean up and export some button option type definitions (#6291) (ae6200e)
  • Make MessageTarget extend on TextBasedChannels (#6296) (5b0621f)
  • Caches: Add GuildStickerManager and GuildInviteManager (#6268) (15aea68)
  • Use api-types for stricter typings (#6230) (00c2bf8)
  • ButtonMessageOptions: Make button/link button typings more specific (#6212) (77c72e6)
  • WsEvents: Add thread ws events (#6194) (4f1f32f)
  • DataManager: Add 'K' to type parameter of 'resolveId' (#6152) (8586505)
  • ColorResolvable: Readonly tuple (#6153) (1e90be8)
  • Message: Mark #thread as nullable (#6129) (ef5ba05)
  • Options: Add types for cacheWithLimits (#6095) (8db6df3)
  • Interaction: Change inGuild return type (#6094) (60148c6)
  • PartialWebhookFields: Add APIMessage to deleteMessage union (#6085) (a9e7ebd)
  • Interactions: Fix function overloads (#6109) (98c6078)
  • Guild: Remove fetchVoiceRegions (#6099) (a8984bc)
  • Partial: Add partial reactions (#6066) (d6c43a5)
  • Test: Fix overloads for channel create (5b6be0c)
  • GuildInviteManager: FetchInvitesOptions (#6076) (c1eaa78)
  • Fixed unreachable overloads (#6062) (7322547)
  • ApplicationCommand: Fix option name (#6067) (58bbcd5)
  • *: Revert incorrect unknown type changes (#6057) (2e078e4)
  • Options: Should extend null (#6042) (c4aa9fe)
  • Voice: Move types to the library's definitions (#6041) (185e376)
  • Better fullPermissions typings (#6028) (2ab32e6)
  • MessageOptions: Fix components being optional (#6005) (56b5b7e)
  • *: Create mention types (#6003) (0dc5dd5)
  • VoiceState: Fix optional params (#5993) (1242c54)
  • ClientUser: Updated setAFK signature (#6011) (c40b06c)
  • MessageSelectMenu: Fix typings (#5995) (fe6cc0c)
  • Interactions: Fix function overload types (#5989) (521d26c)
  • Few missing thread channels (#5988) (941cd86)
  • MessageOptions: Improved component typings (#5987) (0eeb277)
  • ApplicationCommandPermissionsManager: Fix types (#5979) (388e05b)
  • ThreadChannel: Make locked and archived param optional (#5980) (a08ce7d)
  • *: Make hex color types compatible with ColorResolvable (#5973) (788d58e)
  • CommandInteraction: Readd followUp type (#5974) (ae37d20)
  • ThreadManager: Add type to ThreadManager#create options (#5969) (3174507)
  • ColorResolvable: Change string to #${string} (#5950) (acdcb90)
  • Define ApplicationCommand enums in lib (#5947) (e37ef3a)
  • Fix remaining Raw type references, update discord-api-types dep (#5942) (03d3a5c)
  • ThreadMemberManager: Fix incorrect usage (#5928) (6065b11)
  • MessageReactionResolvable: Add string (#5863) (a0b7d95)
  • GuildApplicationCommandManager: Allow undefined command (#5837) (d5bb758)
  • Corrected shard broadcastEval (#5834) (a0a56e2)
  • MessageComponentInteraction: Update should return Promise (#5829) (08cffd6)
  • Extendable: Add ButtonInteraction (#5802) (19fd162)
  • Extend MessageComponentInteractionCollector correctly (#5752) (c6696d8)
  • Fix awaitReactions typings for returned collection (43fc40e)
  • Change remaining string IDs to Snowflakes (#5737) (ff4d6dd)
  • Snowflake: Export the type (#5722) (66a6a1f)
  • Use Snowflake type (#5717) (76db642)
  • PermissionOverwriteOptions: Remove unused interface (#5651) (b40027b)
  • WebhookMessageOptions: Omit reply instead of replyTo (#5610) (2345c6d)
  • Remove typings for Client#disconnect event (#5469) (a4d09ab)
  • PermissionOverwrites: Use correct parameter type for resolveOverwriteOptions (#5302) (ca5f371)
  • MessageReaction: Allow message to be partial (#5303) (aac6275)
  • RateLimitData: Remove timeDifference property (#5208) (80e1afb)
  • Make Client#voice non-nullable (#5148) (40d77ba)