Skip to content

Releases: SpaceManiac/discord-rs

v0.7.0 - Release train continues

04 Nov 05:45
v0.7.0
7ffa168
Compare
Choose a tag to compare
  • Overhaul voice support for 1-on-1 and group calls
  • Add LiveServer::permissions_for to calculate member permissions
  • Allow disabling voice support using Cargo features
  • Move member sync methods to Connection rather than State
  • Cleanly disconnect in Connection::shutdown
  • Store discriminators as u16 rather than String
  • Implement Display for ID types, printing just the number
  • Change Error::Closed to contain a decoded String
  • Discord changes
    • Reaction support
    • Remove xkcdpass from invites
    • Add message pinning events
    • Add permissions: administrator, external emojis, add reaction, manage webhooks
    • Implement guild sharding and gateway v6
    • Implement Discord's official rate limit handling
    • Compression support in READY and GUILD_CREATE
    • Message delete bulk event
    • More fields in UserSettings
  • Rest API additions
    • create_permission, delete_permission
    • get_application_info
    • get_server_channels
    • get_unresolved_incidents
    • suggested_shard_count
  • Update version of various dependencies

v0.6.0 - More functionality, Discord changes

30 Jun 22:10
v0.6.0
993af4b
Compare
Choose a tag to compare
  • Natively support auto-reconnection and resuming the previous session
  • Add utility methods to generate mentions for users, roles, and channels
  • Fix errors relating to missing read_state
  • Fix current voice channel going out of sync when forcibly moved
  • Replace Event::Closed with Error::Closed, with more information and better structure
  • Model support for:
    • Unavailable servers
    • Nicknames
    • Role mentionability
    • "Now streaming" presences
    • Pinned messages
    • User notes
    • 2FA information
    • Existing fields now present on Server
  • Expand capabilities of edit_server: owner, verification level, and splash
  • New REST wrappers:
    • Server prune
    • Get active and upcoming maintenances
    • Get server member
    • Pin and unpin messages
    • Get messages around a specific message
    • Delete messages in bulk
    • Edit user notes

Thanks to @taiyaeix and @nstafie for their contributions to this release.

v0.5.0 - Better voice, bot accounts, more REST

26 Mar 22:59
Compare
Choose a tag to compare
  • New constructor Discord::from_bot_token for bot accounts
  • Errors decoding optional fields are no longer silently ignored
  • The ID types now wrap u64s instead of Strings
  • Voice overhaul
    • Stereo support
    • Voice receive support
    • Encrypted voice support
    • Multi-server voice support
    • State is retained even if connection is lost
    • New examples: dj and voice_receive
  • Rest API additions
    • get_voice_regions, move_member_voice
    • get_servers, get_bans, add_ban, remove_ban
    • send_file
    • edit_member_roles, kick_member
    • edit_server, edit_profile (use read_image for avatars)
    • create_invite, get_server_invites, get_channel_invites
    • create_server now has an icon parameter
  • Various model updates for new and changed Discord functionality

v0.4.0 - Better voice, error handling

25 Feb 01:29
Compare
Choose a tag to compare
  • Simplified voice module API and added youtube-dl support.
  • Added Discord::new_cache which will cache and reuse past login tokens. Use is recommended.
  • Improved error handling, with better messages and more descriptive entries in the Error enum:
    • Error::Status now also contains the json response describing the error.
    • Error::RateLimited added, including how long to wait before retrying.
    • Error::Protocol added for protocol misunderstandings.
  • Updated for protocol changes:
    • Removed mentions array from send_message and edit_message.
    • Removed UserSettings::muted_channels, added instead UserServerSettings.
    • Added PublicChannel::bitrate field.
    • Added LiveServer::verification_level and member_count, Server::verification_level, and removed Server::joined_at.
  • Added REST endpoints:
    • create/leave/delete server
    • get/accept/delete invite
    • edit channel

v0.3.0 - Freeform game names

24 Feb 02:38
Compare
Choose a tag to compare
  • Added User-Agent header to the library's requests, per official recommendation.
  • Changed from game_id to freeform game names in accordance with API changes.

v0.2.0 - Voice support

24 Feb 02:46
Compare
Choose a tag to compare
  • Added initial voice transmission support, including queuing and ffmpeg support.
  • Changed from println! to using the log crate for logging.
  • Added UserSettings to the model, events, and state tracking.
  • Added support for gateway migration.
  • Added REST endpoints:
    • get message log
    • edit/delete/acknowledge message
    • create/get private channel
    • get user avatar

v0.1.0 - Initial release

24 Feb 03:02
Compare
Choose a tag to compare
  • Basic REST support:
    • login/logout
    • create/edit/delete channel
    • send message
    • broadcast typing
  • Basic websocket event support:
    • connect, set game id, and poll for events
    • ready, user update, voice state update
    • typing start, presence update
    • message create/update/ack/delete
    • server create/update/delete
    • member add/update/remove
    • role create/update/delete
    • channel create/update/delete
  • State tracking for websocket events.