vNEXT (in development) * Changed USER command to not send the server name, per modern standards * Added support for SASL authentication (with PLAIN mechanism) * Removed some unused test code * Message IDs and replies: * Added support for IRCv3 message tags v3.3 * Exposed message IDs in MessageReceived and ActionReceived events * When sending a message you can now indicate what it is in reply to * The reply() utility automatically marks messages as a reply v0.5.0 * Server state: * Added ServerConnecting and ServerDisconnected events * Server status now starts as Disconnected rather than Connecting * Improved error message when features are of an unexpected type * Channel modes: * CHANMODES feature is now stored as an array, not a single comma-separated string * Added ChanModeType enum, and method in ServerState to get the type of a mode * Added ModeChanged event, for user and channel mode changes and discovery * Added modes and modesDiscovered to ChannelState * Other new events: * Added MotdFinished event * Added UserAccountChanged event * Added ChannelUserKicked event * Added NoticeReceived event * Added CtcpReplyReceived event * Improved some documentation v0.4.0 * Added CtcpReceived and ActionReceived events * Added sendCtcp and sendAction message builders * Fix issue with messages being sent out of order, which sometimes caused problems connecting to passworded servers * Added 'network' server feature * Added serverName field to ServerState v0.3.1 * Added more documentation to public methods/classes * Fixed exception when sending multiple lines at once (e.g. when connecting!) v0.3.0 * Simplified how messages are constructed. Instead of: client.send(joinMessage("#channel")) Now use: client.sendJoin("#channel") * Added reply utility to easily send replies to message events * Server state improvements: * Added status field to ServerState * ServerConnected event is emitted as soon as the socket is connected * ServerReady event is emitted after logging in, negotiating, etc * Added extra debugging to show what type of events are being dispatched * Added ChannelQuit event, raised for each channel a user is in when they quit * (Internal) Event handlers can now return more events to emit v0.2.1 * Added documentation and reduced visibility of some internal methods/classes * (Internal) Enabled Travis, Codacy and Coveralls v0.2.0 * Added support for connecting over TLS * Simplified how event handlers are registered * Improved use of coroutines so users don't have to worry about them * (Internal) Upgraded to Gradle 5.1.1