v0.9.0-rc.0
Asynchronous Serenity
It has long been .await
ed for, but it's finally here! Serenity now leverages async
functions, thanks to the tokio
runtime.
A big thanks goes to @Lakelezz. Without the dedication to her efforts, it wouldn't have been possible to make the switch easily.
Release candidate
As that is a huge change, among other changes, this is actually a testing release. It is encouraged to consumers of this release to provide feedback for any warts you might encounter, be it missing features, or bugs. One important bug is the OOM bug. After a period of time has passed since the bot connected, there might be a big random spike in memory usage, prompting the OOM killer to shutdown the bot's process. It is unknown where the spike comes from, or when exactly does it occur. It doesn't happen to every bot either. If you find your bot suddenly using a lot of memory, or being killed, please let us know by opening an Issue.
Thanks to the following for their contributions:
- @acdenisSK
- @asherkin
- @bdashore3
- @DimiDimit
- @jmgao
- @Lakelezz
- @MaxOhn
- @mendess
- @mjsir911
- @mysteriouspants
- @NieDzejkob
- @NilsIrl
- @nitsuga5124
- @Th3-M4jor
- @tverghis
Added
- [model] Add
nick
field toPartialMember
(@asherkin) c:28f9f8a - [model] Add teams support (@nitsuga5124) c:5a6979a
- [model] Add
mentions_current_user
helper (@mysteriouspants) c:e049bc1 - [model/client] Add the
nonce
field toGuildMembersChunk
and the event handler (@mjsir911) c:614f99a - [voice] Add
self_stream
field toVoiceState
(@DimiDimit) c:c60f397 - [model] Add a method to retrieve a webhook's URL (@nitsuga5124) c:5931d1c
- [model] Add a method to retrieve a link to a message (@acdenisSK) c:a92ca08
- [command_attr] Add the delimiters option to the documentation (@acdenisSK) c:1594a3e
- [model] Add pagination for CurrentUser::guilds (@NilsIrl) c:9eadffa
- [model] Add methods to disconnect a member from a voice channel (@mendess) c:4e8e40b
- [model] Add
GuildId::name()
(@tverghis) c:d99bee9
Changed
- [misc] Update rustls dependency to 0.18 (@acdenisSK) c:3dda20d
- [all] Serenity.await (@Lakelezz) c:5df4c6d
- [misc] Address the renaming of the lavalink project (@acdenisSK) c:802df92
- [utils] Replace the in-house typemap implementation with
typemap_rev
(@bdashore3) c:c1c7300 - [misc] Apply copyright to all people who have contributed to Serenity (@acdenisSK) c:287245a
- [model] Make
Message::reply
take a content implementingstd::fmt::Display
(@nitsuga5124) c:00683ef - [framework] Expose CustomisedHelpData fields, improve help strikethrough message attributes. (@jmgao) c:0d72b6e
- [framework] Return
Option<Message>
in help command functions (@MaxOhn) c:4472dec - [model] Make
Message::react
return itsReaction
(@NieDzejkob) c:e7eb52d - [model] Check the cache for an existing private channel when creating a new one (@NieDzejkob) c:94d22c3
- [framework] Replace
CommandError
with an alias toBox<dyn Error>
(@acdenisSK) c:a406d48 - [misc] Mention projects that extend the functionality of the library instead (@acdenisSK) c:9f75c09
- [model] Adjust the ban methods to be consistent with the kick methods (@acdenisSK) c:8628b2a
- [http] Inject the guild id into the roles returned by the http client (@acdenisSK) c:5edd11d
- [client] Replace
&mut Context
with&Context
(@Th3-M4jor) c:3e4294b
Fixed
- [model] Restrict mention parsing to be specific to the type of id (@acdenisSK) c:dd580fb
- [framework] Fix
unrecognised_command()
not working if the last added group has prefixes (@nitsuga5124) c:8040fa5 c:760ed71 c:21a5d8e - [misc] Remove unnecessary feature gates and fix incorrect ones (@acdenisSK) c:ed61459
Removed
- [model] Remove
U: Into<UserId>
type parameter forpartial_guild::edit_member()
(@nitsuga5124) c:4227a52 - [misc] Remove Zeyla Hellyer as an author of Serenity (@acdenisSK) c:9cfc410
- [misc] Remove the matches developmental dependency (@acdenisSK) c:2418edd
- [misc] Remove usages of mem::replace where its return value is unused (@acdenisSK) c:3135e0f