Eggdrop Changes (since version 1.6.0)

    _____________________________________________________________________

1.6.20 (July 23, 2010):

  # RC2 released on July 15th, 2010

  - Add sanity check to check-stoned event. Prevents eggdrop from
    disconnecting in case of drift timers.
  - Unwind all nested [vwait] calls before performing a restart.
    Prevents Tcl_Panic() when deleting active interpreter.
  - Make sure traces are looked up in the global scope.
  - Give eggdrop events priority over Tcl events so they can't starve it.
    Found by: CyBex / Patch by: thommey

  - Fixed a problem with channels added in the config getting deleted after
    the config is loaded.
  - The chanfile is now saved before and after rehash instead of being
    reloaded after.
    Found by: CyBex, thommey / Patch by: thommey, pseudo

  - Added mod-transfer.html to index.html
    Patch by: pseudo

  - Make sure tickle_WaitForEvent returns 1 when anything was done. This
    was not done if Tcl socket handlers were called. It is required to make
    Tcl_DoOneEvent() break out of its loop for vwait.
  - Don't use Tcl_SetServiceMode(), Tcl handles that.
    Found by: CyBex, horgh / Patch by: thommey

  - Added log_ts to the modules function table to keep modules relying on
    the old LOG_TS #define working.
    Patch by: pseudo

  - Restore socket_cleanup functionality, was broken by the notifier patch.
  - Fixed detection of eggdrop already running on startup.
    Found by: CyBex / Patch by: thommey

  # RC1 released on July 7th, 2010.

  - Changed the URL of gseen.mod in docs.
  - Fixed a minor problem with special dcc handles like (telnet), (dns), etc.
    Patch by: pseudo

  - Added a -raw argument to tcl_putdcc().
  - Modified putdccraw in compat.tcl to use putdcc -raw.
    Patch by: pseudo

  - Added few contributors to the THANKS file.
    Patch by: pseudo

  - Ran misc/killwhitespace and misc/runautotools
  - Prevent uninitialized memory access that became visible due to the
    notifier overwrite. Use memmove when strcpy targets overlap.
  - Overwrite the Tcl notifier with our own version of it if possible.
    Integrates Tcl events and sockets into our own eventloop and socketlist,
    causing Tcl events happen without delay. It is thread-aware.
  - If the Tcl notifier is overwritten, don't fork() before initializing
    Tcl anymore. This used to be required to prevent hangs on startup.
  - Replace the constant max-dcc upper limit with a dynamically enlarging
    array that increases up to a new setting called max-socks. max-socks
    also limits the number of Tcl socket connections (per thread).
  - Added two configure checks against the Tcl library to check if it's
    possible to replace the notifier.
    Patch by: thommey

  - Modified compat.tcl version of time to allow accessing Tcl's time
    command if any arguments are passed to it.
    Patch by: Pixelz

  - Removed root uid check when compiled on Cygwin, as it was reported to
    cause problems for some cygwin installations, while it doesn't provide
    any protection, as administrator accounts appear as non-zero uids anyway.
    Found by: FireEgl / Patch by: pseudo

  - Channels added in the config are no longer static. Added access to the
    static flag via new channel setting, available to permanent owners only.
  - Removed the example channel adds from eggdrop.conf.
    Patch by: pseudo

  - Changed some eggdrop.conf settings. .set and .tcl are no longer unbound
    by default.
  - Made .+chan check if the user is permitted to set the need-* settings.
    Patch by: pseudo

  - Fixed a crash when restarting, related to bind log.
    Patch by: pseudo

  - Modified cron_match() to match Sunday as both 0 and 7.
  - Fixed some spelling errors.
    Patch by: pseudo

  - Added new Tcl command 'matchstr' as a simplified alternative to Tcl's
    string match.
    Found by: thommey / Patch by: pseudo

  - Modified the uptime module to send packets at a random interval, with
    per-second resolution, to reduce the peak traffic and load on the uptime
    server.
    Patch by: grnbrg

  - Added a configure option to set the handlen while keeping compatibility with
    the older method of editing eggdrop.h directly.
  - Added a configure option to enable dns debugging and made it default for
    make debug.
  - Removed obsolete check for broken sscanf from configure.
    Patch by: pseudo

  - Added missing mod-transfer.html
    Patch by: mike.ds

  - Added a new bind LOG triggered when text is sent to the logs.
    Patch by: pseudo

  - Fixed a bug in checking user priviledges for .chaddr on sharebots.
    Patch by: thommey

  - Added a new bind CRON as a crontab-like alternative to bind TIME.
    Fixes Bugzilla Bug # 477 "bind time enhancement"
    Patch by: pseudo

  - Removed some CYGWIN_HACKS that aren't needed anymore.
    Patch by: FireEgl

  - Fixed dns.mod SIGBUS crashes on 64-bit Sparc.
    Fixes Bugzilla Bug # 454 "Eggdrop crashes on sun sparc running debian etch"
    Found by: soraver / Patch by: pseudo

  - Got rid of some compile warnings related to passing possibly signed chars
    to tolower().
    Patch by: pseudo

  - Changed the definition of the 'Function' type to avoid data loss with
    functions returning 64-bit types. 64-bit builds will no longer crash due
    to pointers being truncated to 32 bits. Created new function pointer type
    'IntFunc' for use only with functions returning int.
    Fixes Bugzilla Bug # 485 "64-bit eggdrop builds crash on some systems"
    Patch by: pseudo

  - Fixed a minor notes.mod formatting bug when displaying dcc usage.
    Found by: Johannes13 / Patch by: thommey

  - Renamed list_delete/list_append/list_contains functions to egg_list_* due
    to request to avoid conflicts with MySQL headers.
    Found by: BarkerJr / Patch by: pseudo

  - Updated module versions and dependencies for the console, channels, irc
    and server modules.
    Patch by: pseudo

  - Don't assume cidr notation for hostmasks with slashes, unless the string
    portion after the slash consists only of digits.
    Found by: simple / Patch by: pseudo

  - Fixed the STRIP_ALL flag used with strip_mirc_codes() to actually work.
    Found by: T3256 / Patch by: pseudo

  - Added runtime check using Tcl_GetCurrentThread() to autodetect a
    threaded Tcl library when compiled and linked against Tcl 8.1 and later.
  - Replaced EGG_TCL_ENABLE_THREADS and EGG_TCL_CHECK_THREADS autoconf
    macros with EGG_TCL_CHECK_GETCURRENTTHREAD.
    Patch by: Tothwolf

  - Fixed a bug in fixfrom(), breaking userhost matching.
    Found by: Tothwolf, thommey
  - Fixed a bug in telnet autodetection, which prevented cvs bots from linking
    reliably with bots running older versions.
    Found by: FireEgl, Tothwolf
    Patch by: pseudo

  - Replaced the LOG_TS definition with a config variable "timestamp-format",
    defaulting to "[%H:%M:%S]".
  - Added support for silent backups and logfile switching with higher
    quiet-save values.
    Patch by: pseudo

  - Moved strict-host documentation to the core section, where it belongs and
    added a warning to discourage it's usage in the future.
  - Rewrote fixfrom() to not modify it's string argument.
    Fixes Bugzilla Bug # 423 "Enforcement of Non-matching Bans"
    Found by: BarkerJr / Patch by: pseudo

  - Added CIDR support to eggdrop. This includes accepting and matching b/e/I
    masks and user hosts in cidr notation.
  - Moved rfc_toupper from wild_match() to the new addr_match().
  - Added two new Tcl commands - matchaddr and matchcidr to provide interface
    to the new internal host matching.
    Patch by: pseudo

  - Changed GetInt / GetIntFromObj's Tcl_Interp argument to NULL in
    tcl_resultint() to avoid an unneeded error message being stored in the
    interp result.
    Patch by: pseudo

  - Modified various checks to allow non-latin characters in handles. Added
    missing checks to tcl_adduser() and tcl_chhand().
  - Added telnet autodetection to src/dcc.c. Made changes to stop interpreting
    telnet codes from bots. Reworked telnet handlers to properly understand
    and escape character 0xff in data.
    Fixes Bugzilla Bug # 419 "droped chars when sharing"
    Patch by: pseudo

  - Various minor docfixes.
    Patch by: pseudo

  - Updated copyright dates.
    Patch by: pseudo

  - Fixed a potential crash in read_lang() with lines > 512 characters in
    language files. Added support for lines of unlimited size.
    Patch by: pseudo

  - Moved console flags validation from cmd_console() to a separate function
    check_conflags().
  - Added calls to check_dcc_attrs() / check_dcc_chanattrs in tcl_chattr()
    to make the behaviour consistent between all chattr functions.
  - Added calls to check_conflags() in check_dcc_attrs/check_dcc_chanattrs()
    and chon_console() in order to ensure users will not retain privileged
    console flags if their access gets downgraded.
    Fixes Bugzilla Bug # 133 ".chattr / .console bug"
    Found by: DarkReap1 / Patch by: pseudo

  - Introduced new config variable allow-ps to allow chanmode optionally
    enforce both +ps at the same time.
    Fixes Bugzilla Bug # 414  "channel modes +s and +p on ts5 network" 
    Found by: Ofloo / Patch by: pseudo

  - Modified reset_chan_info() to support independent reset of various
    information through flags. Updated tcl_resetchan() to make use of this.
  - Removed redundant TOPIC requests and optimized the channel join/reset code
    to ask for b/e/I modes in one message.
  - Added safety checks after some mode bind triggers to avoid accessing freed
    memory and not up-to-date flag records.
  - Added two new Tcl commands: resetchanidle and resetchanjoin.
  - Modified the channel reset logic to perform live updates on the member list
    without deleting and readding members. Channel mode changes with the bot as
    a target now trigger mode binds without initial blind delays during channel
    join/reset.
    Fixes Bugzilla Bug # 385 "MODE - bug, when bot just joined the chan"
    Found by: gernot@rockstarvienna.com / Patch by: pseudo

  - Modified build_flags() to not repeat global bot flags when both bot
    and chan flags are requested.
  - Fixed tcl_botattr() and tcl_chattr() to return only bot-specific or
    user-specific flags respectively.
    Fixes Bugzilla Bug # 484 "botattr tcl command returns bot channel flags
    incorrectly"
    Found by: Pixelz / Patch by: pseudo

  - Make _wild_match_per more flexible with dynamic comparison functions.
  - Make mode binds case-sensitive for the mode change. Fixes Bug # 476.
    Patch by: thommey

  - Only whine once about the opless state of a channel. Fixes Bug # 483.
    Patch by: thommey

  - Fixed some spelling errors in the documentation.
  - Improved the description of the getchanjoin Tcl command in the docs.
    Patch by: pseudo

  - Modified cmd_mns_host() to allow masters use -host even if they are +d/+k.
    Fixes Bugzilla Bug # 446 "channel flag +d/+k prevents using of .-host even
    if using against others"
    Found by: De Kus / Patch by: pseudo

  - Replace deprecated Tcl result access method. Fixes Bug # 472.
    Patch by: thommey

  - Added a new bind "OUT" to server.mod. Triggered when a message is sent to
    the server.
  - Modified tcl_putnow() to support sending of multiple lines at once.
  - Changed tcl_putdccraw() to always return an error. It's deprecated
    in favor of putdcc / putnow.
  - Added a putdccraw replacement to scripts/compat.tcl
    Patch by: pseudo

  - Added stricter argument checking to tcl_logfile().
    Fixes Bugzilla Bug # 432 "Logfile Tcl Command Lacks Validation"
  - Replaced a sequence of unsafe calls to strcat() with a snprintf().
    Found by: Tothwolf / Patch by: pseudo

  - Made eggdrop log the channel name for /MSG GO commands.
    Fixes Bugzilla Bug # 452 "Failed GO Messages Should Include Channel Name"
    Found by: BarkerJr / Patch by: pseudo

  - Added bugreporter names for recent patches to doc/Changes1.6.
    Patch by: pseudo

  - Fixed bugs in the tcl_eggserver() and next_server() logic.
    Fixes Bugzilla entry #468 ".jump fails if the server list is empty,
    even when a server name is supplied."
    Found by: dan@dannet.org / Patch by: pseudo

  - Added a msg-rate config variable, to replace the current #define msgrate
    in server.mod.
  - Added new command [putnow] for bypassing the queueing system to be used
    instead of [putdccraw]. Equivalent to [putserv noqueue] in eggdrop 1.9.
    Patch by: pseudo

  - Fixed a reversed pointer check in join_notes().
    Fixes Bugzilla Bug # 455 "Possible segment violation in join_notes"
    Found by: NML_375 / Patch by: pseudo

  - Made eggdrop request ban/invite exception lists when (half)opped,
    if getting them on join fails.
    Fixes Bugzilla Bug # 465 "channel exempts not loaded properly on EFNET"
    Found by: bugzilla@logicalsolutns.com / Patch by: pseudo

  - Replaced a mistaken typecast with the proper one and eliminates the last
    remaining compile warning.
    Fixes Bugzilla Bug # 450 "some warning during compile"
    Patch by: pseudo

  - Added dccwhois.tcl, quotepass.tcl and quotepong.tcl to scripts/CONTENTS.
    Fixes Bugzilla Bug # 480 "scripts/CONTENTS missing data"
    Found by: Aric / Patch by: pseudo

  - Updated msg/irc.help to include /MSG commands available to halfops.
    Fixes Bugzilla Bug # 475 "halfop and dehalfop missing from message
    help display"
    Found by: mike.ds@tiscali.co.uk / Patch by: pseudo

  - The KEY msg command now logs on success. Fixes Bugzilla # 482
    Found by: Rickard Utgren / Patch by: Freeder

  - Removed blank at the end of wrong args tcl error for restart/rehash
    Patch by: thommey

  - Fixed a number of compiler warnings due to recent versions of GCC.
    Fixes Bugzilla Bug # 450 "some warning during compile"
    Found by: Stoebi / Patch by: pseudo

  - Fixed potential buffer overflow in readuserfile() that can occur on a
    leaf bot when a hub attempts to share ban/invite/exempt masks for a
    large number of channels that the leaf does not monitor.
    Fixes Bugzilla Bug # 471 "Buffer overflow in src/users.c"
    Found by: FireEgl / Patch by: pseudo

  - Updated masktype selection documentation for tcl_maskhost and ban-type.
    Patch by: pseudo

  - Added masktype selection to tcl_maskhost and ban-type configuration
    setting to set default banmask type for each channel.
    Patch by: pseudo

  - Added AUTHORS file that documents the developers, major contributors,
    and groups who've developed and maintained Eggdrop.
  - Added THANKS file that contains a full list of Eggdrop contributors.
  - Updated files to reference doc/Changes1.6 instead of doc/UPDATES1.6.
    Patch by: Tothwolf

  - Corrected and unified even more duplicate contributor names in the
    doc/Changes files.
  - Added some missing contributor names and patch information.
  - Further expanded 1.1.x information in doc/Versions.
    Patch by: Tothwolf

  - Fixed a remote DoS in the CTCP parsing code introduced by the servmsg.c
    buffer overflow patch by Nico Golde.
    Reference: Secunia Advisory: SA35104
    Reference: CVE-2009-1789
    Patch by: thommey

  - Added scripts/dccwhois.tcl Tcl script. This script enhances the built-in
    dcc '.whois' command to allow all users to '.whois' their own handle.
    Patch by: Tothwolf

  - Reverted "Allow any user to .whois their own handle." 1.6.16 changes. 
    These changes broke '.whois' behavior in that previously a global op or
    channel op had full access to '.whois'. After the changes only a global
    op or channel master could use '.whois' on other handles. The hard
    coded access flag checks also made it impossible to rebind the '.whois'
    command with different access flags.
    Patch by: Tothwolf

  - Removed 'Maintainer:' hacks from the doc/Changes files. Switched to
    using '# Released by:' and '# Patch by:' for processing now.
  - Further expanded 1.0, 1.1alpha, and 1.1.x information.
    Patch by: Tothwolf

  - Fixed even more typos and other errors in the doc/Changes files.
  - Greatly expanded the 1.1alpha sections in Changes1.1 and Versions.
  - The 1.1alpha+lincoln and 1.1alpha+grant entries were reversed and
    mislabeled in Changes1.1.
    Patch by: Tothwolf

  - Fixed tons of typos and formatting problems in the doc/Changes files.
  - Corrected and unified lots of duplicate contributor names; Robey used
    lowercase names in earlier versions and Beldin tended to use camel case.
  - These changes will allow for semi-automated processing of the
    doc/Changes files to build a much more complete contributors list.
    Patch by: Tothwolf

  - Refactored channels_report() and simplified the channel status
    information for the .status command.
    Patch by: Tothwolf

  - Added support for irc numeric 465 ERR_YOUREBANNEDCREEP so a server ban
    reason (for a Kline, Gline, etc) can be seen and logged.
    Found by: Tothwolf / Patch by: bryand, Tothwolf

  - Added missing fclose() to tout_dcc_send()
    Fixes the socket leak in the transfer module.
    Found by: C4thY, various / Patch by: bryand

  - Added support to BADARGS macro to accept -1 for unlimited arguments.
  - Modified tcl_getuser(), tcl_setuser(), and tcl_channel() to use -1 for
    BADARGS instead of 999.
  - Changed FLGS to FLAGS in tell_binds() for .binds command output.
    Patch by: Tothwolf

  - Modified tell_user() to use YYYY-MM-DD ISO 8601 date format. This
    corrects the LAST date shown for the .whois and .match commands.
    Fixes Bugzilla Bug # 470 "Dates in Whois/Match Don't Show Years"
    Found by: BarkerJr / Patch by: Tothwolf

  - Added .vbottree command help section to cmds2.help.
    Fixes Bugzilla Bug # 464 ".help vbottree not working"
    Found by: Wanderer / Patch by: Tothwolf

  - Fixed global variable names used with Tcl_SetVar() / Tcl_VarEval() --
  - Made assoc module use $_chan instead of $chan
  - Made tell_user() use $_user instead of $user
    Patch by: Tothwolf

  - Moved the variable declaration for tcl_maskhost() to the top of the
    function where it should be. The tcl_maskhost patch prevented
    tcl_maskhost() from compiling with many non-GCC and older GCC compilers.
    Found by: simple / Patch by: Tothwolf

  - Removed Solaris RANDMAX autoconf hack.
  - Added proper preprocessor checks for RANDOM_MAX and RAND_MAX.
  - Added autoconf tests and preprocessor checks for rand() and lrand48().
  - Simplified randint macro to make it faster.
  - Added argument sanity checking for tcl_rand() / Tcl [rand] command.
  - Added min:max value sanity checking in irc.mod set_delay(). This should
    match the aop-delay behavior documented in eggdrop.conf now.
    Patch by: Tothwolf

  - More minor autoconf changes.
  - Context and ContextNote should use 'do {} while (0)' instead of '{}'.
  - Put Context init code into an #ifdef DEBUG_CONTEXT block.
    Patch by: Tothwolf

  - Updated doc/Versions and added more milestone information.
  - Misc doc updates and fixes.
    Patch by: Tothwolf

  - Added doc/Changes* files created from all the various UPDATES* files
    that were available. Change history after 0.7d (April 11, 1994) to 0.9
    (July 23, 1994) seems to have been lost but it may eventually be located.
  - Added doc/Versions file that contains a list of Eggdrop versions,
    release dates, and other important notes in reverse chronological order.
    Patch by: Tothwolf

  - Require autoconf 2.60 now.
  - Added AC_PRESERVE_HELP_ORDER macro to configure.ac
  - Added new autoconf macros to aclocal.m4 and configure.ac:
    EGG_DEBUG_ENABLE EGG_DEBUG_DEFAULTS EGG_DEBUG_OPTIONS EGG_DEBUG_CFLAGS
    EGG_ENABLE_DEBUG_CONTEXT
  - Added new configure options: --enable-debug --enable-debug-mem
    --enable-debug-assert --enable-debug-context
  - Replaced ENABLE_STRIP define with DEBUG
  - DEBUG_CONTEXT is now defined in config.h instead of eggdrop.h
  - Refactored DEBUG and DEBUG_CONTEXT conditional code in main.c.
  - Don't default set unlimited core file size for non-debug builds.
    Patch by: Tothwolf

  - Added EGG_APPEND_VAR and EGG_CHECK_ICC autoconf macros to aclocal.m4.
  - Replaced autoconf 'var="$var <string>"' with EGG_APPEND_VAR macro.
  - Replaced no_pipe and no_wall variable hacks with a proper test for the
    Intel C Compiler (icc).
  - Put '-pipe' in CFLAGS not CC.
  - Added GPL header to AH_TOP macro in configure.ac for config.h.in.
  - Removed unused std_args.h header check and HAVE_STD_ARGS_H conditionals.
    Patch by: Tothwolf

  - Refactored root Makefile.in variables.
  - Removed unnecessary '-g' flag from LD variables (-g is ignored).
  - Renamed DEBCFLAGS to DEBCFLGS
  - Moved -g3 compiler flag to DEBCFLGS variable.
  - Removed double quoting "`command`" in autoconf macro tests.
  - Changed autoconf macro 'test ! foo = bar' tests to 'test foo != bar'. 
    Both are portable but '!=' is now more common in autoconf macros and is
    easier to read.
    Patch by: Tothwolf

  - Fixed EGG_PROG_HEAD_1 autoconf macro cache checking. You can't use
    AC_MSG_RESULT() within AC_CACHE_VAL().
  - Moved --enable-strip configure check from EGG_PROG_STRIP to its own
    macro: EGG_ENABLE_STRIP()
    Patch by: Tothwolf

  - Bot would send 'JOIN #chan ' to the server with trailing whitespace
    when joining channels that didn't require a key.
    Found by: simple / Patch by: Tothwolf

  - Make check_expired_chanstuff() use DP_SERVER instead of DP_MODE for JOIN.
    Found by: simple / Patch by: thommey

  - Refactored reset_chan_info() to make it a little easier on maintainers.
  - Removed a useless '\r' from the dprintf() TOPIC check in
    reset_chan_info(). This was from the "Request topic on channel reset"
    patch in 1.6.18, which re-added the TOPIC check that someone
    needlessly removed in 1.6.7.
  - got_halfop() was improperly checking !me_op() to see if it should call
    recheck_channel(). Now it checks !me_halfop() in addition to !me_op()
  - Removed duplicate code in got_deop() for hidden +v / +h checking.
    No need to duplicate the entire test, just add 'CHANHALFOP'.
    Patch by: Tothwolf

  - Set CHAN_PEND when calling refresh_who_chan() to avoid possibly sending
    extra WHO requests to the server if a WHO was already sent.
    Found by: Tothwolf / Patch by: thommey

  - Always send a "WHO chname" instead of sending a "WHO nick" which doesn't
    have the same behaviour across all irc daemons.
  - Improved use_354 support as we weren't using it everywhere we could.
    Patch by: thommey

  - Minor documentation updates
    Patch by: skiidoo

  - Updated exec magic tricks in the autobotchk and weed scripts.
  - Check for a working 'grep -E' before resorting to 'egrep'.
  - Use "$0" ${1+"$@"} in place of "$0" "$@" to avoid problems with broken
    sh implementations that expand "$@" into a single empty argument when
    there are no other arguments.
    Patch by: Tothwolf

  - Make custom configure warning messages' prefix match AC_MSG_WARN.
  - Fixed broken EGG_TCL_CHECK_HEADER macro Tcl header 'not found' message.
  - Don't use "${var-x}" in place of "x$var". The use of "x$var" is more
    portable and standard practice in autoconf macros.
  - Added AC_CANONICAL_* macros to EGG_OS_VERSION in preparation to move
    from our old 'uname -s' and 'uname -r' hacks to a canonical triplet.
    Patch by: Tothwolf

  - Completely rewrote EGG_TCL_CHECK_THREADS autoconf macro to make the
    --enable-tcl-threads and --disable-tcl-threads threaded Tcl library
    configure options more robust.
  - Fixed --enable-tcl-threads configure option so it will enable threaded
    Tcl library support even if we don't autodetect a threaded Tcl library.
  - Explicitly offer both --enable-tcl-threads and --disable-tcl-threads
    configure options that can forcefully enable or disable threaded Tcl
    library support. Previously either worked but only showing
    --disable-tcl-threads in --help could be confusing.
  - Added code to print an explicit message to show if threaded Tcl library
    support will be enabled or not.
  - We no longer link against pthread library unless threaded Tcl library
    support is enabled.
    Patch by: Tothwolf

  - Added argument checking to randstring proc in alltools.tcl to make it a
    little more robust.
    Found by: thommey / Patch by: Tothwolf

  - Modified releaseprep script to run cvs2cl so we will (hopefully) have an
    up-to-date ChangeLog file before each release.
    Patch by: Tothwolf

  - Updated config.guess and config.sub build system triplet detection
    scripts to the latest versions.
    These were nearly 7 years old and way overdue for an update.
    Patch by: Tothwolf

  - Minor raw logging fix when the server sends the command
    Found by: simple / Patch by: guppy

  - tcl_maskhost could crash the bot
    Patch by: pseudo

  - Changed some JOINs to use DP_SERVER instead of DP_MODE
    Found by: Komandar / Patch by: guppy


