Version 2.1
With Version 2.1, SSL encryption is now optional. You probably shouldn't use un-encrypted connections for any sensitive information, but if you want plain text communication for whatever reason, now you can.
Client registration is now asynchronous, so clients failing to send their desired username for the registration process no longer block other clients from connecting.
Compatibility notices
- If either the certificate file or key file is left unspecified, SSL will be disabled. Servers and clients using versions 1.5 and 2.1 can connect to each other if SSL is disabled.
- Due to changes in username handling, communication between versions is not handled properly. Determining the source of a message is now handled by client handlers, so the clients don't prepend their usernames to messages. Old servers will not be able to see the source of messages sent by v2.1 clients. Servers on v2.1 will see repeated usernames when old clients send messages.