Skip to content
ZNC 0.200

Changes since ZNC 0.098

The Big News:
* Move ident spoofing from ZNC core into new identfile module.
* Move dcc handling from ZNC core into new modules bouncedcc and dcc.
* Remove the obsolete fixfreenode module.
* New module: cert
* Move away into ZNC-Extra.

Fixes:
* In ZNC 0.098 there was a memleak whenever someone JOINs a channel.
* Compile even when OpenSSL was built with 'no-ssl2'.
* Correctly handle excessive web sessions.
* Correctly save non-ASCII characters to the NV.
* Fix znc-buildmod when ZNC was compiled out of tree.
* Don't always use IPv6 when verifying the listener in '--makeconf'.

Minor Things:
* Remove a pointless MODE request which ZNC sent on every JOIN.
* Raise ZNC's timeouts.
* Log's logging path becomes configurable.
* Add a 'replay' command to away.
* Add a 'get' command to notes.
* Add '-disableNotesOnLogin' argument to notes.
* Add hostmask handling to autoattach.
* Make it possible for modules to provide additional info, e.g. providing a homepage URL.
* Various improvements to modpython.
* Hardcode a default entry for the CN in 'znc --makepem'.
* Work around Mac OS' and Solaris' brokenness.
* Make ZNC compile without 'getopt_long()'. This fixes compilation on e.g. Solaris 9 and hopefully Irix.
* Check for errors like "no space left on disk" while writing the config file.
* Improve the error handling when reading the config.
* Move module data files to own directory in the source and in installation prefix.
* Handle Listeners after SSLCertFile during startup.
* Check for required SWIG version in ./configure.
* Make it possible to use ExpandString-stuff in QuitMsg.
* znc-buildmod: Print ZNC's version number.
* Add config option 'ProtectWebSessions' which makes it possible to disable the IP check for web sessions.

Internal Stuff:
* Build modules with hidden symbol visibility.
* Clean up includes. This might break external modules.
* New 'CModCommand' for simplifiying module commands.
* Add the OnIRCConnectionError(CIRCSock *pIRCSock) module hook
* Remove config-related module hooks.
* Fix CString::Escape_n()
* Make the CUser::IsIRCConnected method check if ZNC already successfully logged in to IRC.
* and more...

