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
Jump to navigation
Jump to search
DarthGandalf (talk | contribs) No edit summary |
DarthGandalf (talk | contribs) No edit summary |
||
Line 6: | Line 6: | ||
== New == | == New == | ||
* | * 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. | ||
* | * Bump GCC requirements from 4.7 to 4.8. Clang requirements stay at 3.2. | ||
* | * Make ZNC UI translateable to different languages, add partial Russian translation. If you want to translate ZNC to your language, great! Please say. | ||
* Configs written before ZNC 0.206 can't be read anymore {{GH|929}} | * Configs written before ZNC 0.206 can't be read anymore {{GH|929}} | ||
* Implement IRCv3.2 echo-message capability on the "client side" {{GH|950}} | * Implement IRCv3.2 echo-message capability on the "client side" {{GH|950}} | ||
* Implement IRCv3.2 cap-notify, away-notify, account-notify, extended-join {{GH|315}} {{GH|316}} | * Implement IRCv3.2 cap-notify, away-notify, account-notify, extended-join {{GH|315}} {{GH|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. | * 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 {{GH|839}} | * Make ZNC request server-time from server when available {{GH|839}} | ||
* | * Increase 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 {{GH|979}} | * Add a setting to change ping timeout time, decrease the default values to fix issues when being behind NAT {{GH|979}} | ||
* Separate chan and query buffer size settings {{GH|967}} | * Separate chan and query buffer size settings {{GH|967}} | ||
Line 23: | Line 20: | ||
* Add %network% to ExpandString {{GH|1139}} | * Add %network% to ExpandString {{GH|1139}} | ||
* Add /attach command for symmetry with /detach. Unlike /join it allows wildcards. | * Add /attach command for symmetry with /detach. Unlike /join it allows wildcards. | ||
* Stop defaulting real name to "Got ZNC?" {{GH|818}} | * Stop defaulting real name to "Got ZNC?" {{GH|818}} | ||
* Change output during startup {{GH|1124}} | * Change output during startup {{GH|1124}} | ||
* | * Show new server name when jumping server {{GH|1147}} | ||
* | * Support separate SSLKeyFile and SSLDHParamFile configuration {{GH|1192}} | ||
* Added pyeval module | |||
* Added stripcontrols module {{GH|387}} | |||
* Added ClearAllBuffers command {{GH|852}} | |||
* Don't require CSRF token for POSTs if the request uses HTTP Basic auth. {{GH|946}} | |||
* Set HttpOnly and SameSite=strict for session cookies {{GH|1077}} {{GH|1450}} | |||
* Add SNI SSL client support {{GH|1200}} | * Add SNI SSL client support {{GH|1200}} | ||
* Add support for CIDR notation in allowed hosts list and in trusted proxy list {{GH|207}} {{GH|1219}} | * Add support for CIDR notation in allowed hosts list and in trusted proxy list {{GH|207}} {{GH|1219}} | ||
* 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}} | ||
* Filter out ZNC passwords in output of `znc -D` {{GH|1445}} | * Filter out ZNC passwords in output of `znc -D` {{GH|1445}} | ||
* Make the user aware that debug mode is enabled. {{GH|1446}} | * 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}} | * 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}} | ||
* Add "AuthOnlyViaModule" global/user setting {{GH|331}} | * Add "AuthOnlyViaModule" global/user setting {{GH|331}} | ||
* Build on macOS using ICU, Python, and OpenSSL from Homebrew, if available {{GH|894}} | |||
* Support discovery of tcl 8.6 during ./configure | |||
* Switch znc.in URLs to https | |||
== Fixes == | == Fixes == | ||
* Revert tables to how they were in ZNC 1.4 {{GH|914}} | * Revert tables to how they were in ZNC 1.4 {{GH|914}} | ||
* Remove flawed Add/Del/List/BindHost(s). SetBindHost still works. {{GH|983}} | * Remove flawed Add/Del/List/BindHost(s). They didn't correctly do what they were supposed to do, but users often confused them with the SetBindHost option. SetBindHost still works. {{GH|983}} | ||
* Change default flood rates to match RFC1459, prevent excess flood problems {{GH|1416}} {{GH|1418}} | |||
* Match channel names and hostmasks case-insensitively in several modules {{GH|822}} | * Match channel names and hostmasks case-insensitively in several modules {{GH|822}} | ||
* Fix crash in shell module which happens if client disconnects at a wrong time {{GH|1248}} | * Fix crash in [[shell]] module which happens if client disconnects at a wrong time {{GH|1248}} | ||
* Don't rewrite config in a tight loop when joining channels, add config write delay setting {{GH|1250}} | * Don't rewrite config in a tight loop when joining channels, add config write delay setting {{GH|1250}} | ||
* modperl: fix reloading of module which couldn't be loaded before | * modperl: fix reloading of module which couldn't be loaded before | ||
Line 51: | Line 52: | ||
* 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}} | * Don't try to quit multiple times {{GH|1392}} | ||
* Don't send PART to client which sent QUIT | * Don't send PART to client which sent QUIT | ||
* | * Send failed logins to NOTICE instead of PRIVMSG {{GH|1472}} | ||
* Stop creating files with odd permissions on solaris {{GH|1492}} | * 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}} | * Save channel key on user JOIN even if user was not on the channel yet {{GH|1223}} | ||
* Stop buffering and echoing CTCP requests and responses to other clients, except for /me {{GH|1488}} | * Stop buffering and echoing CTCP requests and responses to other clients with self-message, except for /me {{GH|1488}} | ||
== Modules == | == Modules == |
Revision as of 22:05, 11 March 2018
← 1.6.6 | ZNC 1.7.0 | 1.7.1 → |
This is an old ZNC version. If you still use it, please consider upgrading to 1.9.1. |
// TODO: cleanup this list, reorder, recategorize, fix grammar
New
- 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.
- Bump GCC requirements from 4.7 to 4.8. Clang requirements stay at 3.2.
- Make ZNC UI translateable to different languages, add partial Russian translation. If you want to translate ZNC to your language, great! Please say.
- Configs written before ZNC 0.206 can't be read anymore (#929)
- 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)
- Increase 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.
- 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)
- Added pyeval module
- Added stripcontrols module (#387)
- Added ClearAllBuffers command (#852)
- Don't require CSRF token for POSTs if the request uses HTTP Basic auth. (#946)
- Set HttpOnly and SameSite=strict for session cookies (#1077) (#1450)
- Add SNI SSL client support (#1200)
- Add support for CIDR notation in allowed hosts list and in trusted proxy list (#207) (#1219)
- 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)
- 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)
- Add "AuthOnlyViaModule" global/user setting (#331)
- Build on macOS using ICU, Python, and OpenSSL from Homebrew, if available (#894)
- Support discovery of tcl 8.6 during ./configure
- Switch znc.in URLs to https
Fixes
- Revert tables to how they were in ZNC 1.4 (#914)
- Remove flawed Add/Del/List/BindHost(s). They didn't correctly do what they were supposed to do, but users often confused them with the SetBindHost option. SetBindHost still works. (#983)
- Change default flood rates to match RFC1459, prevent excess flood problems (#1416) (#1418)
- 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)
- Don't send PART to client which sent QUIT
- 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)
- Stop buffering and echoing CTCP requests and responses to other clients with self-message, except for /me (#1488)
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)