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.0: Difference between revisions
DarthGandalf (talk | contribs) No edit summary |
DarthGandalf (talk | contribs) No edit summary |
||
(32 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{ChangeLog}} | |||
== The Big News == | |||
=== Multiple networks per user === | |||
Think about new users as "user groups", while new networks are similar to old users. | |||
To login to ZNC, use <code>user/network:password</code> as password, or <code>user/network</code> as username. | |||
Also, you can switch between different networks on the fly using the <code>/znc JumpNetwork</code> command. | |||
When you first run ZNC 1.0, it will automatically convert your config and create a network called "default" for each user. Settings from each user are moved into these "default" networks. When you log into ZNC without setting a network, the "default" network will automatically be chosen for you. | |||
Users can create new networks up to an admin-configurable limit. By default, this limit is one network per user. | |||
Existing user-per-network setups can be migrated to the new multinetwork setup using the <code>/znc MoveNetwork</code> command. | |||
You can see a list of networks via <code>/znc ListNetworks</code> and <code>/znc ListAllUserNetworks</code>. | |||
== | === Timezones === | ||
/ | Timezone can now be configured by name, e.g. "GMT-9", or "Europe/Madrid". | ||
Old TimezoneOffset setting (which was the number of hours between the server's timezone and the user's timezone) is deprecated and should not be used anymore. Its old value is lost. The reason for this change is that the old TimezoneOffset was not trivial to count and often broke during switches to/from daylight savings time. | |||
So if you previously used the TimezoneOffset option, you now have to configure your timezone again (via the [[webadmin]] or [[controlpanel]] module). | |||
=== No more ZNC-Extra === | |||
Most modules from [[ZNC-Extra]] are now enabled in the usual installation. It was pointless to have them shipped in the tarball, but requiring user to add some weird flags to ./configure. | |||
Antiidle, fakeonline and motdfile modules are dropped. | |||
Away module is renamed to [[awaystore]] to better explain its meaning. | |||
== Fixes == | == Fixes == | ||
* Don't try IPv6 servers | * Don't try IPv6 servers when IPv6 isn't available. Use threads for non-blocking DNS instead of c-ares. | ||
* Fix debug output of identfile. | * Fix debug output of identfile. | ||
* Don't forward WHO replies with multi-prefix to | * Don't forward WHO replies with multi-prefix to clients which don't support multi-prefix | ||
* Send nick changes to clients before we | * Send nick changes to clients before we call the OnNick module hook | ||
* Don't connect to SSLed IRC servers when ZNC is compiled without SSL support | |||
* Fix check for visibility support in the compiler | |||
* Don't connect to SSLed IRC servers when ZNC is | * Fix compilation on cygwin again, including [[modperl]] and [[modpython]] | ||
* Fix check | * Support parting several channels at once | ||
* Fix | * Fix a crash in admin (now [[controlpanel]]) module | ||
* Fix webadmin to deny setting a bindhost that is not on the global list of allowed bindhosts. | |||
* Fix using empty value for defaults in user page in webadmin. | |||
== Minor Stuff == | == Minor Stuff == | ||
* Improvements to [[modtcl]] | * Rename admin module to [[controlpanel]] to make it clearer that it's not the same as admin flag of a user. | ||
* Add | * Add protection from flood. If you send multiple lines at once, they will be slowed down, so that the server will not disconnect ZNC due to flood. It can be configured and can be completely turned off. Default settings are: 1 line per second, first 4 lines are sent at once. | ||
* Modules can support several types now: a module can be loaded as a user module, as a network module ''and'' as a global module, if the module supports these types. | |||
* Rename (non-)<code>KeepBuffer</code> to <code>AutoClearChanBuffer</code> | |||
* Process starttls numeric | |||
* Improvements to [[modperl]], [[modpython]], [[modtcl]]. | |||
* Add timestamps to <code>znc --debug</code> | |||
* Listeners editor in [[webadmin]] | * Listeners editor in [[webadmin]] | ||
* Add [[sasl]] module which uses SASL to authenticate to NickServ. | |||
* Rename saslauth to [[cyrusauth]], to make it clearer that it's ''not'' needed to do SASL authentication to NickServ. | |||
* Modules get a way to describe their arguments. | * Modules get a way to describe their arguments. | ||
* webadmin: allow | * webadmin: allow editing of the bindhost without global list. | ||
* | * Don't send our password required notice until after CAP negotiation | ||
* Rewrite the JOIN channel logic, dropping MaxJoins | * Rewrite the JOIN channel logic, dropping MaxJoins | ||
* Support messages directed to specific user prefixes (like <code>/msg @#channel Hello</code>) | |||
* Show link to http://znc.in/ from web as a link. It was plain text before. | * Show link to http://znc.in/ from web as a link. It was plain text before. | ||
* Webadmin: use HTML5 numeric inputs for numbers. | * Webadmin: use HTML5 numeric inputs for numbers. | ||
* Add SSL/IPv6/DNS info to znc --version | * Add SSL/IPv6/DNS info to znc --version | ||
* Clarify that only admins can load [[shell]] module. | * Clarify that only admins can load the [[shell]] module. | ||
* [[cyrusauth]]: Allow creating new users on first login | |||
* Clear channel buffers when keep buffer is disabled if we're online | * Clear channel buffers when keep buffer is disabled if we're online | ||
* [[send_raw]]: Add a command to send a line to the current client | * [[send_raw]]: Add a command to send a line to the current client | ||
* webadmin: Implement clone user | * webadmin: Implement clone user | ||
* Add 381 to the buffer (You are now an IRC Operator) | * autoreply: Honor RFC 2812. | ||
* Add 381 to the buffer ("You are now an IRC Operator") | |||
* identfile: Pause the connection queue while we have a locked file | * identfile: Pause the connection queue while we have a locked file | ||
* autoop: Check for autoops when we | * Add <code>ShowBindHost</code> command | ||
* Improvements to [[partyline]] module | * autoop: Check for autoops when we get op status | ||
* Improvements and fixes to the [[partyline]] module | |||
* [[partyline]] Drop support for fixed channels | |||
* Check that there're modules available on startup. Check if ZNC is installed or not. | * Check that there're modules available on startup. Check if ZNC is installed or not. | ||
* Modified description field for bouncedcc module to explain what the module actually does. | * Modified description field for bouncedcc module to explain what the module actually does. | ||
* nickserv: support | * nickserv: add support for nickserv requests on wenet.ru and rusnet. | ||
* send 422 event if MOTD buffer is empty | * send 422 event if MOTD buffer is empty | ||
* route_replies: Handle | * route_replies: Handle much more replies | ||
* Clear text colors before appending timestamps to buffer lines | * Clear text colors before appending timestamps to buffer lines, add space before AppendTimestamp for colorless lines. | ||
* Don't replace our motd with a different servers motd | |||
* webadmin: Add a "Disabled" checkbox for channels | * webadmin: Add a "Disabled" checkbox for channels | ||
* Send a 464 ERR_PASSWDMISMATCH to clients that did not supply a password | |||
* Separate compilation and linking for modules. | * Separate compilation and linking for modules. | ||
* Trim spaces from end of commands to autoattach. | * Trim spaces from end of commands to autoattach. | ||
* nickserv: add ghost, recover and release | * nickserv: add ghost, recover and release | ||
* Warn if config was saved in | * Warn if config was saved in a newer ZNC version. | ||
* Backup znc.conf when upgrading ZNC. | * Backup znc.conf when upgrading ZNC. | ||
== Internal Stuff == | == Internal Stuff == | ||
* #include <znc/...h> instead of #include "...h" | * #include <znc/...h> instead of #include "...h" | ||
* Add string formatting function with named params. | * Add string formatting function with named params. | ||
* Csock: able use non-int number of secs for timer. | * Python, perl: support global, user, network modules. | ||
* Csock: able use non-int number of secs for timer. | |||
* CString("off").ToBool() shouldn't be true | * CString("off").ToBool() shouldn't be true | ||
* Python: Override __eq__ to allow comparison of strings | * Python: Override __eq__ to allow comparison of strings | ||
* python: Allow iterating over CModules | * python: Allow iterating over CModules | ||
* Add methods to CModule to get the web path | * Add methods to CModule to get the web path | ||
* Rework modperl to better integrate with perl. | * Rework modperl to better integrate with perl. | ||
* Store all 005 values in a map. | * Store all 005 values in a map. | ||
Line 73: | Line 103: | ||
* CZNC::WriteConfig(): Better --debug output | * CZNC::WriteConfig(): Better --debug output | ||
* Slight refactor of CBuffer & CBufLine. | * Slight refactor of CBuffer & CBufLine. | ||
* Implemented | * Implemented an OnInvite hook | ||
* Allow a client to become "away" | * Allow a client to become "away" | ||
* Create a connection queue | * Create a connection queue | ||
Line 79: | Line 109: | ||
* Add a config writer | * Add a config writer | ||
* Wrap MODULECALL macros in a do-while | * Wrap MODULECALL macros in a do-while | ||
* Don't require CTimer's label to be unique if its empty | |||
* Allow loading python modules with modpython (ex. modname/__init__.py) | * Allow loading python modules with modpython (ex. modname/__init__.py) | ||
* | * bNoChange in On{,De}{Op,Voice} wast incorrect | ||
* Drop znc-config, change znc-buildmod so it doesn't need znc-config | |||
Latest revision as of 09:56, 2 April 2017
← 0.206 | ZNC 1.0 | 1.2 → |
This is an old ZNC version. If you still use it, please consider upgrading to 1.9.1. |
The Big News
Multiple networks per user
Think about new users as "user groups", while new networks are similar to old users.
To login to ZNC, use user/network:password
as password, or user/network
as username.
Also, you can switch between different networks on the fly using the /znc JumpNetwork
command.
When you first run ZNC 1.0, it will automatically convert your config and create a network called "default" for each user. Settings from each user are moved into these "default" networks. When you log into ZNC without setting a network, the "default" network will automatically be chosen for you.
Users can create new networks up to an admin-configurable limit. By default, this limit is one network per user.
Existing user-per-network setups can be migrated to the new multinetwork setup using the /znc MoveNetwork
command.
You can see a list of networks via /znc ListNetworks
and /znc ListAllUserNetworks
.
Timezones
Timezone can now be configured by name, e.g. "GMT-9", or "Europe/Madrid". Old TimezoneOffset setting (which was the number of hours between the server's timezone and the user's timezone) is deprecated and should not be used anymore. Its old value is lost. The reason for this change is that the old TimezoneOffset was not trivial to count and often broke during switches to/from daylight savings time.
So if you previously used the TimezoneOffset option, you now have to configure your timezone again (via the webadmin or controlpanel module).
No more ZNC-Extra
Most modules from ZNC-Extra are now enabled in the usual installation. It was pointless to have them shipped in the tarball, but requiring user to add some weird flags to ./configure.
Antiidle, fakeonline and motdfile modules are dropped.
Away module is renamed to awaystore to better explain its meaning.
Fixes
- Don't try IPv6 servers when IPv6 isn't available. Use threads for non-blocking DNS instead of c-ares.
- Fix debug output of identfile.
- Don't forward WHO replies with multi-prefix to clients which don't support multi-prefix
- Send nick changes to clients before we call the OnNick module hook
- Don't connect to SSLed IRC servers when ZNC is compiled without SSL support
- Fix check for visibility support in the compiler
- Fix compilation on cygwin again, including modperl and modpython
- Support parting several channels at once
- Fix a crash in admin (now controlpanel) module
- Fix webadmin to deny setting a bindhost that is not on the global list of allowed bindhosts.
- Fix using empty value for defaults in user page in webadmin.
Minor Stuff
- Rename admin module to controlpanel to make it clearer that it's not the same as admin flag of a user.
- Add protection from flood. If you send multiple lines at once, they will be slowed down, so that the server will not disconnect ZNC due to flood. It can be configured and can be completely turned off. Default settings are: 1 line per second, first 4 lines are sent at once.
- Modules can support several types now: a module can be loaded as a user module, as a network module and as a global module, if the module supports these types.
- Rename (non-)
KeepBuffer
toAutoClearChanBuffer
- Process starttls numeric
- Improvements to modperl, modpython, modtcl.
- Add timestamps to
znc --debug
- Listeners editor in webadmin
- Add sasl module which uses SASL to authenticate to NickServ.
- Rename saslauth to cyrusauth, to make it clearer that it's not needed to do SASL authentication to NickServ.
- Modules get a way to describe their arguments.
- webadmin: allow editing of the bindhost without global list.
- Don't send our password required notice until after CAP negotiation
- Rewrite the JOIN channel logic, dropping MaxJoins
- Support messages directed to specific user prefixes (like
/msg @#channel Hello
) - Show link to http://znc.in/ from web as a link. It was plain text before.
- Webadmin: use HTML5 numeric inputs for numbers.
- Add SSL/IPv6/DNS info to znc --version
- Clarify that only admins can load the shell module.
- cyrusauth: Allow creating new users on first login
- Clear channel buffers when keep buffer is disabled if we're online
- send_raw: Add a command to send a line to the current client
- webadmin: Implement clone user
- autoreply: Honor RFC 2812.
- Add 381 to the buffer ("You are now an IRC Operator")
- identfile: Pause the connection queue while we have a locked file
- Add
ShowBindHost
command - autoop: Check for autoops when we get op status
- Improvements and fixes to the partyline module
- partyline Drop support for fixed channels
- Check that there're modules available on startup. Check if ZNC is installed or not.
- Modified description field for bouncedcc module to explain what the module actually does.
- nickserv: add support for nickserv requests on wenet.ru and rusnet.
- send 422 event if MOTD buffer is empty
- route_replies: Handle much more replies
- Clear text colors before appending timestamps to buffer lines, add space before AppendTimestamp for colorless lines.
- Don't replace our motd with a different servers motd
- webadmin: Add a "Disabled" checkbox for channels
- Send a 464 ERR_PASSWDMISMATCH to clients that did not supply a password
- Separate compilation and linking for modules.
- Trim spaces from end of commands to autoattach.
- nickserv: add ghost, recover and release
- Warn if config was saved in a newer ZNC version.
- Backup znc.conf when upgrading ZNC.
Internal Stuff
- #include <znc/...h> instead of #include "...h"
- Add string formatting function with named params.
- Python, perl: support global, user, network modules.
- Csock: able use non-int number of secs for timer.
- CString("off").ToBool() shouldn't be true
- Python: Override __eq__ to allow comparison of strings
- python: Allow iterating over CModules
- Add methods to CModule to get the web path
- Rework modperl to better integrate with perl.
- Store all 005 values in a map.
- Python: Use znc.Socket if no socket class is specified in CreateSocket()
- CZNC::WriteConfig(): Better --debug output
- Slight refactor of CBuffer & CBufLine.
- Implemented an OnInvite hook
- Allow a client to become "away"
- Create a connection queue
- Set default TrimPrefix to ":"
- Add a config writer
- Wrap MODULECALL macros in a do-while
- Don't require CTimer's label to be unique if its empty
- Allow loading python modules with modpython (ex. modname/__init__.py)
- bNoChange in On{,De}{Op,Voice} wast incorrect
- Drop znc-config, change znc-buildmod so it doesn't need znc-config