Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
246 commits
Select commit Hold shift + click to select a range
bd0a664
Remove temporary `Vec` usage in the `http` module (#2624, #2646)
GnomedDev Dec 3, 2023
3d2d041
Remove deprecated items (#2645)
GnomedDev Dec 3, 2023
ea94d22
Remove more deprecated items (#2651)
GnomedDev Dec 8, 2023
c9514b4
Remove `*_arc` methods (#2654)
GnomedDev Dec 8, 2023
5804db2
Clean up `ShardManager`/`ShardQueuer`/`ShardRunner` (#2653)
GnomedDev Dec 9, 2023
2c59c9e
Put `Message::thread` behind a `Box` (#2658)
GnomedDev Dec 9, 2023
91808b7
Replace `Vec` and `String` with `FixedArray` and `FixedString` for al…
GnomedDev Dec 10, 2023
cb02666
Fix truncation when using `FixedString<u8>` where multibyte character…
GnomedDev Dec 14, 2023
81f98a1
Encode timestamps in RFC3339 (#2665)
Kerollmops Dec 22, 2023
cb9000c
Switch to `i64` in methods associated with `CreateCommandOption` (#2668)
ARandomDev99 Dec 22, 2023
a5d9ed0
Get rid of the duplicate users cache (#2662)
GnomedDev Dec 28, 2023
c8538d0
Change `Embed::fields` to use `FixedArray` (#2674)
GnomedDev Dec 28, 2023
61976ab
Use `FixedArray` and `FixedString` in model enums (#2675)
GnomedDev Dec 28, 2023
70a8d03
Bitpack boolean fields using fancy proc macro (#2673)
GnomedDev Dec 31, 2023
eefd068
Use `nonmax::NonMax*` types in `Option`s wherever possible (#2681)
GnomedDev Jan 2, 2024
3dabf22
Remove unused warning `#[allow(...)]`s (#2682)
GnomedDev Jan 2, 2024
1b47c22
Get rid of `unsafe` (#2686)
GnomedDev Jan 3, 2024
d6c2a47
Swap Git dependencies for crates.io published versions (#2685)
GnomedDev Jan 3, 2024
1823601
Swap Id from `NonZero` to `NonMax` (#2689)
GnomedDev Jan 5, 2024
b892ad8
Rewrite builders to take `Cow`s (#2688)
GnomedDev Jan 6, 2024
2d265ed
Store `Request::params` as a slice instead of owning `ArrayVec` (#2694)
GnomedDev Jan 7, 2024
197300e
Revert `Request::params` back to `Option` (#2695)
mkrasnitski Jan 7, 2024
a78392e
Remove unnecessary `Vec` in `WsClient` (#2705)
GnomedDev Jan 10, 2024
da016b7
Feature gate `#[instrument]` macros (#2707)
GnomedDev Jan 10, 2024
e3c281d
Remove `impl Into<Option>` (#2701)
GnomedDev Jan 10, 2024
0ce719c
Get rid of `IntoIterator` generics wherever they are inefficent (#2698)
GnomedDev Jan 10, 2024
1c024c0
Clean up `Ratelimiter` (#2687)
GnomedDev Jan 10, 2024
bb20d41
Handle overflow checks in central locations (#2697)
GnomedDev Jan 10, 2024
5acd382
Shrink size and clean up `Error` (#2700)
GnomedDev Jan 10, 2024
66402b0
Remove manual `#[inline]` attributes (#2702)
GnomedDev Jan 10, 2024
3d6f14a
Remove `Into<*Id>` and `AsRef<str>` (#2704)
GnomedDev Jan 11, 2024
1ff34a0
Remove `Event::Unknown` variant (#2708)
mkrasnitski Jan 12, 2024
5a608db
Use `NonMax` to signal builder range constraints (#2703)
GnomedDev Jan 14, 2024
d91cf79
Stop using `Value` in error parsing (#2710)
GnomedDev Jan 14, 2024
c9e64e8
Fix new clippy lints (#2713)
GnomedDev Jan 14, 2024
64f9732
Update to `small-fixed-array` v0.2 (#2711)
GnomedDev Jan 14, 2024
99faa96
Fix `@everyone` role deserialisation (#2716)
GnomedDev Jan 16, 2024
663c4cf
Fix `GuildChannel` deserialisation with `user_limit` (#2715)
GnomedDev Jan 16, 2024
873a94b
Fix maximum description length to the correct size (#2718)
Milo123459 Jan 16, 2024
083a2f0
Remove dashboard example (#2714)
GnomedDev Jan 16, 2024
d8032a6
Remove deprecated `absolute_ratelimits` feature (#2719)
GnomedDev Jan 16, 2024
be27f84
Implement `max_concurrency` support when starting shards (#2661)
mkrasnitski Jan 16, 2024
ebc4795
Remove typemap without making everything generic (#2720)
GnomedDev Jan 16, 2024
4f73608
Provide `Arc<Data>` instead of `&Data` (#2722)
GnomedDev Jan 17, 2024
6bea8c6
Add `Client::try_data` to fallibly fetch the data type (#2723)
GnomedDev Jan 18, 2024
341d40b
Fix voice manager initialisation (#2727)
GnomedDev Jan 21, 2024
1cce9ea
Remove some pedantic lints from the whitelist (#2728)
mkrasnitski Jan 21, 2024
7d8e7a4
Reduce unknown events to debug level, again (#2730)
GnomedDev Jan 21, 2024
909e84a
Fix compilation from rebase
arqunis Jan 22, 2024
75aaf67
Fix testing example
mkrasnitski Jan 22, 2024
8a844cd
Remove `PartialEq` implementations from all builders (#2734)
mkrasnitski Jan 22, 2024
cc09df7
Remove various instances of `impl AsRef<T>` (#2736)
GnomedDev Jan 24, 2024
bcad663
Remove `simd-json` support (#2735)
GnomedDev Jan 24, 2024
b5e920b
Fix massive code size of `client::dispatch` (#2739)
GnomedDev Jan 25, 2024
cf71133
Fix RoleTags deserialisation after removal of simd-json (#2742)
GnomedDev Jan 26, 2024
c4057fa
Avoid cloning FullEvent in dispatch code (#2740)
GnomedDev Jan 27, 2024
3e35705
Remove the builder trait and only take required arguments (#2741)
GnomedDev Jan 27, 2024
e8ecfe9
Use Serializer::collect_seq in serialize impls (#2744)
GnomedDev Jan 28, 2024
7adca12
Convert enum number into wrapper struct to save type sizes (#2746)
GnomedDev Jan 29, 2024
f436a9a
Use Arc<str> to store the token (#2745)
GnomedDev Jan 29, 2024
204612e
Remove standard framework (#2731)
GnomedDev Jan 29, 2024
7b92265
Re-add Secret to bot token (#2748)
GnomedDev Jan 29, 2024
29fa3fe
Take Arc<Http> in ClientBuilder::new_with_http (#2749)
GnomedDev Feb 3, 2024
ba6d1ad
Remove duplicate content_safe implementation (#2759)
GnomedDev Feb 9, 2024
37bb987
Simplify the message cache (#2757)
GnomedDev Feb 9, 2024
ebe3ad3
Upgrade to small-fixed-array 0.4 (#2755)
GnomedDev Feb 9, 2024
1a83b71
Avoid HashMap in ShardQueue (#2750)
GnomedDev Feb 11, 2024
210cca5
Switch to a generic type argument for `ClientBuilder::data` (#2765)
vicky5124 Feb 11, 2024
b262345
Fix `VoiceServerUpdate::guild_id` being wrapped in `Option` (#2766)
GnomedDev Feb 13, 2024
20da0ae
Improve MessageBuilder to fit with other builders (#2767)
GnomedDev Feb 15, 2024
dbeb92f
Fill message cache with ChannelId::messages and ChannelId::pins (#2768)
GnomedDev Feb 15, 2024
21e0862
Defer deserialisation of Dispatch to handle errors (#2764)
GnomedDev Feb 16, 2024
75d119e
Remove `CreateAttachment::id` field (#2771)
mkrasnitski Feb 17, 2024
4b2fc4e
Fix compilation from rebase
arqunis Mar 1, 2024
92d5466
Fix remaining clippy warnings
GnomedDev Mar 1, 2024
00d0b60
Format unformatted code from rebase
arqunis Mar 1, 2024
1b4f899
Remove rebase artifacts in README
arqunis Mar 1, 2024
bc6409d
Synchronise README example from the `current` branch
arqunis Mar 1, 2024
63390cf
Minor adjustments
mkrasnitski Mar 1, 2024
3e2ae13
Apply Strum derives for FullEvent and Event (#2788)
cheesycod Mar 10, 2024
f5e3a9b
Remove `Channel::name` (#2787)
GnomedDev Mar 10, 2024
ce6ebb0
Use join_to_string throughout serenity (#2785)
GnomedDev Mar 10, 2024
a87e739
Use ToArrayString for int -> str (#2786)
GnomedDev Mar 10, 2024
5974a96
Rename `unstable_discord_api` to `unstable` and disable it by default…
cheesycod Mar 10, 2024
16ef228
Remove deprecated Channel::is_nsfw methods (#2792)
GnomedDev Mar 11, 2024
4f67a8c
Replace manual Hash/Eq implementation on User/Role (#2793)
GnomedDev Mar 12, 2024
ba2c29d
Remove useless method wrappers (#2795)
GnomedDev Mar 13, 2024
d0ccfe2
Fix unused variable warning from rebase
GnomedDev Mar 13, 2024
03fd13a
Remove deprecated mapped refs and Cache::channels (#2796)
GnomedDev Mar 13, 2024
cd8eb6e
Use ExtractMap instead of HashMap when possible (#2797)
GnomedDev Mar 17, 2024
b8f2b6a
Remove examples and inaccurate docs from HTTP (#2805)
GnomedDev Mar 17, 2024
5faa442
Use NonMax in HTTP function signatures (#2803)
GnomedDev Mar 17, 2024
fcaf0aa
Fix infinite loop in event deserialisation
arqunis Mar 19, 2024
1b79688
Make Guild::shard_id follow additive features (#2813)
GnomedDev Mar 21, 2024
917b3aa
Remove deprecated `Member` and `Guild` methods (#2817)
GnomedDev Mar 26, 2024
c510c2a
Replace `CacheHttp` with `&Http` in more methods (#2818)
GnomedDev Mar 28, 2024
712e708
Remove `serde_json::Value` from `Http` (#2806)
GnomedDev Mar 28, 2024
461517f
Add audit log reasons to remaining model methods (#2821)
GnomedDev Mar 29, 2024
fc1b332
Remove even more impl CacheHttp (#2822)
GnomedDev Mar 29, 2024
b91d344
Remove `fs` feature for `tokio` by default (#2824)
UserIsntAvailable Mar 30, 2024
0d91ee3
Update `reqwest` to v0.12 (#2826)
GnomedDev Apr 1, 2024
f499d2b
Only include `cache::Settings::time_to_live` if temp cache is enabled…
GnomedDev Apr 3, 2024
c5ba392
Add resume_gateway_url support (#2832)
GnomedDev Apr 6, 2024
9b2f1d1
Correct documentation for `UserId::to_user` (#2809)
jamesbt365 Apr 9, 2024
6a4cf0a
Use CreateAttachment for EditGuild::banner (#2844)
NotNorom Apr 20, 2024
b54a99c
Fix AuditLogEntry::user_id (#2846)
GnomedDev Apr 20, 2024
e1c93cc
Restore match arm for `Error::Gateway` variant (#2847)
mkrasnitski Apr 22, 2024
11cd8e8
Remove multiple event handler support (#2849)
GnomedDev Apr 24, 2024
d62cefe
Use RwLock for active collectors collection (#2851)
TheCataliasTNT2k Apr 26, 2024
696f249
Provide old presence data from the cache on presence update (#2852)
jamesbt365 Apr 28, 2024
2317546
Allow filtering events before they are dispatched (#2853)
TheCataliasTNT2k Apr 28, 2024
84c3cbe
Remove permission checks (#2855)
jamesbt365 May 1, 2024
ee73ff7
Implement ToArrayString for Mention (#2857)
GnomedDev May 7, 2024
775466e
Add PartialGuild::greater_member_hierarchy + member_highest_role (#2856)
cheesycod May 8, 2024
293ecd0
Remove recently deprecated items
GnomedDev May 23, 2024
ae88d15
Update bool_to_bitflags to fix compilation without unstable
GnomedDev May 14, 2024
50ebc55
Remove RUSTFLAGS from .cargo/config.toml (#2875)
jamesbt365 May 23, 2024
ecbe000
Remove deprecated link_ensured method (#2898)
GnomedDev Jun 10, 2024
c1740eb
Add GuildId param to ChannelId::to_channel (#2895)
GnomedDev Jun 16, 2024
5c1e95b
Clean up `Message::reply` (#2897)
GnomedDev Jun 16, 2024
34359c5
Use `ArrayString` in more places via `aformat!` (#2902)
GnomedDev Jun 22, 2024
0a890c1
Bump MSRV to Rust 1.79 (#2916)
mkrasnitski Jul 11, 2024
d40e2ad
Remove deprecated `CreateInteractionResponse::PremiumRequired` varian…
mkrasnitski Aug 5, 2024
7fe84a6
Add `OAuth2Token`, `OAuth2TokenRevocation`, and `OAuth2AuthorizationC…
valentinegb Aug 8, 2024
a5c7d54
Allow setting both normal and raw event handlers (#2933)
tazz4843 Aug 16, 2024
e7193b5
Merge `client` feature/module into `gateway` (#2947)
mkrasnitski Aug 22, 2024
7fe419d
Remove methods on `ClientBulder` that don't serve a purpose (#2953)
mkrasnitski Aug 23, 2024
58c6e27
Fix and make `edit_role_position` plural (#2954)
mkrasnitski Aug 23, 2024
eba1075
Fix model functions using `SerializeIter` (#2955)
GnomedDev Aug 26, 2024
30b6ad9
Remove `InternalEventHandler` (#2952)
mkrasnitski Aug 26, 2024
d402204
Truncate cache if `max_messages` is set to a lower value at runtime (…
ivinjabraham Aug 30, 2024
355433d
Add enum for JSON error codes in `DiscordJsonError` (#2964)
ivinjabraham Sep 1, 2024
aff4d90
Update to DashMap 6 (#2961)
GnomedDev Sep 9, 2024
935588d
Fix unused warnings when compiling without certain features (#2970)
mkrasnitski Sep 13, 2024
220b5ce
Fix public doctests that are marked `ignore` (#2976)
mkrasnitski Sep 20, 2024
6b2e788
Allow embeds to be optional in followup messages (#2968)
TapGhoul Oct 7, 2024
7dcc74c
Swap `Vec<T>` for `Cow<[T]>` in `CreateActionRow::Buttons` (#2985)
GnomedDev Oct 7, 2024
8c5f1e1
Remove more `json!` usage (#2986)
GnomedDev Oct 7, 2024
9c8bf85
Replace outdated secrecy library with own impl (#2997)
GnomedDev Oct 21, 2024
0ccde88
Check for lints which change public API (#2999)
GnomedDev Oct 21, 2024
879f644
Stop using serde_json::Value in AutocompleteChoice::value (#3000)
GnomedDev Oct 21, 2024
6febff3
feat: Make FullEvent serializable (#3010)
cheesycod Oct 31, 2024
865bba0
Add `Context::data_ref` (#3017)
GnomedDev Nov 6, 2024
40c259f
Delete passthrough methods (#3023)
GnomedDev Nov 11, 2024
2d4bacd
Swap CreateAttachment::data to Bytes (#3016)
GnomedDev Nov 11, 2024
93ed403
Add `EditCommand` builder (#3028)
mkrasnitski Nov 12, 2024
74c78c9
Remove deprecated GuildChannel::permissions_for_user (#3033)
GnomedDev Nov 13, 2024
7647df8
Improve some docs (#3027)
mkrasnitski Nov 13, 2024
eb93478
Add config for the shard start wait time (#3031)
cheesycod Nov 13, 2024
05fded9
Remove Option around Interaction::app_permissions (#3034)
GnomedDev Nov 13, 2024
dd02e7e
Remove deprecated permissions methods (#3042)
GnomedDev Nov 16, 2024
83fa389
Update `tokio-tungstenite` dependency to 0.24 (#3048)
DPlayer234 Nov 18, 2024
2f124e2
Perform some misc TODO cleanups (#3050)
GnomedDev Nov 18, 2024
c81a015
Transport compression support (#3036)
fgardt Nov 18, 2024
8a80651
Get rid of redundant status argument in Http::wind (#3049)
GnomedDev Nov 18, 2024
0ffa16a
Perform some minor cleanups (#3051)
mkrasnitski Nov 19, 2024
8c1321e
Improve token semantics and clean up gateway feature gates (#3052)
mkrasnitski Nov 22, 2024
2f144bc
Add Token to serenity::all (#3054)
GnomedDev Nov 22, 2024
4c9790e
Use correct token prefix after parsing
arqunis Nov 23, 2024
b56ab32
Add guild_id to ReactionRemoveAll (#3058)
jamesbt365 Nov 25, 2024
06759b2
Bump the discriminant of audit_log::Action to u16 (#3062)
GnomedDev Nov 25, 2024
86d71fa
Fix transport compression feature & add CI tests (#3067)
fgardt Nov 26, 2024
e0b6d62
Factor out collector methods on models into traits (#3055)
mkrasnitski Nov 27, 2024
a66e6e5
Remove unused `json.rs` file (#3071)
mkrasnitski Dec 2, 2024
9dbe1bc
Fix clippy warning on next (#3078)
mkrasnitski Dec 8, 2024
2e0bc98
Add a function for parsing a channel ID from a channel URL (#3075)
TheCataliasTNT2k Dec 8, 2024
9c30819
Fix clippy warning (#3081)
mkrasnitski Dec 9, 2024
9e98c9a
Add `newly_created` bool field to the `ThreadCreate` event (#3084)
jamesbt365 Dec 19, 2024
280df42
Fix deserialisation of `Token` type (#3086)
arqunis Jan 9, 2025
f780acd
Fix issues from rebase
arqunis Jan 16, 2025
87daa68
Remove `ContentSafeOptions::show_discriminator`
arqunis Jan 16, 2025
f29e5be
Change MessageUpdateEvent to just contain a full Message (#3061)
GnomedDev Jan 19, 2025
d2632f8
Improve gateway connection/resume logic (#3099)
mkrasnitski Jan 27, 2025
85ce743
Update `tokio-tungstenite` to v0.26.1
Cabbache Jan 30, 2025
93aa6ad
Fix clippy
arqunis Feb 2, 2025
5b96849
Fix disconnections on successful gateway resume (#3102)
mkrasnitski Feb 3, 2025
5582cfe
Deserialise `Token` from `String`s instead of `&str`s (#3104)
Freyja-moth Feb 4, 2025
9faf00a
Fix clippy
mkrasnitski Feb 8, 2025
5c3d924
Fix compilation when the `tracing_instrument` feature is enabled (#3110)
mkrasnitski Feb 11, 2025
5cdb0c1
Swap `rustc-hash` for `foldhash` due to hash quality issues (#3111)
xacrimon Feb 13, 2025
de91f57
Replace Delete-Messages-Days with Delete-Messages-Seconds (#3088)
cheesycod Feb 14, 2025
879a9fe
Remove deprecated field inside `GatewayEvent::Heartbeat` (#3115)
mkrasnitski Feb 15, 2025
54d58c9
Avoid temporarily deserializing gateway messages to an untyped enum+m…
xacrimon Feb 16, 2025
5494cee
Bump extract_map to 0.2 (#3117)
GnomedDev Feb 17, 2025
9cb1185
Merge `ShardQueuer` functionality into `ShardManager` (#3108)
mkrasnitski Feb 19, 2025
fdeff9e
Fix `ShardQueue` batch size bug (#3121)
mkrasnitski Feb 23, 2025
e4e97ea
Bump MSRV to 1.85 and switch to the 2024 edition (#3126)
mkrasnitski Feb 25, 2025
bb4594e
Remove implicit invite parsing in `Invite::get` (#3118)
GnomedDev Mar 1, 2025
34d01af
Fix clippy and remove CI hacks
mkrasnitski Mar 5, 2025
8f2a5c0
Avoid deferring gateway event deserialization (#3119)
mkrasnitski Mar 8, 2025
4d58721
Fix event deserialisation
arqunis Mar 9, 2025
8380937
Remove `ShardMessenger` and clean up `ShardRunner` (#3120)
mkrasnitski Mar 14, 2025
f1d12f1
Replace `JsonMap` with `RawValue` (#3313)
DPlayer234 Mar 19, 2025
e552433
Don't delay starting first batch of shards (#3327)
DPlayer234 Mar 20, 2025
03f82d7
Rework the `EventHandler` trait to have a single dispatch function (#…
jamesbt365 Mar 20, 2025
de13a42
Add roles field to create and edit emoji (#3095)
nwerosama Mar 26, 2025
d57f7bb
Avoid boxed event reallocations (#3333)
GnomedDev Mar 26, 2025
50e4e1b
Do not validate nor replace bearer tokens (#3338)
jamesbt365 Apr 5, 2025
9477473
Remove precise capture clause on `collect` method (#3336)
mkrasnitski Apr 5, 2025
207a021
Split GuildThread from GuildChannel (#3026)
GnomedDev Apr 12, 2025
348b1dc
Fix out of order cache updates (#3342)
GnomedDev Apr 12, 2025
32c2277
Rework Id -> Channel methods (#3343)
GnomedDev Apr 12, 2025
5462f81
Fix channels that should be threads (#3344)
DPlayer234 Apr 14, 2025
4443bca
Fix shard runner info (#3345)
GnomedDev Apr 17, 2025
18319ca
Change `CreateAttachment` to stream data from disk when possible (#3322)
mkrasnitski Apr 20, 2025
485d39a
Update extract_map to 0.3 (#3349)
GnomedDev Apr 20, 2025
8237a5f
Add missing CacheUpdate implementations (#3346)
GnomedDev Apr 27, 2025
7813f16
More followups to Thread Split PR (#3352)
GnomedDev Apr 27, 2025
9b05b75
Simplify struct names for editing attachments (#3351)
mkrasnitski Apr 28, 2025
96b9a5e
Implement ShardManager::get_shutdown_trigger (#3353)
GnomedDev May 19, 2025
fd9c42f
Solve low hanging fruit causing large future sizes (#3357)
GnomedDev May 19, 2025
d5afe82
Always restart if the `WsClient` encounters an error (#3355)
mkrasnitski May 19, 2025
868015e
Unfix clippy
GnomedDev May 19, 2025
6f71ced
Don't wait for websocket to close on Shard disconnect (#3369)
GnomedDev Jun 21, 2025
dc4aa60
ComponentsV2 support (#3123)
jamesbt365 Jun 29, 2025
63723fa
Bump MSRV to Rust 1.88 (#3376)
mkrasnitski Jun 30, 2025
93d435b
Optimize `User::tag` to return `std::borrow::Cow` instead of always a…
jamesbt365 Jul 5, 2025
808c90a
Fix missing cache variable when `temp_cache` feature is enabled (#3384)
NateDiamond13 Jul 7, 2025
a9aad70
Fix Clippy
arqunis Jul 7, 2025
707c9f1
Add accessor method for `ImageData`'s base64 data
arqunis Jul 12, 2025
cbba53a
Accept `ImageData` for an emoji's image in `GuildId::create_emoji`
arqunis Jul 12, 2025
9037460
Adjust `SecretString` docs to match implementation (#3388)
DPlayer234 Jul 17, 2025
5b29df5
Add method for obtaining the guild id of a `Channel` (#3390)
mkrasnitski Jul 19, 2025
5746fad
Clean up Result types for WsClient (#3378)
mkrasnitski Jul 25, 2025
e4b8972
Remove ArgumentConvert trait and implementations (#3053)
GnomedDev Jul 25, 2025
6ed4f95
Fix CacheUpdate implementations for extra FullEvents (#3066)
mkrasnitski Jul 26, 2025
96a7b18
Fix clippy
mkrasnitski Jul 26, 2025
a922f59
Fix CI
mkrasnitski Aug 30, 2025
f6cd782
Refactor CI workflows (#3414)
mkrasnitski Sep 4, 2025
d3a24ea
Rename `ImageData` to `DataUri` and allow setting its mimetype (#3412)
mkrasnitski Sep 4, 2025
e495010
Add `after` parameter to `get_audit_logs` endpoint (#3417)
inklesspen Oct 6, 2025
90514ac
Make `Message{Id}::link` return an intermediate struct for lazily for…
Joshix-1 Oct 6, 2025
b949903
Remove unwanted slash in the generation of the message link
arqunis Oct 7, 2025
8d51244
Implement Pin Permission Split and Paginated Pin Endpoints (#3409)
DPlayer234 Oct 11, 2025
e801f3a
Improve usage of FixedString (#3418)
Joshix-1 Oct 11, 2025
e256f96
Fix documentation on `ReactionRemoveEmoji` event (#3436)
TapGhoul Nov 11, 2025
088cf9a
Make `create_application_emoji` use `DataUri` (#3450)
TheAirMike Dec 9, 2025
cf2283f
Make `ClientBuilder` directly accept boxed handler types (#3431)
DPlayer234 Dec 11, 2025
8c07231
Add support for Label and File Upload components (#3430)
mkrasnitski Dec 11, 2025
7cf845b
Add `values` field to `SelectMenu`
calum4 Nov 26, 2025
dad8a52
Add `QuickModal::field_with_description` method (#3451)
mkrasnitski Dec 12, 2025
240d0e6
Preserve full payload and deserialization error for unknown events (#…
mkrasnitski Dec 13, 2025
7443ac1
Restrict top-level components in messages and modals (#3454)
mkrasnitski Dec 13, 2025
85420d2
Refactor `FullEvent` cache update function (#3457)
mkrasnitski Dec 15, 2025
82756d7
Bump MSRV to Rust 1.92 (#3458)
mkrasnitski Dec 16, 2025
4a71548
feat(model): Add into_* methods to Components
calum4 Jan 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .cargo/config.toml

This file was deleted.

2 changes: 0 additions & 2 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
ci:
- .github/**/*
command_attr:
- command_attr/**/*
examples:
- examples/**/*
builder:
Expand Down
181 changes: 71 additions & 110 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ name: CI
on: [push, pull_request]

env:
rust_min: 1.74.0
rust_nightly: nightly-2025-05-18
rust_min: 1.92.0
rust_nightly: nightly-2025-12-11

jobs:
test:
Expand All @@ -17,43 +17,43 @@ jobs:
name:
- stable
- beta
# The build matrix doesn't support the `env` variable in expressions
# see: jobs.nightly
# - nightly
- nightly
- Windows
- macOS
- native-tls
- no default features
- no cache
- no gateway
- unstable Discord API features
- simd-json
- chrono
- zlib compression
- zstd compression
- zlib and zstd compression

include:
- name: beta
toolchain: beta
- name: nightly
toolchain: nightly
- name: Windows
os: windows-latest
- name: macOS
os: macos-latest
- name: native-tls
features: default_native_tls
- name: no default features
features: " "
- name: no cache
features: builder client framework gateway model http standard_framework utils rustls_backend
- name: simd-json
features: default_no_backend rustls_backend simd_json
features: framework rustls_backend
- name: no gateway
features: model http rustls_backend
features: model rustls_backend
- name: chrono
features: chrono
- name: unstable API + typesize
features: default unstable_discord_api typesize
dont-test: true
- name: builder without model
features: builder
dont-test: true
- name: unstable Discord API (no default features)
features: unstable_discord_api
dont-test: true
- name: zlib compression
features: default transport_compression_zlib
- name: zstd compression
features: default transport_compression_zstd
- name: zlib and zstd compression
features: default transport_compression_zlib transport_compression_zstd

steps:
- name: Checkout sources
Expand All @@ -62,60 +62,46 @@ jobs:
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain || 'stable' }}
toolchain: ${{
(matrix.toolchain == 'nightly' && env.rust_nightly)
|| matrix.toolchain
|| 'stable'
}}

- name: Add problem matchers
shell: bash
run: echo "::add-matcher::.github/matchers/rust.json"

- name: Cache
uses: Swatinem/rust-cache@v2

- name: Build all features
if: matrix.features == ''
run: cargo build --features full

- name: Test all features
if: matrix.features == ''
run: cargo test --features full

- name: Build some features
if: matrix.features
run: cargo build --no-default-features --features "${{ matrix.features }}"

- name: Test some features
if: ${{ !matrix.dont-test && matrix.features }}
run: cargo test --no-default-features --features "${{ matrix.features }}"
- name: Run tests
run: cargo test --no-default-features --features "${{ matrix.features || 'full' }}"

nightly:
name: Test (nightly)
check:
name: Check
runs-on: ubuntu-latest

steps:
- name: Checkout sources
uses: actions/checkout@v4

- name: Install toolchain (${{ env.rust_nightly }})
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ env.rust_nightly }}

- name: Add problem matchers
shell: bash
run: echo "::add-matcher::.github/matchers/rust.json"

- name: Cache
uses: Swatinem/rust-cache@v2

- name: Build all features
run: cargo build --features full

- name: Test all features
run: cargo test --features full
strategy:
fail-fast: false
matrix:
name:
- builder without model
- unstable + typesize
- unstable (no default features)
- temp cache
- temp cache + typesize

macOS:
name: Test (macOS)
runs-on: macos-latest
include:
- name: builder without model
features: builder
- name: unstable + typesize
features: default unstable typesize
- name: unstable (no default features)
features: unstable
- name: temp cache
features: default temp_cache
- name: temp cache + typesize
features: default temp_cache typesize

steps:
- name: Checkout sources
Expand All @@ -125,27 +111,20 @@ jobs:
uses: dtolnay/rust-toolchain@stable

- name: Add problem matchers
shell: bash
run: echo "::add-matcher::.github/matchers/rust.json"

- name: Cache
uses: Swatinem/rust-cache@v2

- name: Remove cargo build config
run: rm .cargo/config.toml

- name: Build
run: cargo build

- name: Test
run: cargo test
- name: Run checks
run: cargo check --no-default-features --features "${{ matrix.features || 'full' }}"

MSRV:
runs-on: ubuntu-latest

# We only run this job on the current branch as keeping MSRV the same is not important on next.
if: (github.event_name == 'push' && github.ref_name == 'current') ||
(github.event_name == 'pull_request' && github.base_ref == 'current')
(github.event_name == 'pull_request' && github.base_ref == 'current')

steps:
- name: Checkout sources
Expand All @@ -162,16 +141,7 @@ jobs:
- name: Cache
uses: Swatinem/rust-cache@v2

- name: Pin problematic dependencies to working versions
run: |
cargo update ed25519-dalek --precise 2.1.1
cargo update idna_adapter --precise 1.1.0
cargo update triomphe --precise 0.1.11
cargo update base64ct --precise 1.7.3
cargo update deranged --precise 0.5.3
cargo update time --precise 0.3.40

- name: Check
- name: Run checks
run: cargo check --features full

min_versions:
Expand Down Expand Up @@ -206,10 +176,8 @@ jobs:
- name: Checkout sources
uses: actions/checkout@v4

- name: Install toolchain (${{ env.rust_nightly }})
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ env.rust_nightly }}
- name: Install toolchain
uses: dtolnay/rust-toolchain@stable

- name: Add problem matchers
run: echo "::add-matcher::.github/matchers/rust.json"
Expand All @@ -219,10 +187,7 @@ jobs:

- name: Build docs
run: |
cargo doc --no-deps --features collector,voice,unstable_discord_api
cargo doc --no-deps -p command_attr
env:
RUSTDOCFLAGS: -D rustdoc::broken_intra_doc_links
cargo doc --no-deps --features full,unstable

examples:
name: Examples
Expand Down Expand Up @@ -250,32 +215,28 @@ jobs:
- name: 'Check example 4'
run: cargo check -p e04_message_builder
- name: 'Check example 5'
run: cargo check -p e05_command_framework
run: cargo check -p e05_sample_bot_structure
- name: 'Check example 6'
run: cargo check -p e06_sample_bot_structure
run: cargo check -p e06_env_logging
- name: 'Check example 7'
run: cargo check -p e07_env_logging
run: cargo check -p e07_shard_manager
- name: 'Check example 8'
run: cargo check -p e08_shard_manager
- name: 'Check example 9'
run: cargo check -p e09_create_message_builder
run: cargo check -p e08_create_message_builder
- name: 'Check example 09'
run: cargo check -p e09_collectors
- name: 'Check example 10'
run: cargo check -p e10_collectors
run: cargo check -p e10_gateway_intents
- name: 'Check example 11'
run: cargo check -p e11_gateway_intents
run: cargo check -p e11_global_data
- name: 'Check example 12'
run: cargo check -p e12_global_data
run: cargo check -p e12_parallel_loops
- name: 'Check example 13'
run: cargo check -p e13_parallel_loops
run: cargo check -p e13_sqlite_database
- name: 'Check example 14'
run: cargo check -p e14_slash_commands
run: cargo check -p e14_message_components
- name: 'Check example 15'
run: cargo check -p e15_simple_dashboard
run: cargo check -p e15_webhook
- name: 'Check example 16'
run: cargo check -p e16_sqlite_database
- name: 'Check example 17'
run: cargo check -p e17_message_components
- name: 'Check example 18'
run: cargo check -p e18_webhook
- name: 'Check example 19'
run: cargo check -p e19_interactions_endpoint
run: cargo check -p e16_interactions_endpoint
- name: 'Check testing example'
run: cargo check -p testing
1 change: 0 additions & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ jobs:
RUSTDOCFLAGS: --cfg docsrs -D warnings
run: |
cargo doc --no-deps --features full
cargo doc --no-deps -p command_attr

- name: Prepare docs
shell: bash -e -O extglob {0}
Expand Down
7 changes: 3 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,9 @@ your code.

## Unsafe

Code that defines or uses `unsafe` functions must be reasoned with comments.
`unsafe` code can pose a potential for undefined behaviour related bugs and other
kinds of bugs to sprout if misused, weakening security. If you commit code containing
`unsafe`, you should confirm that its usage is necessary and correct.
Unsafe code is forbidden, and safe alternatives must be found. This can be mitigated by using
a third party crate to offload the burden of justifying the unsafe code, or finding a safe
alternative.

# Comment / Documentation style

Expand Down
Loading