To create new wiki account, please join us on #znc at Libera.Chat and ask admins to create a wiki account for you. You can say thanks to spambots for this inconvenience.

ChangeLog/1.7.0: Difference between revisions

From ZNC
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
{{ChangeLog}}
{{ChangeLog}}


<!-- last commit: 7feac398969386587147a2808ef8506b27716d22 -->
<!-- last commit: 1b69373b6b081c0391971c32fbd32d341e3a2a10 -->


// TODO: cleanup this list, reorder, recategorize, fix grammar
// TODO: cleanup this list, reorder, recategorize, fix grammar
Line 34: Line 34:
* Add network-specific config for cert validation in addition to user-supplied fingerprints: TrustAllCerts, defaults to false, and TrustPKI, defaults to true. {{GH|866}}
* Add network-specific config for cert validation in addition to user-supplied fingerprints: TrustAllCerts, defaults to false, and TrustPKI, defaults to true. {{GH|866}}
* Hide passwords in listservers output {{GH|1320}}
* Hide passwords in listservers output {{GH|1320}}
* Switch znc.in URLs to https
* Filter out ZNC passwords in output of `znc -D` {{GH|1445}}
* Make the user aware that debug mode is enabled. {{GH|1446}}
* FormatTime() now supports sub-second precision with %f. Used in awaystore, listsockets, log modules and buffer playback when client doesn't support server-time {{GH|1455}}
* Bump GCC requirements from 4.7 to 4.8. Clang requirements stay at 3.2.
* Add "AuthOnlyViaModule" global/user setting {{GH|331}}


== Fixes ==
== Fixes ==
Line 44: Line 50:
* modperl: Explain modperl that ZNC uses UTF-8 internally
* modperl: Explain modperl that ZNC uses UTF-8 internally
* Always send the users name in NOTICE when logging in. {{GH|1282}}
* Always send the users name in NOTICE when logging in. {{GH|1282}}
* Don't try to quit multiple times {{GH|1392}}
* Change default flood rates to match RFC1459, prevent excess flood problems {{GH|1416}} {{GH|1418}}
* Don't send PART to client which sent QUIT
* Use SameSite=strict cookies {{GH|1450}}
* Fix use-after-free in znc --makepem
* send failed logins to NOTICE instead of PRIVMSG {{GH|1472}}
* Stop creating files with odd permissions on solaris {{GH|1492}}
* Save channel key on user JOIN even if user was not on the channel yet {{GH|1223}}


