Releases: discordjs/discord.js
Releases · discordjs/discord.js
10.0.1
10.0.0
Additions
- Presence and Game Structures (f1cb39a)
- Methods to manage emoji methods (c8761d7)
- StreamDispatcher.paused (b1322cb)
- GuildMember.missionPermissions() and EvaluatedPermissions.missingPermissions() (428ee2f)
- Role.setMentionable() (c2c4778)
- MessageCollector.next() (34168eb)
- InviteResolvables (c4e1e4f)
- Ignore specific WebSocket events (4653f88)
- WebHook.sendSlackMessage() (e48d7d5)
- ShardingManager.fetchRecommendedShards() and miscellaneous (853a3df)
- VoiceChannel.joinable and VoiceChannel.speakable (50a1d1c)
- Collection.filterArray() (6baf43d)
- ClientUser.friends and ClientUser.blocked (e04dbbd)
- Message.type (bd55403)
- Add and Remove friends, and block users (9c8eb2d)
- CollectorOptions.maxMatches (d046392)
- ClientUser.createGuild() (60a911e)
- User.fetchProfile() (c6bcf69)
Fixes
- Heartbeats (#737, c8636fd)
- Session resumption (#699, 534d7af)
- Sequences are now reset on new WebSocket sessions (534d7af)
- Fix banning of users (21533ee)
- Fix updating presences for user bots (0f8e8dd)
- Fix Permission Overwrite edits overwriting previous, unchanged values (#775, d42ac98)
- Fix guildMemberAdd firing for existing members (#776, 6093dac)
- Setting GuildRole positions (0c4a402)
- Joining voice channels without permission to do so (45632b2)
- Voice has been rewritten (#694, #729, #774, #801)
Backwards-incompatible changes
Version 10's non-BC changes focus on cleaning up some inconsistencies that exist in previous versions.
Upgrading from v9 should be quick and painless.
See the docs about upgrading.
8.2.0
- Gateway v6 support
- Emoji support
- Webhook support
- .toObject() support for structures
- Fix checks for Administrator permission
- Bot token detection
- Various crash fixes
- Various voice fixes
9.3.0
Additions
- Message sweeping functionality, so messages can be cleared from the caches after a specified time, in addition to the current max limit (afc8e5b, 9503990, 8f1bc5e, 6075ec0, e5bac13)
ClientOptions.message_cache_lifetime/message_sweep_interval
Client.sweepMessages
to manually sweep
- Sharding manager features
- Automatically respawns shards that exit (fc9d049, 063be5c)
Shard.send
to send a message to a shard (edd174a, b795ed8)ShardingManager.broadcast
to send messages to all shards (edd174a, b795ed8)Shard.fetchClientValue
to get a client property value from a shard (1008f60)ShardingManager.fetchClientValues
to get a client property value from all shards (1008f60)Shard.eval
to eval code on a shard (e4f416a, 1008f60)ShardingManager.broadcastEval
to eval code on all shards (e4f416a, 1008f60)ShardingManager.spawn
delay parameter (7f652f7)
- Exports for all structures, so that you can use
instanceof
. There is probably no reason to ever instantiate these yourself. (221fc7a, c5982b0, f3bab30) version
export (require('discord.js').version
) (ec6453a, cdf3136)Client#disconnect
event (7cb2e8e)Collection.reduce
(84b33f9)Collection.keyArray/firstKey/lastKey/randomKey
(ac85ffc)Guild.voiceConnection
andVoiceChannel.connection
(420f2ec, a27f6c9, e9a7a06)Message.editCode
(46d7ded)Message.editable/deletable/pinnable
(bbddfef)Guild.pruneMembers
(15d7f8e)GuildMember.highestRole
(b8e3094, 1268653)GuildMember.kickable/bannable
(b8e3094)Role.mentionable
(529d720)Role.members
(46c28c0)Invite.url/toString
(0bd00b1)TextBasedChannel.sendCode
without a language (862ec6a, 136cf66)ClientDataResolver.resolveUserID
(bbddfef)
Fixes
- Timeouts are leaked extremely heavily, and intervals occasionally - main source of massive memory leaks - the more guilds a bot has, the worse this gets (7d86676)
VoiceConnection
leaksClient#voiceStateUpdate
listeners (6f7deba, 0559aaf, 5a9753e)Guild.ban/unban
do not function with IDs of users that aren't cached (6c6da43)- Userbots can't set avatar or username (#697, #700, fbcea23, 9308d2e)
- Various
Guild
properties get set toundefined
(718f61a) GuildMember.nickname
gets set toundefined
(#703, 7957bc8)channelCreate
is emitted twice (#698, f7e89f6)TextBasedChannel.sendCode
breaks when content contains codeblock characters (0405b1a)- Split messages may not reject on failure (2553117)
User.equals
not functioning properly (#701, 69f947d)- Default permissions no longer accurate (74b9e5d)
ClientDataResolver.resolveFile
fails horribly on nonexistent files (#717, a2778d4)VoiceConnection.playConvertedStream
does nothing (f383c78)Message.cleanContent
errors in DMs/Group DMs (#725, fa18b0c)- Comply before new rate-limit stuff (yet again, it changed) (aef0b83)
- Login now rejects if we can't log in (bd1449b)
9.2.0
Additions
burst
request mode, see this issue (#656, e75dd26)MessageOptions.split
to split long messages into multiple messages within the character limit (#653, 7da00cf)StreamDispatcher.time
andStreamDispatcher.totalStreamTime
(#674, 8c0685f)StreamDispatcher#start
event (8f1216d)VoiceReceiver.destroy/recreate
(95369b0)Client.fetchInvite
(3dab19a)TextChannel.members
to see which members can see the channel (#670, c6aa162)User.typingIn/typingDurationIn/typingSinceIn
(c405d67, 5dd25ac)EvaluatedPermissions.raw
(#682, 6887977)EvaluatedPermissions.hasPermissions
(7933d75)Role.hasPermissions
(38c85dc)GuildMember.hasPermissions
(9e05cae, ebaaa65, 774b4d4)GuildMember.permissionsIn
(3fba721)TextBasedChannel.sendCode
(#625, 7ff9ac2)Collection.find
with a function parameter (ac1f5f3)Collection.findKey
(9560586)Message.toString
(ce6cb62)ChannelResolvable
s now acceptGuild
andMessage
objects (3fba721)
Fixes
- Preemptive rate-limiting is now stricter to avoid unlikely 429s (8941157, d7bf40c)
- Potential error when Discord sends a typing event for a non-text-based channel (fd56417)
DMChannel
doesn't cache the recipient user (3f52ba2)GuildMember.hasPermission
doesn't take guild ownership into account (3e39861)- Member nicknames don't get updated (48f84c6)
- Avatars being set to
undefined
(5b8f882, f0a9a13) guildMemberAdd
triggers for presence updates where members were not previously cached (#684, af33b2b)- Voice problems:
- User properties sometimes randomly get unset (f0a9a13)
9.1.1
Fixes
- Members are recreated after leaving/being kicked from a guild (#667, 84fe65e)
guildMemberAdd
is fired for each member in a guild upon instantiation (#668, 9b45294)- There is a delay between playing audio streams (#632, f192d16)
- Multi-part data when sending files breaks (#675, 4255dcd)
- Audio streams play at an abnormal rate after pause/resumes, and also play abnormally fast when starting (#672, 0d417b6)
9.1.0
Additions
Collection
andShard
exports for external use (799054d)Collection.some/every
, and improved.filter/map
(594836b)Client.emojis
(bcab880)Client.status
to get the websocket status (6dfe160)ClientOptions/MessageOptions.disable_everyone
to prevent accidental mentions (3b7d5e8)ClientUser.setStatus
streaming URL parameter (db9d5b8)TextBasedChannel.fetchMessage
to fetch a single message (48e7fad)TextBasedChannel.sendFile
content
parameter (9888cef)TextBasedChannel.sendMessage
andMessage.edit
with arrays for the content (automatically joined with newlines) (9f0db9d, f328640)Message.cleanContent
with mentions replaced by plain text (9bef99c, bbc9df0)Message.isMentioned
(bf3c283)Message.edits
with a history of all edits (17bee80)MessageEmbedAuthor
(bd113ee)Guild.fetchMember
to retrieve a single guild member (user must be cached first) (c7b4cf3, 465ff07)Guild.defaultChannel
(9bdf670)Guild.ban
to ban a non-member (9d694d2)Guild.createRole
data
parameter to create a role and immediately update it with the given data (e1bda86)GuildMember.addRole/addRoles/removeRole/removeRoles
(dc7b070)GuildMember.permissions
andGuildMember.hasPermission
for the permissions of a member with their roles only (57acd4f)Channel/Emoji/Guild/Role/User.creationDate
(943767d, 7fea0a3)StreamOptions
for various voice methods (f7a542f)- Improved
ShardingManager
(2c6b804) - Made the
client
property on most structures non-enumerable, so it won't display inconsole.log
orutil.inspect
- Loads of internal organisation and cleanup
- Lots of documentation updates
Fixes
fetch_all_members
doesn't work for newly joined guilds (b9caa2e)max_message_cache
default doesn't match the docs (7fe032c)User.bot
is inaccurate (#657, 85fae72)User.game
is not reset when a user stops playing (#666, dbaaa8d)Role.edit
always throws an error (ab4707f)@everyone
permission overwrites not being taken into account (978cf9d)- Potential issue when guild members are updated (8f04fae)
- EPIPE error when skipping songs (#635, 47a164b)
- Handle WS error events silently (#607, dd62389)
9.0.2
Library completely rewritten, please see documentation for upgrading advice.
8.1.0
Additions:
- Preemptive ratelimiting (prevents most 429 IP bans unless you have a lot of shards)
- Added support for notes
- Added support for message pinning
- Added support for getting a single message (for OAuth bot accounts only)
- Added more detailed error messages when closing gateway connections
- Added voiceSpeaking event
- Added tonicdev support
- Added support for getting details on an OAuth app (bot account must be owner or member of the app)
Fixes:
- Fixed a bug where some voice states wouldn't update
- Fixed some more voice crashes
- Fixed some game changes not firing presence updates
- Fixed crash bugs
- Fixed Discord.Constants export bug
- Fixed removal of Cache items
- Fixed editing channels
Misc:
- Documentation fixes
- Documentation page for examples
- Enabled autoReconnect by default
8.0.0
Additions:
- Added support for nicknames
- Added support for role and channel mentions
- Added support for Twitch/YouTube stream games
- Added support for ADMINISTRATOR, CHANGE_NICKNAME, and MANAGE_NICKNAMES permissions
- Added support for bulk delete
- Added error event to VoiceConnection
- Added guildCreateTimeout for slow internets
- Added voice connection timeout
- Added support for voice channel bitrates and user limits
- Added Message.server (shortcut to Message.channel.server)
- Added permissionsOf(role) support
- Added createdAt properties to some objects with IDs
- Added voiceSwitch event
- Added disableEveryone option
- Added /tmp to possible TokenCacher directories
Fixes:
- Fixed friends-related crashes
- Fixed permissionsOf crash
- Fixed sendFile content resolution
- Fixed autoReconnect loop
- Fixed selfbots blocking mobile push notifications
- Fixed incorrect documentation
- Fixed incorrect role data
- Fixed old references to self_mute/self_deaf
- Fixed invalid cache data crash
- Fixed invalid server member data crash
- Fixed permissionsOf calculation errors
- Fixed lastMessageID not being updated
- Fixed mention resolver crash
- Fixed user avatar updates
- Fixed some roles being null
- Fixed playArbitraryFFmpeg
- Fixed UDP close errors on VoiceConnection
- Fixed incorrect bot properties
- Fixed some zombie FFmpeg proccesses
- Fixed leaving servers
- Fixed incorrect server data
- Fixed updateChannel sending invalid data
- Fixed logout for bot accounts
- Fixed potential binary crash while joining voice channels
Misc:
- Upgraded some dependencies
- messageUpdated now fires even if the original message is not found