Releases: serenity-rs/serenity
v0.7.4
Thanks to the following for their contributions:
Added
- [framework] Enable pub restrictions (@acdenisSK) c:e6ed1b5
- [framework] Implement Default for CommandOptions and GroupOptions (@LeSeulArtichaut) c:918273b
Fixed
- [framework] Fix regression of default option initialisation (@acdenisSK) c:42937e9
v0.7.3
Small release including fixes for Discord API changes. Please note with this version the minimum supported version of Rust is 1.37.
Thanks to the following for their contributions:
- @acdenisSK
- @ikkerens
Fixed
v0.7.2
A tiny release for a fix to voice
Thanks to the following for their contributions:
Fixed
- [voice] Fix
ClientVoiceManager::remove
to actually callManager::remove
(@MOZGIII) c:2734e27 - [voice] Use the correct ip for the UDP socket (@acdenisSK) c:c4b1c60
v0.7.1
Departure of a lead developer
It seems Discord has a thing against library developers. They disabled the account of a discord.js developer because they were allegedly "underage" (below 13 years old). There were credit card transactions to defend their innocence, but Discord argued that they need a photo of their face to properly verify their age, a request the developer declined to comply. Consequently, they chose to no longer be on Discord.
Recently, they did the same thing to @Lakelezz, a huge contributor to Serenity. However, this time they did not state their exact reason, simply saying "in violation of the ToS". Just like the JS developer, she decided to stop affiliating herself with the platform, if this is how it presents its "gratitude" towards her. But also, to cease development of the library.
And thus, on her behalf, I, the main lead developer @acdenisSK, announce her retirement of the project.
Thanks to the following for their contributions:
Added
- [model] Add support for the
preferred_locale
field (@Erk-) c:2d3e585 - [meta] Add missing word
need
. (@Lakelezz) c:65837f5 - [model] Add new message fields (@Erk-) c:e762ea9
- [gateway/client] Implement WebSocket shutdown support (@ikkerens) c:711882b
- [utils] Add more formats and case insensitivity to
parse_invite
(@ikkerens) c:0183714 - [model] Add optional inviter field to Invite (@ikkerens) c:21c95fd
Changed
- [meta] Set minimum Rust version to
1.37.0
. (@Lakelezz) c:de9e8a6 - [meta] Update related project's hrefs (@kyranet) c:445810f
Fixed
- [meta] Fix serenity version in the readme (@Zalaxx) c:730c959
- [framework] Fix incorrect label usage in plain help commands (@acdenisSK) c:d427da4
- [model] Fix
has_role
returning an incorrect result if the member is not cached (@ikkerens) c:96b49f9
Removed
v0.7.0
v0.6.4
Thanks to the following for their contributions:
Added
- [model] Add a method to create and iterable of
Member
s in aGuild
(@Alch-Emi) c:aa1070d - [utils] Add quoting functionality to
MessageBuilder
(@AregevDev) c:720d9ad - [model] Add support for new message types (@Erk-) c:c45c1d4
- [model] Add support for store channel (@Erk-) c:8594c29
- [model] Link to
ShardMessenger::chunk_guilds
inGuild
'smember
field (@Alch-Emi) c:8e926f9 - [framework] Add group-related removal and non-consuming adding functions to
StandardFramework
(@Jerald) c:3a4e2ed - [framework] Allow delimiters to be set on a per command basis (@acdenisSK) c:6f7797e
- [voice] Play a YouTube Search's first video (@Sreyas-Sreelal) c:ccbba0a
- [model] Add methods to get permissions of
Role
s inGuildChannel
s (@Lakelezz) c:09c1e01 - [utils] Allow users to create their own messages (@acdenisSK) c:e8da420
Changed
- [model] Fetch the guild id only if necessary (@acdenisSK) c:85dd1a0
- [meta] Move
webpki
andwebpki-roots
to therustls_backend
-feature (@leo-lb) c:2439275
Fixed
v0.6.3
Thanks to the following for their contributions:
Added
Changed
- [framework] Update module-level example (@acdenisSK) c:26192fa
- [client/model/utils] Changed some
&str
-parametres toimpl AsRef<str>
(@xacrimon) c:abd84c2 - [framework] Try to always ignore bots and webhooks when configured by the user (@acdenisSK) c:4cf4b21 c:b7b3a85
- [framework] Apply case-insensitivity to help if needed (@acdenisSK) c:cd4ca1b
Fixed
- [voice] Fix mistake in
voice::Audio
's documentation withplay_only
(@Mendess2526) c:e6c5d41 - [utils] Make
MessageBuilder::push_spoiler_*
consistent with the otherpush_
functions (@hyarsan) c:d2df2b9 - [misc.] Update to the actual minimum Rust version Serenity supports (@acdenisSK) c:d280ed1
- [misc.] Fix comment in the group prefixes example (@NieDzejkob) c:81d5af1:
- [framework] Fix
Reason
's doc-link by usingenum
(@Lakelezz) c:a8f0387 - [client] Fix private channel deletions making serenity panic (@Erk-) c:67f5e3d
- [model] Fix
create_invite
's doc-example (@Lakelezz) c:45d44cb - [framework] Update
help_commands
's module example (@acdenisSK) c:8cdfd7c - [framework] Remove unnecessary ticks (@Lakelezz) c:eddef7b
v0.6.2
A small release to address a severe deserialisation bug.
Thanks to the following for their contributions:
Changed
- [meta] Reduce versioning in examples to major.minor (@Lakelezz) c:13595ff
- [framework/command_attr] Escape tags and add newline in documentation (@Lakelezz) c:b28716c
Fixed
- [framework/command_attr] Fix invalid documentation for the group macro (@benjaminrsherman) c:17f1dc2
- [model] Fix guild deserialisation regression (@zeyla) c:e628614
v0.6.1
Thanks to the following for their contributions:
Added
- [framework/command_attr] Add the option to override the display name of a group (@acdenisSK) c:759a278
- [framework] Add
remains
, an optional alternative torest
(@hyarsan) c:3e15bb8
Changed
- [meta] Update the versions to be latest in the README. (@xacrimon) c:335701e
- [model] Change the generic of
members
to encompass theOption
(@zeyla) c:3a72058
Fixed
- [model] Revert
say
takingself
to&self
(@zeyla) c:e5081db - [framework] Give the owner privilege if only both the group and its command give consent. (@acdenisSK) c:030bb4d
- [command_attr] Fix
command_attr
documentation using#[sub]
instead of#[sub_commands]
(@rsaihe) c:7a0d169 - [framework] Remove
set_remove
with hint to the#[check]
(@Lakelezz) c:1527838
v0.6.0
🎉 It has finally come for the biggest release of Serenity yet! 🎉
Thanks to the following for their contributions:
- [@AregevDev]
- @acdenisSK
- [@andreasots]
- [@Celti]
- [@DarkKirb]
- [@Erk-]
- [@eatsfoobars]
- [@Flat]
- [@FelixMcFelix]
- [@hyarsan]
- [@icewind1991]
- [@Kroisse]
- @Lakelezz
- [@Mishio595]
- @molenzwiebel
- [@mattico]
- [@nycex]
- [@PvdBerg1998]
- [@Roughsketch]
- [@xacrimon]
- [@xSke]
- [@zeyla]
Since rc-2.1:
Added
- [framework/command_attr#docs] Add
#[bucket]
to the available attributes list. (@acdenisSK) [c:0daaac1]
Changed
- [examples] Fix a typo of Serenity (@Lakelezz) [c:90b7829]
- [gateway] Remove tungstenite buffer limits (@molenzwiebel) [c:638b642]
- [framework/command_attr] Be more helpful when reporting errors on return types (@acdenisSK) [c:c8a8d4f]
- [model] Make all structs non-exhaustive ([@zeyla]) [c:dddd417]
- [http] No longer delay ratelimit sleeps by 500ms (@acdenisSK) [c:638bb1a]
Fixed
- [framework/command_attr] Assign the new value to the correct colour (@acdenisSK) [c:d1addff]
- [model] Fix panic on deserialising
PartialGuild
with no Nitro boosters. ([@xSke]) [c:5e77718]
rc-2
Added
- [command_attr] Add some utility structs. (@acdenisSK) [c:9162929]
- [command_attr] Add docs for
lacking_ownership
. (@acdenisSK) [c:15e7fde] - [example] Add new Example about Eventing and Timing. (@Lakelezz) [c:10b9cc2]
- [example] Add example of embedding a local image in an embed. ([@Erk-]) [c:709c9e4]
- [framework] Add back blocking guilds, channels, and users. (@acdenisSK) [c:33f8383]
- [framework] Output the
#[example]
text in help ([@Flat]) [c:7aea26c] - [model] Add and use
AttachmentId
. (@Lakelezz) [c:c8a5f69] - [model] Add a
channel_id_from_name
-method onGuild
. ([@xacrimon]) [c:aae22a2] - [model] Add
GuildChannel::members
. (@Lakelezz) [c:ddf7a3] - [model] Add more guild fields from guild boosting. ([@AregevDev]) [c:4541935]
- [utils] Add
EmbedMessageBuilding
-trait. ([@zeyla]) [c:7c61f95]
Fixed
- [builder] Return
&mut self
onvoice_channel
. (@Lakelezz) [c:0e55b73] - [ci] Fix Azure Windows build. (@Lakelezz) [c:fc3a1f6]
- [client] Fix updates giving only new data. ([@zeyla]) [c:5f7231d]
- [clippy] Fix Clippy-lints. (@Lakelezz) [c:cd7d07e]
- [clippy] Implement suggestions from Clippy & remove Clippy arg max config. ([@Flat]) [c:6586830]
- [command_attr] Add missing
s
,owner_only
becameowners_only
. (@acdenisSK) [c:3cf673e] - [command_attr] Report errors from parsing group options, if any. (@acdenisSK) [c:8e01ff6]
- [doc] Small doc fixes for the command macro. (@acdenisSK) [c:186e914]
- [doc] Revise Guild's
voice_states
doc. ([@nycex]) [c:0a640a4] - [example] Update the mentioned feature
methods
toutils
. (@Lakelezz) [c:c970f44] - [framework] Fix Help displaying Groups and their Commands. (@Lakelezz) [c:eca204a]
- [framework] Ensure to properly hide groups. (@Lakelezz) [c:5e66cd1]
- [framework] Add help for nested groups and their commands. (@Lakelezz) [c:6a37535]
- [framework] Get rid of a redundant feature gate. (@acdenisSK) [c:2ae3a48]
- [framework] Treat the actual name and aliases equally. (@Lakelezz) [c:82d97c2]
- [framework] Check if message author is in owners HashSet. ([@Flat]) [c:d91594b]
- [framework] Change
owners_privilege
to bypass all permission-checks. ([@Flat]) [c:98532da] - [http] Fix setting role positions ([@icewind1991]) [c:c14ca32]
- [model] Fix lifetime issue with
send_message
. (@acdenisSK) [c:3902caf] - [model] Fix no-default-features compilation. ([@zeyla]) [c:3de5378]
- [model] Fix
contains_case_insensitive
andstarts_with_case_insensitive
. ([@Flat]) [c:d27d391] - [voice] Pipe youtube-dl to ffmpeg directly. ([@Flat]) [c:4793a84]
Changed
- [builder] Use
ToString
on builder-arguments instead ofDisplay
. (@acdenisSK) [c:13fae29] - [builder] Increase the capabilities for creating a channel. (@acdenisSK) [c:f2ff97a]
- [client] Improve
cached
's name and documentation. (@Lakelezz) [c:7706475] - [command_attr] Rectify command parsing. (@acdenisSK) [c:b1eff27]
- [command_attr] Use the function-name. (@acdenisSK) [c:05254c8]
- [command_attr] Change
only
toonly_in
. (@acdenisSK) [c:26b072f] - [command_attr] Reinvent
group!
parsing. (@acdenisSK) [c:7f9c4e1] - [command_attr] Stop appending
_HELP_COMMAND
to the generated instance from#[help]
(@acdenisSK) [c:9783b35] - [example] Update the framework example. (@acdenisSK) [c:0fcb43c]
- [example] Update to use shard manager. ([@zeyla]) [c:5375827]
- [framework] Take into regard prefixless groups (@acdenisSK) [c:ef15739]
- [framework] Ensure prefixes to be mandatory on help (@Lakelezz) [c:ab34f75]
- [model] Update
*Id::created_at()
to return aDateTime<FixedOffset>
instead. ([@AregevDev]) [c:8d50840] - [model] Replace
Context
as argument (@Lakelezz) [c:62e19a7] [c:58fa50c] - [rustc] Set minimum Rust version to
1.35.0
. (@Lakelezz) [c:8c83fec] - [voice] Add infinite retry arg to ytdl for rst packets. ([@Flat]) [c:86ec810]
Removed
- [builder] Remove unused
build
-method. (@Lakelezz) [c:c6ae140] - [client] Remove
quit
method. ([@zeyla]) [c:f7109ee] - [utils] Remove
VecMap
. (@acdenisSK) [c:9450d4b]
rc-1
Added
- [model] Add missing fields of
current_application_info
([@mattico]) [c:23bed41] - [builder] Allow for channels to be (or not be) set as nsfw (@acdenisSK) [c:1bd5bbc]
- [framework] Bring back old parsing behaviour (@acdenisSK) [c:64e97c5]
- [http]
AsRef<Http>
Implementation forHttp
(@Lakelezz) [c:b425ceb]
Fixed
- [misc.] Fix Doc-Links and update Changelog (@Lakelezz) [c:c63eaea]
Changed
- [framework] Take into equation ignoring bots and webhooks for help (@acdenisSK) [c:b1559bc]
- [general] Increase minimum support Rust version (@acdenisSK) [c:61ac765]
- [general/framework] Shackle the minimum version of uwl to 0.3.2 (@acdenisSK) [c:decbc04]
rc-0
Added
- [builder/model] Permit sending files through the
CreateMessage
builder. ([@Roughsketch]) [c:5405ac2] - [client] Add Rich Presence parsing support ([@zeyla]) [c:f7360e6]
- [model] Add Slow Mode Rate (@Lakelezz) [c:7512c19]
- [voice] Voice reconnection ([@FelixMcFelix]) [c:25cb595] [c:4026d77] [c:2f613c0] [c:0a58e85]
- [model] Add a position propagation method to Channel ([@Erk-]) [c:59b4c60]
- [misc.] Re-export
typemap::sharemap
([@zeyla]) [c:d2233e2] - [framework] Add new Check System (@Lakelezz) [c:2969561]
- [http/gateway] Rustls support ([@Erk-]) [c:faa773a]
- [model] Add news channel (@Lakelezz) [c:1074b28]
- [client] Add EventHandler for raw Events ([@DarkKirb]) [c:2b453c3]
- [model] Add millisecond accuracy to
ID.created_at()
([@DarkKirb]) [c:965fa7b] - [http/gateway] Add Rustls and Native-TLS Backends (@Lakelezz) [c:15e2c41]
Changed
- [model] Make MessageUpdateEvent::embeds a Vec ([@zeyla]) [c:00f465c]
- [voice] Voice fixes, better API adherence, bitrate control, documentation ([@FelixMcFelix]) [c:393a5ae]
- [builder] Make builders mutably borrowed ([@zeyla], [@Flat], @Lakelezz, [@Celti]) [c:1546171] [c:6d87d71] [c:b7a6fee] [c:b012ab7]
- [utils] Make Message Builder use &mut self instead of self ([@PvdBerg1998]) [c:1546171]
- [misc.] Update
parking_lot
andmultipart
dependencies ([@Kroisse]) [c:1e50d30] - [framework] Make sure
delimiter
clears current and default delimiters. (@Lakelezz) [c:3f81cf3] - [framework] Underline command name and "Commands" in plain help ([@hyarsan]) [c:87bc6ca]
- [http] Replace
hyper
withreqwest
(@Lakelezz) [c:86a8b60] - [client/gateway] Switch to tungstenite from rust-websocket ([@zeyla]) [c:a5aa2a9]
- [misc.] Update to Rust 2018 (@Lakelezz) [c:21518c8]
- [http/model/all] Remove global Cache and HTTP (@Lakelezz) [c:712cfa5] [c:3f0ea69]
- [client] Change the
Context::data
field to use anRwLock
([@Erk-]) [c:661d778] - [cache] Pass old Message to
message_update
([@Mishio595]) [c:40bf272] - [framework] Check for Ownership in Help System (@Lakelezz) [c:fa0376c]
- [framework] Improve Help Consistency (@Lakelezz) [c:51b48f4]
- [misc.] Adhere to Rust 2018's idioms (@Lakelezz) [c:5d6dc37]
- [client] Add different
Context::new
s based on feature-set. (@Lakelezz) [c:625b764] - [framework] Remodel
Args
's API (@acdenisSK) [c:c472ddd] - [framework] Rewrite the framework to attributes (@acdenisSK) [c:cc81e47]
- [framework] Handle Sub-Groups in the Help-System (@Lakelezz) [c:9b591ec]
- [voice] Fewer ffprobe calls when playing audio through ffmpeg ([@FelixMcFelix]) [c:5dff7eb]
- [voice] Optional impls and additional events for AudioReceiver ([@FelixMcFelix]) [c:d955df4]
- [voice] ClientConnect message handling ([@FelixMcFelix]) [c:fa11a30]
- [client] Pass the old voice state if the cache is enabled ([@andreasots]) [c:bd45e42]
- [http] Specify Header's Content Length as
0
([@eatsfoobars]) [c:a713b40] - [voice] Switch to
audiopus
(@Lakelezz) [c:4af7a98] - [model] Make
enum
s non-exhaustive (@Lakelezz) [c:9cc8816] - [http] Make the HttpError Send+Sync ([@Erk-]) [c:6cfc0e1]
- [framework] Update
on_mention
to take aUserId
([@Celti]) [c:d995fa0] - [utils] Simplify
from_rgb
, turn some of Colour's functions toconst
. ([@hyarsan]) [c:c149e36]
Fixed
- Fix ActivityFlags/ActivityTimestamps/ActivityParty deserialization ([@zeyla]) [c:0a77330] [c:d01eeae]
- Fix
MessageBuilder
's doctests ([@Flat]) [c:a3477a2]
Removed
- [client] Remove deprecated
Context::edit_profile
([@zeyla]) [c:bc0d82e] - [misc.] Remove everything marked
deprecated
sincev0.5.x
or older (@Lakelezz) [c:70720ae]
...