Git shortlog:
* Load parameter for log module's path. (Git commit 563bce5)
* away.cpp: implement 'replay' command. (Git commit acfc740)
* away.cpp: add replay command to help message. (Git commit c39ebe3)
* Upgrade the away module to the new CModCommand interface. (Git commit 0751361)
* Update the perform command to use CModCommand. (Git commit 211bab0)
* Use a CTable to list all the commands to be performed in the perform module. (Git commit 3c030c8)
* Make the autoattach module use the new CModCommand API. (Git commit c9f5fc4)
* Move module data files to own dir. (Git commit 3a838d1)
* Remove a unnecessary check for sed inside znc-buildmod. (Git commit fa8463d)
* Add a "Get" command to the notes module which allows you to lookup a note via the key. (Git commit 0537a6c)
* Remove some pointless if statements. (Git commit d735e9d)
* Increase the version number to 0.099. (Git commit bc67400)
* Remove some evil trailing whitespaces. (Git commit 4473146)
* Make znc.cpp to be compilable again. (Git commit 36ffa16)
* Make znc compile without getopt_long. (Git commit fbe2b74)
* Move m_sHomePath from CZNC to CFile. (Git commit f9ffe6f)
* Don't try connecting users if the ISpoof is locked. (Git commit 000efa6)
* Remove CreatePem.sh as this is no longer used. (Git commit 4819c9e)
* Make lastseen use CUser::IsIRCConnected() instead of CUser::GetCurrentServer() to determine if the user is connected to a server. (Git commit 4f89834)
* If we have not seen a user in *lastseen say we never seen them. (Git commit f566548)
* Update the lastseen module to use the new CModCommand API. (Git commit 016fe49)
* Fix modperl and modpython installations. (Git commit 6db2ac8)
* Make the notes module use CModCommand. (Git commit 7188850)
* Add a option to the notes module so that you can prevent it from sending you notes when you connect. (Git commit 4303278)
* Add the OnIRCConnectionError(CIRCSock *pIRCSock) module hook. (Git commit 7162b01)
* Remove ident spoof from znc core. (Git commit 703f2cd)
* Create a identfile module, this replaces the old ident spoofing built into znc. (Git commit 51ac51a)
* Update old znc config to work with the new identfile module. (Git commit 64b89a7)
* Use pkg-config for modpython. (Git commit ba915eb)
* modpython: move CPyRetString to own header. (Git commit b8043c3)
* Fix recent commit of moving python to pkg-config. (Git commit 63250c2)
* modpython: Make strings to be stringable. (Git commit 45209ec)
* Remove config-related module hooks. (Git commit 23fb4df)
* CFile: Add an error flag. (Git commit 70358ca)
* CFile::TryExLock(): Use O_RDWR by default. (Git commit cc2d84d)
* CZNC::WriteNewConfig() check for errors. (Git commit bff969f)
* Check for errors while writing the config. (Git commit 7f3e55e)
* Improve lock file error handling. (Git commit a4d388b)
* Fix a stupid memleak. (Git commit ee9686e)
* Add __str__ methods to CModule, CUser, CChan, and CNick in modpython. (Git commit 9db98d7)
* Add __repr__ methods to CUser, CChan, CNick in modpython. (Git commit 1fc9aee)
* Make znc.py follow pep8. (Git commit 14452a1)
* Cleanup znc.py. (Git commit 233566e)
* Overhaul the config parsing. (Git commit 70c7745)
* Re-add the ISpoof{File,Format} handling which was lost. (Git commit 90fb9e8)
* Config: Fix some errors in the comment handling. (Git commit 2003465)
* Improve the handling of module load messages. (Git commit f0bf713)
* Raise our IRC connection timeouts. (Git commit d2f3b8c)
* Don't include znc.h in Listener.h. (Git commit ca36887)
* Handle Listeners after SSLCertFile. (Git commit 3fa04f8)
* Include less headers in WebModules.h. (Git commit ad442f4)
* Don't include FileUtils.h in znc.h or Modules.h. (Git commit 8e59f75)
* defines.h doesn't need main.h. (Git commit 0e0ab34)
* Move DEBUG() from Utils.h into new ZNCDebug.h. (Git commit ac5c021)
* Move CExecSock to ExecSock.h. (Git commit 1761fe7)
* Stop including FileUtils.h in any header. (Git commit 3f24f28)
* Fix compilation error introduced in 3f24f28736. (Git commit 3b671f0)
* Parse new ExecSock.h and ZNCDebug.h with SWIG. (Git commit e746438)
* Rearrange compiler/linker flags for modpython. (Git commit 299e1f1)
* Don't use poll() on Mac OS. (Git commit 72c1fa0)
* Include signal.h to make znc compile again. (Git commit 322c63c)
* Add the cert module which allows you to use a SSL certificate on outgoing IRC connections. (Git commit 8ad2d90)
* Remove a pointless status command provided by the shell module. (Git commit ea5ec84)
* Fix ConfigTest.cpp and cert.cpp so they compile. (Git commit 5cf5775)
* passwords >8chars on Solaris, nitpicky solaris LIBS. (Git commit 2c6a54b)
* Added a global config option for IP-based session protection. (Git commit a9ba402)
* Added myself to authors, in case this lands. (Git commit 5560b79)
* Make ProtectWebSessions to be checkbox in webadmin. (Git commit b8b6563)
* Csocket: Compile when SSLv2 is disabled in openssl. (Git commit e0c5c3b)
* Allow log module to get no arguments. (Git commit 37e6bbd)
* Show error for --makepem if compiled without SSL. (Git commit e127d44)
* Don't confuse people with away module. (Git commit 5ece00f)
* Update to latest Csocket. (Git commit 6e48f35)
* Wiki-Links changed, ModPython added, small optical changes. (Git commit 9aa1df1)
* Some fixes for README.md. (Git commit 54d8cd6)
* Check SWIG version in configure. (Git commit 7d912d1)
* Add bootstrap.sh as symlink to autogen.sh. (Git commit 7091937)
* WebModules: Add some more debug output. (Git commit 55ba59d)
* Warn if a *module message is ignored. (Git commit eb22965)
* Make it possible to use ExpandString-stuff in QuitMsg. (Git commit 3034d1f)
* Set errno in CListener::Listen(). (Git commit 3e591e7)
* Correctly handle excessive web sessions. (Git commit 2985efb)
* autoattach: Allow limiting by hostmask. (Git commit 6deae62)
* Rename a variable from 'string' to 'str' because 'string' shadows a global declaration. (Git commit abed808)
* Make certauth use the CModCommand API. (Git commit 66e2507)
* Make certauth accept a optional argument of the key when you add a key. (Git commit 1c0edff)
* Add a web interface to the certauth module. (Git commit 456dfde)
* Add CChan::TrimBuffer and have SetBufferCount call it. (Git commit c3a15bf)
* Rename "str" to "String" in the admin panel. (Git commit 611e086)
* Remove OnDCCUserSend module hook. (Git commit 0b360c0)
* Migrate dcc bouncing to its own module. (Git commit 8f508cb)
* Move dcc file transfers to their own module. (Git commit 16047ea)
* Use the module save path for dcc's, and remove DLPath since it is no longer used. (Git commit c635cae)
* Make schat use DCCBindHost. (Git commit d71da02)
* Do not include DCCSock in mod(perl|python). (Git commit e83e14a)
* Add regex comment for CUser::IsValidUserName(). (Git commit 4a4104a)
* Check what make should user use and ask user to do that. (Git commit 797b0a7)
* Improve the debug messages from identfile module. (Git commit ea19e3f)
* remove evil trailing white space. (Git commit 718d280)
* Redo commands for send_raw modules. Also, use the new CModCommand stuff. (Git commit 3a16fe5)
* CUser: remove some non-existant methods from the headers. (Git commit 98d8e5e)
* tabs in newlines could be removed². (Git commit d772985)
* Support compiling python modules in cwd. (Git commit 4dbd088)
* remove some more of the evil trailing white spaces & tabs. (Git commit 708366d)
* Check the for our minimum required autoconf version. (Git commit 5ca6291)
* Change a way for modules to provide description. (Git commit ad9f1f8)
* Add a way for module to customize additional info. (Git commit e6e3331)
* Modules can now provide its wiki page name. (Git commit 0c840f9)
* Add link to wiki page from any nonextra module. (Git commit 2622167)
* Support wiki pages names for perl modules. (Git commit 79e7860)
* Support wiki pages names in python modules. (Git commit f7c4f54)
* Use references instead of pointers for CModInfo. (Git commit ca97dca)
* Only export a single function from modules. (Git commit 25ce7de)
* Fix a bug in MCString::Encode(). (Git commit 554429a)
* Update to latest Csocket. (Git commit 88e7f09)
* Remove fixfreenode module. (Git commit 7ea5e1f)
* Don't fail to load if can't find fixfreenode. (Git commit 63e8d42)
* znc-buildmod: Print znc's version number. (Git commit 00024b1)
* WebMods: Set another cookie if the IP check fails. (Git commit 4fbca80)
* Update to latest Csocket. (Git commit 789f1ff)
* Fix znc-buildmod if znc was compiled out of tree. (Git commit efda366)
* Hide every symbol except ZNCModInfo from modules. (Git commit ea58912)
* Fix verifying listener in --makeconf. (Git commit 7951260)
* Broadcast an error on EMFILE. (Git commit dd56a3c)
* Don't send a MODE request when JOINing. (Git commit f1cb09b)
* Fix a memleak in CChan::AddNick(). (Git commit 9685f16)
* Make the CUser::IsIRCConnected method check if the IRC connection is authed because may of its callers expect this behaviour. (Git commit 90f741d)
* Stop asking for the host name in --makepem. (Git commit dcf357b)
* Include zncconfig.h in all headers. (Git commit 8d17f50)
* Fix module data for extra/ modules. (Git commit cb6798d)
* Fix CString::Escape_n() and add some tests for it. (Git commit da0ba75)
* Fix module data for extra/ modules for real. (Git commit e86ff32)
* Fix modp{erl,ython} installation. (Git commit 8f53d3f)
* Fix uploading a certificate in the web interface for the cert module. (Git commit 74919a8)
* cert module Allow \r\n to be inside a certificate when uploading with the web interface. (Git commit 6aa3168)