calamity-0.1.20.0: ChangeLog.md
# Changelog for Calamity
## 0.1.20.0
* Migrate do di-polysemy 0.2, runBotIO no longer handles the Log effect.
## 0.1.19.2
* Fix broken `Float` parsing.
## 0.1.19.1
* Fixed another missing activity type
## 0.1.19.0
* Support hidden commands.
## 0.1.18.1
* Fix custom presences failing to parse.
## 0.1.18.0
* Add raw message events: `RawMessageUpdateEvt`, `RawMessageDeleteEvt`,
`RawMessageDeleteBulkEvt`, `RawMessageReactionAddEvt`,
`RawMessageReactionRemoveEvt`, `RawMessageReactionRemoveAllEvt`.
* Fixed bulk message deletes firing a message delete per deleted message,
instead of a bulk message delete event (I'm not sure how I did that).
* Add `animated` field to `Partial Emoji`s.
* Make show instances for `Partial Emoji` and `RawEmoji` show to their discord
representation.
## 0.1.17.2
*2020-07-04*
* Drop GHC-8.6.5, it doesn't like strictdata
* Use unboxing-vector instead of doing stuff ourselves
## 0.1.17.1
*2020-06-29*
* `waitUntil` and `waitUntilM` now correctly remove the temorary event handler
they create if an exception is raised.
## 0.1.17.0
*2020-06-28*
* Allow the session used for http requests to be specified to the client.
* Drop from using a Wreq fork to vanilla Wreq.
* `TFile` now requires a filename parameter.
## 0.1.16.0
* Change how commands should be manually invoked from code, instead of firing a
`"invoke-command"` custom event, now the `handleCommands` function should be
used, which returns information about if the command succeeded.
* Added `fetchHandler` for retrieving the command handler inside a command DSL.
## 0.1.15.0
* General cleanup of codebase
* Enable StrictData by default
## 0.1.14.9
*2020-06-22*
* Support manually invoking commands.
## 0.1.14.8
*2020-06-21*
* Replace uses of withLowerToIO with interpretFinal (should be more performant)
## 0.1.14.7
*2020-06-21*
* Fix missing usage of GetAuditLogOptions in GetAuditLog
## 0.1.14.6
*2020-06-18*
* Add command parameter `Parser`s for `Int`, `Integer`, `Word`, `Natural`, and
`Float`.
## 0.1.14.5
*2020-06-18*
* The `DecodeError` variant of the `RestError` type has been renamed to
`InternalClientError` as all issues in the rest client now end up here.
* We're now using `discord.com` instead of `discordapp.com`
## 0.1.14.4
*2020-06-11*
* Added `activity` to construct Activities
* Added aliases for commands and groups, with new functions to create them
(`commandA`, `groupA`, ...).
* The built in help command now shows aliases and checks.
## 0.1.14.3
*2020-06-10*
* Fix some bugs in the gateway
## 0.1.14.2
*2020-06-09*
* Fix broken json decoding for DMs
* Add `mentionChannels` to `Message`
## 0.1.14.1
*2020-06-08*
* Fix broken json decoding for member's
## 0.1.14.0
*2020-06-08*
* Unpacked the `user` field of `Member` into itself.
* Add message formatting utilities (`Calamity.Utils.Message`).
* Add support for allowed mentions in `Tellable`.
* Change Snowflake's show instance to just show the numberic id.
* Added parsers for RawEmoji and Either.
## 0.1.13.0
*2020-06-06*
* Changed event handlers to take tuples instead of being higher arity when there
is more than one parameter to the callback.
## 0.1.12.0
*2020-06-06*
* Changed some events to take enums instead of booleans: `GuildCreateEvt` and
`GuildDeleteEvt`.
## 0.1.11.2
*2020-06-03*
* Moved the internal `UpdatedMessage` from
`Calamity.Types.Model.Channel.Message` into
`Calamity.Types.Model.Channel.UpdatedMessage`.
## 0.1.11.0
*2020-05-31*
* Add command parameter parsers for channel/guild/emoji
* Support allowed mentions
* Support invite events
* Support setting gateway intents
* Add `Calamity.Types.Model.Guild.Permission` and `Calamity.Utils.Permissions`
and change permissions fields from `Word64` to `Permissions`
* Add `Calamity.Utils.Colour` and change color fields from `Word64` to
`Data.Color.Color Double`
## 0.1.10.0
*2020-05-27*
* Renamed `Calamity.Commands.Parser.KleeneConcat` to
`Calamity.Commands.Parser.KleeneStarConcat` and added
`Calamity.Commands.Parser.KleenePlusConcat`
* Added `Calamity.Types.Upgradeable`
## 0.1.9.2
*2020-05-23*
* Added a default help command, located in `Calamity.Commands.Help`.
* Commands now have the list of parameters they take
## 0.1.9.1
*2020-05-23*
* Added `Calamity.Commands.Parser.Named` for parameters that have a name.
* General improvements to parser errors
## 0.1.9.0
*2020-05-22*
* Added commands, located in `Calamity.Commands`, along with a DSL for declaring
commands nicely.
* Renamed `waitUntil` to `waitUntilM`, and introduced a variant with a pure
check function that takes the original name of `waitUntil`.
## 0.1.8.0
*2020-05-15*
* Did a large rework of how event handlers are stored internally.
* introduced `waitUntil`
## 0.1.4.0
* Added back extra exports of `Calamity.Types.Partial` from
`Calamity.Types.Model.Guild.Guild`, `Calamity.Type.Model.Guild.Emoji`, and
`Calamity.Types.Model.Channel`. There is now way to export the constructor
without also exporting Partial apparently?
## 0.1.3.0
*2020-04-27*
* Removed extra exports of `Calamity.Types.Partial` from
`Calamity.Types.Model.Guild.Guild`, `Calamity.Type.Model.Guild.Emoji`, and
`Calamity.Types.Model.Channel`
* Added missing exports of `CreateGuildEmojiOptions` and
`ModifyGuildEmojiOptions` from `Calamity.HTTP.Emoji`
* Added missing exports of `CreateGuildData` and `ModifyGuildData` from
`Calamity.HTTP.Guild`
## 0.1.2.0
*2020-04-27*
* Calamity.Client: runBotIO now has a `Polysemy.Fail` effect
## Unreleased changes