== Modules ==
== Modules ==
Line 49: Line 63:
* alias: add DUMP command to copy your config between users {{GH|1114}}
* alias: add DUMP command to copy your config between users {{GH|1114}}
* awaystore: add -chans option which records channel highlights {{GH|851}}
* awaystore: add -chans option which records channel highlights {{GH|851}}
* blockmotd: add GetMotd command {{GH|783}}
* blockmotd: add GetMotd command {{GH|783}} {{GH|1361}}
* clearbufferonmsg: add options which events trigger clearation of buffers. {{GH|825}}
* clearbufferonmsg: add options which events trigger clearation of buffers. {{GH|825}}
* controlpanel: add the <code>DelServer</code> command. {{GH|810}}
* controlpanel: add the <code>DelServer</code> command. {{GH|810}}
* controlpanel: add $user and $network aliases {{GH|847}}
* controlpanel: add $user and $network aliases {{GH|847}}
* controlpanel: Allow reseting channel specific AutoClearChanBuffer and BufferSize settings by setting them to "-" {{GH|990}}
* controlpanel: Allow reseting channel specific AutoClearChanBuffer and BufferSize settings by setting them to "-" {{GH|990}}
* controlpanel: Change "double" to "number" {{GH|1468}}
* crypt: cover notices, actions and topics {{GH|813}}
* crypt: cover notices, actions and topics {{GH|813}}
* crypt: Don't use the same or overlapping NickPrefix as StatusPrefix {{GH|1377}}
* crypt: Don't use the same or overlapping NickPrefix as StatusPrefix {{GH|1377}}
* crypt: Add DH1080 key exchange {{GH|1378}}
* crypt: Add DH1080 key exchange {{GH|1378}}
* crypt: Add Get/SetNickPrefix commands, Hide the internal keyword from ListKeys {{GH|1382}}
* crypt: fix build with LibreSSL {{GH|1439}}
* cyrusauth: improve UI
* fail2ban: make timeout and attempts configurable, add BAN, UNBAN and LIST commands {{GH|534}}
* fail2ban: make timeout and attempts configurable, add BAN, UNBAN and LIST commands {{GH|534}}
* flooddetach: detach on nick floods {{GH|941}}
* flooddetach: detach on nick floods {{GH|941}}
Line 63: Line 81:
* log: Add options to hide joins, quits and nick changes. {{GH|601}}
* log: Add options to hide joins, quits and nick changes. {{GH|601}}
* log: stop forcing username and network name to be lower case in filenames {{GH|1171}}
* log: stop forcing username and network name to be lower case in filenames {{GH|1171}}
* log: Log user quit messages {{GH|1395}}
* missingmotd: Include nick in IRC numeric command, reduce client confusion {{GH|1399}}
* modperl: provide operator "" for ZNC::String
* modperl: provide operator "" for ZNC::String
* modperl: Honor PERL5LIB env var
* modperl: fix functions like HasPerm() which accept char {{GH|1486}}
* modpython: Disable legacy encoding mode when modpython is loaded. {{GH|1229}}
* modpython: Disable legacy encoding mode when modpython is loaded. {{GH|1229}}
* modpython: Add CQuery(s) and CServer(s) {{GH|1436}}
* modperl, modpython: support ValidateWebRequestCSRFCheck {{GH|1424}}
* nickserv: use <code>/nickserv identify</code> by default instead of <code>/msg nickserv</code>. {{GH|786}}
* nickserv: use <code>/nickserv identify</code> by default instead of <code>/msg nickserv</code>. {{GH|786}}
* nickserv: support messages from X3 services {{GH|1322}}
* nickserv: support messages from X3 services {{GH|1322}}
Line 71: Line 95:
* sasl: enable all known mechanisms by default {{GH|938}}
* sasl: enable all known mechanisms by default {{GH|938}}
* sasl: Make the first requirement for SET actually mandatory, return information about settings if no input for SET {{GH|1338}}
* sasl: Make the first requirement for SET actually mandatory, return information about settings if no input for SET {{GH|1338}}
* schat: Require explicit path to certificate.
* simple_away: use ExpandString for away reason, rename old %s to %awaytime% {{GH|1149}}
* simple_away: use ExpandString for away reason, rename old %s to %awaytime% {{GH|1149}}
* simple_away: Add MinClients option {{GH|1133}}
* simple_away: Add MinClients option {{GH|1133}}
Line 106: Line 131:
* Add clang-format configuration, switch tabs to spaces.
* Add clang-format configuration, switch tabs to spaces.
* CString::StripControls: Strip background colors when we reset foreground {{GH|1261}}
* CString::StripControls: Strip background colors when we reset foreground {{GH|1261}}
* Make chan modes and permissions to be char instead of unsigned char. {{GH|1486}}


== Cosmetic ==
== Cosmetic ==
* autoconf/makefile: alphabetically sort the modules we compile {{GH|1358}}
* autoconf/makefile: alphabetically sort the modules we compile {{GH|1358}}
* Alphabetically sort output of znc --help {{GH|1367}}
* Alphabetically sort output of znc --help {{GH|1367}}

Revision as of 15:54, 18 February 2018

← 1.6.6 ZNC 1.7.0 1.7.1 →


// TODO: cleanup this list, reorder, recategorize, fix grammar

