v2.10.0
We're pleased to be publishing v2.10.0, a new stable release.
This release contains no changes to the config file format or database file format.
Many thanks to @csmith, @FiskFan1999, @Mikaela, @progval, and @thesamesam for contributing patches, and to @emersion, @eskimo, @FiskFan1999, @jigsy1, @Mikaela, @mogad0n, @progval, and @xnaas for reporting issues and helping test.
Config changes
- For better interoperability with Goguma, the recommended value of
history.chathistory-maxmessageshas been increased to1000(previously100) (#1919)
Changed
- Persistent voice (
AMODE +v) in a channel is now treated as a permanent invite (i.e. overriding+ion the channel) (#1901, thanks @eskimo!) - If you are
+R, sending a direct message to an anonymous user allows them to send you replies (#1687, #1688, thanks @Mikaela and @progval!) 0is no longer valid as a nickname or account name, with a grandfather exception if it was registered on a previous version of Ergo (#1896)- Implemented the ratified version of the bot mode spec; the tag name is now
botinstead ofdraft/bot(#1938) - Privileged WHOX on a user with multiclient shows an arbitrarily chosen client IP address, comparable to WHO (#1897)
SAREGISTERis allowed even underDEFCONlevels 4 and lower (#1922)- Operators with the
historycapability are now exempted from time cutoff restrictions on history retrieval (#1593, #1955)
Added
- Added
draft/read-markercapability, allowing server-side tracking of read messages for synchronization across multiple clients. (#1926, thanks @emersion!) INFOnow includes the server start time (#1895, thanks @xnaas!)- Added
ACCEPTcommand modeled on Charybdis/Solanum, allowing+Rusers to whitelist users who can DM them (#1688, thanks @Mikaela!) - Added
NS SAVERIFYfor operators to manually complete an account verification (#1924, #1952, thanks @tacerus!)
Fixed
- Having the
samodeoperator capability made all uses of theKICKcommand privileged (i.e. overriding normal channel privilege checks); this has been fixed (#1906, thanks @pcho!) - Fixed
LIST <nalways returning no results (#1934, thanks @progval and @mitchr!) - NickServ commands are now more clear about when a nickname is unavailable because it was previously registered and unregistered (#1886, thanks @Mikaela!)
- Fixed KLINE'd clients producing a
QUITsnotice without a correspondingCONNECTsnotice (#1941, thanks @tacerus, @xnaas!) - Fixed incorrect handling of long/multiline
319 RPL_WHOISCHANNELSresponses (#1935, thanks @Mikaela!) - Fixed
LISTreturning403 ERR_NOSUCHCHANNELfor a nonexistent channel; the correct response is an empty list (#1928, thanks @emersion!) - Fixed
+s("secret") channels not appearing inLISTeven when the client is already a member (#1911, #1923, thanks @jigsy1 and @FiskFan1999!) - Fixed a spurious success message in
HISTSERV DELETEby always requiring a consistent number of parameters (#1881, #1927, thanks @FiskFan1999!) - Sending the empty string as a nickname would not always produce the expected error numeric
431 ERR_NONICKNAMEGIVEN; this has been fixed (#1933, #1936, thanks @kylef!) znc.in/playbacktimestamps are now parsed as pairs of exact integers, not as floats (#1918)
Internal
- Upgraded to Go 1.18 (#1925)
- Upgraded Alpine version in official Docker image
- Fixed some issues in the example OpenRC init scripts (#1914, #1920, thanks @thesamesam!)