v2.9.0
We're pleased to be publishing 2.9.0, a new stable release. This release contains mostly bug fixes, with some enhancements to moderation tools.
This release includes changes to the config file format, all of which are fully backwards-compatible and do not require updating the file before upgrading. It includes no changes to the database file format.
Many thanks to @erincerys, @FiskFan1999, @mogad0n, and @tacerus for contributing patches, and to @ajaspers, @emersion, @FiskFan1999, @Jobe1986, @kylef, @mogad0n, @pcho, and @progval for reporting issues,
Config changes
- Added
lock-file, which helps protect against accidentally starting multiple instances of Ergo. This is a no-op if unset. The recommended default value isircd.lock, which (like the default datastore pathircd.db) is relative to the working directory of the Ergo process. If yourdatastore.pathis absolute, this path (if set) should be absolute as well. (#1823) +C(no channel-wide CTCP messages other than ACTION) is now a recommended default channel mode (#1851)- Added
exempt-saslboolean toserver.ip-check-script; if enabled, IP check scripts are run only for connections without SASL, improving performance for registered users (#1888) hidden: trueis now the recommended default for operator definitions (#1730)
Changed
- The semantics of
+Rhave been changed.+Rnow only prevents unauthenticated users from joining, so unregistered users who have already joined can still speak. The old semantics are still available via+RM(i.e.+Rtogether with the+M"moderated-registered" mode). (#1858, thanks @ajaspers!) - Unauthenticated users matching a
+Iinvite exception mask can now join+Rchannels (#1871) - INVITE now exempts the user from
+bbans (#1876, thanks @progval!) - NS SUSPEND now only requires only the
banoperator capability, as opposed toaccreg(#1828, #1839, thanks @mogad0n!)
Added
- SHA-256 certificate fingerprints can now be imported from Anope and Atheme (#1864, #1869, thanks @tacerus!)
- IP check scripts can now be run only for users that have not authenticated with SASL by the end of the handshake, improving performance for registered users (#1888)
- Logging into an unverified account with SASL sends the new
NOTE AUTHENTICATE VERIFICATION_REQUIREDstandard reply code (#1852, #1853, thanks @emersion!) - CS PURGE now sends a snotice (#1826, thanks @tacerus!)
- The
vsnomask is now used to send notifications about vhost changes initiated by operators (#1844, thanks @pcho!)
Fixed
- CAP LS and LIST responses after connection registration could be truncated in some cases; this has been fixed (#1872)
- Unprivileged users with both a password and a certfp could not remove their password with
NS PASSWD <password> * *as expected; this has been fixed (#1883, #1884, thanks @FiskFan1999!) - RELAYMSG identifiers that were not already in their case-normalized form could not be muted with
+b m:; this has been fixed (#1838, thanks @mogad0n!) - CS AMODE changes did not take immediate effect if
force-nick-equals-accountwas disabled and the nick did not coincide with the account; this has been fixed (#1860, thanks @eskimo!) 315 RPL_ENDOFWHOnow sends the exact, un-normalized mask argument provided by the client (#1831, thanks @progval!)- A leading
$character is now disallowed in new nicknames and account names, to avoid collision with the massmessage syntax (#1857, thanks @emersion!) - The deprecated
oparameter ofWHOnow returns an empty list of results, instead of being ignored (#1730, thanks @kylef, @emersion, @progval!) - WHOX queries for channel oplevel now receive
*instead of0(#1866, thanks @Jobe1986!)
Internal
- Updated list of official release binaries: added Apple M1, OpenBSD x86-64, and Plan 9 x86-64, removed Linux armv7, FreeBSD x86-32, and Windows x86-32. (The removed platforms are still fully supported by Ergo; you can build them from source or ask us for help.) (#1833)
- Added an official Linux arm64 Docker image (#1855, thanks @erincerys!)
- Added service management files for OpenSolaris/Illumos (#1846, thanks @tacerus!)