Changelog of @hackage/discord-haskell 1.17.1

Changelog

View on GitHub for the newest ChangeLog: https://github.com/discord-haskell/discord-haskell/blob/master/changelog.md

The Discord API constantly changes. This library issues updates when we implement new features added to the API or remove outdated functionalities. In order to interact with the Discord API safely and predictably, please update the library whenever there is a new version released.

Unreleased

1.17.1

  • L0neGamer Small interaction-related fixes, such as deferring ephemeral messages and exporting a necessary data structure

1.17.0

  • S3NP41-v (and 2) Audit log and moderation types and gateway events as well as a new intent or two

  • L0neGamer Derive instances instead of defining them ourselves

  • julmb Add ToJSONKey and FromJSONKey instances to ID types

  • aquarial Add more fields to FullApplication

  • L0neGamer GHC 9.8 officially supported

1.16.1

  • julmb Default instance for InteractionResponseMessage

  • S3NP41-v Adding ThreadMemberUpdate event, and a StartThreadOpts Default instance

1.16.0

1.15.6

1.15.5

  • Gregory1234 Adding global_name field to the User object

1.15.4

1.15.3

  • L0neGamer Fixing behind the scenes for hackage

1.15.2

  • L0neGamer Adding some utility and fixing some versions in place

1.15.1

1.15.0

  • Annwan Implemented optional localization for application commands. [..]LocalizedName and [..]LocalizedDescription fields have been added to many ADTs (Discord documentation)

  • L0neGamer Removed applicationCommandDefaultPermission from ApplicationCommand, replaced it with applicationCommandDefaultMemberPermissions and applicationCommandDMPermission (Discord changelog)

  • yutotakano Implemented session-specific Resume URLs for the Gateway internally, which will prevent disconnects in the future (Discord changelog). Also removed the deprecated list of private channels received in Ready event.

  • L0neGamer Implemented maximum and minimum string lengths for application command options (Discord changelog). Also implemented calculated context permissions for interaction payloads (Discord changelog)

  • L0neGamer Simplified internals of JSON creation using objectFromMaybes and .=?. Support aeson-2.0

  • yutotakano Loosened some acceptable version bounds for http-client, req and http-api-data, that were added with 1.14.0

1.14.0

  • degustaf Add Exception instance for RestCallErrorCode

  • yutotakano Replace JuicyPixels image parsing with a mimetype check. Make image handling consistent: use parseStickerImage fro sticker images. Use parseAvatarImage for avatars.

  • L0neGamer Make webhook API smaller, each constructor takes in a Maybe WebhookToken. Passing Nothing will continue to work as normal.

  • Annwan Huge documentation flourish. Removed deprecated AppCommandPermissions func & fix presences typo

  • yutotakano Replace OverwriteId with Either RoleId UserId in ChannelPermission requests, and remove the type field from ChannelPermissionsOpts

1.13.0

1.12.5

1.12.4

  • Library won't crash if something fails to parse. Errors are printed to the log

1.12.3

  • Add another CreateMessage flag option, stop crashing on unknown flags.

1.12.2

  • L0neGamer EditMessage takes full MessageDetailedOpts (instead of Embed)

  • Removed CreateMessageUploadFile (use CreateMessageDetailed { MessageDetailedOpts { messageDetailedFile } })

1.12.1

  • L0neGamer Add threads, switch api to V10, Update Guild data fields

  • L0neGamer Add model interaction and components

1.12.0

  • L0neGamer breaking changes and fixes to application commands, interactions, and components, and updates elsewhere

1.11.0

  • L0neGamer did a LOT of work wrangling the discord API for interactions and commands!

  • L0neGamer fixed a parse error with webhooktoken

  • Rename fields messageText -> messageContent, messageChannel -> messageChannelId

1.10.0

  • drewolson allows parsing an optional guild region

  • L0neGamer add 'animated' flag for Emoji

  • Removed CreateGuild rest call! You can only do it if your bot is in fewer than 10 guilds, and it's a pain to support. Just do it manually.

  • Added Read instance to complement Show for lots of types. Removed ToJSON for Channel.

1.9.1

1.8.9

1.8.8

1.8.7

  • Add Stage channel and a catch-all Unknown channel so we stop crashing on new releases (?)

