Changelog for discord-haskell-1.15.0
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 changes
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
fromApplicationCommand
, replaced it withapplicationCommandDefaultMemberPermissions
andapplicationCommandDMPermission
(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.=?
. Supportaeson-2.0
-
yutotakano Loosened some acceptable version bounds for
http-client
,req
andhttp-api-data
, that were added with 1.14.0
1.14.0
-
degustaf Add
Exception
instance forRestCallErrorCode
-
yutotakano Replace JuicyPixels image parsing with a mimetype check. Make image handling consistent: use
parseStickerImage
fro sticker images. UseparseAvatarImage
for avatars. -
L0neGamer Make webhook API smaller, each constructor takes in a
Maybe WebhookToken
. PassingNothing
will continue to work as normal. -
Annwan Huge documentation flourish. Removed deprecated AppCommandPermissions func & fix presences typo
-
yutotakano Replace
OverwriteId
withEither RoleId UserId
inChannelPermission
requests, and remove thetype
field fromChannelPermissionsOpts
1.13.0
-
L0neGamer Shorten ApplicationCommand names! To update search the pull-request for what the names are replaced with
-
L0neGamer Typesafe Snowflakes (guildid, channelid, userid, etcid)
-
Improve
restCall
type error messages https://github.com/discord-haskell/discord-haskell/issues/102
1.12.5
-
Annwan Add
ScheduledEvent
rest API -
L0neGamer Add stickers API
-
L0neGamer Add ModifyGuildMember 'timeout' option
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 fullMessageDetailedOpts
(instead of Embed) -
Removed
CreateMessageUploadFile
(useCreateMessageDetailed { 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 complementShow
for lots of types. Removed ToJSON forChannel
.
1.9.1
-
Rewrite EventLoop.hs to be easier to modify
-
Rename a bunch of internal handles so they have more consistent names
1.8.9
-
Handle both aeson 1.0 and 2.0 (breaking changes broke builds)
-
Simplify some examples
1.8.8
- Remove git artifacts from examples/ping-pong.hs
1.8.7
- Add Stage channel and a catch-all Unknown channel so we stop crashing on new releases (?)
1.8.6
- Add missing fields to ChannelGuildCategory
1.8.5
- Fix examples/ping-pong.hs compilation error https://github.com/discord-haskell/discord-haskell/issues/65
1.8.4
- yutotakano Added discord replies type, and message constructor
1.8.3
- Bot no longer disconnects randomly (hopefully) https://github.com/discord-haskell/discord-haskell/issues/62
1.8.2
-
Added 'Competing' activity https://github.com/discord-haskell/discord-haskell/issues/61
-
Resend the last Activity settings on Resume fixing https://github.com/discord-haskell/discord-haskell/issues/60
1.8.1
- Added
MessageReaction
to Message https://github.com/discord-haskell/discord-haskell/issues/56
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 forSnowflake
1.4.0
-
Rename
SubEmbed
toEmbedPart
-
New and improved Embed API: Add
CreateEmbed
record andcreateEmbed :: CreateEmbed -> Embed
-
CreateEmbedImageUpload
implementation inspired by Flutterlice
1.3.0
-
PixeLinc Add
DeleteSingleReaction
rest-request, Add GuildId toReactinInfo
, AddMESSAGE_REACTION_REMOVE_EMOJI
gateway event -
GetReactions
actually returns the User objects request -
Rename
Ban
toGuildBan
-
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
toUser
-
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, justChannelId
MessageId
-
Message Author changed from
User
toEither WebhookId User
-
Add Webhook ADT
-
Add requests: GetInvite, DeleteInvite
-
UpdateStatusVoiceOpts takes Bool for Mute
-
Unavailable
becomesGuildUnavailable
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