aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorRapptz <[email protected]>2016-01-09 23:13:23 -0500
committerRapptz <[email protected]>2016-01-09 23:13:23 -0500
commit604e931367b57bd55cdcb1db811a4e42678a39cf (patch)
tree34469f0e264a665e663cae1a745aa8155d8ad867 /docs
parent[commands] Add basic support for extensions. (diff)
downloaddiscord.py-604e931367b57bd55cdcb1db811a4e42678a39cf.tar.xz
discord.py-604e931367b57bd55cdcb1db811a4e42678a39cf.zip
Add a Whats New page to have a nicer changelog.
Diffstat (limited to 'docs')
-rw-r--r--docs/index.rst1
-rw-r--r--docs/whats_new.rst71
2 files changed, 72 insertions, 0 deletions
diff --git a/docs/index.rst b/docs/index.rst
index 3f526b37..e5c67920 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -12,6 +12,7 @@ Contents:
:maxdepth: 2
logging
+ whats_new
migrating
api
diff --git a/docs/whats_new.rst b/docs/whats_new.rst
new file mode 100644
index 00000000..59418d05
--- /dev/null
+++ b/docs/whats_new.rst
@@ -0,0 +1,71 @@
+.. currentmodule:: discord
+
+.. _whats_new:
+
+What's New
+============
+
+This page keeps a detailed human friendly rendering of what's new and changed
+in specific versions.
+
+.. _v0p10p0:
+
+v0.10.0
+-------
+
+For breaking changes, see :ref:`migrating-to-async`. The breaking changes listed there will not be enumerated below.
+
+New Features
+~~~~~~~~~~~~~
+
+- The library is now fully ``asyncio`` compatible, allowing you to write non-blocking code a lot more easily.
+- Two new exception types, :exc:`Forbidden` and :exc:`NotFound` to denote permission errors or 404 errors.
+- Added :meth:`Client.delete_invite` to revoke invites.
+- Added support for sending voice. Check :class:`VoiceClient` for more details.
+- Added :meth:`Client.wait_for_message` coroutine to aid with follow up commands.
+- Added :data:`version_info` named tuple to check version info of the library.
+- Login credentials are now cached to have a faster login experience. You can disable this by passing in ``cache_auth=False``
+ when constructing a :class:`Client`.
+- New utility function, :func:`discord.utils.get` to simplify retrieval of items based on attributes.
+- All data classes now support ``!=``, ``==`` and ``str(obj)``.
+- Added :meth:`Client.get_bans` to get banned members from a server.
+- Added :meth:`Client.invites_from` to get currently active invites in a server.
+- Added :attr:`Server.me` attribute to get the :class:`Member` version of :attr:`Client.user`.
+- Most data classes now support a ``hash(obj)`` function to allow you to use them in ``set`` or ``dict`` classes or subclasses.
+- Add :meth:`Message.clean_content` to get a text version of the content with the user and channel mentioned changed into their names.
+- Added a way to remove the messages of the user that just got banned in :meth:`Client.ban`.
+- Added :meth:`Client.wait_until_ready` to facilitate easy creation of tasks that require the client cache to be ready.
+- Added :meth:`Client.wait_until_login` to facilitate easy creation of tasks that require the client to be logged in.
+- Add :class:`discord.Game` to represent any game with custom text to send to :meth:`Client.change_status`.
+- Add :attr:`Message.nonce` attribute.
+- Add :meth:`Member.permissions_in` as another way of doing :meth:`Channel.permissions_for`.
+- Add :meth:`Client.move_member` to move a member to another voice channel.
+- You can now create a server via :meth:`Client.create_server`.
+- Added :meth:`Client.edit_server` to edit existing servers.
+- Added :meth:`Client.server_voice_state` to server mute or server deafen a member.
+- If you are being rate limited, the library will now handle it for you.
+- Add :func:`on_member_ban` and :func:`on_member_unban` events that trigger when a member is banned/unbanned.
+
+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
+~~~~~~~~~~
+
+- Fix bug where guilds being updated did not edit the items in cache.
+- Fix bug where ``member.roles`` were empty upon joining instead of having the ``@everyone`` role.
+- Fix bug where :meth:`Role.is_everyone` was not being set properly when the role was being edited.
+- :meth:`Client.logs_from` now handles cases where limit > 100 to sidestep the discord API limitation.
+- Fix bug where a role being deleted would trigger a ``ValueError``.
+- Fix bug where :meth:`Permissions.kick_members` and :meth:`Permissions.ban_members` were flipped.
+- Mentions are now triggered normally. This was changed due to the way discord handles it internally.
+- Fix issue when a :class:`Message` would attempt to upgrade a :attr:`Message.server` when the channel is
+ a :class:`Object`.
+- Unavailable servers were not being added into cache, this has been corrected.