A new major release is finally out after a very long delay. I won’t get into excuses but this does have a fairly sizable changelog. Having been such a long release window there were a lot of areas that got some love. As always there have been a massive number of bug fixes that won’t be mentioned here.
Firstly there has been a lot of improvement in making various features equal across platforms.
Since Windows 8.1 there has been notification support built into Windows and as of this release we finally support them natively thanks to @leeter. The same treatment has also been done on OSX so we now support notifications on all platforms.
Windows 8 also added native support for spell checking without installing any external dictionaries so we can now make use of that.
Secondly a number of plugins were completely rewritten from scratch fixing numerous problems, adding requested features, and improving cross platform support.
The sysinfo plugin got a major rewrite making the plugin unified across all platforms. This added initial support for OSX, added a lot of information to the Windows plugin such as storage space and multiple gpus, and cleaned up the formatting.
The identd feature has been rewritten from scratch to be cross platform as well as fixing numerous issues and adding the abililty to customize the port. This can be configured in Settings > Preferences > Identd.
The update plugin has always been rather basic so with this release we have started using WinSparkle for updates which allow us to show a graphical update dialog showing the changelog.
A new round of specs from IRCv3 released this cycle and we have added support for a few. The most interesting of these at the moment is cap-notify. This allows for the server to dynamically add and remove new capabilities which is heavily used in an upcoming ZNC release to support various capabillities exposed by networks.
This will be a somewhat more contraversal change but this release of HexChat has made major changes to how encodings are handled. Previously if an invalid encoded message was recieved the client would always attempt to decode it as ISO-8859-1 which while possibly working would often just result in corrupted and incorrect text, now it is replaced with “�” as per the standard.
On top of that the “IRC” encoding has been entirely removed; This was a hybrid encoding that would try to support both CP1252 and UTF-8. HexChat now pushes everybody to use normal UTF-8, this might be a problem in some communities but in the long term this is a better solution that all clients can support.