What's new in UnrealIRCd 6

Below are the brief release highlights for UnrealIRCd 6. The full release notes are available here and cover more new features and other changes.


 * Completely new logging system:
 * The default snomask letters changed and you can now define your own snomasks. Server notices now have color (which can be turned off).
 * The log messages on-disk and in snomasks are now identical and include a subsystem and event ID. This makes it uniform and easier to look up fault codes.
 * The log { } block is completely redone. You need to make some changes when upgrading from U5 to U6.
 * Optional JSON logging is available for easier parsing by bots and other automated programs.
 * Almost all channel modes are now modular. Only the three list modes +beI are not. This means that you can now, for example, decide not to load halfops via . The same can be done for chanowner and chanadmin.
 * Extended bans now have names instead of letters. Eg  instead of  . They will automatically be converted when coming from clients and from/to older UnrealIRCd servers.
 * Configure WHOIS output in a very precise way. You can now decide which fields you want to expose to who through set::whois-details.
 * Remote includes are now always supported, even if not compiled with CURL support.
 * Geo IP lookups are now done by default.
 * By default the module  is loaded, which automatically receives weekly updates via unrealircd.org. Other geoip libraries and formats are also possible.
 * The GEO information shows up in, in connecting notices as   and elsewhere
 * A new extended ban  can be used by regular users.
 * It can also be used as an extended server ban, eg.  or forcing SASL authentication for a country, eg:
 * More IRCv3 features: MONITOR, draft/extended-monitor, invite-notify, setname
 * Code cleanups. Again lots of code cleanups have been done and module API changes.

If you are upgrading from UnrealIRCd 5.x to UnrealIRCd 6.x, then read Upgrading from 5.x. That article explains how to upgrade and also the effects if you run a 'mixed network", that is: with both UnrealIRCd 5 and UnrealIRCd 6 servers on the same network.