Releases: serenity-rs/serenity
v0.9.0
Thanks to the following for their contributions:
Added
- [client] Mention the required intents for certain events (@nitsuga5124) c:c9971b6
- [gateway] Add support for filtering by user ids when requesting guild chunks (@james7132) c:0d9b821
Changed
v0.9.0-rc.4
Thanks to the following for their contributions:
Changed
- [misc] Increase the type length limit (@acdenisSK) c:7e55a0e
v0.9.0-rc.3
Thanks to the following for their contributions:
- @AriusX7
- @acdenisSK
- @Baev1
- @Flat
- @FelixMcFelix
- @ikkerens
- @leumasme
- @MonliH
- @nickelc
- @nitsuga5124
- @Prof-Bloodstone
- @peppizza
- @Qeenon
- @TheElec
- @tmcarr
- @u5surf
Added
- [misc] Switch to Github Actions (@acdenisSK) c:5bb8342 c:a1b3c8d
- [model] Add missing fields to
GuildMembersChunkEvent
and add nonce toShardMessenger::chunk_guilds
(@TheElec) c:8c30b40 - [model] Implement
create_invite
onChannelId
(@acdenisSK) c:c0c2137 - [client] Derive
Clone
forCacheAndHttp
(@acdenisSK) c:2b66828 - [examples] Update example 07 to use tracing and dotenv (@nitsuga5124) c:2386690
- [examples] Add Parallel Loops example. (@nitsuga5124) c:b38cdf5
- [examples] Add an example for client data. (@nitsuga5124) c:3fe8056
- [http] Add methods to the http error type to query the presence of variants and to return the status code (@Baev1) c:7ef12ee
- [http] Add methods to start and stop typing (@AriusX7) c:bcf8249
Changed
- [examples] Gracefully shutdown all shards upon receiving Ctrl-C in example 7 (@peppizza) c:860a2c5
- [misc] Update and reduce dependencies (@nickelc) c:bba7d55 c:35e2a40 c:6577838
- [examples] Replace several instances of
if let Err
with?
in example 5 (@peppizza) c:b1187ce - [examples] Use the
writeln!
macro instead ofwrite!
in example 5 (@peppizza) c:c6150ae - [http] Prevent discord token from being logged (@Prof-Bloodstone) c:5cc67c3
- [misc] Replace instances of
super::super
with absolute imports (@nickelc) c:47e2f34 - [examples] Directly link
TypeMap
to its crate (@nickelc) c:519b67e - [builder] Allow setting the embed builders directly (@Prof-Bloodstone) c:b522e83
- [model] Change order rules of MessagesIter from new to old (@Qeenon) c:aa589da
- [voice] Limit
tokio/process
andtokio/udp
to the voice feature (@nickelc) c:d514806 - [misc] Update
base64
andtypemap_rev
dependencies to their latest versions (@Qeenon) c:ebd1241 - [examples] Update example 05 to specifically get the current bot id (@Flat) c:de085ff
- [voice] Update voice cipher to the latest version (@FelixMcFelix) c:87df95f
- [framework] Change the default help text to use the word 'server' (@acdenisSK) c:f0cfc0e
Fixed
- [examples] Fix a typo in the examples' README (@leumasme) c:186fd6c
- [examples] Fix a small typo in example 14 (@MonliH) c:3467ddc
- [model] Deserialize the correct data from the
GUILD_DELETE
event (@acdenisSK) c:b044b6d - [model] Correctly update the guild instance in the members chunk event (@acdenisSK) c:42da202
- [framework] Ignore empty command arguments (@acdenisSK) c:b9252a5
- [misc] Fix broken links & related doc comments (@nickelc) c:83e1d12
- [misc] Fix all clippy warnings and deprecate
Client::new
(@ikkerens) c:ffc2997 - [examples] Send the shutdown message earlier in the sample bot example (@tmcarr) c:2d365d0
- [model] Fix
ReactionType
'sDisplay
impl to support animated emojis (@u5surf) c:f0a3947
Removed
- [model] Remove unnecessary
Option
fromMessage::channel_mentions
(@nitsuga5124) c:626bdfd
v0.9.0-rc.2
Thanks to the following for their contributions:
Added
- [model] Add the new 'competing in' activity type (@nitsuga5124) c:ebc2cc7
- [model] Add
create_webhook
methods toGuildChannel
. (@nitsuga5124) c:fb44a15 - [meta] Add cargo-make support for building the examples. (@nitsuga5124) c:b137f51
- [model] Add new guild features to the documentation (@nitsuga5124) c:f2191d5
- [model/client] Add support for invite events (@acdenisSK) c:7146fd7
Changed
- [model] Retrieve the member from HTTP if it is missing in the cache (@acdenisSK) c:a3f9186
- [framework] Call the
should_fail_common
check earlier (@acdenisSK) c:bab4b24 - [meta] Update the MSRV to 1.40 (@acdenisSK) c:3f5882c
- [model] Use
#[non_exhaustive]
where applicable (@LikeLakers2) c:9ee42f1 - [meta] Switch from log to tracing. (@nitsuga5124) c:78dd862
- [utils] Make
parse_emoji
accept animated emojis (@bdashore3) c:66e05ea - [meta] Insert the shard manager in example 7 (@acdenisSK) c:7c2d4f7
Fixed
- [client] Fix Tungstenite IO error being discarded in ws_impl (@ikkerens) c:49c1603
- [meta] Fix feature dependencies in examples 2, 3, 4, 9, 11 (@Deebster) c:9e77154
- [framework] Temporarily fix the permissions check in the framework (@acdenisSK) c:88af7cf
- [model] Fix ReactionType not remembering animated status. (@ikkerens) c:2eac499
- [framework] Fix parsing of commands that have requirements (@acdenisSK) c:323875f
- [meta] Fix example 5's retrieval of owners when the bot belongs to a team (@nitsuga5124) c:5c0c045
- [framework] Fix bucket duration order (@acdenisSK) c:5805539
- [voice] Update Voice WS Sender on reconnect. (@FelixMcFelix) c:659448b
- [gateway] Fix shutdown regression (@ikkerens) c:fa03b75
Removed
- [framework] Do not emit dispatch errors when ignoring bots or webhooks (@acdenisSK) c:41698b6
v0.9.0-rc.1
Thanks to the following for their contributions:
Added
- [misc] Add latency to the general group in the 5th example (@acdenisSK) c:c8dacf2
- [model] Add
MessagesIter
andmessages_iter
(#942) (@AriusX7) c:a7e2f74 - [model] Implement
Display
forPermissions
(#939) (@AriusX7) c:1eb2714 - [model/http] Implement endpoints for getting emojis of a guild (#937) (@acdenisSK) c:2a1c385
- [client] Implement AsRef for ShardMessenger (#936) (@ThatsNoMoon) c:a9c9caa
- [builder] Implement a builder for allowed mentions (#931) (@nitsuga5124) c:59fb7b9
Changed
- [framework/command_attr] Fix if condition that inspects the name of a check (@acdenisSK) c:7d8c806
- [framework] Consider
Group
checks when displaying commands in help (#946) (@AriusX7) c:f00f1c0 - [model] Remove the colon from the message generated by
Message::reply
(#943) (@Qeenon) c:13bf356 - [model] Remove usage of chrono in a few places and switch from FixedOffset to Utc (#935) (@qm3ster) c:ed7b18e
- [framework] Abstract CommandResult type (#934) (@bdashore3) c:cfbd0be
- [misc] Update async-tungstenite to v0.8 (#930) (@nickelc) c:3d44d66
Removed
- [misc] Remove unused dependencies (@acdenisSK) c:b414f29
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
v0.8.7
This is a small release to publish a bunch of fixes the current
branch has accumulated.
Thanks to the following for their contributions:
- @7596ff
- @acdenisSK
- @dmarcoux
- @FelixMcFelix
- @fenhl
- @jmgao
- @johnchildren
- @ks129
- @s0lst1ce
- @SOF3
- @tarcieri
- @tweirtx
- @zack37
Changed
- [misc] Use a cargo workspace to compile the examples efficiently (@acdenisSK) c:6b1021f
- [misc] Prepend 'e' to all example names (@acdenisSK) c:9f848af
- [misc] Update dependencies rustls, tungstenite, webpki-roots, parking_lot, and base64 (@johnchildren) c:912d759
- [misc] Update the Discord invite link (@acdenisSK) c:1b195d7
- [model] Support animated emojis in Emoji's Display impl (@zack37) c:08d0608
- [voice] Use the
xsalsa20poly1305
crate for encryption in voice (@tarcieri) c:3965e00 - [model] Consider nickname mentions in
Message::content_safe
(@ks129) c:46db84a - [misc] Update almost all instances of discordapp.com to discord.com (@s0lst1ce) c:f98e61e
Fixed
- [model] Fix
User::nick_in
unconditionally returning if the cache is passed (@acdenisSK) c:9c198ed - [CI] Fix the Linux CI job by adding the missing system dependency (@tweirtx) c:550a63c
- [misc] Address some clippy warnings (@dmarcoux) c:2a54410
- [utils] Preserve hostname when escaping invite links (@fenhl) c:7dd01eb
- [voice] Fix
.mute(...)
not preventing the bot from sending frames. (@FelixMcFelix) c:638780e - [nidek] Fix doc-link to the
Message::guild_id
field in theMessage::guild
method (@SOF3) c:84b04ba - [framework] Fix check behaviour in the help command (@jmgao) c:e000833
- [model] Fix the documentation order of
permissions_for_role
andpermissions_for_user
(@7596ff) c:9356a5c