Releases: abalabahaha/eris
Releases · abalabahaha/eris
0.18.0
Breaking Changes
- Remove all user account features (0b3ef10)
- Removed system message content handling (clashes with stage system messages) (1f61e8e, 55a8a69)
- Restructure Channel classes (737e9f7, 4dbb828)
TextVoiceChannelremovedChannel.clienthidden (renamedChannel._client)DMChannel.recipientremoved, replaced withDMChannel.recipientscollection (should ever only contain one entry)- Channel class tree reworked
GuildAuditLogEntrychannel,guild,message,user, andInvite.guildcan now return uncached with object containingidonly (7bfc88b)MessageActivityFlagsconstant renamed toActivityFlags(e4edf0b)StoreChannelremoved (3429b8f)- Application Command Permissions v2 (3139ca9)
bulkEditCommandPermissions()removed, endpoint no longer exists
getActiveThreads()removed, endpoint no longer exists (v10) (a331615)User.globalNameexposed, username migration, default avatar recalculated (d0269ad)
Deprecations
- Restructure Channel classes (737e9f7)
PrivateChannelis nowDMChannelClient.privateChannelMapis nowClient.dmChannelMapClient.privateChannelsis nowClient.dmChannels
- Various permission names replaced, e.g.
voicePrioritySpeakeris nowprioritySpeaker(e7a9022) banGuildMember()deleteMessageDaysis replaced bydeleteMessageSeconds(bd88d30)
Additions
- Expose Polls (31c4608)
- Expose Voice channel status (a1a449f)
- Expose Super reactions (793e858)
- Expose
getThreadMembers()pagination options (0d81657) - Expose Application Role Connections (37f5e52)
- Expose
Message.roleSubscriptionData(37f5e52) - Support resuming voice connection (552dbb0)
- Supprt message forwarding (c3e3a31)
- Support bulk banning (577afc8)
- Restructure Channel classes (737e9f7)
- Support Text in Stage
- New
GuildTextableChannelclass, acts as a "middleman" class with common props/methods for textable guild channels - Support adding users to Group Channels (requires OAuth
gdm.joinscope) - Expose
getThreadMember()
- Add Discord locales (f09ba3e)
- Expose Forum and Media Channels (6084d6a, 0f71727)
- Support returning member/presence counts in
getRESTGuild()(8a2b212) - Add
AttachmentFlagsconstant (8a2b212) - Expose Role flags (e54cc76)
- Expose
guildAuditLogEntryCreateevent (ca2c47c) - Expose User avatar decoration (50988d8)
- Expose Guild Onboarding (9f24d0d)
- Expose
editGuildMFALevel()(3b0dd35) - Expose Auto Moderation (dcfee4c, e0c352d)
- Support
getInvite()new parameters (e4edf0b) - Update constants (e7a9022, e4edf0b, cc32510)
- Expose modals (6be96b3)
- Expose
getGuildWidgetImageURL()(52da08c) - Support
banGuildMember()deleting messages in seconds (bd88d30) - Expose
messageContentintent (v10) (a331615) - New deprecation emit handling (ae5f0f0)
Fixes
- Fix member/user update on voice state update (bcf7dee, 0c22f54)
- Fix removal of Voice State when leaving stage channel (f97e0f7)
- Fix library file direct imports (a3d4d7a, 692521c)
- Properly parse request errors in
DiscordRESTError(805cb6e) - Fix
User#defaultAvatarcalculation (e0ff926) - Fix
ThreadMembernull check (7f07a7c) - Fix
DMChannelmessage handling error (171bf7e) - Fix
OggOpusTransformernot emittingendwhen file stream finishes (ea0f133) - Fix BigInt 0 assignment if
denynot in permission data (7f9ef8c) - Restructure Channel classes (737e9f7, d026803, f48547b)
- Fix
ThreadMember.guildMemberpopulation - Fix
deleteChannel()return type (will now return deleted channel)
- Fix
- Fix
nsfwchannel handling (cfdcf49) - Make
createGuild()optionsparameter optional (43bf5e9) - Return
undefinedon 204 responses in runtime (c3e1b73) - Fix Chat Input command name regex validation (bb4b058)
- Fix
editGuildWidget()calling wrong endpoint (6ca661c) - Update audit log reason handling (v10) (a331615)
- Improve handling of sending attachments (65ab87b, 7524a40)
Docs/Typings
- Add ModalSubmitInteraction to Anyinteraction union (4dbb828)
- Remove unnecessary typings related to channel restructure (4dbb828)
- Clarify Interaction's
createdAt(cef72ac) - Fix
flagsproperty editing usingAdvancedMessageContentEdit(TS) (b7f9343) - Better localization property typings (TS) (f09ba3e)
- Add missing
Attachmentproperties (TS) (8a2b212) - Add missing Role tags properties (e54cc76)
- Fix
ApplicationCommandCreateOptionsdocumentation description andtypeproperty (TS) (f259808) - Add
customstatus toeditStatus()(9b18e0e) FetchMembersOptionsrenamed toRequestGuildMembersOptions(e4edf0b)- Add linting for docs (e4edf0b, 7cf456b)
- Sort documentation into alphabetical order (both) (7751f96)
- Fix
Member.communicationDisabledUntiltype (TS) (81ca52c) createChannel()typings streamlined (TS) (0790534)- Fix
Interaction#createMessage()flag type (129501e) - Fix
Message#edit()parameter type (TS) (6a165cd) - Add
RawRESTRequest.latencytype (TS) (6a165cd) - Fix
Member.statustype (TS) (13c93e0) - Add banner to
EditSelfOptions(TS) (880483d)
Updated Channel Class Tree
- Channel
- DMChannel
- GroupChannel
- GuildChannel
- CategoryChannel
- MediaChannel
- ForumChannel
- GuildTextableChannel
- TextChannel
- NewsChannel
- VoiceChannel
- StageChannel
- ThreadChannel
- PrivateThreadChannel
- PublicThreadChannel
- NewsThreadChannel
- TextChannel
Only properties/methods relevant to each channel class will be present, all others have been removed without deprecation.
Contributors
0.17.2
Additions
- Support Discord's gateway resume URLs (d27ef56)
- In theory, bots may disconnect less after this change
- Support
GuildScheduledEvents (3e62ca7) - Support
Member#dynamicAvatarURL()(eb40373) - Support
addGuildMember()(OAuth2-only) (61b3b4f)
Fixes
- Fixed audio send/receive in
VoiceConnections (135dc35) - Added missing props in
guildUpdateevent (9320ab2) - Fixed the permissions check for the
CommandClienthelp command (e43418d)
Contributors
0.16.2
0.17.1
Additions
- Added config option for shard concurrency (05a932a)
- Support pagination in
getGuildBans()(fe16a8f) - Support batch-editing channel positions
editChannelPositions()(99b1376) - Support setting
permissionOverwritesineditChannel()(ba4cb94) - Support custom intent numbers (f886ebc)
- Support interaction
appPermissions(c7689d0)
Fixes
- Fixed
Guild#editCommandPermissions()acting likegetCommandPermissions()(b8dcd62) - Fixed missing presences when
getAllUsersand the presences intent are enabled (f7a8e50) - Fixed handling of uncached users/threads in
getGuildAuditLog()(e888253) - Fixed
joinVoiceChannel()erroring when the bot member is uncached (162d4ef) - Fixed
videoQualityModeoption ineditChannel()(ba4cb94) - Fixed voice receive stopping when reconnecting (a9ad12f)
- Improved handling of shard concurrency (05a932a, 34cd985)
- Improved error thrown when calling
connect()without a token present (bd58677) - Fixed docs (d0099b1), typings (a2e3a00, a2a60a5)
Contributors
0.14.2
0.17.0
Breaking Changes
TextVoiceChannelnow exists. Previous assumptions aboutGuildChannels being text XOR voice are no longer valid.- The type of
Member#premiumSincehas been changed to match the documented behaviour. It was previously being (incorrectly) passed through as the Discord-provided ISO timestamp string.
Additions
- Support timeouts (1a6e043)
- Support text-in-voice channels (d6df49a)
- Support Moderate Members permission (1a6e043)
- Support concurrent sharding for large bots (36e7a76)
- Support editing individual channel positions (bb8a45e)
- Support new 5/20s
editStatus()ratelimit (072db2e) - Support passing
BigInttoPermission#has()(e963166) - Expose headers in
DiscordHTTPErrorandDiscordRESTError(2712a85)
Fixes
- Fixed
Member#userproperty de-sync issues (6619b17) - Improve handling of shared ratelimits (2712a85)
- Fixed incorrect
Guild#shardcalculation (c1f1f86) - Fixed some disconnect-related gateway race conditions (a9b8ad4)
- Including the occasional zlib data error
- Fixed bitwise overflow error in
VoiceConnection(52db153) - Updated
Constants.Permissions.allwith new permissions (b485352) - Fixed error when handling
USER_UPDATEfor uncached users (c223725) - Fixed missing audit log reason when using
deleteMessages()(017c18a) - Fixed
Member#premiumSinceparsing (65b1850) - Fixed error in unknown interaction type handling (c6b380b)
- Fixed missing file in interaction
createMessage()(9a55be5) - Fixed missing
defaultPermissionin command-related requests (90fad3a) - Fixed undefined
ThreadChannel#ownerID(4ca306d) - Fixed errors in
THREAD_MEMBERS_UPDATEhandling (6ba5b05, 1a79ef6) - Fixed error when building
Message#jumpfor private channel messages (2f7526a) - Fixed docs (f4db90e, b7a1189), typings (4c631f5, 98c5c8b, 44dba49, cb8971a, 42e713b, f163a56)
Contributors
0.16.1
Additions
Fixes
- Fixed reconnect handling (4ac1103)
- Fixed voice receive errors (56e37c0, fa36f0b)
- Fixed incorrect thread method references in
Guild#getActiveThreads()andMessage#createThreadWithMessage()(87473ba) - Improved ratelimit handling for deleting messages <=10s old (0f3ebc8)
- Improved ratelimit handling for
getRESTGuildChannels()(7743366) - Fixed docs (9dd304b), typings (a4023da, 0bc76c9, 67b28a2)
Contributors
0.16.0
Breaking Changes
- Discord API v8 and v9 breaking changes:
- Discord now requires users to specify Gateway Intents to receive certain events. To ease the transition, Eris defaults to requesting all non-privileged intents, configurable through the
intentsClientoption. getGuildEmbed()is removed in favor ofgetGuildWidget()(e194a71)PermissionOverwrite#typeis now anumberinstead of astring(e194a71)- The
guildSubscriptionsClientoption is removed in favor of intents (e194a71) Member#joinedAtis now nullable (3fe4d21)Guild#regionis removed in favor ofVoiceChannel#rtcRegion(3fe4d21)
- Discord now requires users to specify Gateway Intents to receive certain events. To ease the transition, Eris defaults to requesting all non-privileged intents, configurable through the
- The
voiceStateUpdateevent can now emit with a partialmemberand nulloldState(ee960c0) - The
wsClientoption has breaking changes (see[email protected]release notes)
Deprecations
- Discord v8 and v9 deprecations:
getGuildAuditLogs()is replaced bygetGuildAuditLog()(ec777a1)- Paginated functions now take
optionsobjects instead of flat lists of parameters (ec777a1)- e.g.
getMessages(channelID, { limit: 5, around: msgID })instead ofgetMessages(channelID, 5, undefined, undefined, msgID) - Includes
getGuildAuditLog(),getMessageReaction(),getMessages(),purgeChannel(),getRESTGuilds(), andgetRESTMembers()
- e.g.
Additions
- Support
Message#stickerItems(b483ff3) - Support new and renamed:
- Support sending multiple embeds (8e9a2b7, 0726aae)
- Support intents (e194a71, 1e95e62, a7bff54, a365531)
- Support
Member#activities(e194a71) - Support
Message#components(120f917, dc72ad9) - Support per-
Guildavatars (a58cd69) - Support mute/deafen in
joinVoiceChannel()(e357991) - Support stickers (daedb2b, 7145134)
- Support
User#banner(558bbe5) - Support
Role#icon(59a35bb) - Added/Updated various Constants (da84b35, 2d317cf)
- Support interactions (a9c4934, e8b819a, 3fe4d21, dc72ad9, 1a8ee35)
- Support
Guild#premiumProgressBarEnabled(e8dfcbb) - Added
"identifying"Shard#status(5db41aa) - Support Discord Gateway/REST API v9 (3fe4d21)
- Support target options in
createInvite()(117de32)
Fixes
- Fixed updating
VoiceConnectionstate when kicked (ea9d670) - Fixed BigInt serialization in request body (ed6b24c)
- Fixed
Message#flagcache updates (e54366b) - Fixed use of deprecated params in
getMessages()andpurgeChannel()(f90e56d, 15546c4) - Fixed
createChannelInvite()for uncached channels (8582d3c) - Fixed incorrect GuildTemplate endpoint (11d21c9)
- Fixed handling of partial member objects in
permissionsOf()(7e55222) - Fixed incorrect Invite endpoint (e194a71)
- Fixed uncached member handling in
voiceStateUpdateevent (ee960c0) - Fixed
createRole()/editRole()without permissions (4bb65f0) - Improved ratelimit header handling (c31685e)
- Fixed uncached author handling in
Messageconstructor (6331536) - Fixed heartbeat-related disconnects during identify (5db41aa)
- Fixed use of removed method in
SharedStream#play()(e195b59) - Fixed
Member#voiceState.selfStreamwhen user stops streaming (dd768ec) - Fixed docs (10cc6c4, d4a49a6, 756943d, 6e76e52), typings (49336e8, bccde64, 34f3d9c, 3d80d20, 840227e, 21a3ce5, 53da0d5, 93ce365, aa8bedf, e8dfcbb)
Contributors
- @5antos
- @abalabahaha
- @ak-s
- @Alirezarfe
- @Ashesh3
- @Awoocado
- @bsian03
- @Catboi8
- @DonovanDMC
- @Dragory
- @Dramex
- @eritbh
- @Exhabition
- @gegdev
- @HeadTriXz
- @iiFDCT
- @J-Human
- @Khaaz
- @luvaeria
- @NotMarx
- @oceaann
- @retraigo
- @untuned
0.15.1
Deprecations
- Discord has seemingly never supported the
beforeparameter ofgetMessageReaction(), so that has been removed but is not considered a breaking change (3e86cd7) createMessage()now usescontent.messageReferencefor referencing messages. Thecontent.messageReferenceIDparameter is deprecated (c3d491d)- Some requests with paginated responses now use an
optionsobject for parameters. The old call style is deprecated (ec777a1)- e.g.
getMessages(channelID, limit, before, after, ...)=>getMessages(channelID, { limit, before, after, ... }) - Includes:
getMessageReaction(),getMessages(),getGuildAuditLogs(),getRESTGuildMembers(),getRESTGuilds(), andpurgeChannel()
- e.g.
getGuildAuditLogs()was renamed togetGuildAuditLog(). The old name is deprecated (ec777a1)
Additions
- Added support for
editGuildVanity()(c152aac) - Exposed
Message#interaction(5837a31) - Exposed
Guild#nsfw(9223266) - Added support for stage channel REST methods (b6d51ee)
- Added support for
getWebhookMessage()(2a840a0) - Added support for Guild welcome screen endpoints (fba1f7c)
- Exposed
Role#tags(824ccf7)
Fixes
- Fixed handling of
getGuildIntegrations()options (0a3490f) - Improved ratelimit handling (d58b788)
- Particularly for deleting >=2-week-old messages and reactions
- Fixed handling of voice server switches and disconnects (e2814a2, 95cffe4)
- Fixed some voice (re)connect stability issues (94e7e18)
- Fixed an issue where voice receive occasionally stops working (94e7e18)
- Improved memory handling of voice sending (939b70f)
- Fixed an issue where recently-disconnected voice connections could prevent the process from exiting (ff4bcc0)
- Various typings/docs fixes (2dff361, ed23407, fcd608d, b3c1b38, c222bc5, 608524d, 90b0bb4, 8d3120e, 5f7769d, e06f38a, 340ffe9, 028efe3, 2f6c71e)
Contributors
0.15.0
Breaking changes
@discordjs/opusreplacesnode-opusis now the supported native Opus library (voice connections) (9830082)@discordjs/opusis a maintained almost-fork of the now-deprecatednode-opus
GuildChannel#nsfwno longer uses old name-based logic (7d029d0)- Discord client used to (but no longer does) treat channels with
name=="nsfw"ornamestarting with"nsfw-"as NSFW GuildChannel#nsfwnow strictly mirrors the API property
- Discord client used to (but no longer does) treat channels with
- The
messageCreate,messageUpdate, andmessageDeleteevents now emit with partial messages/channels if possible (see docs) (c81b689, 8acd468) Client#tokenwas removed (99f4163)- The current location is
Client#_token, which is non-enumerable and not stable
- The current location is
- The
guildEmojisUpdateevent now emits with a partial guild if possible (see docs) (16c6a76) - Node.js >= 10.4.0 is now the minimum supported version (3649cd7)
- Primarily for
BigIntsupport
- Primarily for
Permission#allow,Permission#deny, permission constants are nowBigInts (3649cd7, f092b89, fd2ee5f, d7c69f2, 39dd05f)- Discord permissions have exceeded past 32-bits, so non-
BigIntbitwise logic no longer works properly. UsingBigInthelps with future-proofing - Permission sent in REST methods can be either
BigIntor number type
- Discord permissions have exceeded past 32-bits, so non-
uwsis no longer supported (b459a94)- The library is abandoned and buggy
Deprecations
- Existing REST-related
Clientoptions are deprecated (2095d3e, 7a5ec43)- Equivalent options are now under
options.restin theClientconstructor
- Equivalent options are now under
- Support for bot tokens without
Botprefixes is deprecated (99f4163)- Bot tokens should be prefixed with
Bot(see docs)
- Bot tokens should be prefixed with
- The requirement for URI-encoding audit log/ban reasons is deprecated (6771b3f)
- Normal, unformatted reasons are now formatted properly in both the audit log and ban list
- The
Clientoptionoptions.rest.decodeReasonswas introduced for this transition. With the current default oftrue, URI-encoded reasons will be decoded, so URI-encoded reasons will function normally. In the future,options.rest.decodeReasonswill be removed, and reasons will no longer be decoded.
- Some permission constants are deprecated (0d68bf4)
viewAuditLogreplacesviewAuditLogs,voiceStreamreplacesstream,viewChannelreplacesreadMessages, anduseExternalEmojisreplacesexternalEmojis- The old names are deprecated, but still work for now
Additions
- Exposed latency in
rawRESTevent (e789deb) - Exposed member in
typingStartevent (98c261d) - Added support for system channel flags (984ffbb)
- Added support for inline replies (5936086, c77b3af)
- Added support for guild templates (8e32b98)
- Added support for
Guild#discoverySplashand URL getters (b910d1d) - Added support for
util.inspect()to more classes (1281781) - Added support for
userIDfilter and new properties in audit logs (8ab1ab7, 27b9704, 02e989c) - Added support for guild discovery (ed8f2ef)
- Added support for editing/deleting webhook messages (4195ab8)
- Exposed
Client#application(afterreadyevent) (d41dddf) - Exposed
Member#pending(af877e7) - Added more async support in CommandClient message helpers/generators (fb440b2)
- Exposed more
oldMessageproperties inmessageUpdateevent (936af87) - Exposed
Message#stickers(9cd3a5d) - Added support for message types 20 & 22 (64cf536)
- Exposed
Guild#welcomeScreen(9a89483, c8ab1bb) - Exposed
VoiceState#selfStream&VoiceState#selfVideo(011548e) - Added support for more properties in
editChannelPosition()(fc038fa) - Added support for more properties in
editGuild()(9d7e05e) - Exposed new
GuildIntegrationproperties (c149e73) - Added new REST options in the
Clientconstructor (2095d3e, 7a5ec43) - Added support for stage channels (5ae9f52, 3750145, 7b08976, 8087450)
- Exposed
VoiceChannel#rtcRegionandVoiceChannel#videoQualityMode(f994117, 9da9d05) - Added support for files in
editWebhookMessage()(32b54c8) - Added support for
useSlashCommands&voiceRequestToSpeakpermissions (906690c, ab38c3f) - Added support for content objects in Command messages (4bce200)
Fixes
- Fixed editing of messages authored by others (4046281)
- Fixed mishandling of ban reasons causing empty reasons to appear in ban list (ad00c9b)
- Fixed cleaning of animated emotes in
Message#cleanContent(03e9697) - Fixed administrator permission check in
Guild#permissionsOf()(fb06856) - Fixed intents checks in
Shard#requestGuildMembers()(6c6abb6) - Filtered undefined message content from REST
debugevents (19eb558) - Fixed error in
Guild#editWidget()(c936232) - Improved memory handling in voice & file uploads (db7da38)
- Fixed misplaced/missing properties in various
toJSON()methods (5670b27, 2974f72, cb7178d, 86ea307, ff8d901) - Changed the
messageReactionAddevent to update the member cache (1381bba) - Fixed
CommandClientreaction handling (c82c6a0) - Changed
RequestHandlerto gracefully handle errors during (6083e09) - Fixed mishandling of ban reasons causing URI-encoded reasons to appear in ban list (6771b3f)
- Fixed handling of
Message#channelMentionswhen theMessagehas nocontent(9ec347a) - Fixed
undefinedinPermission#toString()(de317ca) - Fixed incorrect permission pseudo-groups (9d3958f)
- Delayed Opus import until Opus is needed in
VoiceConnection(44f20b5) - Fixed setting Opus bitrate when using
@discordjs/opus(88ae937) - Fixed
sodium-nativevoice decoding (4bae89a) - Various typings/docs fixes (18229fe, b5a33f2, aca342e, 592313d, e9e01cb, 3c40871, 958103d, 3f602d1, 93c36cf, 2fd804e, 2171ffb, 35275f0, 75c2c49, 9e17bc3, 5e9c989, 19c1eb4, 0dbc496, ea4d079, 2f0c5d5, 148a578, 81e09cc, d9e12a7, 2a787f8, f2af4ac, 739bca0, 54fc78d, 886cb30, a2d925a)
Contributors
- @abalabahaha
- @apacheli
- @auguwu
- @bit0r1n
- @bsian03
- @davidffa
- @DedaDev
- @dev-kittens
- @DonovanDMC
- @Dragory
- @evanwashere
- @flamableassassin
- @Gleb-ko
- @iiFDCT
- @jtsshieh
- @Khaaz
- @macdja38
- @miyacoz
- @oathompsonjones
- @Pr0metheus42
- @retrixe
- @Snazzah
- @Thewsomeguy
- @tornadomc
- @wh0