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


From ZNC
< ChangeLog
Revision as of 02:41, 4 November 2012 by DarthGandalf (talk) (update)
Jump to: navigation, search

Last update at d0b7df5ec470141a4d9849719bd466df4aadac5f

//TODO: need to reword almost every line here...

The Big News

//TODO: describe items of this section in many details.

  • Multinetwork.
  • Flood protection. Rate-limit.
  • Timezones. TimezoneOffset is deprecated.
  • ZNC-Extra no more. Drop antiidle, fakeonline and motdfile. Rename away module to awaystore to better explain its meaning.


  • Don't try IPv6 servers when IPv6 isn't available. Get rid of c-ares. Use threads for non-blocking DNS instead.
  • Fix debug output of identfile. Template:Git
  • Don't forward WHO replies with multi-prefix to unsupported clients
  • Send nick changes to clients before we use call the OnNick module hook
  • Don't connect to SSLed IRC servers when ZNC is not compiled with SSL
  • Fix check if compiler supports visibility
  • 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 bindhost not from the global list of allowed bindhosts.
  • Fix using empty value for defaults in user page in webadmin for buffer size.

Minor Stuff

  • Rename admin module to controlpanel to make it clearer that it's not the same as admin flag of a user.
  • Modules can support several types now: a module can be loaded as user module, as network module and as global module, if the module supports these types.
  • Rename (non-)KeepBuffer to AutoClearChanBuffer
  • starttls (manually for now)
  • Improvements to modperl, modpython, modtcl.
  • Add timestamp to znc --debug
  • Listeners editor in webadmin
  • 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 edit bindhost without global list.
  • Don't send our password required notice until after CAP negotiation
  • Rewrite the JOIN channel logic, dropping MaxJoins Template:Git (need to revert it?)
  • Support messages directed to specific user prefixes (like /msg @#channel Hello)
  • Show link to 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 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 are opped ourself
  • Improvements to partyline module
  • 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: support also's and rusnet's nickserv requests.
  • send 422 event if MOTD buffer is empty
  • route_replies: Handle much more replies
  • Clear text colors before appending timestamps to buffer 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 too new version.
  • Backup znc.conf when upgrading ZNC.
  • Add space before AppendTimestamp for colorless lines.

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. Template:Git
  • 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 a 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/
  • bNoChange in On{,De}{Op,Voice} wast incorrect
  • Drop znc-config, change znc-buildmod so it doesn't need znc-config