Skip to content

Commit

Permalink
Add blackjack and hookers to CHANGELOG.md
Browse files Browse the repository at this point in the history
That is, make it better
  • Loading branch information
kangalio committed Oct 22, 2023
1 parent 4f81f3c commit 8060012
Show file tree
Hide file tree
Showing 2 changed files with 105 additions and 72 deletions.
159 changes: 104 additions & 55 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,121 +1,170 @@
<!--
Template:
```
# 0.5.7
New features:
- Added some new feature / ability (3afd86c58d883970ddd236dc7c8a0d5c5a0d9e3)
- If needed, additional explanation / context here
API updates:
- Changed something about the API, typically backwards-incompatible (d96d56b1eda29221e6f2d9c9af05c59a42feb9f)
Behavior changes:
- An existing feature or function changed its behavior (e40dd711d748b6398611db97f54e1622ac008ae)
- For example, different output to the user
Detailed changelog: https://github.com/serenity-rs/poise/compare/v0.5.6...v0.5.7
Thanks to @ User1, @ User2, @ User3!
```
Also run the two find-and-replace regexes below for nice formatting:
To quickly annotate commit hashes, append the full hash in parantheses to each line and then run
this find-and-replace regex (VSCode flavor):
- Find: (?<!commit/)([0-9a-f]{7})([0-9a-f]{33})
- Replace: [$1](https://github.com/serenity-rs/poise/commit/$1$2)
To quickly make GitHub usernames into clickable links, prepend each username with @ and then run
this find-and-replace regex (VSCode flavor):
- Find: (?<=Thanks to.*)(?<!\[)[@([^](https://github.com/([^),!. ]+)
- Replace: [@$1](https://github.com/$1)
-->

# 0.5.7

New features:
- Added serenity trait impls for ApplicationContext and PrefixContext as well
- Added serenity trait impls for ApplicationContext and PrefixContext as well ([e40dd71](https://github.com/serenity-rs/poise/commit/e40dd711d748b6398611db97f54e1622ac008ae9))
- Previously, `AsRef<Cache>`, `AsRef<Http>`, `AsRef<ShardMessenger>`, `AsRef<Context>`, and `CacheHttp` were only implemented for `poise::Context`
- With these impls, poise's context types can be used as-is for the context parameter in serenity functions
- Support generics in `#[poise::command]`-annotated functions
- Added `Context.guild_channel()`
- Support generics in `#[poise::command]`-annotated functions ([dfed53e](https://github.com/serenity-rs/poise/commit/dfed53ef14b4a492b2e0903fa154d4187554c84f))
- Added `Context.guild_channel()` ([83a73a3](https://github.com/serenity-rs/poise/commit/83a73a34fd40fbb8bc28feabd11989630b3c1b7f))

Behavior changes:
- Improved formatting of `builtins::servers` command
- Improved formatting of `builtins::servers` command ([3afd86c](https://github.com/serenity-rs/poise/commit/3afd86c58d883970ddd236dc7c8a0d5c5a0d9e38))
- More compact and respects the message character limit
- Titles from thread creations are not interpreted as command invocations anymore
- Titles from thread creations are not interpreted as command invocations anymore ([bf3294d](https://github.com/serenity-rs/poise/commit/bf3294d44dfb39b5ca4e429cbe563804e1bfd998))
- To return to previous behavior, set `PrefixFrameworkOptions.ignore_thread_creation` to `false`

Detailed changelog: https://github.com/kangalioo/poise/compare/v0.5.6...v0.5.7
Detailed changelog: https://github.com/serenity-rs/poise/compare/v0.5.6...v0.5.7

Thanks to [@NotNorom](https://github.com/NotNorom), [@kangalio](https://github.com/kangalio), [@m4tx](https://github.com/m4tx), [@seraxis](https://github.com/seraxis)!

# 0.5.6

New features:
- Added `cache()`, `http()`, `reply()`, `ping()` methods to `Context`, `ApplicationContext`, `PrefixContext`
- Added `subcommand_required` command attribute
- Added `cache()`, `http()`, `reply()`, `ping()` methods to `Context`, `ApplicationContext`, `PrefixContext` ([a72b3f3](https://github.com/serenity-rs/poise/commit/a72b3f36eeb0bb86b1fdf4f8beead842d96ecd1b), [2f9b95d](https://github.com/serenity-rs/poise/commit/2f9b95d6f83e8d7ef8cd522b971f706eda917915), [aaa57f6](https://github.com/serenity-rs/poise/commit/aaa57f628696f74a7d50ed6bf64e0fca1cce87ae))
- Added `subcommand_required` command attribute ([7866109](https://github.com/serenity-rs/poise/commit/78661097e9216b058c3f1a06323f528acf5492d5))
- When a command with subcommand_required is invoked without a subcommand (only possible as a text/prefix command), an error is thrown
- Added `execute_modal_on_component_interaction` utility function
- Added `execute_modal_on_component_interaction` utility function ([5d02b87](https://github.com/serenity-rs/poise/commit/5d02b8757d30e4588c193c5ba06e38806bbc1021))
- Previously, poise only features a utility function for opening modals from command invocations
- Added `remaining_cooldown_2` as the successor to `remaining_cooldown` which allows changing the cooldown config on a per-invocation basis instead of per-command
- Added `remaining_cooldown_2` as the successor to `remaining_cooldown` which allows changing the cooldown config on a per-invocation basis instead of per-command ([c9c0373](https://github.com/serenity-rs/poise/commit/c9c037397afe5fabd56a3adff2ac3a59e52b68b4))
- In the next breaking release, `remaining_cooldown` will be replaced with `remaining_cooldown_2`
- Added `Command.source_code_name`
- Added `Command.source_code_name` ([719bd50](https://github.com/serenity-rs/poise/commit/719bd50d20d823c34e8dd016a6200c45fa4a5ec6))

Behavior changes:
- Reply messages (i.e. reference_message set to Some) now ping by default
- Reply messages (i.e. reference_message set to Some) now ping by default ([a6b0b41](https://github.com/serenity-rs/poise/commit/a6b0b41301c0caef49496368678e6eb17c88cb18))
- This matches the default from serenity and the default from the Discord client
- Raw identifiers can now be used for command names and command parameter names
- Raw identifiers can now be used for command names and command parameter names ([cfc1d42](https://github.com/serenity-rs/poise/commit/cfc1d42caec30c22b9c31b0ff4b666c0c64906ac))

Detailed changelog: https://github.com/kangalioo/poise/compare/v0.5.5...v0.5.6
Detailed changelog: https://github.com/serenity-rs/poise/compare/v0.5.5...v0.5.6

Thanks to [@kangalio](https://github.com/kangalio), [@sadorowo](https://github.com/sadorowo), [@xtfdfr](https://github.com/xtfdfr), [@G0ldenSp00n](https://github.com/G0ldenSp00n), [@B-2U](https://github.com/B-2U), [@OverzealousLotus](https://github.com/OverzealousLotus), [@arqunis](https://github.com/arqunis), [@Friendly-Banana](https://github.com/Friendly-Banana), [@seqre](https://github.com/seqre)!

# 0.5.5

New features:
- Added `#[min_length]` and `#[max_length]` support for slash command string parameters
- Added `#[min_length]` and `#[max_length]` support for slash command string parameters ([116b8bb](https://github.com/serenity-rs/poise/commit/116b8bbe8638e1e9c69280fde43780d5657abbb1))

Detailed changelog: https://github.com/serenity-rs/poise/compare/v0.5.4...v0.5.5

Detailed changelog: https://github.com/kangalioo/poise/compare/v0.5.4...v0.5.5
Thanks to [@kangalio](https://github.com/kangalio)!

# 0.5.4

API updates:
- The `payload` field of `FrameworkError::CommandPanic` has been changed from `Box<dyn Any + Send>` to `Option<String>`
- The `payload` field of `FrameworkError::CommandPanic` has been changed from `Box<dyn Any + Send>` to `Option<String>` ([7a29dfe](https://github.com/serenity-rs/poise/commit/7a29dfe38eea638392ada7c4268e1c23a6ac7af4))
- This is technically a breaking change
- However, the newly introduced `payload` field in 0.5.3 made `FrameworkError` accidentally not Sync anymore
- And `FrameworkError::CommandPanic` has only been introduced a few days ago in 0.5.3
- Therefore, I think it's ok to release this as a patch release to reverse the accidental breaking change from 0.5.3

Detailed changelog: https://github.com/kangalioo/poise/compare/v0.5.3...v0.5.4
Detailed changelog: https://github.com/serenity-rs/poise/compare/v0.5.3...v0.5.4

Thanks to [@kangalio](https://github.com/kangalio)!

# 0.5.3

New features:
- Added `builtins::paginate()` as an example implementation of pagination
- Added missing events in `EventWrapper` (#144)
- Added `FrameworkError::CommandPanic` to allow custom handling of panics (#140)
- Added `builtins::paginate()` as an example implementation of pagination ([2ab3662](https://github.com/serenity-rs/poise/commit/2ab3662e9fd3b4214a1877ba4336b80bd93c948f))
- Added missing events in `EventWrapper` ([1448eed](https://github.com/serenity-rs/poise/commit/1448eedb880376e4442429a3670db27568d412c2))
- Added `FrameworkError::CommandPanic` to allow custom handling of panics ([1c7a5a7](https://github.com/serenity-rs/poise/commit/1c7a5a7662c09744163b354f405fa45250fb5a0d))
- `builtins::on_error` responds with an "Internal error" embed when encountering `CommandPanic`

Behavior changes:
- `builtins::on_error` now prints `FrameworkError::Command` not just in Discord chat, but in console as well
- because responding in Discord sometimes doesn't work, see 0a03fb905ca0bc3b2ee0701fe35d3c89ecf5a654
- Fixed a compile error when `name_localized` or `description_localized` are used multiple times (#143)
- `builtins::on_error` now prints `FrameworkError::Command` not just in Discord chat, but in console as well ([0a03fb9](https://github.com/serenity-rs/poise/commit/0a03fb905ca0bc3b2ee0701fe35d3c89ecf5a654))
- Because responding in Discord sometimes doesn't work, see commit description
- Fixed a compile error when `name_localized` or `description_localized` are used multiple times ([25fb3dc](https://github.com/serenity-rs/poise/commit/25fb3dc4b9aef36e96110c32306d2cdd872d553f))

Detailed changelog: https://github.com/serenity-rs/poise/compare/v0.5.2...v0.5.3

Detailed changelog: https://github.com/kangalioo/poise/compare/v0.5.2...v0.5.3
Thanks to [@kangalio](https://github.com/kangalio), [@GnomedDev](https://github.com/GnomedDev), [@max-m](https://github.com/max-m), [@whitbur](https://github.com/whitbur), [@HigherOrderLogic](https://github.com/HigherOrderLogic)!

# 0.5.2

New features:
- Added `track_deletion` feature to commands
- Added all of `Context`'s methods to `PrefixContext` and `ApplicationContext`
- Added `track_deletion` feature to commands ([35a8209](https://github.com/serenity-rs/poise/commit/35a8209e9e490f795367c34a74cfb18b15b16369))
- Added all of `Context`'s methods to `PrefixContext` and `ApplicationContext` ([c8b1497](https://github.com/serenity-rs/poise/commit/c8b1497123bc4b184a9d581b8ffeb033cb200940))

Behavior changes:
- Editing commands not marked track_edits no longer re-runs the command
- `builtins::servers` now shows hidden statistics for the entire bot team, not just owner
- Editing commands not marked track_edits no longer re-runs the command ([7e7224b](https://github.com/serenity-rs/poise/commit/7e7224bbc063fc1d9408614d6939fe679858a09d))
- `builtins::servers` now shows hidden statistics for the entire bot team, not just owner ([9cb5a77](https://github.com/serenity-rs/poise/commit/9cb5a77589a5255208d2baf3710292eab15802e6))

Detailed changelog: https://github.com/serenity-rs/poise/compare/v0.5.1...v0.5.2

Detailed changelog: https://github.com/kangalioo/poise/compare/v0.5.1...v0.5.2
Thanks to [@kangalio](https://github.com/kangalio), [@NotNorom](https://github.com/NotNorom)!

# 0.5.1

New features:
- Added `FrameworkOptions::skip_checks_for_owner`
- Added `FrameworkOptions::skip_checks_for_owner` ([09d8421](https://github.com/serenity-rs/poise/commit/09d84218861eab17bf62b47ac1e7da1563e36be4))

Behavior changes:
- `execute_modal` doesn't panic anymore when the timeout is reached
- Checking user permissions properly falls back to HTTP when cache is enabled but empty
- `execute_modal` doesn't panic anymore when the timeout is reached ([7015c2b](https://github.com/serenity-rs/poise/commit/7015c2bc18b92b791e4da858925bcd4d258a8fa0))
- Checking user permissions properly falls back to HTTP when cache is enabled but empty ([b7a9f1f](https://github.com/serenity-rs/poise/commit/b7a9f1fdb4352b7c10c5f486e6c6055044f0360d))

Detailed changelog: https://github.com/kangalioo/poise/compare/v0.5.0...v0.5.1
Detailed changelog: https://github.com/serenity-rs/poise/compare/v0.5.0...v0.5.1

Thanks to [@peanutbother](https://github.com/peanutbother), [@kangalio](https://github.com/kangalio)!

# 0.5.0

New features:
- Added `Context::parent_commands()`
- Added `Context::invocation_string()`
- Added `builtins::register_in_guild()` and `builtins::register_globally()` convenience functions
- The return value of autocomplete callbacks can be any serializable type now
- `Context` can now be passed directly into most serenity API functions
- Added `Context::parent_commands()` ([cf61765](https://github.com/serenity-rs/poise/commit/cf61765e86e51d9e42074cdb5c544f3820a75c90))
- Added `Context::invocation_string()` ([21db037](https://github.com/serenity-rs/poise/commit/21db037ed17db68b96f5603992be15590e844ae5))
- Added `builtins::register_in_guild()` and `builtins::register_globally()` convenience functions ([e044c9c](https://github.com/serenity-rs/poise/commit/e044c9c93cb5ac7773f48351e5a2cdfffafb40a2))
- The return value of autocomplete callbacks can be any serializable type now ([90ac24a](https://github.com/serenity-rs/poise/commit/90ac24a8ef621ec6dc3fc452762dc9cfa144f693))
- `Context` can now be passed directly into most serenity API functions ([713271b](https://github.com/serenity-rs/poise/commit/713271b76641116a99dd4543a59907d792ce1b5c))
- Because it now implements `AsRef<Cache>`, `AsRef<Http>`, `AsRef<ShardMessenger>`, and `CacheHttp` traits
- Added `execute_modal()` function with support for modal timeouts
- Added `execute_modal()` function with support for modal timeouts ([e7121b6](https://github.com/serenity-rs/poise/commit/e7121b6628b3fe45440a1ed8520ffdf6955463b8))

API updates:
- `Modal::create()` gained a `custom_id: String` parameter
- `Modal::create()` gained a `custom_id: String` parameter ([cee480a](https://github.com/serenity-rs/poise/commit/cee480af9c4a706ea5851b1b26243a55cd0445c5))
- To make it possible to tell apart two modal interactions
- Removed `CreateReply::reference_message(MessageReference)` in favor of `CreateReply::reply(bool)`
- Removed `CreateReply::reference_message(MessageReference)` in favor of `CreateReply::reply(bool)` ([30ee77b](https://github.com/serenity-rs/poise/commit/30ee77b70dc00b25fb2fe468db03265d3b5d6775))
- For the unusual case of setting a different reference message than the invocation (why would you? I'm genuinely interested), you can still convert the `CreateReply` into `serenity::CreateMessage` manually via `.to_prefix()` and call `serenity::CreateMessage`'s `reference_message()` method
- Renamed `FrameworkBuilder::user_data_setup()` method to `setup()`
- Renamed `FrameworkOptions::listener` field to `event_handler`
- Renamed `Context::discord()` method to `serenity_context()`
- Renamed `FrameworkBuilder::user_data_setup()` method to `setup()` ([af099d4](https://github.com/serenity-rs/poise/commit/af099d4052f02e583e705fdb95b2ea3ed0e4bfc9))
- Renamed `FrameworkOptions::listener` field to `event_handler` ([471a2c2](https://github.com/serenity-rs/poise/commit/471a2c2ed8ed3792593dd97c313968266de3183e))
- Renamed `Context::discord()` method to `serenity_context()` ([713271b](https://github.com/serenity-rs/poise/commit/713271b76641116a99dd4543a59907d792ce1b5c))

Behavior changes:
- `register_application_commands_buttons()` now has emojis, reworked wording, and prints the time taken to register
- `Modal::execute()` always responds to the correct modal now
- When a subcommand is invoked, all parent commands' checks are run too, now
- `register_application_commands_buttons()` now has emojis, reworked wording, and prints the time taken to register ([31318ea](https://github.com/serenity-rs/poise/commit/31318ea1f7484e2c451b049f868a8bd5b15378bd))
- `Modal::execute()` always responds to the correct modal now ([cee480a](https://github.com/serenity-rs/poise/commit/cee480af9c4a706ea5851b1b26243a55cd0445c5))
- When a subcommand is invoked, all parent commands' checks are run too, now ([cceac77](https://github.com/serenity-rs/poise/commit/cceac770b616da33444da022e97cc0631580b773))

Detailed changelog: https://github.com/serenity-rs/poise/compare/v0.4.1...v0.5.0

Detailed changelog: https://github.com/kangalioo/poise/compare/v0.4.1...v0.5.0
Thanks to [@Nilstrieb](https://github.com/Nilstrieb), [@SticksDev](https://github.com/SticksDev), [@p5nvTgip0r](https://github.com/p5nvTgip0r), [@kangalio](https://github.com/kangalio), [@keiveulbugs](https://github.com/keiveulbugs), [@chancedrigor](https://github.com/chancedrigor)!

# 0.4.1

Expand All @@ -124,7 +173,7 @@ Behavior changes:
- Using Discord's dm_permission field on commands
- `poise::builtins::servers` now doesn't omit unavailable guilds from guild count and list anymore

Detailed changelog: https://github.com/kangalioo/poise/compare/v0.4.0...v0.4.1
Detailed changelog: https://github.com/serenity-rs/poise/compare/v0.4.0...v0.4.1

# 0.4.0

Expand Down Expand Up @@ -161,7 +210,7 @@ Behavior changes:
- `register_application_commands_buttons()` switched order of rows
- Guild-specific actions are at the top because they are more common and less destructive

Detailed changelog: https://github.com/kangalioo/poise/compare/v0.3.0...v0.4.0
Detailed changelog: https://github.com/serenity-rs/poise/compare/v0.3.0...v0.4.0

# 0.3.0

Expand Down Expand Up @@ -203,21 +252,21 @@ Behavior changes:
- With \`\`\`textwithspecialcharacters, textwithspecialcharacters is no longer recognized as the programming language, but as part of the code (mirroring Discord's behavior)
- `ReplyHandle::edit()` now works on ephemeral followup responses

Detailed changelog: https://github.com/kangalioo/poise/compare/v0.2.2...v0.3.0
Detailed changelog: https://github.com/serenity-rs/poise/compare/v0.2.2...v0.3.0

# 0.2.2

Behavior changes:
- `default_member_permissions` fixed to not constrain commands to administrators by default

Detailed changelog: https://github.com/kangalioo/poise/compare/v0.2.1...v0.2.2
Detailed changelog: https://github.com/serenity-rs/poise/compare/v0.2.1...v0.2.2

# 0.2.1

Behavior changes:
- Bot ID is retrieved from first Ready event again instead of extracted from the token. Extracting the bot ID from the bot token often didn't work and caused breakage for many users. This should now be fixed

https://github.com/kangalioo/poise/compare/v0.2.0...v0.2.1
Detailed changelog: https://github.com/serenity-rs/poise/compare/v0.2.0...v0.2.1

# 0.2.0

Expand Down Expand Up @@ -246,7 +295,7 @@ Behavior changes:
- Compile times should be faster through less monomorphization bloat
- Attachments in initial responses are supported now

Detailed changelog: https://github.com/kangalioo/poise/compare/v0.1.0...v0.2.0
Detailed changelog: https://github.com/serenity-rs/poise/compare/v0.1.0...v0.2.0

# 0.1.0

Expand Down
18 changes: 1 addition & 17 deletions release-guide.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,5 @@
Release guide:
- Write changelog
- Add PR number in parantheses if change comes from PR
- Template:
```
# 0.3.0
New features:
- ...
API updates:
- ...
Behavior changes:
- ...
Detailed changelog: https://github.com/serenity-rs/poise/compare/v0.2.2...v0.3.0
```
- Write changelog (see CHANGELOG.md for template)
- Push version bump commit
- Add changelog to CHANGELOG.md
- Update /Cargo.toml version
Expand Down

0 comments on commit 8060012

Please sign in to comment.