After more than 6 months of hard work, UnrealIRCd 5 is now our new “stable” branch. In particular I would like to thank Gottem and ‘i’ for their source code contributions and PeGaSuS and westor for testing releases. When we transitioned from 3.2.x to 4.0.0 there were 175,000 lines of source code added/removed during 3 years of development. This time it was 120,000 lines in only 6 months, a major effort.
This new 5.0.4 version fixes quite a number of bugs. It contains only two small feature improvements.
- When placing a SHUN on an online user it was not always effective.
- Channeldb was not properly restoring all channel modes, such as +P.
- When upgrading UnrealIRCd it could sometimes crash the currently running IRC server (rare), or trigger a crash report on
./unrealircd restart(quite common).
- UnrealIRCd was giving up too easily on ident lookups.
- Crash when unloading a module with moddata.
- Crash if an authenticated server sends wrong information (rare).
- Removing a TEMPSHUN did not work if the user was on another server.
- SAJOIN to 0 (part all channels) resulted in a desync when used on remote users.
- Forced nick change from services was not showing up if the user was not in any channels.
- New option set::hide-idle-time::policy by which you can change usermode +I (hide idle time in WHOIS) from oper-only to settable by users. More options will follow in a future release.
- In WHOIS you can now see if a user is currently (temp)shunned. This only works for locally connected users for technical reasons, so use
/WHOIS Nick Nickto see it for remote users.
- The oper notices and logging with regards to server linking have changed a little. They are more consistent and log more now.
- When an IRCOp tries to oper up from an insecure connection we will now mention the https://www.unrealircd.org/docs/FAQ#oper-requires-tls page. This message is customizable through set::plaintext-policy::oper-message.
- The French HELPOP text was updated.