Changes since ZNC 1.0 New === * ZNC has been relicensed to Apache 2.0 * Show password block in --makepass in new format * Return MaxJoins setting, it helps against server sending ZNC too many lines at once and disconnecting with "Max SendQ exceeded" * Make /znc detach case insensitive, allow "/detach #chan1,#chan2" syntax * No longer store 381 in the buffer Fixes ===== * CModule::OnMode(): Fix a stupid NULL pointer dereference * Fix NULL pointer dereference in webadmin. * Fix a crash when you delete a user with more than one attached client * Fix a random crash with module hooks * Revert "Rewrite the JOIN channel logic, dropping MaxJoins" * Fix build on some systems * Fix build of shallow git clone * Fix build of git tags * Fix OOT builds with swig files in source dir * Don't send NAMES and TOPIC for detached channels when a client connects * Fix memory leak * Consistency between Del* and Rem* in command names * Fix changing client nick when client connects. * Timezone GMT+N is really GMT+N now. It behaved like -N before. * Escape special characters in debug output (znc --debug) * Don't disconnect networkless users without PINGing them first. * Don't lose dlerror() message. * Fix use-after-free which may happen during shutdown * Fix "Error: Success" message in SSL * Fixed double forward slashes and incorrect active module highlighting. * make clean: Only delete files that can be regenerated * Don't make backup of znc.conf readable by everyone. * makepem: create pem only rw for the user, on non-win32 * Don't ever try to overwrite /usr/bin/git * Fix user modes * Request secure cookie transmission for HTTPS * "make clean" removes .depend/ * Fix support for /msg @#chan :hi * Fix saving config on some cygwin installations * Fix error message for invalid network name Modules ======= * Return old fakeonline module (accidentally removed in 1.0) as modules_online * autoattach: add string searching * autocycle: Convert to a network module * chansaver: Fix chansaver to not rewrite the config each time a user joins a channel on startup * cert: Make default type of cert mod to be network. * watch: Don't handle multiple matching patterns for each target * route_replies: Add some WHOIS numerics * block_motd: Allow block_motd to be loaded per-network and globally * notify_connect: Fixed syntax on attach/detach messages to be more consistent * cyrusauth: Fix user creation controlpanel ------------ * Support network module manipulation * Increases general verbosity of command results. * Fix bug for "Disconnect" help * Standardize error wordings webadmin -------- * Allow loading webadmin as user module. * Show instructions on how to use networks in Add Network too * clarify that + is SSL * Show example timezone in webadmin * Enable embedding network modules. * Enable embedding modules to network pages. * Change save network to show the network and not redirect user sasl ---- * Implement DH-AES encrypted password scheme. * Add missing length check * Description line for DH-BLOWFISH * Fixing unaligned accesses awaystore --------- * Fix loading old configs which refered to "away" module * Fix displaying IPv6 addresses crypt ----- * Add time stamp to buffered messages * Use ASCII for nick prefix and make it configurable nickserv -------- * Make NickServ nickname configurable. * Add support for NickServ on wenet.ru and Azzurra * nickserv: don't confuse people so much log --- * Add -sanitize option to log module. * Convert / and \ character to - in nicks for filenames. * Create files with the same permissions as the whole log directory. charset ------- * Don't try to build charset module if iconv is not found * Fix: Converted raw string include NULL character in charset module modperl ------- * A bit more debug output on modperl * Fix perl modules being shown incorrectly in the webadmin partyline --------- * Fix PartyLine so that forced channels may not be left at all - users will be rejoined at once. * Fix partyline rejoin on user deletion Internal ======== * Require SWIG 2.0.8 for modperl/modpython (removes hacks to make older SWIG work) * Web interface now supports gzip compression * Update server-time to new specs with ISO 8601 * Add a generic threads abstraction * Add CString::StripControls to strip controls (Colors, C0) from strings * Change PutModule to handle multiple lines * Debug output: Only print queued lines if they are really just queued * Add initial unit tests, runnable by "make test" * Add nick comparison function CNick::NickEquals * Force including zncconfig.h at the beginning of every .cpp * Add OnAddNetwork, OnDeleteNetwork module hooks