Releases: abalabahaha/eris
Releases · abalabahaha/eris
0.17.2
Additions
- Support Discord's gateway resume URLs (d27ef56)
- In theory, bots may disconnect less after this change
- Support
GuildScheduledEvent
s (3e62ca7) - Support
Member#dynamicAvatarURL()
(eb40373) - Support
addGuildMember()
(OAuth2-only) (61b3b4f)
Fixes
- Fixed audio send/receive in
VoiceConnection
s (135dc35) - Added missing props in
guildUpdate
event (9320ab2) - Fixed the permissions check for the
CommandClient
help 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
permissionOverwrites
ineditChannel()
(ba4cb94) - Support custom intent numbers (f886ebc)
- Support interaction
appPermissions
(c7689d0)
Fixes
- Fixed
Guild#editCommandPermissions()
acting likegetCommandPermissions()
(b8dcd62) - Fixed missing presences when
getAllUsers
and 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
videoQualityMode
option 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
TextVoiceChannel
now exists. Previous assumptions aboutGuildChannel
s being text XOR voice are no longer valid.- The type of
Member#premiumSince
has 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
BigInt
toPermission#has()
(e963166) - Expose headers in
DiscordHTTPError
andDiscordRESTError
(2712a85)
Fixes
- Fixed
Member#user
property de-sync issues (6619b17) - Improve handling of shared ratelimits (2712a85)
- Fixed incorrect
Guild#shard
calculation (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.all
with new permissions (b485352) - Fixed error when handling
USER_UPDATE
for uncached users (c223725) - Fixed missing audit log reason when using
deleteMessages()
(017c18a) - Fixed
Member#premiumSince
parsing (65b1850) - Fixed error in unknown interaction type handling (c6b380b)
- Fixed missing file in interaction
createMessage()
(9a55be5) - Fixed missing
defaultPermission
in command-related requests (90fad3a) - Fixed undefined
ThreadChannel#ownerID
(4ca306d) - Fixed errors in
THREAD_MEMBERS_UPDATE
handling (6ba5b05, 1a79ef6) - Fixed error when building
Message#jump
for 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
intents
Client
option. getGuildEmbed()
is removed in favor ofgetGuildWidget()
(e194a71)PermissionOverwrite#type
is now anumber
instead of astring
(e194a71)- The
guildSubscriptions
Client
option is removed in favor of intents (e194a71) Member#joinedAt
is now nullable (3fe4d21)Guild#region
is 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
voiceStateUpdate
event can now emit with a partialmember
and nulloldState
(ee960c0) - The
ws
Client
option has breaking changes (seews@8.0.0
release notes)
Deprecations
- Discord v8 and v9 deprecations:
getGuildAuditLogs()
is replaced bygetGuildAuditLog()
(ec777a1)- Paginated functions now take
options
objects 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-
Guild
avatars (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
VoiceConnection
state when kicked (ea9d670) - Fixed BigInt serialization in request body (ed6b24c)
- Fixed
Message#flag
cache 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
voiceStateUpdate
event (ee960c0) - Fixed
createRole()
/editRole()
without permissions (4bb65f0) - Improved ratelimit header handling (c31685e)
- Fixed uncached author handling in
Message
constructor (6331536) - Fixed heartbeat-related disconnects during identify (5db41aa)
- Fixed use of removed method in
SharedStream#play()
(e195b59) - Fixed
Member#voiceState.selfStream
when 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
before
parameter ofgetMessageReaction()
, so that has been removed but is not considered a breaking change (3e86cd7) createMessage()
now usescontent.messageReference
for referencing messages. Thecontent.messageReferenceID
parameter is deprecated (c3d491d)- Some requests with paginated responses now use an
options
object 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/opus
replacesnode-opus
is now the supported native Opus library (voice connections) (9830082)@discordjs/opus
is a maintained almost-fork of the now-deprecatednode-opus
GuildChannel#nsfw
no longer uses old name-based logic (7d029d0)- Discord client used to (but no longer does) treat channels with
name
=="nsfw"
orname
starting with"nsfw-"
as NSFW GuildChannel#nsfw
now strictly mirrors the API property
- Discord client used to (but no longer does) treat channels with
- The
messageCreate
,messageUpdate
, andmessageDelete
events now emit with partial messages/channels if possible (see docs) (c81b689, 8acd468) Client#token
was removed (99f4163)- The current location is
Client#_token
, which is non-enumerable and not stable
- The current location is
- The
guildEmojisUpdate
event 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
BigInt
support
- Primarily for
Permission#allow
,Permission#deny
, permission constants are nowBigInt
s (3649cd7, f092b89, fd2ee5f, d7c69f2, 39dd05f)- Discord permissions have exceeded past 32-bits, so non-
BigInt
bitwise logic no longer works properly. UsingBigInt
helps with future-proofing - Permission sent in REST methods can be either
BigInt
or number type
- Discord permissions have exceeded past 32-bits, so non-
uws
is no longer supported (b459a94)- The library is abandoned and buggy
Deprecations
- Existing REST-related
Client
options are deprecated (2095d3e, 7a5ec43)- Equivalent options are now under
options.rest
in theClient
constructor
- Equivalent options are now under
- Support for bot tokens without
Bot
prefixes 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
Client
optionoptions.rest.decodeReasons
was 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.decodeReasons
will be removed, and reasons will no longer be decoded.
- Some permission constants are deprecated (0d68bf4)
viewAuditLog
replacesviewAuditLogs
,voiceStream
replacesstream
,viewChannel
replacesreadMessages
, anduseExternalEmojis
replacesexternalEmojis
- The old names are deprecated, but still work for now
Additions
- Exposed latency in
rawREST
event (e789deb) - Exposed member in
typingStart
event (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#discoverySplash
and URL getters (b910d1d) - Added support for
util.inspect()
to more classes (1281781) - Added support for
userID
filter 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
(afterready
event) (d41dddf) - Exposed
Member#pending
(af877e7) - Added more async support in CommandClient message helpers/generators (fb440b2)
- Exposed more
oldMessage
properties inmessageUpdate
event (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
GuildIntegration
properties (c149e73) - Added new REST options in the
Client
constructor (2095d3e, 7a5ec43) - Added support for stage channels (5ae9f52, 3750145, 7b08976, 8087450)
- Exposed
VoiceChannel#rtcRegion
andVoiceChannel#videoQualityMode
(f994117, 9da9d05) - Added support for files in
editWebhookMessage()
(32b54c8) - Added support for
useSlashCommands
&voiceRequestToSpeak
permissions (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
debug
events (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
messageReactionAdd
event to update the member cache (1381bba) - Fixed
CommandClient
reaction handling (c82c6a0) - Changed
RequestHandler
to gracefully handle errors during (6083e09) - Fixed mishandling of ban reasons causing URI-encoded reasons to appear in ban list (6771b3f)
- Fixed handling of
Message#channelMentions
when theMessage
has nocontent
(9ec347a) - Fixed
undefined
inPermission#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-native
voice 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