Twilight 0.17
Twilight Version 0.17
New release of the Discord library system Twilight.
Highlighted Changes
Support for components V2. (#2422)
Long awaited support for the new components in Discord.
Support for new modal components. (#2461)
Support for new modal components including file upload.
New Ratelimiter (#2418), #2453))
The http ratelimiter was rewritten to be better and simpler.
It was also made to support unknown paths so it can now be used with arbitary paths and not only some already known.
RusTLS Changes
Across multiple crates we have removed the features that enable a specific cryptography backend and we will now instead leave the responsibility to the user to enable one.
For example if you want to use ring you can add the rustls crate
with the ring feature and add the following to initialization of the
cryptography provider:
rustls::crypto::ring::default_provider().install_default();
Or similarly if you want to use aws_lc_rs you can add:
rustls::crypto::aws_lc_rs::default_provider().install_default();
The above examples are not usually needed since the providers will be
automatically installed if you have rustls with the ring or
aws_lc_rs feature enabled.
Other possible crypto providers is for example Microsoft's Symcrypt.
Gateway compression changes
For compression the new zstd feature have been added to use the new
more efficient ZStandard compression algorithm.
The features zlib-simd and zlib-stock was removed in favour of zlib.
MSRV
The new minimum supported Rust version for twilight is 1.89.
Other changes
All the crates have been updated to Rust 2024 edition.
Detailed changelog for each crate
For detailed changelogs for each crate see the specific CHANGELOG.md files: