github discordjs/discord.js 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 (afc8e5bee07dbd488b34df9d7d853df89c1a4e15, 9503990a86753f945ae3e8b1eafc5b139bd67ac6, 8f1bc5edabd36a509190f057edafc360b91a4fd5, 6075ec0e19d4307aa653e57eb0e81987a7c786ed, e5bac1339d10b1ee7ebbfe8cab9230b52333dd3c)
    • ClientOptions.message_cache_lifetime/message_sweep_interval
    • Client.sweepMessages to manually sweep
  • Sharding manager features
    • Automatically respawns shards that exit (fc9d049cc1829c3837ab2548e81d3c10226034a3, 063be5cee2692364a6cb1de18011d9b20d2dfd0d)
    • Shard.send to send a message to a shard (edd174a5ebd657fefec55199ed869c6cecfe9697, b795ed81091192c312211f2bdd6b347e13105dbb)
    • ShardingManager.broadcast to send messages to all shards (edd174a5ebd657fefec55199ed869c6cecfe9697, b795ed81091192c312211f2bdd6b347e13105dbb)
    • Shard.fetchClientValue to get a client property value from a shard (1008f601f4cd9db7e4527ace1e66ac090cdc8fbf)
    • ShardingManager.fetchClientValues to get a client property value from all shards (1008f601f4cd9db7e4527ace1e66ac090cdc8fbf)
    • Shard.eval to eval code on a shard (e4f416ae6cc0a30fdfddce3a49471c50b19f5fb1, 1008f601f4cd9db7e4527ace1e66ac090cdc8fbf)
    • ShardingManager.broadcastEval to eval code on all shards (e4f416ae6cc0a30fdfddce3a49471c50b19f5fb1, 1008f601f4cd9db7e4527ace1e66ac090cdc8fbf)
    • ShardingManager.spawn delay parameter (7f652f7df876a560dc5713bfab1061a7b192479d)
  • Exports for all structures, so that you can use instanceof. There is probably no reason to ever instantiate these yourself. (221fc7a103871b54fcdeafc710ea0cd840f8fdeb, c5982b0b90f3e476fd5793d5a32b4f032ef888bb, f3bab30cce571769b9cd4f7602737dd410196237)
  • version export (require('discord.js').version) (ec6453a191eedefaa910c885600137013ddd6025, cdf3136cde02d459d1c7e670afcb7217cb357f97)
  • Client#disconnect event (7cb2e8eef705384e9f212501867867c367cb92e1)
  • Collection.reduce (84b33f9b66530d60ac6400f479668252219e8f43)
  • Collection.keyArray/firstKey/lastKey/randomKey (ac85ffce4be72d39017663dc48e70c0cb868c532)
  • Guild.voiceConnection and VoiceChannel.connection (420f2ecdd4ede172e4add867da5c2db84782bc37, a27f6c96bb4d7d9e6a73635287fab867ce2c1e2a, e9a7a06d525a625bdda76d65ad44e81fbac8059c)
  • Message.editCode (46d7dedc85cdd1deb8af20f02e6c11c58c0a8599)
  • Message.editable/deletable/pinnable (bbddfef7f6b0501e05bbcc83ef923130867551d8)
  • Guild.pruneMembers (15d7f8e2fe68eee96eb55aecbed4463f36835f96)
  • GuildMember.highestRole (b8e3094b14b4bc3990d2d4b1498a32d199691e96, 126865384e7503fa1cc486cd46d810827cacf3e3)
  • GuildMember.kickable/bannable (b8e3094b14b4bc3990d2d4b1498a32d199691e96)
  • Role.mentionable (529d7207daf59d4ed5b3415c68a12bf34d389bd2)
  • Role.members (46c28c0d05153da4dd27b4ff7c6cafacc852217e)
  • Invite.url/toString (0bd00b12b71953756f24d967fddbc8467b995f0d)
  • TextBasedChannel.sendCode without a language (862ec6a5be2dcb6d6070429dde3a00b4717c233c, 136cf66eb08f991449b48b4a42d504eab0085ca9)
  • ClientDataResolver.resolveUserID (bbddfef7f6b0501e05bbcc83ef923130867551d8)

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 (7d8667694da4990dfb55367d52b1db276df2deb3)
  • VoiceConnection leaks Client#voiceStateUpdate listeners (6f7deba4b3405aa0c8f76adabda645facf133921, 0559aaf00ba8d25e4021a6512f717225606f8318, 5a9753e46146916d171eae105bef3c43e61f4d05)
  • Guild.ban/unban do not function with IDs of users that aren't cached (6c6da43da3b7034b00e6c2fc07b4ca0df03f4477)
  • Userbots can't set avatar or username (#697, #700, fbcea236c53ab19bb74928933d0d144141403312, 9308d2ead31edb12651fc1c2840945bcbf9fbdfe)
  • Various Guild properties get set to undefined (718f61a73224d2b317770d6069cbf1caeb78632d)
  • GuildMember.nickname gets set to undefined (#703, 7957bc82cd1890ea8c428abd3d8bf14035222eff)
  • channelCreate is emitted twice (#698, f7e89f61e678396e2cb2f8bdd5d1f7bfe029de53)
  • TextBasedChannel.sendCode breaks when content contains codeblock characters (0405b1a59fd9f2ff4042121247492d29a938e133)
  • Split messages may not reject on failure (25531170ec2735c6aa53cc15a92542deb38b1523)
  • User.equals not functioning properly (#701, 69f947dfcb14771f28fd518473eb36eadb350fca)
  • Default permissions no longer accurate (74b9e5d643e44b3923cf9b0fab0d28fc4de849fd)
  • ClientDataResolver.resolveFile fails horribly on nonexistent files (#717, a2778d4a969266bb53bdd3cdd96b26be93b499b2)
  • VoiceConnection.playConvertedStream does nothing (f383c78414d6152a197f4c1d407b46dee61f8516)
  • Message.cleanContent errors in DMs/Group DMs (#725, fa18b0c6c9db6a647195fa4ea70cff415f02df69)
  • Comply before new rate-limit stuff (yet again, it changed) (aef0b83c34bea1ea04b8938cd4845b67034ae497)
  • Login now rejects if we can't log in (bd1449bc5a3a7a15ef809267f8080bd560fd39d7)
latest releases: 13.2.0, 13.1.0, 13.0.1...
5 years ago