1.6.19 (April 18, 2008):

  - Update the recommended Tcl version to 8.5
    Patch by: guppy

  - Updated Copyright dates
  - Added [sL] and thommey to the AUTHORS file
    Patch by: guppy

  - Load blowfish by default
    Patch by: guppy

  - Added a Tcl script to handle the PONG :<cookie> junk on some EFnet servers
    Coded by: simple, [sL], guppy

  - Add a simple Tcl script to handle the PASS <numbers> junk on some Undernet
    servers
    Coded by: simple, [sL], guppy, Freeder

  - Add support for chanmode +T
    Patch by: thommey

  - CTCP parsing was broken by the servmsg.c buffer overflow patch
    Patch by: thommey

  - Fixed a couple of typos in the FEATURES file.
    Patch by: Tomas Szaniszlo

  - Fixed two potential buffer overflows in servmsg.c
    Reference: Secunia Advisory: SA25276
    Reference: CVE-2007-2807
    Found by: Bow Sineath / Patch by: Nico Golde, Wcc

  - Fixed compatibility problems with certain time_t implementations.
    Found by: various / Patch by: Tothwolf

  - Complete raw traffic wasn't getting logged in some cases; only the raw
    command itself was. Fixed.
    Patch by: mrBuG


1.6.18 (July 9, 2006):

  - Look for Tcl in /lib64 and /usr/lib64.
    Patch by: Kuja

  # RC1 released on April 3rd, 2006.

  - Fixed a type conversion problem in snprintf.c causing Eggdrop to not
    compile on OSF1.
    Found by: Joker / Patch by: Wcc

  - Detect NetBSD Tcl in /usr/pkg/lib and /usr/pkg/include.
    Found by: mish / Patch by: Wcc

  - Fixed possibility of referencing a NULL pointer in rembot().
  - Added a missing param cast for dcc_table.timeout.
  - Fixed a memleak / other nasty stuff when MODES_PER_LINE_MAX != 6.
  - Fixed putlog() of an uninitialized (and incorrect) variable in
    dcc_telnet_hostresolved().
    Patch by: bryand

  - Valgrind doesn't bitch about init_uptime() now.
    Patch by: Wcc

  - Dns.mod should compile on Mac OS X now. Thanks to Netscrape @ EFnet for
    testing.
    Found by: various / Patch by: Wcc

  - Corrected nat-ip setting documentation.
    Found by: BarkerJr / Patch by: Wcc

  - Don't allow realname to be blank or whitespace.
    Found by: Jesse M. / Patch by: BarkerJr, Wcc

  - Fixed an error in channel get. You can now, correctly, do a
    channel get #channel stopnethack-mode.
    Found by: Chris Northwood / Patch by: Wcc

  - The pushmode command should work properly for bans now.
    Patch by: thommey

  - Apparently we broke lastbind.
    Found by: bUrN / Patch by: thommey

  - Request topic on channel reset.
    Found by: De Kus / Patch by: darko``

  - Fixed a situation where noshare could be set to 1 and never restored.
    Patch by: bryand

  - Fixed a socklist leak in net.c.
    Patch by: bryand

  - Hopefully fixed dns lockups.
    Found by: various / Patch by: Sven

  - Fixed remote note bug in add_note() that was introduced in 1.6.17.
    Fixes Bugzilla Bug # 433 "Remote Notes Always Say User is Offline"
    Found by: alex323 / Patch by: Tothwolf

  - Completely rewrote check_tcl_bind().
  - Added inline check_bind_flags() for flag checking for check_tcl_bind().
  - Added inline check_bind_match() for match checking for check_tcl_bind().
  - Rewrote trigger_bind() and made it inline for check_tcl_bind().
  - Fixed pointless calling of nmalloc() and nfree() for ContextNote in
    trigger_bind() when DEBUG_CONTEXT isn't defined.
  - Moved findidx() from tcl.c to dccutil.c.
  - Moved findanyidx() from tclhash.c to dccutil.c.
  - Moved CHECKVALIDITY from tclhash.h to tclegg.h.
  - Added CHECKVALIDITY checks to builtin_dcc() and builtin_fil().
  - Moved CMD_LEAVE from cmdt.h to tclegg.h.
  - Changed NULL to CMD_LEAVE for partyline quit in cmds.c.
  - Renamed BIND_EXEC_BRK to BIND_QUIT.
  - Fixed misc typos.
    Patch by: Tothwolf

  - Added support to MSGM, PUBM, NOTC, and WALL binds to support bound procs
    returning 1 to prevent logging of the trigger message text.
    Fixes Bugzilla Bug # 334 "msgm bind return values"
  - Added BIND_STACKRET bit mask and support for stacked bind return values
    to check_tcl_bind(). This allows check_tcl_bind() to check if any
    stacked bound procs return 1 while allowing all matching stacked binds
    to be processed. Previously if BIND_WANTRET was used to check the return
    value of stacked binds, only the first match would be triggered.
  - Modified irc.mod gotmsg() function to trigger PUBM binds before
    triggering PUB binds. MSGM and MSG binds already worked this way.
  - Modified irc.mod gotmsg() function to allow a message to trigger both
    PUBM and PUB binds. Previously if a message triggered a PUB bind, any
    PUBM binds that might match the message text would not be triggered.
    Fixes Bugzilla Bug # 351 "bind pub hogs pubm"
  - Added exclusive-binds setting and code to gotmsg() functions to allow
    MSGM and PUBM binds to be exclusive of MSG and PUB binds.
  - Fixed logging for WALL bind. It had been broken since it was originally
    implemented in eggdrop-hayes. Wallops messages were always logged
    regardless of the return value of a bound proc. Returning '1' from a
    bound proc now causes Eggdrop to not log the Wallops message.
    Patch by: Tothwolf

  - Check for Tcl 8.5 before older versions.
    Patch by: Tothwolf

  - Use flagrec_eq() instead of flagrec_ok() in help_subst()
    since lower flags are automatically added now.
    Patch by: Tothwolf

  - Check for bot's nick and user@host earlier in detect_flood()
    and detect_chan_flood().
    Patch by: Tothwolf

  - Allow wildcard matching and stacking for note binds.
    Patch by: Tothwolf

  - Use CHANMETA to define valid channel prefixes in gotmsg().
    Fixes Bugzilla Bug # 422 "channel prefix bug in src/mod/irc.mod/chan.c?"
    Found by: zathras3@hotmail.com / Patch by: Wcc

  - Fix for problems created when loading long user-defined channel setting
    names from the channel file.
    Patch by: Stream

  - Help file update related to sharing.
    Patch by: Shawn888, slennox

  - Fix for randint() on Solaris / SunOS.
    Patch by: Mikael Hedberg

  - Updated Copyright Dates.
    Patch by: Paladin

  - Fixed 3 invalid reads in notes.c.
    Patch by: winkey

  - Corrected a few of the error messages in neterror().
    Found by: Steven Nikkel / Patch by: Wcc

  - Corrected the order of our search paths for Tcl. This should help stop
    version mismatches between the headers and libraries.
    Patch by: CoderX2