New

  • Added pyeval module
  • Added stripcontrols module (#387)
  • Added ClearAllBuffers command (#852)
  • Build on macOS using ICU, Python, and OpenSSL from Homebrew, if available (#894)
  • Support discovery of tcl 8.6 during ./configure
  • Configs written before ZNC 0.206 can't be read anymore (#929)
  • Don't require CSRF token for POSTs if the request uses HTTP Basic auth. (#946)
  • Implement IRCv3.2 echo-message capability on the "client side" (#950)
  • Implement IRCv3.2 cap-notify, away-notify, account-notify, extended-join (#315) (#316)
  • Update capability names as they are named in IRCv3.2: "znc.in/server-time-iso"→"server-time", "znc.in/batch"→"batch". Old names will continue working for a while, then will be removed in some future version.
  • Make ZNC request server-time from server when available (#839)
  • Bump accepted line length from 1024 to 2048 to give some space to message tags
  • Add a setting to change ping timeout time, decrease the default values to fix issues when being behind NAT (#979)
  • Separate chan and query buffer size settings (#967)
  • Add an %empty% substitution in ExpandString that expands to the empty string. (#1049)
  • Add %network% to ExpandString (#1139)
  • Add /attach command for symmetry with /detach. Unlike /join it allows wildcards.
  • Set HttpOnly for session cookies (#1077)
  • Stop defaulting real name to "Got ZNC?" (#818)
  • Change output during startup (#1124)
  • show new server name when jumping server (#1147)
  • support separate SSLKeyFile and SSLDHParamFile configuration (#1192)
  • Add SNI SSL client support (#1200)
  • Add support for CIDR notation in allowed hosts list and in trusted proxy list (#207) (#1219)
  • Add CMake build. Minimum supported CMake version is 3.1. For now ZNC can be built with either CMake or autoconf. In future autoconf is going to be removed.
  • Make ZNC UI translateable to different languages, add Russian translation.
  • Add network-specific config for cert validation in addition to user-supplied fingerprints: TrustAllCerts, defaults to false, and TrustPKI, defaults to true. (#866)
  • Hide passwords in listservers output (#1320)
  • Switch znc.in URLs to https
  • Filter out ZNC passwords in output of `znc -D` (#1445)
  • Make the user aware that debug mode is enabled. (#1446)
  • FormatTime() now supports sub-second precision with %f. Used in awaystore, listsockets, log modules and buffer playback when client doesn't support server-time (#1455)
  • Bump GCC requirements from 4.7 to 4.8. Clang requirements stay at 3.2.
  • Add "AuthOnlyViaModule" global/user setting (#331)

Fixes

  • Revert tables to how they were in ZNC 1.4 (#914)
  • Remove flawed Add/Del/List/BindHost(s). SetBindHost still works. (#983)
  • Match channel names and hostmasks case-insensitively in several modules (#822)
  • Fix crash in shell module which happens if client disconnects at a wrong time (#1248)
  • Don't rewrite config in a tight loop when joining channels, add config write delay setting (#1250)
  • modperl: fix reloading of module which couldn't be loaded before
  • modperl: Explain modperl that ZNC uses UTF-8 internally
  • Always send the users name in NOTICE when logging in. (#1282)
  • Don't try to quit multiple times (#1392)
  • Change default flood rates to match RFC1459, prevent excess flood problems (#1416) (#1418)
  • Don't send PART to client which sent QUIT
  • Use SameSite=strict cookies (#1450)
  • Fix use-after-free in znc --makepem
  • send failed logins to NOTICE instead of PRIVMSG (#1472)
  • Stop creating files with odd permissions on solaris (#1492)
  • Save channel key on user JOIN even if user was not on the channel yet (#1223)

Modules

  • adminlog: make path configurable (#1001)
  • alias: add DUMP command to copy your config between users (#1114)
  • awaystore: add -chans option which records channel highlights (#851)
  • blockmotd: add GetMotd command (#783) (#1361)
  • clearbufferonmsg: add options which events trigger clearation of buffers. (#825)
  • controlpanel: add the DelServer command. (#810)
  • controlpanel: add $user and $network aliases (#847)
  • controlpanel: Allow reseting channel specific AutoClearChanBuffer and BufferSize settings by setting them to "-" (#990)
  • controlpanel: Change "double" to "number" (#1468)
  • crypt: cover notices, actions and topics (#813)
  • crypt: Don't use the same or overlapping NickPrefix as StatusPrefix (#1377)
  • crypt: Add DH1080 key exchange (#1378)
  • crypt: Add Get/SetNickPrefix commands, Hide the internal keyword from ListKeys (#1382)
  • crypt: fix build with LibreSSL (#1439)
  • cyrusauth: improve UI
  • fail2ban: make timeout and attempts configurable, add BAN, UNBAN and LIST commands (#534)
  • flooddetach: detach on nick floods (#941)
  • keepnick: improve behaviour by listening to ircd-side numeric errors (#945)
  • log: Add -timestamp option (#978)
  • log: Add options to hide joins, quits and nick changes. (#601)
  • log: stop forcing username and network name to be lower case in filenames (#1171)
  • log: Log user quit messages (#1395)
  • missingmotd: Include nick in IRC numeric command, reduce client confusion (#1399)
  • modperl: provide operator "" for ZNC::String
  • modperl: Honor PERL5LIB env var
  • modperl: fix functions like HasPerm() which accept char (#1486)
  • modpython: Disable legacy encoding mode when modpython is loaded. (#1229)
  • modpython: Add CQuery(s) and CServer(s) (#1436)
  • modperl, modpython: support ValidateWebRequestCSRFCheck (#1424)
  • nickserv: use /nickserv identify by default instead of /msg nickserv. (#786)
  • nickserv: support messages from X3 services (#1322)
  • notify_connect: Show client identification (#1195)
  • sasl: add web interface (#910)
  • sasl: enable all known mechanisms by default (#938)
  • sasl: Make the first requirement for SET actually mandatory, return information about settings if no input for SET (#1338)
  • schat: Require explicit path to certificate.
  • simple_away: use ExpandString for away reason, rename old %s to %awaytime% (#1149)
  • simple_away: Add MinClients option (#1133)
  • stickychan: save registry on every stick/unstick action, auto-save if channel key changes (#881)
  • stickychan: stop checking so often, increase delay to once every 3 minutes (#1333)
  • webadmin: allow reseting chan buffer size by entering an empty value
  • webadmin: make tables sortable. (#40)
  • webadmin: Make server editor and CTCP replies editor more fancy, when JS is enabled (#145)
  • webadmin: show per-network traffic info (#963)
  • webadmin: make the traffic info page visible for non-admins, non-admins can see only their traffic (#1020)

Internal

  • Stop pretending that ZNC ABI is stable, when it's not. Make module version checks more strict and prevent crashes when loading a module which are built for the wrong ZNC version. (#1353)
  • Allow modules to override CSRF protection. (#1180)
  • Various HTML changes (#1308)
  • Introduce a CMessage class and its subclasses (#506)
  • Add module callbacks which accept CMessage, deprecate old callbacks
  • Modernize code to use more C++11 features
  • Various code cleanups
  • Fix CSS for _default_ for Fingerprints section
  • Remove --with-openssl option from ./configure. SSL is still supported and is still configurable
  • Add OnUserQuitMessage()
  • Add OnPrivBufferStarting/Ending (#1294)
  • CString::WildCmp(): add an optional case-sensitivity argument
  • do not call OnAddUser hook during ZNC startup (#929)
  • rehash now reloads only global settings (#929)
  • Remove CAP CLEAR
  • CChan::GetNetwork()
  • CUser: add API for removing and clearing allowed hosts
  • CZNC: add missing SSL-related getters and setters
  • Add a possibility (not an "option") to disable launch after --makeconf (#257)
  • Use termios instead of deprecated getpass().
  • Add an integration test (#772)
  • Move Unix signal processing to a dedicated thread.
  • Add clang-format configuration, switch tabs to spaces.
  • CString::StripControls: Strip background colors when we reset foreground (#1261)
  • Make chan modes and permissions to be char instead of unsigned char. (#1486)

Cosmetic

  • autoconf/makefile: alphabetically sort the modules we compile (#1358)
  • Alphabetically sort output of znc --help (#1367)