Skip to content

v0.12.2

Compare
Choose a tag to compare
@arqunis arqunis released this 01 Jun 21:35
· 64 commits to current since this release

Thanks to the following for their contributions:

Deprecations

Continuing with the deprecations started in 0.12.1, many more methods and fields have been deprecated in order to make an easier upgrade path to 0.13.

These deprecation messages include a migration path, it is recommended to go one by one using cargo check and migrate each warning to reduce the burden migrating to 0.13. Following is a list of the deprecation PRs and the justification for these changes.

  • (#2791) The Channel::is_nsfw method was wrong, useless, and served better by GuildChannel::nsfw
  • (#2794) These cache methods needed arcane borrow checker dances internally, and obscure the simplicity of the cache.
  • (#2816) Member::highest_role_info is now strictly less powerful than the new Guild::member_highest_role and can avoid a cache lookup if used correctly.
  • (#2825)
    • Guild::is_large is less accurate than Guild::large
    • Message::is_own is super simple to implement yourself
    • Message::is_private simply checks if Message::guild_id is none.
  • (#2838) Event::PresencesReplace does not exist, and is a relic from when serenity supported user accounts.
  • (#2861) TeamMember::permissions is always ["*"], so is useless.

Other notable changes

  • (#2790) Added CreateMessage::enforce_nonce, to prevent sending duplicate messages.
  • (#2801) Added EditProfile::banner, allowing banners to be set for bots.
  • (#2810) Added ChannelId::get_thread_member.
  • (#2812) Added Guild::partial_member_permissions_in, which can be used to avoid fetching a Member in message events just to check permissions.
  • (#2819) Added From<User> for CreateEmbedAuthor, setting the author name and icon to the User's info.
  • (#2813) Added UserId::direct_message, so you don't need a full User to direct message.
  • (#2834) Added Http::default_allowed_mentions to set the AllowedMentions to be used with every request.
  • (#2830) Added Guild(Id)::bulk_ban, allowing bulk banning without hitting rate limits.
  • (#2836) Added support for Message Polls, including reading and sending them.
  • (#2807) Added support for User Apps, alllowing user-installable application commands.
  • (#2882) Added support for super reactions.
  • Many documentation fixes and other optimisations to improve memory and CPU usage.