1.6.17 (August 22, 2004):

  - Lots of doc updates.
    Patch by: dollar, Wcc

  # RC1 released on August 2nd, 2004.

  - Added a "stripcodes" Tcl command. See doc/tcl-commands.doc for more
    information.
    Patch by: BarkerJr

  - Bot idx's should be considered valid to tcl_valididx.
    Found by: SteppenWolf / Patch by: Wcc

  - Always try to detect shared Tcl libraries before static ones.
    Patch by: Wcc

  - We now correctly differentiate the +l user flag from the +l bot flag.
    Found by: Joker / Patch by: Wcc, darko``

  - Cleaned up modules.c and the module configure stuff quite a bit.
    Patch by: Wcc

  - Detect Tcl in $HOME/lib and $HOME/tcl/lib first, as to make it easier to
    allow users to override the system's Tcl version.
    Found by: various / Patch by: Wcc

  - We now support module loading under Darwin (Mac OS X) and NeXT Step.
    Found by: various / Patch by: Wcc

  - Don't try to call tcl_notes if the notes module isn't loaded.
    Found by: Chris Northwood / Patch by: bryand

  - Show a more descriptive error message when a listen socket can't be
    opened.
    Found by: various / Patch by: Wcc

  - Fixed Tcl encoding issues with .tcl and .set.
    Found by: Fabulous, Miguel Ventura / Patch by: CoderX2

  - Added a set of Finnish language files and a Finnish MOTD.
    Patch by: Mikko Vester

  - time_t isn't unsigned, and therefor %lu should not be used as a
    conversion specifier.
    Patch by: bryand

  - Fixed a gcc warning in dcc.c.
    Patch by: BarkerJr

  - Added support for Quakenet channel modes.
    Patch by: thommey

  - Removed an invalid killsock() in dcc.c.
    Patch by: bryand

  - Fixed extra spaces being written to chan file.
    Patch by: bryand

  - Reworked 'make config' / module configure process.
    Found by: various / Patch by: Wcc

  - Op (+o) implies halfop (+l) now.
    Patch by: darko``

  - Cleaned up and optimized rmspace() and fixfrom().
    Patch by: Sup

  - Updated recommended Tcl version to 8.4.6.
    Patch by: Wcc

  - Fix behavior of the BCST bind. BCST is now correctly triggered for
    dccbroadcasts, as well as when a bot "says" something on a channel.
    See doc/tcl-commands.doc for more information.
    Found by: FireEgl / Patch by: Wingman

  - Remove some unneeded casts.
    Patch by: darko``

  - Fixed performance issues with mv/cp when a lot of files are in the file
    area.
    Found by: Fabulous / Patch by: Wingman

  - Typo in doc/COMPILING-FAQ, It's LD_LIBRARY_PATH, not LB_LIBRARY_PATH
    Found by: NoPleX / Patch by: Wcc

  - Fix a possible issue with ident code.
    Found by: various / Patch by: darko``

  - Don't let .tcl mkdir create duplicate filedb entries.
    Found by: Fabulous, Ze / Patch by: Wingman

  - Fixed a compile error related to varargs when using old Tcl versions.
    Found by: Thomas Neumayer / Patch by: Wcc

  - Fixed a compile error on systems that don't have socklen_t.
    Found by: Brad Edwards / Patch by: Wcc

  - Suppress configure warnings on systems that use newer versions of GNU
    coreutils.
    Patch by: Wcc


