Skip to content

Latest commit

 

History

History
118 lines (89 loc) · 6.53 KB

CHANGELOG.md

File metadata and controls

118 lines (89 loc) · 6.53 KB

CHANGELOG

v0.0.12

Additions

  • MAJOR Added voice gateway v3 support. This will result in increased stability for voice connections
  • BREAKING Updated holster to v2.0.0 which changes the way emitters work (and removes the previous priorities). A migration guide will be provided post-RC cycle.
  • Added support for ETF on Python 3.x via earl-etf (@GiovanniMCMXCIX)
  • Supported detecting dead/inactive/zombied Gateway websocket connections via tracking HEARTBEAT_ACK (@PixeLInc)
  • Added support for animated emoji (@Seklfreak)
  • Added support for LISTENING and WATCHING game statuses (@PixeLInc)
  • Added wsaccel package within the performance pack, should improve websocket performance
  • Added the concept of a shared_config which propgates its options to all plugin configs (@enkoder)
  • Added support for streaming zlib compression to our gateway socket. This is enabled by default and provides significant performance improvements on startup and overall bandwidth usage
  • Added support for Guild.system_channel_id and GUILD_MEMBER_JOIN system message
  • Added Guild.create_category, Guild.create_text_channel and Guild.create_voice_channel
  • Added Channel.create_text_channel and Channel.create_voice_channel which can be called only on category channels to add sub-channels

Fixes

  • Fixed 'Invalid token passed' errors from showing up (via removal of token validation)
  • Fixed IndexError being raised when MessageIterator was done iterating (@Majora320)
  • Fixed overwrite calculations in Channel.get_permissions (@cookkkie)
  • A plethora of PEP8 and general syntax changes have been made to cleanup the code
  • Fixed a bug with Emoji.custom
  • Fixed a bug in the typing system that would not allow Field's to have a default of None
  • Fixed the __str__ method for Channel's displaying (useless) unset data for DMs
  • Fixed a bug with MessageIterator related to iterating before or after an ID of 0
  • Fixed incorrect field name (icon_proxy_url vs proxy_icon_url) in MessageEmbedAuthor model
  • Fixed bugs related to creating and deleting pinned messages
  • Fixed GuildBan.reason incorrectly handling unicode reasons
  • Fixed Paginator throwing an exception when reaching the end of pagination, instead of just ending its iteration
  • Fixed Paginator defaulting to start at 0 for all iterations

Etc

  • BREAKING Refactor the way Role's are managed and updated. You should update your code to use Role.update
  • BREAKING Renamed Model.update to Model.inplace_update. You should not have to worry about this change unless you explicitly call that method
  • DEPRECATION Deprecated the use of Guild.create_channel. You should use the explicit channel type creation methods added in this release
  • Cleaned up various documentation
  • Removed some outdated storage/etc examples
  • Expanded APIClient.guilds_roles_create to handle more attributes
  • Bumped various requirement versions

v0.0.11

Additions

  • Added support for Guild audit logs, exposed via Guild.get_audit_log_entries, Guild.audit_log and Guild.audit_log_iter. For more information see the AuditLogEntry model
  • Added built-in Flask HTTP server which can be enabled via http_enabled and configured via http_host/http_port config options. The server allows plugins to define routes which can be called externally.
  • Added support for capturing the raw responses returned from API requests via the APIClient.capture contextmanager
  • Added support for NSFW channels via Channel.nsfw and Channel.is_nsfw
  • Added initial support for channel categories via Channel.parent_id and Channel.parent
  • Added various setters for updating Channel properties, e.g. Channel.set_topic
  • Added support for audit log reasons, accessible through passing reason to various methods
  • Added disco.util.snowflake.from_timestamp_ms
  • Added support for on_complete callback within DCADOpusEncoderPlayable
  • BREAKING Added new custom queue types BaseQueue/PlayableQueue for use w/ Player.
    • queue can be passed when creating a Player, should inherit from BaseQueue
    • Users who previously utilized the put method of the old Player.queue must move to using Player.queue.append, or providing a custom queue implementation.
  • Added Emoji.custom property

Fixes

  • Fixed GuildRoleCreate missing guild_id, resulting in incorrect state
  • Fixed SimpleLimiter behaving incorrectly (causing GW socket to be ratelimited in some cases)
  • Fixed the shortest possible match for a single command being an empty string
  • Fixed group matching being overly greedy, which allowed for extra characters to be allowed at the end of a group match
  • Fixed errors thrown when not enabling manhole via cli
  • Fixed various warnings emitted due to useage of StopIteration
  • Fixed warnings about missing voice libs when importing disco.types.channel
  • Fixed Bot.get_commands_for_message returning None (instead of empty list) in some cases

Etc

  • Greatly imrpoved the performance of HashMap
  • BREAKING Increased the weight of group matches over command argument matches, and limited the number of commands executed per message to one.
  • Reuse a buffer in voice code to slightly improve performance

v0.0.11-rc.8

Additions

  • Added support for capturing the raw responses returned from the API via APIClient.capture contextmanager
  • Added various pieces of documentation

Fixes

  • Fixed Python 3 errors and Python 2 deprecation warnings for CommandError using .message attribute

ETC

  • Grealty improved the performance of the custom HashMap
  • Moved tests around and added pytest as the testing framework of choice

v0.0.11-rc.7

Additions

  • Added support for new NSFW attribute of channels
    • Channel.nsfw
    • Channel.set_nsfw
    • Channel.is_nsfw behaves correctly, checking both the deprecated nsfw- prefix and the new attribute
  • Added support for on_complete callback within DCADOpusEncoderPlayable
  • BREAKING Added new custom queue types BaseQueue/PlayableQueue for use w/ Player.
    • queue can be passed when creating a Player, should inherit from BaseQueue
    • Users who previously utilized the put method of the old Player.queue must move to using Player.queue.append, or providing a custom queue implementation.

Fixes

  • Fixed bug within SimpleLimiter which would cause all events after a quiescent period to be immedietly dispatched. This would cause gateway disconnects w/ RATE_LIMITED on clients with many Guilds and member sync enabled.

ETC

  • Improved log messages within GatewayClient
  • Log voice endpoint within VoiceClient