1.8.6

1.8.5

1.8.4

  • yutotakano Added discord replies type, and message constructor

1.8.3

1.8.2

1.8.1

1.8.0

1.7.0

  • elikoga Changed to use ReaderT interface

  • elikoga Fixed compiler warnings

  • Changed api url to new discord.com

1.6.1

  • Changed discordapp.com to discord.com in accordance with official discord policy

  • rexim Add Emoji.user field. Who uploaded the emoji

1.6.0

  • Add News Channel and StorePage Channel. Fix crash Unknown channel type:5

  • Add NSFW and UserRateLimit to Channel type

1.5.1

  • Fix EditMessage rest request, send JSON

1.5.0

  • rexim Add Read instance for Snowflake

1.4.0

  • Rename SubEmbed to EmbedPart

  • New and improved Embed API: Add CreateEmbed record and createEmbed :: CreateEmbed -> Embed

  • CreateEmbedImageUpload implementation inspired by Flutterlice

1.3.0

  • PixeLinc Add DeleteSingleReaction rest-request, Add GuildId to ReactinInfo, Add MESSAGE_REACTION_REMOVE_EMOJI gateway event

  • GetReactions actually returns the User objects request

  • Rename Ban to GuildBan

  • Re-export UTCTime from time package

1.2.0

  • MDeltaX Fixed typo: depreciated --> deprecated

  • MDeltaX More consistency: RoleID --> RoleId

  • MDeltaX Fix ModifyGuildRole: Post --> Patch && optional args

  • Hippu Won't crash on integer-nonces in ChannelMessage-events (usually strings)

1.1.3

  • Minor improvements to rate-limiting like using newer X-RateLimit-Reset-After header

1.1.2

  • michalrus Fix DeleteGuildRole parse exception

1.1.1

  • Fix ModifyGuildRolePositions results in 400 Bad Request issue

1.1.0

  • Upgrade req to 2.x major version.

1.0.0

  • Going through some major updates to the library. Expect types to change and things to break.

  • Compare the old ping-pong to the new ping-pong

  • Added a few rest ADT types

0.8.4

  • marcotoniut Improved changed Embed ADT to have optional fields, and improved two field names

  • Add ModifyGuildMember, AddGuildMember, AddGuildMemberRole, AddGuildMemberRole, RemoveGuildmembeRole, GetGuildBan, GetGuildVanityURL rest data types

0.8.3

  • Simplify Message Author from Either WebhookId User to User

  • Add loginRestGatewayWithLog

0.8.2

  • Hardcode CreateReaction delay so bots can add reactions 4 times faster

  • MP2E Fixed parse error on GuildBanAdd + GuildBanRevoke: user_object instead the whole object

0.8.1

  • MP2E Fixed parse error on GuildRoleDelete: role_id instead of role

0.8.0

  • MessageUpdate does not contain a full Message object, just ChannelId MessageId

  • Message Author changed from User to Either WebhookId User

  • Add Webhook ADT

  • Add requests: GetInvite, DeleteInvite

  • UpdateStatusVoiceOpts takes Bool for Mute

  • Unavailable becomes GuildUnavailable

0.7.1

  • t1m0thyj Typo in RequestGuildMemberOpts fields fixed.

  • t1m0thyj Added Activity, ActivityType ADT

  • UpdateStatusTypes became UpdateStatusType (singular ADT)

  • t1m0thyj Retry connection on 1001 websocket close

0.7.0

  • Snowflake -> named id

  • Add requests: ModifyChanPositions, CreateGuildChannel

  • Changed constructors of Channel to have prefix "Channel", isGuildChannel --> channelIsInGuild

  • Change Emoji Id ADTs

0.6.0

  • Add requests: CreateGuildEmoji, GroupDMRemoveRecipient, ModifyCurrentUser, EditChannelPermissions, CreateChannelInvite, GroupDMAddRecipient, ModifyGuild

  • restCall, readCache pass errors as an ADT, including underling http exceptions

  • Only add "Bot " prefix to secret token if it's not there

0.5.1

  • sendCommand with GatewaySendable types

0.5.0

  • restCall with Request types

  • nextEvent with Event types