1.6.16 (May 31, 2004):

  # Final released on May 31, 2004.

  - Added back a missing alarm call (removed accidentally with IPv6).
    Patch by: TaKeDa

  - Doc updates.
  - Help file improvements.
    Patch by: Wcc

  - Use high-order bits for random numbers.
  - Cleaned up and optimized delay code in share.c.
    Patch by: Sup

  - Change Undernet nicklen to 12, as it has been changed on Undernet.
    Patch by: Wcc

  - Fix text sent to the server being terminated with "\x00\x0d\x0a"
    instead of just "\x0d\x0a".
    Patch by: Sven

  - Small fix to transfer.mod lang files.
    Patch by: winkey

  - More HP ANSI C fixes.
    Patch by: Wcc

  - Fixed a few warnings. We also should compile correctly with HP's ANSI C
    compiler now.
    Patch by: stdarg

  # RC1 released on April 9th, 2004.

  - Missing '\n' on language entry in notes.mod.
    Found by: dollar / Patch by: Wcc

  - Detect Tcl 8.5.
    Patch by: Juvenal

  - Fixed a crash in savechannels/loadchannels.
    Found by: Stu Jones / Patch by: TaKeDa

  - Fixed a crash in putlog() that appears when timestamps are turned off.
    Patch by: darko``

  - Rewrote isowner() completely.
    Patch by: Sup

  - Better support for non-standard "op" prefixes (UnrealIRCD, etc.).
    Patch by: Sven

  - Terminate wire_bot[] in wire.mod, fixing a crash.
    Patch by: Bryan Dolan

  - Check for empty password in dcc_bot_check_digest().
    Found by: azurIt / Patch by: daimonic

  - Various crash fixes:
  - Fixed _wild_match() to not try to read before the beginning of the mask.
  - Small fix to correct_handle().
  - queue_server() wasn't adding messages to the queue correctly.
  - Fixed errors reported by valgrind in n_free() and notes module.
  - Fixed crash in dcc_chat regarding the filt bind.
    Patch by: stdarg

  - Don't always set SHARE_OFFERED status in check_expired_tbufs() for
    linking bots.
    Reference: Secunia Advisory: SA10858
    Originally reported to Full-Disclosure by Giuseppe Caulo
    Patch by: Luca De Roberto, Dania Stolfi, Giuseppe Caulo

  - Cosmetic fixes to notes.mod.
    Found by: BarkerJr / Patch by: Wcc

  - Don't check the bot's own user record when looking for a hub/althub to
    link to.
    Found by: poptix / Patch by: bryand

  - Portibility and build process fixes/updates.
    Patch by: Wcc

  - Mac OS X fixes.
    Found by: hobb / Patch by: Wcc

  - Truncate passwords at 30 chars instead of 15.
    Found by: Ting / Patch by: Paladin

  - Be aware of 'cp/mv * this.file' possibility in filesys.mod.
    Found by: Fabulous / Patch by: stdarg

  - Allow any user to .whois their own handle.
    Found by: ZeveRoaRe RoeLt / Patch by: Wcc

  - Added a new EVNT type, "userfile-loaded", which is called after the
    bot's userfile has been loaded.
    Found by: Wanderer / Patch by: darko``

  - Fixed a few places where chan->name was being used instead of
    chan->dname.
    Found by: Wanderer / Patch by: Wcc

  - hand2idx works for bots now
    Found by: BarkerJr / Patch by: Wcc

  - .stick/.unstick <number> now works for channel masks
    Patch by: Sven

  - Properly escape IPv6 masks in write_exempts() and write_invites().
    Found by: J. Lehto / Patch by: TaKeDa

  - Fix for nonworking 'head -1' in GNU Coreutils 5.0.
    Patch by: Tothwolf

  - ctype.h is*() functions are apparently unsafe unless recasted.
    Found by: Sup / Patch by: Wcc

  - Cosmetic updates to the build process.
    Patch by: Wcc

  - Exported oatoi() to modules since someone somewhere might find it useful.
    Patch by: Wcc

  - Fixed a bug preventing masks starting with numbers from being
    removed/stuck/unstuck.
    Found by: BarkerJr / Patch by: Wcc

  - Fixed the very very horrible handling of arguments by tcl_dnslookup().
    Found by: Wanderer / Patch by: KuNgFo0, Wcc

  - Don't rejoin +inactive channels when kicked from them. This can be
    caused by bot-server connection lag or full queues.
    Patch by: BarkerJr, Eule

  - uname fix in msg_status; OS should display on freebsd now.
    Patch by: Wcc

  - Fixed a buffer overrun in msg_status().
    Patch by: Wcc

  - Fixed a getdesc segfault when a file has no desc.
    Found by: R. Ramos / Patch by: dw

  - Removed IPv6 for now, will be implemented in a more proper way in an
    upcoming release.
    Found by: various / Patch by: Wcc

  - Cleaned up "illegal channel option" Tcl errors.
    Patch by: BarkerJr

  - .chanset accepts '*'; reflect in the docs.
    Found by: Darki / Patch by: Wiktor

  - Fixed bug 365 (missing call to check_this_user in tcl_setuser).
    Found by: T. Salomäki / Patch by: Eule

  - Description: .-ban number #channel now works correctly.
    Found by: R. Brooklyn / Patch by: Sven

  - A few minor fixes to fakemode kicks.
    Patch by: Sven

  - Made appropriate changes to accommodate for EFnet's implementation of
    exempts and invites.
    Patch by: Wcc

  - bind documentation updates.
    Found by: |SmAsH| / Patch by: Wcc

  - Exported strip_mirc_codes() and check_ansi() from dcc.c to modules.
    Found by: BarkerJr / Patch by: Wcc

  - H_notc used wrong handler
    Patch by: Paul E., stdarg

  - Check to make sure file we want to send exists when resuming a transfer.
    Found by: Fabulous / Patch by: stdarg

  - Removed unnecessary quiet_reject checks in msg_ident() that have been
    present since 1.3.0+bel17.
    Patch by: Tothwolf

  - Fixed exporting of MD5 functions to modules.
    Patch by: Paladin

  - The binary is no longer stripped unless ./configure --enable-strip is
    used.
    Found by: various / Patch by: stdarg

  - Small fix to n_realloc().
    Patch by: tchaika

  - Fixed output of tcl_duration to not return extra spaces.
    Found by: Wanderer / Patch by: Wcc

  - cmd_topic works for halfops now.
    Patch by: stdarg

  - Fixed cmd_(de)voice logic.
    Found by: various / Patch by: stdarg

  - Fixed an uninitialized variable in putlog().
    Found by: various / Patch by: TaKeDa

  - New UPDATES1.6 format to allow for longer found by/patched by fields and
    less wrapping of description.
    Patch by: Wcc


1.6.15 (May 4, 2003):

  - Fixed a patch.h compile error
    Found by: MORA / Patch by: Wcc


