Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare v0.12 for publishing #2629

Merged
merged 7 commits into from
Nov 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
17 changes: 12 additions & 5 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
All notable changes to this project will be documented in this file.
This project mostly adheres to [Semantic Versioning][semver].

## [0.12.0] - 2023-11-19
## [0.12.0] - 2023-11-27

This release turned out to be one of serenity's largest ever, with well over 300 PRs in total! It contains quite a few major breaking changes to the API. Therefore, the changelog for this release also serves as a migration guide for users upgrading from the 0.11 series.

Expand All @@ -23,6 +23,7 @@ Thanks to the following for their contributions:
- [@Joshument]
- [@kangalio]
- [@Kneemund]
- [@LaytonGB]
- [@marcantoinem]
- [@Miezhiko]
- [@Milo123459]
Expand Down Expand Up @@ -179,7 +180,7 @@ Method names on interaction types have been shortened in the following way:

### Framework

The standard framework is now configurable at runtime, as the `configure` method now takes `self` by reference. Also, the `Framework` trait has been reworked to accomodate more use cases than just text commands:
The standard framework is now configurable at runtime, as the `configure` method now takes `self` by reference. In line with the builder changes, the `Configuration` and `BucketBuilder` builders are no longer closure-based and must be passed in directly. Also, the `Framework` trait has been reworked to accomodate more use cases than just text commands:
* The `dispatch` method now takes a `FullEvent` as argument instead of just a `Message`. This enum contains all the data that is passed to the `EventHandler`.
* An optional `init` method has been added, that allows for more complex framework initialization, which can include executing HTTP requests, or accessing cache or shard data.

Expand Down Expand Up @@ -250,6 +251,9 @@ Serenity now uses Rust edition 2021, with an MSRV of Rust 1.74.
* [#2595](https://github.com/serenity-rs/serenity/pull/2595) - Add the `CREATE_EVENTS` and `CREATE_GUILD_EXPRESSIONS` permissions, and rename `MANAGE_EMOJIS_AND_STICKERS` to `MANAGE_GUILD_EXPRESSIONS` (the old name is still present but deprecated).
* [#2600](https://github.com/serenity-rs/serenity/pull/2600) - Add the `FormattedTimestamp` utility struct for representing a combination of a timestamp and a formatting style.
* [#2601](https://github.com/serenity-rs/serenity/pull/2601) - Add support for more Discord subdomains in `utils::argument_convert::parse_message_url`.
* [#2614](https://github.com/serenity-rs/serenity/pull/2614) - Add `Hash` to `Timestamp`'s derive list.
* [#2592](https://github.com/serenity-rs/serenity/pull/2592) - Add experimental `typesize` support.
* [#2618](https://github.com/serenity-rs/serenity/pull/2618) - Implement `From<Into<String>>` for `AutocompleteChoice`.

#### Changed

Expand Down Expand Up @@ -372,8 +376,10 @@ Serenity now uses Rust edition 2021, with an MSRV of Rust 1.74.
* [#2569](https://github.com/serenity-rs/serenity/pull/2569) - Replaced the `json::prelude` module with public wrapper functions that abstract over both `serde_json` and `simd-json`.
* [#2593](https://github.com/serenity-rs/serenity/pull/2593) - Rename `GatewayIntents::GUILD_BANS` to `GUILD_MODERATION` (the old name is still present but is deprecated).
* [#2598](https://github.com/serenity-rs/serenity/pull/2598) - Change `CreateInteractionResponseMessage::flags` to take `InteractionResponseFlags` instead of `MessageFlags`.


* [#2609](https://github.com/serenity-rs/serenity/pull/2609) - Split parts of `ThreadMember` into `PartialThreadMember`.
* [#2622](https://github.com/serenity-rs/serenity/pull/2622) - Implement role addition/removal using dedicated endpoints.
* [#2623](https://github.com/serenity-rs/serenity/pull/2623) - Use dedicated types for `GuildId::audit_logs`.
* [#2625](https://github.com/serenity-rs/serenity/pull/2625) - Change `Guild::members_with_status` to return `impl Iterator<Item = &Member>` instead of `Vec<Member>`.
#### Removed

* [#1864](https://github.com/serenity-rs/serenity/pull/1864), [#1902](https://github.com/serenity-rs/serenity/pull/1902) - Remove all deprecated types, fields, and methods.
Expand Down Expand Up @@ -5325,7 +5331,7 @@ Initial commit.

<!-- COMPARISONS -->

[0.12.0]: https://github.com/serenity-rs/serenity/compare/v0.11.7...v0.12.0-rc
[0.12.0]: https://github.com/serenity-rs/serenity/compare/v0.11.7...v0.12.0
[0.11.7]: https://github.com/serenity-rs/serenity/compare/v0.11.6...v0.11.7
[0.11.6]: https://github.com/serenity-rs/serenity/compare/v0.11.5...v0.11.6
[0.11.5]: https://github.com/serenity-rs/serenity/compare/v0.11.4...v0.11.5
Expand Down Expand Up @@ -5550,6 +5556,7 @@ Initial commit.
[@kyranet]: https://github.com/kyranet
[@Lakelezz]: https://github.com/Lakelezz
[@LavaToaster]: https://github.com/LavaToaster
[@LaytonGB]: https://github.com/LaytonGB
[@LeSeulArtichaut]: https://github.com/LeSeulArtichaut
[@Licenser]: https://github.com/Licenser
[@LikeLakers2]: https://github.com/LikeLakers2
Expand Down
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ license = "ISC"
name = "serenity"
readme = "README.md"
repository = "https://github.com/serenity-rs/serenity.git"
version = "0.12.0-rc2"
version = "0.12.0"
edition = "2021"
rust-version = "1.74"
include = ["src/**/*", "LICENSE.md", "README.md", "CHANGELOG.md", "build.rs"]
Expand Down Expand Up @@ -52,7 +52,7 @@ typesize = { version = "0.1.2", optional = true, features = ["url", "time", "ser
# serde feature only allows for serialisation,
# Serenity workspace crates
command_attr = { version = "0.5.1", path = "./command_attr", optional = true }
serenity-voice-model = { version = "0.1.1", path = "./voice-model", optional = true }
serenity-voice-model = { version = "0.2.0", path = "./voice-model", optional = true }

[dev-dependencies.http_crate]
version = "0.2.11"
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ Add the following to your `Cargo.toml` file:

```toml
[dependencies]
serenity = "0.11"
serenity = "0.12"
arqunis marked this conversation as resolved.
Show resolved Hide resolved
tokio = { version = "1.21.2", features = ["macros", "rt-multi-thread"] }
```

Expand Down Expand Up @@ -127,7 +127,7 @@ Cargo.toml:
[dependencies.serenity]
default-features = false
features = ["pick", "your", "feature", "names", "here"]
version = "0.11"
version = "0.12"
```

The default features are: `builder`, `cache`, `chrono`, `client`, `framework`, `gateway`,
Expand Down Expand Up @@ -200,7 +200,7 @@ features = [
"utils",
"rustls_backend",
]
version = "0.11"
version = "0.12"
```

# Dependencies
Expand Down
2 changes: 1 addition & 1 deletion voice-model/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ license = "ISC"
name = "serenity-voice-model"
# readme = "README.md"
repository = "https://github.com/serenity-rs/serenity.git"
version = "0.1.1"
version = "0.2.0"
edition = "2018"

[dependencies]
Expand Down