02 Feb 2019
Version 5.1.0 of the Kitteh IRC Client Library has been released!
Introducing, batch support!
- Holds events until the end of a batch unless rejected at the start event below.
ClientBatchStartEvent
ClientBatchEndEvent
and ClientBatchMessageEvent
for observing and controlling.
BatchReferenceTag
tracks information on a tag.
Also:
- Updated documentation to be more consistent in referencing TLS.
- Deprecated
AcceptingTrustManagerFactory
- It will be gone in 6.0.0
- Use
InsecureTrustManagerFactory
instead, not that you should.
- Added support for ISUPPORT NICKLEN and KICKLEN information.
13 Jan 2019
Version 5.0.1 of the Kitteh IRC Client Library has been released!
Two bugs fixed:
- Twitch support now properly registers event listening.
- Changing out the message sending queue before connection no longer eats outgoing messages.
- Necessary for functioning Twitch support.
01 Jan 2019
Version 5.0.0 of the Kitteh IRC Client Library has been released!
It's time for the next major release!
Client builder rework
The Client builder has had a lot of methods renamed and shifted into subclasses to allow for a clearer
flow of information. You'll want to take a look at the javadocs, but it is mostly straightforward.
Below is an example of updated simple building code:
Client client = Client.builder().nick("Kitteh").server().host("127.0.0.1").then().buildAndConnect();
Authentication refactor
The authentication classes saw a light rearrange. If you use NickServ authentication you'll need to
make some changes in your code. Check the javadocs for more information. These changes will allow
for easier future improvements.
Improved DNS resolution
Improved DNS handling is planned for a future release and the breaking change necessary
has been made in 5.0.0 to ensure this can happen before the next major release. Some InetSocketAddress
API has been replaced with a resolution-free HostWithPort
class.
Proxy support
You can now connect over a SOCKS proxy! See the proxy()
section of the builder to set that up.
Separation of listeners
KICL's default listeners (used to power the library) have been split up into lots of little listeners
that largely accomplish one goal each. This way, it is easier to swap out a single listener if you wish
to modify how KICL processes a message. You can modify this even in the builder, preventing construction,
should you wish. Check out DefaultListeners
for the list of listeners registered. KICL's Twitch code
takes advantage of the listener separation to unregister the listener for one of the earliest messages
a server sends on connection, because Twitch's IRC servers send a different message.
Twitch changes
Now you can simply call one method to apply Twitch support to your Client. TwitchSupport.addSupport()
will add the Twitch-specific listener mentioned above, add a second Twitch listener for a variety of
Twitch-related events, register the capabilities and message tags, and disables querying for channel
information that Twitch doesn't support. Call the method before you connect the Client, and you're all
set!
In addition, support for the Twitch whisper event has been added.
Other
- The JSR305 annotations have been replaced with the Checker Framework. Your IDE should seamlessly handle this.
- Start of Java Platform Module System support with an automatic name in the manifest.
org.kitteh.irc.client.library
- WebIRC support now matches IRCv3 spec and sends the command before capability requesting.
- Also took advantage of the Client builder rework to rename "user" to "gateway" to match the spec.
- The final STS capability is now supported. Draft support remains as well.
- Updated to Netty 4.1.31.
Thanks
I wish to thank the following contributors for their work on this release:
- kashike
- Client builder rework
- Authentication refactor
- JPMS support
- JSR305 to Checker Framework transition
- Bootstrap fix after proxy support was added
- Carsten (MoriTanosuke)
- Addition of SOCKS proxy support
- Tim Hagemann (kumpelblase2)
- Jos Ahrens (Zarthus)
- Updating the pom to use https links to this site
- Adam Williams (lol768)
10 Nov 2018
Version 4.0.3 of the Kitteh IRC Client Library has been released!
This release fixes a bug that caused colons at the start of a message to be inappropriately removed.
27 Apr 2018
Version 4.0.2 of the Kitteh IRC Client Library has been released!
This release fixes a bug introduced in 4.0.0 that untracked channels when any user parted them.