Skip to content

Latest commit

 

History

History
467 lines (333 loc) · 18.2 KB

whats_new.rst

File metadata and controls

467 lines (333 loc) · 18.2 KB
.. currentmodule:: discord

Changelog

This page keeps a detailed human friendly rendering of what's new and changed in specific versions.

v1.1.1

Bug Fixes

  • Webhooks do not overwrite data on retrying their HTTP requests (:issue:`2140`)

Miscellaneous

  • Add back signal handling to :meth:`Client.run` due to issues some users had with proper cleanup.

v1.1.0

New Features

discord.ext.commands

Bug Fixes

discord.ext.commands

Miscellaneous

  • Improve the performance of internal enum creation in the library by about 5x.
  • Make the output of python -m discord --version a bit more useful.
  • The loop cleanup facility has been rewritten again.
  • The signal handling in :meth:`Client.run` has been removed.
discord.ext.commands
  • Custom exception classes are now used for all default checks in the library (:issue:`2101`)

v1.0.1

Bug Fixes

  • Fix issue with speaking state being cast to int when it was invalid.
  • Fix some issues with loop cleanup that some users experienced on Linux machines.
  • Fix voice handshake race condition (:issue:`2056`, :issue:`2063`)

v1.0.0

The changeset for this version are too big to be listed here, for more information please see :ref:`the migrating page <migrating_1_0>`.

v0.16.6

Bug Fixes

  • Fix issue with :meth:`Client.create_server` that made it stop working.
  • Fix main thread being blocked upon calling StreamPlayer.stop.
  • Handle HEARTBEAT_ACK and resume gracefully when it occurs.
  • Fix race condition when pre-emptively rate limiting that caused releasing an already released lock.
  • Fix invalid state errors when immediately cancelling a coroutine.

v0.16.1

This release is just a bug fix release with some better rate limit implementation.

Bug Fixes

  • Servers are now properly chunked for user bots.
  • The CDN URL is now used instead of the API URL for assets.
  • Rate limit implementation now tries to use header information if possible.
  • Event loop is now properly propagated (:issue:`420`)
  • Allow falsey values in :meth:`Client.send_message` and :meth:`Client.send_file`.

v0.16.0

New Features

Bug Fixes

  • Timeout when waiting for offline members while triggering :func:`on_ready`.

    • The fact that we did not timeout caused a gigantic memory leak in the library that caused thousands of duplicate :class:`Member` instances causing big memory spikes.
  • Discard null sequences in the gateway.

v0.15.1

  • Fix crash on duplicate or out of order reactions.

v0.15.0

New Features

For the command extension, the following changed:

  • Context is no longer slotted to facilitate setting dynamic attributes.

v0.14.3

Bug Fixes

  • Fix crash when dealing with MESSAGE_REACTION_REMOVE
  • Fix incorrect buckets for reactions.

v0.14.2

New Features

  • :meth:`Client.wait_for_reaction` now returns a namedtuple with reaction and user attributes.
    • This is for better support in the case that None is returned since tuple unpacking can lead to issues.

Bug Fixes

v0.14.1

Bug fixes

  • Fix bug with Reaction not being visible at import.
    • This was also breaking the documentation.

v0.14.0

This update adds new API features and a couple of bug fixes.

New Features

Bug Fixes

v0.13.0

This is a backwards compatible update with new features.

New Features

Bug Fixes

  • Paginator pages do not exceed their max_size anymore (:issue:`340`)
  • Do Not Disturb users no longer show up offline due to the new :class:`Status` changes.

v0.12.0

This is a bug fix update that also comes with new features.

New Features

For the command extension, the following are new:

  • Add custom emoji converter.
  • All default converters that can take IDs can now convert via ID.
  • Add coroutine support for Bot.command_prefix.
  • Add a method to reset command cooldown.

Bug Fixes

v0.11.0

This is a minor bug fix update that comes with a gateway update (v5 -> v6).

Breaking Changes

New Features

For the command extension, the following are new:

  • Command cooldown system with the cooldown decorator.
  • UserInputError exception for the hierarchy for user input related errors.

Bug Fixes

  • :attr:`Client.email` is now saved when using a token for user accounts.
  • Fix issue when removing roles out of order.
  • Fix bug where discriminators would not update.
  • Handle cases where HEARTBEAT opcode is received. This caused bots to disconnect seemingly randomly.

For the command extension, the following bug fixes apply:

  • Bot.check decorator is actually a decorator not requiring parentheses.
  • Bot.remove_command and Group.remove_command no longer throw if the command doesn't exist.
  • Command names are no longer forced to be lower().
  • Fix a bug where Member and User converters failed to work in private message contexts.
  • HelpFormatter now ignores hidden commands when deciding the maximum width.

v0.10.0

For breaking changes, see :ref:`migrating-to-async`. The breaking changes listed there will not be enumerated below. Since this version is rather a big departure from v0.9.2, this change log will be non-exhaustive.

New Features

Performance Improvements

  • All data classes now use __slots__ which greatly reduce the memory usage of things kept in cache.
  • Due to the usage of asyncio, the CPU usage of the library has gone down significantly.
  • A lot of the internal cache lists were changed into dictionaries to change the O(n) lookup into O(1).
  • Compressed READY is now on by default. This means if you're on a lot of servers (or maybe even a few) you would receive performance improvements by having to download and process less data.
  • While minor, change regex from \d+ to [0-9]+ to avoid unnecessary unicode character lookups.

Bug Fixes