IRC Client Library 4.0.1 released!
25 Mar 2018Version 4.0.1 of the Kitteh IRC Client Library has been released!
This release fixes a bug in 4.0.0 that prevented reconnection from happening.
Version 4.0.1 of the Kitteh IRC Client Library has been released!
This release fixes a bug in 4.0.0 that prevented reconnection from happening.
Version 4.0.0 of the Kitteh IRC Client Library has been released!
This is a substantial update in a few ways, which will be broken down in various ways below. You really should read the first part of the connectivity rework. Unless you like your client no longer functioning, that is!
build()
method no longer automatically connects.
Client#connect()
starts a connection.Client.Builder#buildAndConnect()
available to retain older functionality.Client.Builder#afterBuildConsumer()
as it is no longer necessary.ClientConnectedEvent
renamed to ClientNegotiationCompleteEvent
:
ClientConnectionEndedEvent
covers connections... ending.
ClientConnectionClosedEvent
for connection closing.ClientConnectionFailedEvent
for connection not even succeeding during attempted connection.ClientConnectionEstablishedEvent
for when the connection is established and the first messages
are about to be sent.ConnectionEvent
for all connection-related events.Most of the implementation is now customizable via replacement of individual parts. There are still a few pieces, like connectivity, that will not be swappable until 4.1.0 at the earliest but at this point you should be able to replace any individual part accessible from the builder without interrupting function of any other part.
The following API interfaces have a sub interface that should be implemented by any implementation
and allows for management of things that shouldn't be exposed in the main API: CapabilityManager
,
Client
, and ServerInfo
.
Many things were renamed for hopefully consistent naming.
CTCP
renamed to Ctcp
.
PrivateCtcpQueryEvent
, #sendCtcpMessage()
.STS
renamed to Sts
.
StsStorageManager
, #getStsMachine()
.WHOX
renamed to WhoX
MOTD
renamed to Motd
.SaslECDSANIST256PChallenge
renamed to SaslEcdsaNist256PChallenge
.Client.Builder
methods were renamed:
listenInput()
to inputListener()
.eventManagerSupplier()
to eventManager()
.ActorProvider#setQueryChannelInformation(boolean)
.TwitchListener
calls this automatically, as Twitch does not support WHO.File
to Path
.
secureKeyCertChain(Path)
and secureKey(Path)
.ChannelKickEvent
now supports being kicked by a Server
.
UnexpectedChannelLeaveViaKickEvent
thus does as well.ChannelKickByServerEvent
UnexpectedChannelLeaveViaKickByServerEvent
MessageReceiver#getLowerCaseMessagingName()
.Optional
, instead pushing creation of Optional
to getters.Version 3.3.1 of the Kitteh IRC Client Library has been released!
Client#addKeyProtectedChannel
methods from working.Version 3.3.0 of the Kitteh IRC Client Library has been released!
UserAccountStatusEvent
for when account-notify
informs the client of someone signing in or out.UserAwayMessageEvent
for when away-notify
informs the client of someone going away or returning.User
if known (via away-notify
).KittehNagException
is fired if the client uses an insecure trust manager factory.
CapabilityManager
implementation made public (DefaultCapabilityManager
).CapabilityState
implementation made public (DefaultCapabilityState
).WhoisData
implementation made public (DefaultWhoisData
).cap-notify
in CapabilityManager.Defaults
.
ServerInfo#toString()
now provides the information it contains.Version 3.2.3 of the Kitteh IRC Client Library has been released!
NullPointerException
.