This is a general release for pretty much everything, from new features to
bugfixes to a switch to a more OOP style. The current minimum supported version
is rustc 1.13+.
The next release will be v0.2.0, which will feature serde codegen support along
with a rewrite of the framework. It will be a more modularized version of the
library. v0.2.0 will require rustc 1.15+, due to the stabilization of Macros
1.1.
Thanks to the following for contributions this release:
Two of the major highlights of this release are that the broken pipe issue has
been fixed, and the library is more OOP now and therefore no longer relies on
the Context
to get stuff done. The methods
feature flag has been removed.
Added
- the
voice
feature no longer requires thecache
feature to be enabled
c:7b45f16 - the
framework
feature no longer requires thecache
feature to be enabled
c:86cd00f Guild
,InviteGuild
, andPartialGuild
now havesplash_url
methods
c:d58c544- Expose
Message::webhook_id
for messages sent via webhooks (@fwrs)
c:a2cbeb6 - Framework: add option to ignore webhooks or DMs (@fwrs) c:8e2c052
- Added documentation for creating embed timestamps (@foxbot) c:66546d3
- Allow
time::Tm
to be passed into the embed timestamp field, in addition to
a direct string c:b001234 - Add
Client::on_message()
example (@indiv0) c:bcb70e8 - Support webp/gif avatars/icons in URL methods c:ab778f8
- Update current user presence in cache on set c:5b275fc
- Add
CurrentUser
/User::static_avatar_url()
methods to generate webp URLs
c:c36841d - Command (batch) alias support (@fwrs) c:f96b6cc
- Command example field for help command (@fwrs) c:f96b6cc
- Added "Meibi Pink" to the
Colour
struct (@hsiW) c:2cb607d - Register support for
4011
code (too many shards) (@SunDwarf) c:93f3c60 - Added "Rohrkatze Blue" to the
Colour
struct (@bippum) c:345e140 - Add
User::default_avatar_url()
c:e85e901 - Add
Message::content_safe()
to avoid@everyone
/@here
s (@fwrs)
c:e5a83dd - Add
Member::distinct()
,User::distinct()
(@fwrs) c:e5a83dd - Document that messages can't be older than 14 days when bulk deleting
(@fwrs) c:0a2f5ab - Add shard latency tracking (
stolenborrowed from brayzure/Eris)
c:096b0f5 - Add guild chunking c:3ca7ad9
Fixes
User::avatar_url
no longer mentions the user in the generated URL
c:0708ccf- Framework:
owners_only
check now functions only if the author of a message
is an owner (@fwrs) c:6355288 - Framework: fix command cooldown timer (would always say to wait
i64::MAX
seconds) c:fafa363 - Framework: the
before
closure is now properly run when a message is sent by
the owner c:760a47a CurrentApplicationInfo
now properly decodes due toflags
no longer being
sent c:2a743ce- Fix
Message::delete()
permission check c:4229034 - Framework: properly split messages on character boundary limits; aka thanks
Unicode c:c01f238 - Remove need to import Context/Message in command macros (@acdenisSK)
c:abd22d2 - Fix a ton of gateway stuff [c:94fc85b], c:f894cfd, c:f894cfd
- Specify
command!
macro signature as returningstd::result::Result
c:e9aae9c - Fix dependency description in example 06 (@DeltaEvo) c:92309b2
- Return a
User
fromrest::get_user
-- not aCurrentUser
c:f57a187 - Fix shards always booting at index 0 c:83b29d5
- Wait 5 seconds between shard boots to avoid session invalidations c:fb4d411
- Use CDN for default avatars c:69ec62a
- Fix
Resumed
event payload decoding c:c2e8b69 - Fix
CurrentApplicationInfo
decoding withoutrpc_origins
c:38db32e - Reboot shard on broken pipe; fixes a lot of gateway problems c:76f9095
- Make
rest::execute_webhook
be a POST c:c050c59
Changed
- Framework: argument number is now displayed on parsing error (@fwrs)
c:fb07751 - Id display formatters use the direct u64 instead of mentioning;
format!("{}", UserId(7))
will format into"7"
instead of"<@7>"
c:933ee89 - Default the framework's
use_quotes
for quote parsing tofalse
(wastrue
)
c:38a484d - The
CreateEmbed
builder now has directimage
andthumbnail
methods
instead of one-method builders c:68c473d - Accept
u64
shard counts to allow using more than 255 shards (instead of
u8
s) c:ada07fa - Remove user logout endpoint c:70bf22a
- Don't abuse unicode for message content sanitization (@fwrs) c:2b237e7
- Change
Colour
struct to be a tuplestruct c:a8acd61 - Make a single POST on guild role create c:147cf01
- Switch to a mostly-fully OOP approach c:651c618
- Rename
webhooks
methods toget_webhooks
(eg:GuildChannel::webhooks()
-->GuildChannel::get_webhooks()
)
c:e8a9086 - Make
Guild::create_channel
and related functions return aGuildChannel
c:5918d01
Misc.
- Cleaned up YAML definition layouts c:00fb61b
- Gateway identify compression code is now simplified c:2416813
- Gateway Event decoders are now abstracted to individual struct implementations
c:5fe6a39 - Simplify
Role
's'Ord
impl (@emoticon) c:6a887b2 - Slightly simplify
Shard::set_presence
c:5c40e85 - Rename repo references from
serenity.rs
toserenity
(@fwrs) c:3348178 - Simplify
Reaction::delete()
c:1594961 - Abstract large threshold number to a constant c:f3f74ce
- Avoid a needless string clone on login c:d3389be
- Avoid a lot of
Arc
/Message
/RwLock
clones c:8c5ee70