All notable changes to this project will be documented in this file. This change log follows the conventions of keepachangelog.com.
Discljord follows semantic versioning.
- Support for user-level shard control (enabling distributed bots)
- Minimum reconnect time for a single shard reduced to 0 seconds
- Bots will not try to resume
- Buffer size for bots is too small for large servers
- Reflection warnings
- Multiple bots in the same JVM have identify rate limits interfere with each other
- Instrumenting
message-pump!
calls the function repeatedly - Instrumenting calls to all functions raises internal errors
- Resumes do not reset the retry count
- Direct memory leak when reconnects occur (for real this time)
0.2.9 - 2020-06-18
- Support for doing a parking take on the promises returned from all REST endpoint functions
- Support for removing all reactions of a given emoji from a message
- Support for stream-like data in
discljord.messaging/create-message!
- Messages arrive out of order when rate limits are hit
- Gateway communication started while a shard is disconnected crashes discljord
- Spec for embeds had incorrect type for embed field values
- Direct memory leak when reconnects occur
- Dependency on
com.rpl.specter
0.2.8 - 2020-04-13
- Support for audit log reasons on all requests made with
discljord.messaging
- Support for gateway intents
- Support for allowed-mentions in
discljord.messaging/execute-webhook!
payload - Support for allowed-mentions in
discljord.messaging/create-message!
payload
discljord.messaging/execute-webhook!
had its parameters moved to optional ones
- Invalid payload for bulk-message-delete requests
- User-requested disconnect does not send a
:disconnect
event - Websocket clients of closed websockets were not stopped
discljord.messaging/execute-webhook!
was unable to send files- Documentation for create-message! saying file sharing was not implemented
0.2.7 - 2020-02-24
:disconnect
event no longer sent when bot shuts down
0.2.6 - 2020-02-24
- Bots are unable to disconnect properly
- Bots fail to reconnect after spending time with internet unavailable
discljord.util/*enable-logging*
, prefer directly interacting with timbrediscljord.util/set-logging-level!
, prefer directly interacting with timbre
0.2.5 - 2019-05-27
- Support for the Watching activity type
- Support for pass-through activity types in case discljord doesn't support them all
- Audit log reason for modify-guild (this is a framework to add this to all other requests which it would be applicable to)
- Incorrect URL used for http api
- remove-guild-member-role! makes a DELETE to /memebers instead of /members
0.2.4 - 2019-03-24
- NullPointerException in rare case when dealing with rate limits
- Rate-limit decreased by one compared to what it should be if always recieve headers
- SSLContext endpoint identification algorithm warning
- Deprecated method send-message! broke
0.2.3 - 2019-03-01
- discljord.events not loading properly due to removed dependency for clojure.tools.logging
0.2.2 - 2019-03-01
- http-kit HTTP requests would break on java 11
- Unnecessary dependency on clojure.tools.logging
0.2.1 - 2019-02-27
- Spec for files to be used with create-message! now requires a file rather than any?
- Rate limit handling now accounts for server drift
0.2.0 - 2019-02-26
- Changelog
- Logging about retries during connections
- Request :guild-members-chunk events
- Ability to update bot's status on Discord
- Ability to update bot's voice state on Discord
- Support for re-sharding a bot as it grows
- Docstrings for many namespaces
- Support for tts in messages
- New HTTP endpoint support (all)
- Logging when unable to recieve gateway information
- Support for embeds (with attachments)
- Support for sending files
- Moved many functions from
discljord.connections
to an implementation namespace - Added new
create-message!
function to replace send-message!
- Exchanged logging framework from log4j to timbre
- Improper handling of rate limits when none is found
- Bot no longer starts when out of identify packets for shards
- Uberjar profile in Leiningen
0.1.7 - 2019-01-13
0.1.6 - 2018-10-02
- log4j backend for
core.tools.logging
- discljord log4j configuration
- deps.edn file to allow use with tools.deps projects
- README section on Java 9 and later
0.1.5 - 2018-09-25
- Buffer size for shards can now be specified by users
- Buffers now grow by 100k bytes on 1009 stop codes, rather than being set to a static 500k bytes
- Removed unneeded dependency
- No default buffer size provided
- Buffer size not properly set on client
0.1.4 - 2018-09-25
- Incorrect spec on function
connect-bot!
- Exception thrown by shards due to atoms not being associative data structures
0.1.3 - 2018-09-24
- README installation lacked group ID
0.1.2 - 2018-09-24
- Group ID to Maven artifact
- Disconnects with stop code 1009 now reconnect with larger buffers
- Can now set flag so that the bot will not try to reconnect when it disconnects
- Function to disconnect all shards in a bot
- Exception handling in default message pump in
discljord.events
handle-disconnect!
now takes the shard stateconnect-shard!
now returns a tuple of atoms, first is the connection, second is shard state
0.1.1 - 2018-09-23
- Example DSL code
user
namespace
0.1.0 - 2018-09-23
- Connection process
- Shard handling
- Messaging process
- Copyright notice in README
- Proper description for project
- Set up deployment
- README follows new API
- Project name from
discljord-functional
to discljord