Hello ngIRCd'ers!
Exactly two years have passed since ngIRCd release 24 in January 2017,
and since then, some bug fixes and minor new feature enhancements have
accumulated.
So here we go, please welcome the next stable version of ngIRCd, the
free, portable and lightweight Internet Relay Chat server for small or
private networks: ngIRCd Release 25!
You can download ngIRCd from the download section on our homepage at
https://ngircd.barton.de (mirror: http://ngircd.sourceforge.net), the
primary download locations are:
• https://github.com/ngircd/ngircd/releases
• https://ngircd.barton.de/pub/ngircd/
• http://ngircd.sourceforge.net/pub/ngircd/
The NEWS file (which you can find at https://ngircd.barton.de/doc/NEWS)
lists the following changes since the last stable release
• Implement new configuration option "MaxPenaltyTime", which configures
the maximum penalty time increase in seconds, per penalty event. Set
to -1 for no limit (the default), 0 to disable penalties altogether.
ngIRCd doesn't use penalty increases higher than 2 seconds during
normal operation, so values higher than 1 rarely make sense.
Disabling (or reducing) penalties can greatly speed up "make check"
runs for example, see below, but are mostly a debugging feature and
normally not meant to be used on production systems!
Some example timings running "make check" from my macOS workstation:
- MaxPenaltyTime not set: 4:41,79s
- "MaxPenaltyTime = 1": 3:14,71s
- "MaxPenaltyTime = 0": 25,46s
Closes #249 and #251.
• Update Xcode project for latest Xcode version (10.0)
• Allow a 5th parameter in WEBIRC. Thanks to "ItsOnlyBinary".
Closes #247.
• Only send TOPIC updates to a channel when the topic actually changed:
This prevents the channel from becoming flooded by unnecessary TOPIC
update messages, that can happen when IRC services try to enforce a
certain topic but which is already set (at least on the local server),
for example. Therefore still forward it to all servers, but don't
inform local clients (still update setter and timestamp information,
though!).
• Update Xcode project for latest Xcode version (9.2). This includes
adding missing and deleting obsolete file references.
• Handle user mode "C" ("Only users that share a channel are allowed to
send messages") like user mode "b" ("block private messages and
notices"): allow messages from servers, services, and IRC Operators,
too. Change proposed by "wowaname" back in 2015 in #ngircd, thanks!
• Allow IRC Ops and remote servers to KILL service clients: such clients
behave like regular users, therefore IRC operators and servers should
be able to KILL them: for example to resolve nick collisions.
Closes #242.
Please see the ChangeLog (https://ngircd.barton.de/doc/ChangeLog) for a
complete list of all changes, or even read the Git commit history at
GitHub (https://github.com/ngircd/ngircd) -- there you can find the our
issue tracker as well.
Have fun!
Alex