1.6.14 (May 4, 2003):

  - Added support for the IPv6 protocol
    Patch by: poptix, Wcc

  - Fixed a couple of bugs in autobotchk and made the output cleaner
    Patch by: guppy

  - Updated the logic of .fixcodes
    Patch by: PPSlim

  - Added a missing cast in tcl_rand
    Patch by: KuNgFo0

  - Fixed getops timer handling
    Patch by: PPSlim

  - Fixed access checking in -ban, -exempt, and -invite
    Found by: Paladin / Patch by: Wcc

  - Fixed a Tcl_Merge memleak
    Patch by: TaKeDa

  - Fixed a crash related to the cd command in filesys.mod
    Patch by: M. Koszik

  - Channel keys are now handled correctly in flush_mode()
    Patch by: Eule

  - Locking a channel key/limit now enforces it from being changed as well
    as unset
    Patch by: Sven

  - Don't bounce our own modes
    Patch by: Sven

  - q|q users can no longer obtain a channel voice, regardless of +autovoice
    Patch by: Sven

  - Users with appropriate flags can now halfop and voice themselves
    Patch by: Eule

  - -ban <number> now works for channel bans
    Patch by: Sven

  - -ban <number> now removes the ban from the channel
    Patch by: Sven

  - Cleaned up the output of .status
    Patch by: Wcc

  - Added a german language file for the transfer module
    Patch by: Felix

  - Show a meaningful error message when adding an invalid channel with
    '.+chan'
    Patch by: Wcc

  - Don't use memcpy() and memset() directly
    Patch by: Wcc

  - Fixed a crash that can happen when the serverlist contains null strings
    Patch by: Sven

  - Added NO_HALFOP_CHANMODES and NOHALFOPS_MODES defines to chan.h to allow
    halfop-related mode behavior to be changed on IRCd's that implement
    halfops differently
    Patch by: Sven, Wcc

  - Fixed a compile error on Tru64 UNIX
    Found by: Shane0 / Patch by: Wcc

  - The WASHALFOP flag now works correctly
    Patch by: Sven

  - Kill a transfer connection after sending a TRANSFER_DCC_IGNORED notice
    to a user
    Found by: Fabulous / Patch by: Wcc

  - flood-pub should be flood-chan when using 'channel get'
    Patch by: PPSlim

  - '~' and '&' are now correctly recognized as a meaning a user has ops on
    a channel
    Patch by: BarkerJr

  - Fixed uhost buffer length
    Patch by: winkey

  - Don't use help queue for dcc sends or gets
    Found by: winkey / Patch by: Wcc

  - case-changes should be traced when the 'nick' Tcl variable is modified
    Patch by: Wcc

  - Added a set of Danish language files
    Patch by: TheAvatar

  - Fixed an out-of-bounds error in delignore()
    Patch by: Wcc

  - Argument checking for cmd_comment() and cmd_botaddr() was incorrect
    Found by: Tothwolf / Patch by: Wcc

  - GLOBAL_CHANS is now used where it should be to make changing the number
    of botnet channels easier
    Patch by: Wcc

  - Fixed a logic problem when reversing in got_[op|halfop]()
    Patch by: Wcc

  - User-punishing and tcl_maskhost not use matching banmasks regardless of
    strict-host
    Found by: |SmAsH| / Patch by: Wcc

  - Fixed a few memory leaks in the filesystem module
    Found by: Wcc / Patch by: stdarg

  - Updated recommended Tcl version to 8.3.4 and changed Tcl's url to
    tcl.activestate.com (also updated autoconf to 2.57)
    Found by: guppy / Patch by: Wcc

  - Merged use-console-r and debug-output into one new setting named raw-log
    Found by: Tothwolf / Patch by: Wcc

  - Backported user-defined channel strings from 1.7
    Found by: Tothwolf / Patch by: Wcc

  - Removed enable-simul
    Patch by: Wcc

  - Fixed a cosmetic problem with cmd_pls_bot
    Patch by: Wcc

  - Fixed a crash in u_delban (bug 267) caused by trying to strcpy to an
    initialized pointer char
    Found by: Cosmo / Patch by: Wcc, BarkerJr

  - Use movefile() instead of copyfile() and unlink() when moving files in
    filesys.mod
    Found by: Fabulous / Patch by: Wcc

  - Changed EFnet's max-bans/max-modes to 25
    Patch by: Wcc

  - Moved debug-output and use-console-r to the logging section of the
    config file where they belong
    Found by: Tothwolf / Patch by: Wcc

  - Don't tell users to /msg the bot hello when they don't have access if
    learn-users is disabled
    Found by: Tothwolf / Patch by: Wcc

  - Fixed a few header problems with time.h
    Patch by: Tothwolf

  - Cleaned up transfer.mod a bit
    Patch by: Wcc

  - Several misc code cleanups and bugfixes
    Patch by: M. Koszik

  - Files copied to /tmp from file transfers are now deleted if the transfer
    connection is killed (makes resends and resumes function correctly)
    Patch by: Wcc

  - Ignores are now saved if channels.mod is not loaded
    Found by: BarkerJr / Patch by: Wcc

  - Open file descriptors are now closed when the killdcc Tcl command is
    used on a transfer socket
    Found by: Fabulous / Patch by: Fabulous, Wcc

  - unixtime was not increased when Eggdrop was blocked during a series of
    in-line Tcl commands
    Found by: never, thommey / Patch by: Wcc

  - Exported getchanmode()
    Found by: lee / Patch by: Wcc

  - Removed strict-servernames -- $server is now always the server's
    realname and $serveraddress is it's server list entry
    Found by: various / Patch by: darko``

  - bind NICK now gets triggered even if the nickname isn't found in any
    channels (when the bot's nickname changes before it joins channels)
    Patch by: BarkerJr

  - Fixed parsing of userhosts in gotwall()
    Patch by: darko``

  - Updated UnderNet's max_bans to 45
    Found by: reed / Patch by: Wcc

  - Config file updates
    Found by: various / Patch by: BarkerJr

  - Removed quoting support from wild_match() which fixes several bugs with
    '\' characters
    Found by: various / Patch by: Wcc, zip

  - Show who unlinked a bot when unlinked remotely
    Patch by: BarkerJr

  - Fixed default setting for the help-path and text-path settings
    Patch by: poptix

  - Fixed a problem in cmd_kick()/cmd_kickban() where the victim's access is
    checked instead of the user's
    Patch by: The_Dawn

  - Exported MD5 functions to modules
    Found by: Paladin / Patch by: Wcc

  - Exported me_voice() in irc_table
    Patch by: Wcc

  - '.say' and '.act' now allow you to send a message to a moderated channel
    when the bot has halfop status
    Patch by: Wcc


1.6.13 (November 22, 2002):

  - doc/MODULES updates
    Patch by: BarkerJr

  - Fixed utf-8 handling for config file strings (such as realname)
    Patch by: stdarg

  - Added a proc to alltools that returns the ordinal number for a number
    Patch by: Souperman

  - Added support for EMFILE (errno 24 - Too many files open) in neterror()
    Patch by: Wcc

  - Fixed the list format returned by tcl_channel_info()
    Patch by: MC_8

  - Don't ban users when not going to kick in refresh_ban_kick()
    Patch by: Eule

  - Added a stacking limit for fastdeq
    Patch by: Eule

  - Made the modes-per-line limit definable in src/chan.h
    Patch by: Eule

  - [ban/exempt/invite]-time were not being saved to the channel file
    Patch by: BarkerJr

  - Halfops were not honored in flush_modes()
    Found by: Eule / Patch by: Wcc

  - Fixed cosmetic problems with logging in some irc module commands
    Patch by: NeoN

  - Exported tell_bottree() to modues
    Patch by: Mo-Ize

  - Optimized logging functions
    Patch by: BarkerJr

  - Removed eggdrop.advanced.conf and eggdrop.simple.conf
    Found by: various / Patch by: Wcc

  - Adding a missing killsock and lostdcc in eof_dcc_send() and eof_dcc_get()
    Found by: TaKeDa / Patch by: Eule

  - Fixed the logic in check_this_member()
    Patch by: Wcc

  - Made the timestamp style definable in src/eggdrop.h
    Patch by: BarkerJr

  - Added a missing return in bot_actchan()
    Patch by: Eule

  - Fixed a problem with 'connect' and 'control' where the script would
    abort prematurely
    Found by: various / Patch by: [sL]

  - Don't "want ops" in modeless (+) channels
    Patch by: BarkerJr

  - Tell the user to set 'my-ip' when hostname self-lookup fails
    Found by: guppy / Patch by: Wcc

  - Improved access checking in -host/+host
    Found by: ridens / Patch by: Wcc

  - Fixed a possible buffer overflow in raw_dcc_resend_send()
    Found by: Jerome / Patch by: Wcc

  - Fixed a missing escape in some regexps in misc/modconfig
    Patch by: darko``

  - Channel set #chan chanmode $var corrupted $var in Tcl8.x
    Found by: [sL] / Patch by: [sL], Wcc

  - Don't log "joined #chan but didn't want to" in certain cases where the
    channel was newly removed or set inactive
    Patch by: blaster^

  - Cosmetic changes to share_stick_[exempt/invite/ban]
    Patch by: Wcc

  - msg_key and msg_invite did not work properly for !channels
    Found by: J. Lehto / Patch by: TaKeDa

  - Show the number of hops in .trace's output
    Patch by: BarkerJr

  - Use the proper dynamic lib extention on Mac OS X
    Patch by: Mo-Ize

  - Return 5 from dccsend if the file exists in the temp directory and
    copy-to-tmp is enabled
    Patch by: Wiktor

  - Fixed a possible exploit in reaffirm_owners()
    Patch by: poptix

  - Friends/ops/bots are now correctly unbanned when a ban is set on a
    channel that matches their host
    Found by: KuNgFo0 / Patch by: [sL], Wcc

  - Compile fix for systems that do not support snprintf()
    Patch by: bhab

  - Fixed a bug where if the bot is kicked while channel information is
    still being received, the bot will think it's still on the channel and
    not rejoin
    Found by: various / Patch by: [sL], Wcc

  - Removed names parsing, as it causes many problems and was only added for
    compatability with an old version of unrealircd
    Found by: Ble / Patch by: Wcc

  - More broken dprintf's in irc commands
    Found by: [sL] / Patch by: Wcc

  - Fixed a broken dprintf in cmd_kick()
    Found by: Ble / Patch by: Wcc

  - Made [ban/invite/exempt]-time a channel int
    Patch by: Wcc

  - Documentation updates related to the PUBM bind
    Patch by: BarkerJr


1.6.12 (July 26, 2002):

  - Reverted the sockfix patches from 1.6.11
    Patch by: Segfault


1.6.11 (July 26, 2002):

  - need-[limit/invite/unban/key] work now
    Found by: various / Patch by: Wcc

  - Fixed a problem with 'connect' and 'control' where the script would
    abort prematurely
    Patch by: [sL]

  - Improved the logic in cmd_mnsban when specifying what happen to remove
    and where to remove it from
    Patch by: Wcc

  - Fixed cmd_kickban so it works
    Patch by: Eule

  - Fixed a bug causing "[HH:MM] !!! OVER MAXIMUM <queue> QUEUE" to be
    logged to LOG_SVROUT
    Found by: [sL] / Patch by: [sL], Wcc

  - Log PINGs/PONGs sent to the server in LOG_SVROUT
    Patch by: Wcc

  - Some small changes to make Eggdrop work with Tcl 8.4b1 (it won't work
    with Tcl 8.4a1 or 8.4a2 anymore though)
    Patch by: guppy

  - Fixed a crash while doing .kickban -nick
    Found by: dork / Patch by: TaKeDa

  - The return values of uname() are now properly checked
    Patch by: Zart

  - Added handlen friendly code to various commands (this is a new patch to
    replace the handlen friendly patch reverted in 1.6.10
    Patch by: Zart

  - Don't show +inactive channels in a remote .who
    Patch by: BarkerJr

  - Changed the .status output a bit (it includes the name of the config
    file now)
    Patch by: guppy

  - msg_whois should require an argument.
    Found by: guppy / Patch by: Wcc

  - Added support for halfops (channel mode +h)
    Patch by: Wcc

  - Don't allow channels containing commas to be added.. also made an error
    message more clear
    Found by: masskilla / Patch by: Wcc

  - Updates to doc/MODULES
    Patch by: BarkerJr

  - More doc updates
    Patch by: Wcc

  - Fix for !channels when people quit or change nicks
    Patch by: TaKeDa

  - Made all the commands use CHANMETA instead of hardcoding channel types
    Patch by: aXs, Eule

  - Added 'channel get <chan> <setting>' (backported from 1.7)
    Found by: various / Patch by: stdarg, Mo-Ize

  - Small fix to uptime.mod that caused it to crash on startup
    Found by: Turner@Undernet, wheely / Patch by: guppy

  - uptime.mod will not unload now once loaded (this prevents you from
    losing your stats on a .restart .. to remove, you have to .die)
    Patch by: guppy

  - uptime.mod now sends the proper pid and also won't send garbage if the
    bot currently isn't on a server
    Patch by: guppy

  - Updated slennox's sentinel.tcl to the latest version
    Patch by: Wcc

  - Added support for +r on Undernet's ircu 2.10.11
    Found by: guppy / Patch by: Wcc

  - Fixed a crash in seen.mod with long channel names
    Patch by: upstream

  - Added support for the +C channel mode (noctcp) on QuakeNet's ircu
    Patch by: slug


1.6.10 (March 29, 2002):

  - protect(ops|friends) works with +bitch now
    Found by: ^Baron^ / Patch by: Eule

  - Reverted the handlen friendly patches
    Patch by: guppy

  - Fixed a crash when trying to add an invalid chan using .+chan
    Found by: masskilla / Patch by: dw

  - nick2hand didn't return "" on a nick that wasn't in the channel
    Found by: various / Patch by: guppy

  - Fixed a few config file problems
    Found by: slennox / Patch by: Wcc

  - chattr's description in tcl-commands.doc was unclear relating to
    channel-specific flag changes
    Found by: Paladin / Patch by: Wcc

  - transfer.french.lang was created
    Patch by: NetIrc

  - cmd_who is now languagified! (nice word eh?)
    Patch by: Noyga

  - Made it easier to change the number of global partyline channels
    Patch by: Noyga

  - More tcl-commands.doc fixes
    Found by: MC_8 / Patch by: Wcc

  - Added some missing command options to tcl-commands.doc
    Found by: MC_8 / Patch by: Wcc

  - cd_cmd_table was missing a null entry at the end of the list
    Patch by: Uwe Schindler


1.6.9 (March 10, 2002):

  - "Detected loop: two bots exist named bot2: disconnecting bot3"
    sounds better than:
    "Detected loop: disconnecting (bot2): Disconnected bot3".
    Patch by: BarkerJr, Wcc

  - Added a few channels to the README and readme.html and made references
    to other docs in the html files links to their respective html files.
    Patch by: Wcc, sid3windr

  - modes-per-line is limited to a max of 6 modes per line
    Found by: various / Patch by: Eule

  - More doc fixes
    Patch by: Wcc

  - Removed an extra space from the "Writing channel file..." message
    Patch by: Wcc

  - Fixed a problem with uff not adding entries properly
    Patch by: Amir Shalem

  - Made cmd_channel, cmd_dccstat, cmd_who, cmd_whois, cmd_match handlen
    friendly
    Patch by: Boing

  - botlink() now safely copies the linker string
    Patch by: Amir Shalem

  - Fixed crashes relating to flushmodes
    Found by: various / Patch by: Eule

  - Tcl command modules missing in doc/tcl-commands.doc
    Found by: Wanderer / Patch by: dw

  - Users with only +x can now only login via dcc chat, they cannot use
    telnet
    Patch by: guppy

  - More documentation updates
    Patch by: Wcc

  - Changed how protectops and protectfriends works a bit:
    If the user has either glob +d or chan +d then no protection,
    protectfriends now only protects +f users,
    protectops now only protects +m and +o users
    Patch by: Eule, guppy

  - doc/compiling.FAQ now includes info about setting LD_LIBRARY_PATH
    Found by: various / Patch by: guppy

  - Fixed +protectops from reopping users with only +f and +protectfriends
    from reopping users with only +o
    Found by: Boing / Patch by: guppy

  - Made a few cosmetic changes to the configure script
    Patch by: Wcc

  - More plural fixes for commands and error messages
    Patch by: Wcc

  - "channel remove" will not crash the bot anymore if you are removing the
    channel for which the bind was called
    Found by: udf-xerxes@barrysworld.com / Patch by: guppy

  - "channel info" will properly list all user-defined settings
    Found by: MC_8 / Patch by: stdarg

  - Fixed a problem with modconfig not being found when rerunning ./configure
    Found by: various / Patch by: guppy

  - Made modconfig more portable across various bourne shell flavours
    Patch by: ITE

  - Removed gban_total, gexempt_total and ginvite_total since they were unused
    Patch by: Eule

  - configure should recognize a dynamic Tcl library now on Cygwin
    Patch by: TaKeDa, ITE

  - Fixed a crash that would happen when we disconnected from our server but
    did not reconnect to a server before we checked if a server was stoned
    Found by: dw / Patch by: guppy

  - Lets compile on solaris now
    Patch by: bhab

  - Update a bot's laston info when the bot unlinks
    Found by: BarkerJr / Patch by: TaKeDa

  - More cosmetic fixes to src/cmds.c
    Patch by: Wcc

  - Small cosmetic fix to cmd_store
    Patch by: Eule

  - Changed how kicking flooders works when -dontkickops
    flood-kick: don't punish people with +mf
    flood-deop: don't punish people with +mf
    other floods: don't punish people with +f
    Patch by: TaKeDa

  - Fixed a bug where revenge-mode > 1 wouldn't kick users if dontkickops
    was set
    Patch by: TaKeDa

  - Missing sanity check in check_this_member
    Patch by: Eule

  - ircu2.10.11 properly formats PART messages; however, Eggdrop did not
    understand them
    Found by: Paladinz / Patch by: guppy

  - Fixed a couple of cosmetic problems in cmd_pls_user
    Patch by: Wcc

  - Do not eval init-server on rehash since this variable is used for
    performing Tcl commands on a succesful server connection
    Patch by: Wcc

  - Couldn't introduce new users through telnet if a handle named "new"
    existed.
    Found by: masskilla / Patch by: dw

  - MISC_USERFCREATE1 should use origbotname instead of botnetnick
    Found by: sid3windr / Patch by: Wcc

  - Added a warning about allow-resync in the config file
    Patch by: Wcc

  - Prevent botnet flooding when adding ignores which already exist
    Patch by: TaKeDa

  - Some docs were not getting installed correctly
    Patch by: Wcc

  - [pass] should be <pass> in usage notices
    Patch by: Wcc

  - More cosmetic changes
    Patch by: Wcc

  - A bunch of little cosmetic changes
    Patch by: Wcc

  - More doc updates
    Patch by: Wcc

  - Fixed a memleak when adding users
    Found by: blaster^ / Patch by: Eule

  - More 64bit arch fixes
    Patch by: ITE

  - Lets log remote botinfo calls
    Patch by: BarkerJr

  - Update a bot's laston info when the bot links
    Patch by: BarkerJr

  - Some more remote boot fixes
    Found by: jedis / Patch by: guppy

  - hand2nick, nick2hand, handonchan, and chanlist might not always return
    that a user is known even if we know they are -- this has been fixed
    Found by: |^Raven^| / Patch by: stdarg, guppy


1.6.8 (January 2, 2002):

  - Removed a legacy Tcl hack that probably no one but old Eggdrop users
    knew about <g>
    Found by: PPSlim / Patch by: guppy

  - More copyright updates and documentation changes
    Patch by: Tothwolf

  - Raised the kick reason length to 307 for DALnet
    Patch by: blaster^

  - Fixed some cosmetic bugs relating to either 1 user or X users, stuff
    like that
    Patch by: Wcc

  - Updated slennox's sentinel.tcl to the latest version
    Patch by: Wcc

  - Updated the html docs to be in sync with the text ones
    Patch by: Wcc

  - Updated the copyright info for 2002
    Patch by: Wcc

  - Removed the checks for ips with 0 or 255 in them
    Patch by: guppy

  - When a leaf is thinking that uses a different HANDLEN then ours log it
    and then drop the connection instead of just silently dropping the
    connection
    Found by: various / Patch by: guppy

  - Changed checkmodule to loadmodule in the configs (checkmodule still
    works for backwards compat)
    Patch by: guppy

  - Renamed nick-len to nicklen (nick-len still exists for backwards compat)
    to follow the standard that handlen uses
    Patch by: guppy

  - Updated doc/BOTNET and added doc/first_script.txt
    Patch by: Wcc

  - Removed some old debugging information
    Patch by: Wcc

  - Prevent the bot from losing channel flags when allow-resync is set
    Found by: various / Patch by: zip

  - Some small cosmetic changes
    Patch by: Wcc

  - Added handlen for scripters to get the current length of handles from
    src/eggdrop.h (this setting does not adjust handle lengths however)
    Patch by: Wcc

  - cmd_whom now displays a sum of all the partyline users
    Patch by: BarkerJr

  - Copyright updates
    Patch by: Tothwolf

  - Fixed tcl_boot when kicking someone on another bot without a reason from
    screwing up the boot reason
    Found by: jedis / Patch by: guppy

  - max-modes and max-modes are automatically set by net-type now
    Patch by: Wcc

  - origbotname was being wrongly used in some locations
    Patch by: guppy

  - Fixed a bug that prevented MODE from being sent when we get ops on a
    channel to retrieve the proper channel key
    Patch by: guppy

  - Don't try to open a dcc chat when people do /ctcp <bot> chat without a
    password set, instead send an error message
    Found by: VYOinLove / Patch by: guppy

  - Fixed a problem on Mac OS X with files being shown as bytecount/-1
    Patch by: quest, stdarg

  - Log the remote .who command
    Patch by: BarkerJr

  - Fixed a small bug in guppy's last patch
    Patch by: BarkerJr

  - Tcl commands botisvoice, botisop, botonchan, onchansplit, isop, isvoice,
    and handonchan all take channel as an optional argument now
    Found by: various / Patch by: guppy

  - tcl_onchan can now be used without a channel to check all the bot's
    channels
    Found by: Abraham / Patch by: guppy

  - Added tcl_traffic (a modified copy of stdarg's original patch)
    Found by: various / Patch by: stdarg, guppy

  - .servers doesn't trunicate server names anymore
    Found by: Tothwolf / Patch by: guppy

  - Made cmd_modules work locally as well as remotely
    Found by: Wcc / Patch by: guppy

  - Made show_banner reset the help_subst arguments like show_motd does and
    if the motd isn't a regular file, just return instead of giving an error
    like show_banner does
    Patch by: guppy

  - tcl_jump could easily crash the bot
    Patch by: guppy

  - tcl_pushmode now accepts any irc modes instead of the standard ones
    Found by: various / Patch by: guppy

  - Made tcl_chanlist (when matching chanflags), tcl_handonchan, and
    tcl_nick2hand much faster
    Patch by: guppy

  - A bunch of small fixes to gotjoin, gotkick, got367, a modes-per-line
    calcuation, and to include_lk
    Patch by: Eule

  - Yet more documentation updates
    Patch by: Wcc

  - Documentation doesn't cover how to connect to servers with a password;
    documentation added to sample config files.
    Found by: ziffie / Patch by: bhab

  - Made tcl_hand2nick _a lot_ faster
    Found by: |^Raven^| / Patch by: guppy

  - More membercheck fixes for nick bans, nick +k users, -user, and -host
    Patch by: Eule

  - Only show fake alerts once every 10 seconds to prevent flooding
    Patch by: BarkerJr

  - Small make install bug related to doc cleanups
    Found by: DFrank / Patch by: guppy

  - Major cleanup of config files and related documents
    Patch by: Wcc

  - Updated doc/MODULES a bit
    Patch by: BarkerJr

  - Show the user port as users instead of telnet and the bot port as a bot
    port instead of a relay port
    Found by: RandomAPB / Patch by: Wcc

  - Small fix to the notes module
    Found by: various / Patch by: stdarg

  - Updated the uptime url
    Patch by: BarkerJr


1.6.7 (December 7, 2001):

  - Don't show status_log if we don't have a server
    Patch by: guppy

  - Lets make Eggdrop work on Cygwin again
    Found by: Wcc / Patch by: ITE

  - Fixed a mixed up transfer language entry that caused a crash
    Found by: Wcc / Patch by: guppy

  - Added '--disable-cc-optimization' to disable -O2 flags
    Found by: various / Patch by: nakee

  - Added a missing channel membercheck in a few commands
    Found by: Abraham / Patch by: Eule

  - tcl_newban had some silly guppy logic which caused a crash
    Found by: S7reaM / Patch by: guppy

  - Added French language files for: assoc, console, notes
    Patch by: Noyga

  - Added %n for $network to the list of motd text substitutions
    Patch by: Noyga

  - Added language support to transfer.mod
    Patch by: nakee

  - Got rid of bad language
    Found by: ClubCX / Patch by: guppy

  - Rebound some commands to proper bindings (relay, bottree, vbottree)
    Patch by: poptix

  - Made our build system work with newer autoconf versions
    Patch by: ITE

  - Make the default bot a bit more secure in regards to the ability to
    execute Tcl commands from the partyline
    Patch by: guppy

  - tcl_newban and tcl_newchanban didn't always add the bans
    Found by: various / Patch by: guppy

  - cmd_optimise is now cmd_optimize
    Patch by: Wcc

  - Fixed testip in alltools.tcl
    Patch by: Hanno

  - Some more doc changes
    Patch by: Wcc

  - Actually fixed stopnethack and a wasop bug
    Patch by: Eule

  - Added support for DALnet's +M chanmode
    Found by: various / Patch by: Wcc

  - Fixed +a for !channels
    Patch by: Lam

  - Fixed tcl_botattr
    Patch by: TaKeDa

  - Fixed a bogus memory leak
    Found by: various / Patch by: stdarg

  - Removed some leftovers in uptime.mod
    Patch by: guppy

  - Yet ANOTHER stupid bug. (crash in .-chan)
    Found by: blaster^ / Patch by: poptix

  - Minor changes to autobotchk (v1.09.1)
    Patch by: guppy

  - Fixed a small crash in notes.mod
    Found by: TaKeDa / Patch by: stdarg

  - Fix 'setuser <hand> PASS' from crashing
    Patch by: TaKeDa

  - stop_nethack_mode 4 oddity when a +a bot returns from a split getting a
    -o+o (double negating mode)
    Found by: boro / Patch by: bhab

  - Testing some better socket code (++)++
    Patch by: poptix

  - More typo fixing in the config files
    Patch by: Wcc

  - More typo fixes
    Patch by: BarkerJr

  - Fixed several tons of spelling errors (really)
    Patch by: Wcc

  - tcl_chattr now lets you remove global flags
    Found by: guppy / Patch by: stdarg

  - Fixed some issues with utf-8 dealing with how we handle Tcl arguments
    Found by: various / Patch by: stdarg

  - Small fix to let tcl_adduser accept only a handle
    Patch by: Wcc

  - Show '#channel is active but has no ops :(' only if channel is set
    +statuslog.
    Found by: FeaRx, DarkReap1 / Patch by: Sup

  - Fixed up some spelling mistakes in tcl-commands.doc
    Patch by: Wcc

  - Lots of argv[] fixes that caused crashes
    Patch by: poptix

  - 'chattr hand' no longer crashes (legacy bug)
    Found by: DFrank / Patch by: stdarg

  - Finally fixed the banreason bug
    Patch by: poptix

  - Small fix for ircu servers that send 'ERROR:' instead of 'ERROR :'
    Found by: zip / Patch by: guppy

  - Don't get GO if the channel is -cycle
    Patch by: fuchs

  - Couple of small uptime.mod backports from 1.7
    Patch by: guppy

  - Exported module_load and module_unload for modules.
    Found by: DrDeath / Patch by: Sup

  - Fixed a potential sendnote crash when the notes module is unloaded
    Found by: various / Patch by: stdarg

  - Bad pointers are evil in tcl_userlist
    Patch by: poptix

  - Re-fix adduser overflow
    Patch by: poptix

  - Don't attempt to flood check server notices
    Patch by: Tothwolf

  - Display global bans, exempts and invites even if not on a channel
    Patch by: Tothwolf

  - Removed unused "existant" check from tell_bans(), tell_exempts(), and
    tell_invites()
    Patch by: Tothwolf

  - Fixed buffer overflow in adduser()
    Patch by: Tothwolf

  - Fixed typo in filedb3.c: EBUG_MEM -> DEBUG_MEM
    Patch by: Tothwolf

  - Removed extra egg_bzero call from filesys.c
    Patch by: Tothwolf

  - Properly check argv[]/argc before using it
    Patch by: poptix

  - Added missing memory check for tclmisc.c
    Patch by: Tothwolf

  - New setting: pidfile (detaults to pid.botnetnick)
    Found by: Tothwolf / Patch by: guppy

  - Oops, .kickban -nick didn't work.
    Patch by: poptix

  - Backported a check for -dynamicbans to new[ban|exempt|invite]
    Patch by: BarkerJr

  - Replaced old md5 routines with new ones (backport from 1.7)
    Patch by: guppy

  - Cleaned up our Tcl information on .status (backport from 1.7)
    Patch by: guppy

  - Removed dcc-portrange since it was useless (backport from 1.7)
    Patch by: guppy

  - Show our proper user@host in cmd_status (backport from 1.7)
    Patch by: drummer

  - Proper utf-8 support
    Found by: various / Patch by: stdarg

  - Small wasop fix
    Patch by: TaKeDa

  - Fixed booting with full length handles
    Found by: bleah / Patch by: PPSlim

  - Allow wildcard CTCP binds
    Patch by: BarkerJr

  - CTCP replies go to the HELP queue..
    Patch by: BarkerJr

  - Don't bother sending server in the uptime packets
    Found by: proton / Patch by: poptix

  - We weren't looking the user record back up on iterations on channels
    in the NICK bind, causing the chance of a bad pointer reference =P
    (stdarg gave me the idea to look =)
    Found by: stdarg / Patch by: poptix

  - Oh, look, SIGN and SPLT binds actually pass on the user record now, and
    allow flag bindings =P
    Patch by: poptix

  - The documentation for the need bind was slightly screwy
    Found by: various / Patch by: guppy

  - Don't check for static Tcl under Cygwin
    Patch by: Kirben

  - Helpfile says nodesync (invalid mode) instead of nodesynch.
    Patch by: dw

  - Makes .whom more handlen friendly
    Patch by: Zart

  - Fixes/Additions to command stacking
    Patch by: Noyga

  - PRIVMSGs with the same message to the same destination are no longer
    stacked also USERHOST/USERIP are not stacked using a comma
    Found by: |^Raven^| / Patch by: Noyga

  - Added HOOK_DIE to allow tcl_die to have a quit message.
    Patch by: Sup

  - Small resync fix
    Patch by: TaKeDa

  - Fixed tcl_md5, it was broken on Tcl 8.1+
    Patch by: TaKeDa

  - Check whether Cygwin requires -mwin32 to support old versions of Cygwin
    Patch by: Kirben

  - Check for bind in /usr/local/bind when using Cygwin
    Patch by: Kirben

  - A banreason wasn't used in some cases.
    Found by: NeoN / Patch by: dw

  - Bot sent a useless TOPIC command to the server when it joined a channel.
    Found by: Noyga / Patch by: Sup

  - Added QNX support
    Patch by: SuperS

  - host-sanity-check had a type mismatch
    Patch by: stdarg

  - Some small fixes
    Patch by: Kirben

  - The channel file is now backed up
    Found by: Abraham / Patch by: Noyga

  - Small fix for binds and unicode characters
    Found by: various / Patch by: strolchi


1.6.6 (July 20, 2001):

  - A few minor doc updates
    Patch by: Paladin

  - Fixed a slight problem with how we export modules
    Found by: various / Patch by: ITE

  - Ignore removals are now shared properly
    Patch by: drummer

  - Got rid of remove_gunk since it was unused
    Patch by: drummer

  - Fixed a small buffer overflow in cmd_whois
    Found by: [joco] / Patch by: Sup

  - Fixed a small getops bug
    Patch by: LethalWP

  - .conf cleanups, added Tcl threaded info in DEBUG
    Patch by: ITE


1.6.5 (July 10, 2001):

  - Fixed 'make config' for some disabled_modules cases.
    Found by: TaKeDa / Patch by: Fabian

  - Readded missing std_args.h check.
    Patch by: Tothwolf

  - Removed an old ircd limit hack (legacy stuff owns)
    Found by: Sup / Patch by: guppy

  - Fixed password checks in msg commands
    Patch by: ejm

  - CTCR had the wrong args for 'uh', maybe this will break something,
    I doubt it.
    Patch by: poptix

  - wire.mod now checks if an encryption module is loaded
    Found by: FumBa / Patch by: guppy

  - guppy broke chattr's isowner() check
    Patch by: poptix

  - Bot op status was not shown in .channel
    Patch by: dw

  - Simplified and cleaned up variable usage and several tests in configure.
    Patch by: Tothwolf

  - Fixed broken pthreads checking.
    Patch by: Tothwolf

  - Showing 'inactive' in .status when the bot is not on the channel was a
    bit confusing. Also added #eggfaq@EFnet to docs.
    Found by: KuNgFo0 / Patch by: Sup

  - Added: tcl_haschanrec
    Found by: Abraham / Patch by: guppy

  - Prevent -b/-e/-I flooding by using random delays.
    Found by: various / Patch by: Sup

  - Misc cleanups in while() loops
    Patch by: guppy

  - Updated getops.tcl to v2.3
    Patch by: guppy

  - Updated recommended Tcl version to 8.3.3 and changed the ftp site for
    Tcl to ftp.eggheads.org since ftp.scriptics.com can be fairly picky
    these days.
    Patch by: guppy

  - Don't try to use null pointers in tbuf code *duh*
    Patch by: guppy

  - Small fix to what nickname we can use when we type "new"
    Found by: Segfault / Patch by: guppy

  - We should use errno to detect EAGAIN in net.c
    Patch by: zip

  - Display the proper queue that is full instead of just DP_MODE
    Patch by: guppy

  - Changed the wording of %bantime <XdXhXm>
    Found by: Ben Dover / Patch by: guppy

  - Mount the Eggdrop directory as binary in Cygwin
    Patch by: Kirben

  - compress.mod/dns.mod now check for the compiler also
    Patch by: Kirben

  - Made server-timeout match the default value in the code.
    Patch by: Sup

  - Added few missing brackets to channels.mod/channels.h and exported
    remove_channel().
    Found by: Amun / Patch by: Sup

  - Check for pthread_mutex_init as a function instead of in a library
    Patch by: Kirben, guppy

  - Detect __res_mkquery since we detect __res_init now
    Patch by: Kirben

  - Fixed empty line on LOG_SRVOUT and removed a debug-output which
    confused users
    Found by: Sup / Patch by: G`Quann

  - flush_inbuf and a killsock bug
    Patch by: G`Quann

  - Some access checking in msg commands
    Patch by: ITE

  - tbuf fix
    Patch by: guppy

  - Check a bit harder for pthread_mutex_init
    Patch by: guppy

  - Small fix to sscanf for libsafe systems
    Found by: various / Patch by: Oliver, guppy

  - Made srandom() use getpid() and getppid()
    Patch by: Sup

  - Added .whoami command
    Patch by: Sup

  - More utf problems, buffer overflow(s)
    Patch by: stdarg

  - More Cygwin fixes
    Patch by: Kirben, RebuM

  - Fix for dccdumpfile/dumpfile
    Patch by: NML_375

  - Calling a proc from a bind, that modified the user record of the person
    that triggered the bind, could cause a crash.
    Patch by: poptix

  - Memory leak in filesys.mod, that's been there since 1.3.x
    Patch by: poptix

  - 'setflags' never accepted all the aruements, fixed.
    Patch by: poptix

  - tcl_ignorelist was showing the wrong expiration time.
    Found by: Tothwolf / Patch by: Sup

  - Info locking was broken, and .info wasn't in .help
    Found by: poptix / Patch by: poptix

  - Additions/clarifications to tcl-commands.doc
    Patch by: Tothwolf

  - getops.tcl problem due to ircnet hack support for ! channels
    Patch by: poptix

  - Don't try to relay to bots without proper address or relay-port.
    Patch by: Sup

  - Fixed .chaddr from changing the telnet-port and relay-port.
    Patch by: Sup

  - New evnt: loaded
    Patch by: timothy

  - Tcl command mkdir had wrong BADARGS (didnt allow channel flags)
    Patch by: poptix

  - When Tcl var servers was empty, we had problems.
    Patch by: poptix

  - New bugs e-mail address: bugs@eggheads.org
    Found by: guppy / Patch by: Sup

  - Added a setting for default console flags to eggdrop.simple.conf, and
    made console-autosave disabled by default.
    Patch by: Sup

  - New evnt: prerestart (restart is tricky)
    Found by: Abraham / Patch by: guppy

  - We now detect __res_init for glibc2.2
    Found by: various / Patch by: drummer, guppy

  - Removed legacy /trace support for keep-nick
    Patch by: guppy

  - Fixed a little bug that will happen in September of 2001
    Patch by: guppy

  - Show the handle when rejecting a duplicate bot connection
    Patch by: TaKeDa

  - Small fix to MSGM's bind table
    Patch by: fuchs

  - Updated the help channels in the docs.
    Found by: slennox / Patch by: Sup

  - Changed the way we check for sticky bans (saves cpu)
    Patch by: Eule

  - Fixed various formatting mistakes
    Patch by: mortmann

  - Made the IRIX5,6 and 6-64bit OS detection into one check
    Patch by: SuperS


1.6.4 (April 13, 2001):

  - Minor fixes to write_debug() function.
    Patch by: Sup

  - More German translations and some typo fixes
    Patch by: mortmann

  - Modified weed and autobotchk to find tclsh better
    Patch by: guppy

  - Fixed weed's b<days> switch
    Found by: NaTaS / Patch by: ITE

  - When rejecting bots don't try to execute rembot() for bots that match
    bot's botnet-nick.
    Patch by: Sup

  - Improved the German translations
    Patch by: mortmann

  - Dcc resumes with no requested data are now ignored properly
    Found by: Fabulous / Patch by: guppy

  - Call sync() after saving the userfile
    Patch by: Krome

  - Fixed .-noteign from crashing the bot
    Found by: various / Patch by: Krome

  - Updated all the copyright info for 2001
    Patch by: Wingman, guppy

  - modes-per-line works now when its set to 3
    Patch by: Krome

  - Fixed channel add #chan from crashing the bot
    Found by: various / Patch by: Darude

  - Various small typo fixes
    Patch by: mortmann

  - Solaris make gcc fix
    Patch by: nakee

  - Small fix to the unicode stuff to handle Tcl > v9
    Patch by: Zart

  - Added matchbotattr to alltools.tcl.
    Found by: guruz / Patch by: Sup

  - Removed some legacy Cygwin compatibility
    Patch by: Kirben

  - cmd_stick activates the bans now
    Patch by: dw

  - Fixed a small remote-boots issue
    Patch by: Abraham

  - Fixed the remote motd bug
    Patch by: ITE

  - Fixed a small dns.c bug with hostname resolving
    Found by: blaster^ / Patch by: ITE

  - Removed debug-tcl, since this is something noone uses and is more bloat
    than anything
    Patch by: Wingman

  - encrypt/decrypt with highbit character messed up the string
    Found by: Darude / Patch by: Darude, Wingman

  - Fixed rest of the problems with utf-8 characters.
    Found by: KingBob / Patch by: Tothwolf, Wingman


1.6.3 (February 27, 2001):

  - Made blowfish.mod a bit more friendly with other encryption modules and
    also added hooks in the core for string encryption/decryption
    Patch by: guppy

  - Fixed a memleak within the XTRA field.
    Found by: G`Quann / Patch by: symband

  - If my-ip is wrong, tell the user that as the error msg
    Patch by: Habeeb

  - Updated sentinel to v2.50
    Patch by: slennox

  - Actually remove a ban from irc when a sharebot removes it
    Patch by: Jason Ede

  - Do not allow Eggdrop to run as root
    Patch by: Tothwolf

  - msg_hello() was unable to add users with long nicks.
    Also slightly cleaned up irc.mod/msgcmds.c.
    Found by: darkfall / Patch by: Sup

  - Fixed misformed notices in notes module. Corrected use of language file,
    and fixed lang file entry.
    Patch by: Jason Ede

  - Shutdown once getting a SIGTERM by default
    Patch by: Tothwolf

  - Improved Tcl version reporting
    Patch by: Tothwolf

  - Updated the help channels in README.
    Found by: Habeeb / Patch by: Sup

  - +revengebot no longer requires that the bot has a user-record for itself.
    Found by: PPSlim / Patch by: PPSlim, guppy, Fabian

  - Made the reserved-port setting into reserved-portrange
    Found by: project10 / Patch by: guppy

  - Added i18n support to fix our problems with Tcl
    Found by: various / Patch by: Tothwolf

  - Some minor doc fixes
    Patch by: PPSlim

  - '.note' wasn't correctly requiring a message parameter.
    Found by: GregMo / Patch by: Sup

  - Fixed it so that +d or +k users cannot remove hosts and thus circumvent
    auto-kick or deop
    Patch by: Jason Ede

  - Fixed cmd_binds when called with no argument
    Found by: GregMo / Patch by: guppy

  - Cleaned up Context and Assert usage in the modules
    Patch by: guppy


1.6.2 (January 14, 2001):

  - Fixed a minor typo in got432().
    Found by: S Wilcox / Patch by: Sup

  - Fixed cmd_binds when doing '.binds all'
    Patch by: blaster^

  - cmd_chaddr was broken thanks to a patch of mine
    Found by: various / Patch by: guppy

  - Fixed the traffic accounting code when dealing high amounts of traffic
    Found by: SuperS / Patch by: ITE

  - Made configure work properly when called with an absolute path
    Patch by: ITE

  - share.mod now uses .share.nick.unixtime.users as a temp file when
    recieving the userfile
    Found by: Ian / Patch by: Ian, guppy

  - Fixed XTRA info from not working
    Patch by: toot

  - Fixed my bug that made revenge-mode get set back to 1 all the time.
    Patch by: toot

  - We now understand negative limits (IRCnet allows this)
    Patch by: TaKeDa

  - Parameter missing for share.mod's status information and a uff error
    message. Minor optimisations elsewhere.
    Found by: TaKeDa / Patch by: Fabian

  - Removed old high character hack from readtclprog, as the actual problem
    is now fixed.
    Patch by: Fabian

  - Added proper support for Tcl unicode changes since 8.1.
    Found by: many / Patch by: Wingman

  - Cleaned up Context; usage in the core
    Patch by: guppy

  - Rewrote tcl_duration
    Patch by: guppy

  - More use of strncpyz and egg_snprintf in the core
    Patch by: guppy

  - Did some cleanup in tcl[user/misc/dcc].c
    Patch by: guppy

  - Added a channel option to .[un]stick and slightly cleaned up
    channels.mod/cmdschan.c.
    Patch by: Sup

  - Two calls to fclose() were missing in transfer.mod, causing Eggdrop to
    leak file descriptors.
    Found by: Fabulous / Patch by: Fabian

  - Hopefully fixed the cycle-flood problem on some EFnet servers
    Patch by: Eule

  - autovoice now uses autoop delay also
    Patch by: Eule

  - Cleaned up some language entries
    Patch by: Tothwolf

  - default-port was set in the wrong location.
    Patch by: Sup

  - Added '--disable-tcl-threads' to configure
    Patch by: ITE, Tothwolf


1.6.1 (November 22, 2000):

  - Updated KNOWN-PROBLEMS
    Patch by: Wiktor

  - Fixed a crash dealing with expired masks and a memleak in misc.c
    Patch by: Eule

  - Made revenge-mode a per-channel setting, rather than global.
    Patch by: toot

  - set quiet-save was missing in the help file.
    Patch by: dw

  - Seen module returned %s instead of nick in certain replys.
    Found by: suizide / Patch by: dw

  - Small fix for enforcebans
    Patch by: Eule

  - Do not set bans if they don't match someone in the channel and the
    channel is set +dynamicbans.
    Patch by: dw

  - Channel masks for unsupported channels weren't properly skipped when
    parsing the user-file.
    Found by: various / Patch by: Fabian

  - Now using lines with up to 500 instead of only 480 characters.
    Not truncating message anymore if it's longer than 500 characters and
    doesn't contain spaces.
    Patch by: Bob, Fabian

  - Fixed crash in expired_mask() when checking ops not present in
    the user-list.
    Found by: paran0id / Patch by: Fabian


1.6.0 (November 15, 2000):

  - MISC_NOUSERFILE includes the actual config filename now
    Found by: Paladin / Patch by: guppy

  - strict-host's default did not match the config default of 0
    Patch by: dw

  - Do not force +f on masters or owners
    Patch by: ITE

  - Removed legacy code for an ircd2.9 bug
    Patch by: Eule

  - Removed the remaining lagcheck leftovers
    Patch by: Wiktor, guppy

  - Fixed an issue with enforcebans and exempts.
    Patch by: Eule

  - Upgraded sentinel.tcl to v2.00
    Patch by: guppy

  - Fixed minor typo in status_log().
    Patch by: Sup

  - Directly linked bots can't be removed anymore.
    Found by: Wiktor / Patch by: Sup

  - Removed 1.3.x updates from UPDATES.pre1.5
    Patch by: guppy

  - Concated the UPDATE files
    Patch by: Wiktor

  - Using "JOIN 0" instead of explicitly leaving every channel.
    Patch by: Eule

  - New script: cmd_resolve.tcl (adds a .resolve command).
    Patch by: guppy

  - DNS module failed to handle IP address 0.0.0.0 properly.
    Found by: |^Raven^| / Patch by: Fabian

  - Detect id-channel-names used as channel names (added with .+chan) during
    IRC session.
    Found by: guruz, Evo|ver / Patch by: Fabian

  - Removed left-over command '.resolve' from dns.mod/dns.c.
    Patch by: Sup

  - Made '.[de]op' and '.[de]voice' get nick if it wasn't specified and
    added few missing flags to '.channel' output. Also slightly cleaned up
    irc.mod/cmdsirc.c.
    Patch by: Sup

  - Increased the length of ban reasons from 65 to 160 (I think this is what
    RFC1459 allows for default).
    Found by: ReBEL / Patch by: guppy

  - Moved strncpyz() macro from server.mod to a global location.
    Patch by: Fabian

  - Restricted WHO stacking to add up to a maximum of MAXPENALTY penalty
    seconds.
    Found by: TaKeDa / Patch by: Eule

  - Added channel specific aop-delay setting. Allows randomly delayed
    auto-ops, auto-ops after a certain delay and the current behaviour, i.e.
    immediate auto-op.
    Patch by: Eule

  - Fixed IRC_DO_CHANNEL_PART call from channels.c.
    Found by: Eule / Patch by: Fabian

  - Fixed compiler warnings about 'const' for Tcl libraries that don't
    declare Tcl_SetVar as taking const strings.
    Found by: Abraham / Patch by: Fabian

  - Fixed overflow in proxy_connect() for sun_firewall.
    Patch by: drummer

  - Could not remove joining channel from procs called by JOIN bind.
    Found by: Tothwolf / Patch by: Fabian

  - The filesys module did not support remotely linked files. Instead, the
    bot crashed in various places and didn't even attempt to save/load the
    link information.
    Found by: Fabulous / Patch by: Fabian

  - Removed duplicate servlimit check from irc.mod.
    Patch by: Eule

  - Added 'e' as global- and channel-flag for users exempted from the
    stopnethack checks.
    Patch by: Eule

  - Minor cleanup of protocol in back-ground code.
    Patch by: Fabian

  - Avoid data lossage during the start of connections, while the receiving
    dcc functions aren't listening yet. So now you can blindly start sending
    data right after connecting and depend on the OS and Eggdrop to do The
    Right Thing.
    Patch by: Fabian

  - Changed failure of socket() to non-fatal event.
    Found by: Abraham, TaKeDa / Patch by: Fabian

  - Fixed support for SunOS / Solaris.
    Found by: TheUnknown / Patch by: Fabian

  - Don't actually delete the bind structures immediately, use centralised
    garbage collector instead. Cleaned up various aspects of the bind list
    handling.
    Patch by: Fabian

  - Don't insist on proper domainname during hostname detection.
    Found by: Sup / Patch by: Fabian

  - Properly call PART bind when removing channel and the bot will therefore
    leave the channel shortly. Also slightly reworked channel removal.
    Found by: Sup / Patch by: Fabian

  - Move actual assert check back into macro, saving a function call.
    Patch by: Fabian

  - Removed small compile warning about ambigious if/else.
    Found by: NigtHuntr / Patch by: Fabian

  - Fixed and optimised ban/exempt and invite expiration code for global and
    channel specific masks.
    Found by: Abraham / Patch by: Eule

  - DCC send and chat requests send to channels are now ignored.
    Found by: Zart / Patch by: Sup

  - Fixed typo in irc.mod/irc.h me_op export macro.
    Patch by: Looser^

  - Made the bot recognise modes during CHAN_PEND. Allows us to properly
    recognise bans/other masks and call mode binds.
    Patch by: Eule

  - Fixed get_user_by_host, which was broken for strict_host set to 0.
    Patch by: Eule

  - Slightly optimised gotnick() by replacing the call to clear_chanlist()
    with a specialised loop.
    Patch by: Eule

  - Instead of telnet!*@* we now use -telnet!*@* since no valid IRC
    nicknames can be prefixed with a dash (per RFC1459).
    Found by: labtec / Patch by: guppy

  - Added proper logics to the user{bans,exempts,invites} settings and
    removed the clearbansset setting.
    Patch by: Eule

  - Small typo in ismember() (added during cleanup) caused channel functions
    to freak out. Sigh.
    Found by: Abraham, DennisMV / Patch by: Fabian

  - flush_mode() cleanups. -{b,e,I} now sent before +{b,e,I}. used
    egg_strcatn to make buffer-overflow free.
    Patch by: Cybah

  - Fixed caching for Tcl configuration details. As soon as different
    libraries are detected, we discard cached values.
    Patch by: Fabian

  - Cleaned up style for aclocal.m4 system handling.
  - Added support for SunOS4.
    Patch by: SuperS

  - Caching -pipe test results for configure.
    Patch by: Fabian

  - Fixed linking for Sparc with SunOS/BSD/Linux, which caused the bot to
    crash under certain circumstances.
    Found by: various / Patch by: TheUnknown

  - Added use of the -pipe compiler option, to speed-up compilation.
    Patch by: TheUnknown

  - Fixed bugs in German translation, typo in doc/MODULES and lines longer
    than 80 characters in a few places.
    Patch by: mortmann

  - Generic cleanups.
    Patch by: Fabian

  - Fixed format-type bugs in notes.mod crashing the bot.
    Found by: MsingLnk / Patch by: Fabian

  - Added support for threaded Tcl libs by implementing the early-fork hack.
    Cleaner support will be possible in 1.7.
    Found by: various / Patch by: Fabian

  - Disabled cycling for +a !channels. Minor cleanups.
    Found by: Wiktor / Patch by: Fabian

  - Minor optimizations in irc.mod:chan.c.
    Patch by: Fabian

  - Checking for m->user == NULL in kick_all() and refresh_ban_kick() now.
  - Minor optimizations.
    Patch by: Eule

  - Removed 'SERVER SUPPORT LOADED' message.
    Patch by: guppy

  - Added missing checks around new_dcc() call. This prevents the bot from
    crashing under high connection load.
    Found by: Igmar / Patch by: Fabian

  - Added egg_strcatn function.
    Patch by: Cybah

  - Repositioned help-path setting in eggdrop.simple.conf so that the
    modules actually load the help files.
    Patch by: mortmann

  - Minor documentation fix to seen.mod help.
    Found by: FuzzBuster / Patch by: Fabian

  - transfer.mod allowed memory DoS for turbo-dcc.
    Found by: Karsten / Patch by: Fabian

  - Minor correction to the list of used flags in flag.h.
    Found by: Johnny Mnemonic / Patch by: Fabian

  - Added language support to assoc.mod, console.mod and notes.mod.
  - Cosmetic fix to "module loaded" message.
    Patch by: guppy

  - Removed some unneeded language macros.
    Patch by: guppy

  - Cleaned up ctcp.mod. Reordered some of the ctcp_mode checks.
    Patch by: guppy

  - Added the [pass] argument in the .jump help reference.
    Patch by: guppy

  - Added IPv6-masks support (bans/exempts/invites/ignores).
    Found by: Ben Dover / Patch by: Fabian

  - Fixed minor, newly introduced mess-up in '.chaninfo' output.
    Found by: Abraham / Patch by: Fabian

  - User defined flags weren't displayed correctly for inactive channels,
    which the bot hadn't joined to yet.
    Found by: Abraham, Kelvin / Patch by: Fabian

  - Fixed further places where +/-revengebot was not properly integrated or
    documented.
    Found by: Joker / Patch by: Fabian

  - Fixed eggdrop test-run for vpath.
  - Using autoconf macros for caching in aclocal.m4.
  - Changed -L. to -L`pwd` for libtcls < 7.4 support hack.
    Patch by: Fabian

  - Added strftime compatibility function.
    Patch by: Fabian

  - Re-added bell character to note message. This can be filtered out with
    the '.strip +g' command.
    Patch by: Eule

  - We now send PASS before sending NICK or USER.
    Patch by: Koach

  - Made share.mod unlink its temp userfile.
    Patch by: guppy, Fabian

  - Fixed a few format string bugs. Cleaned up style.
    Found by: guppy / Patch by: Fabian

  - Fixed crash when a received user file failed to load.
    Found by: Wiktor / Patch by: Fabian

  - compress module didn't indicate errors correctly.
    Found by: Wiktor / Patch by: Fabian

  - Unified generic int types.
  - Replaced my_?to?l() with ?to?l().
  - Replaced obsolete macros.
  - Various cleanups.
    Patch by: Fabian

  - Made sure only <module>_start function symbols were exported by modules.
  - Fixed channels, console, dns, irc, notes and transfer modules.
  - Removed unneeded data in non-debug mode from dns module compile.
    Patch by: Fabian

  - Fixed memory leak in channel key handling.
  - Optimized use of recheck_channel and recheck_channel_modes.
    Patch by: Eule

  - Fixed '.whois' / '.match' crash for users without laston data, caused by
    strftime changes.
    Found by: ridens / Patch by: Fabian, SuperS

  - finish_share() cleanups and optimizations.
    Patch by: Fabian

  - Fixed configure problems on 64bit IRIX.
    Patch by: SuperS

  - Removed connect_server() call in nuke_server() to avoid uncontrolled
    recursion.
    Found by: SuperS / Patch by: Fabian

  - Cleaned up resolve_success and resolve_failure DNS hooks.
    Patch by: Fabian

  - Fixed various aspects of exempt handling.
    Patch by: Eule

  - add_bot_hostmask now adds static hostmasks for bots.
    Found by: toot / Patch by: Sup

  - Minor cleanups and optimizations in the irc module.
    Patch by: Fabian

  - Included +l and +k modes in modesperline-calculation.
  - Added 'include-lk' setting to control this.
    Patch by: Eule

  - Fixed compatibility issues on IRIX. Added SINIX to configure.
  - Removed unneeded header std_args.h.
    Patch by: SuperS

  - Fixed filesys module to use NICKMAX instead of HANDLEN in one place.
    Patch by: FirebaII

  - Minor fixups in filesys module.
    Patch by: Fabian

  - Removed lagcheck feature because it caused too many problems.
    Patch by: G`Quann

  - Added meaningful error message for disabled tcl_dccsimul.
    Found by: Kool Cat / Patch by: Fabian

  - Lowered retry timeout for failed DNS requests to 10 minutes.
    Found by: dirtymac / Patch by: Fabian

  - Fixed possible memleaks related to chan->channel.key, chan->cmode[] and
    chan->key.
    Patch by: Eule

  - Under certain circumstances, the old user file was deleted and the new
    user file wasn't correctly created.
    Found by: various / Patch by: Fabian

  - Fixed crash in splitc().
    Patch by: blaster^

  - Removed checks for bogus masks in +ban, +exempt, and +invite.
  - Minor error message fixes.
  - Minor source cleanups.
    Patch by: Tothwolf

  - Added splitcn() to limit how many bytes get copied to first.
    Patch by: Cybah

  - Shrunk buffer size in cmd_boot(), using the new function.
    Patch by: Cybah

  - Fixed crash with handles larger than 19 characters.
    Patch by: Shaun Brown
