Upgrading
Last revised: September 21, 2018
     _________________________________________________________________

UPGRADING Eggdrop 1.6.x -> v1.8.x:


  What's new? To gain a full understanding of changes to the Eggdrop
  v1.8 version line, you can read the following documents:

    INSTALL
    README
    doc/TLS
    doc/IPV6
    doc/Changes1.8
    doc/tcl-commands.doc

  All of these documents combined will fill you in on the latest changes to
  Eggdrop in version 1.8.x. All files, with the exception of Changes1.8, are
  also available in html format in doc/html/.

  For support, feel free to visit us on Freenode #eggdrop.

  If you are upgrading from a pre-1.6 version of Eggdrop:

    1. Before you start the bot for the first time, BACKUP your userfile.

    2. DON'T USE YOUR OLD CONFIG FILE. MAKE A NEW ONE!

     _________________________________________________________________

Changes made to Eggdrop 1.8.x from Eggdrop1.6.x:

  MODULES

    While most 3rd party modules that worked on Eggdrop1.6.x should still work
    with Eggdrop1.8.x, many of them contain a version check that only allows
    them to run on 1.6.x bots. We have removed the version check from some of
    the more popular modules provide them at 
    ftp://eggheads.org/pub/eggdrop/modules/1.8/

  SCRIPTS

    All 3rd party Tcl scripts that work with Eggdrop1.6.x fully work with
    Eggdrop1.8.x.

  ENCODINGS

    Eggdrop1.8 has been modified to support the utf-8 encoding with a fallback
    of iso8859-1. Other single-byte encodings are not yet supported, but
    full support for them is planned for a later version of Eggdrop1.8.

  IPV6

    Full IPv6 support for servers, telnet and script connections, dcc and
    botnet. See doc/IPV6 for more information.


  SSL

    Full SSL support has been added for all kinds of connections, including
    certificate verification and authorization, and partyline SSL. See doc/TLS.

  BOTNET

    Because 1.8 bots attempt to link with SSL if available everytime, make
    sure you generate a certificate on your hub bot with "make sslcert" after
    "make install".

  CONFIG

     eggdrop.conf changes:

     To ease the transition from Eggdrop1.6.x to Eggdrop1.8.0, we have created
     a list of config file changes needed at http://eggheads.org/eggconf180.txt. 
     Perhaps the most important changes are the removal of the my-ip and
     my-hostname settings, replaced by vhost4, vhost6 and the listen-addr
     setting. Check our new eggdrop.conf for examples.

     eggdrop-basic.conf:

     Eggdrop1.8.0 includes a simpler configuration file called
     eggdrop-basic.conf, which is recommended for users that do not need
     advanced Eggdrop features such as botnets. We still recommend reading the
     full eggdrop.conf and copying settings over that you might want to modify.


  WIRE REMOVED

    The wire module has been removed from eggdrop 1.8. You can still get it
    from ftp://eggheads.org/pub/eggdrop/modules/1.8/wire-2.1.tar.gz
    Note that with ssl support you can have encrypted botnet and partyline
    without wire.mod.


  DOCUMENTATION

    Documentation has been updated to reflect new and removed commands and
    variables. Almost all files have changed, so take a look at them.


  TCL COMMANDS

    A lot of changes have been made to Tcl commands. Please look at
    doc/tcl-commands.doc to see them.
  ________________________________________________________________________





UPGRADING Eggdrop 1.4.x -> v1.6.x:


What's new? First, read the following documents:

    INSTALL
    README
    doc/BOTNET
    doc/Changes1.6
    doc/tcl-commands.doc

  All of these documents combined will fill you in on the latest changes to
  Eggdrop in version 1.6.x. All files, with the exception of Changes1.6, are
  also available in html format in doc/html/.

  A lot of things have changed in this version, so at a minimum, read the
  Changes1.6 text file. Changes shows what's been added and fixed along the
  way.

  If you are upgrading from a pre-1.6 version of Eggdrop:

    1. Before you start the bot for the first time, BACKUP your userfile.

    2. DON'T USE YOUR OLD CONFIG FILE. MAKE A NEW ONE!

     _________________________________________________________________

Changes made to Eggdrop 1.6.x from Eggdrop1.4.x:

  !CHANNELS

    Support for IRCnet !channels was added to Eggdrop. This might still be
    a bit buggy. We appreciate bug reports!

  +/-NODESYNCH

    This new channel setting replaces the old 'allow-desync' config file
    setting. It is useful if you use some type of ChanServ or if you don't
    care about your channel being desynched.

  ASYNCHRONOUS DNS MODULE

    Eggdrop 1.6 is shipped with a new module, the dns module. It replaces
    those old dns-lookups performed by Eggdrop which could halt the whole bot
    during a timeout. We also added a new Tcl command, 'dnslookup', so scripts
    can now use DNS functions asynchronously, too. See doc/settings/mod.dns
    for more information.

  COMPRESS MODULE

    A new module called compress was introduced to Eggdrop. It provides
    gzip support to Eggdrop (via Tcl commands) and enables compressed
    userfile transfer. See doc/settings/mod.compress for more information.

  SHARE MODULE

    The share module has a new setting now (override-bots) which allows
    hub bots to override the leaf bots' bot settings (botaddress, telnet
    port, and password). Please note that this won't work with a version
    1.4 or below bot. See doc/settings/mod.share for more information.

  TRANSFER / FILESYS MODULES

    The filesys and transfer modules have changed completely. Both can now
    handle unlimited filename lengths and description sizes. Incomplete
    downloads from the bot can also now be resumed. The db format of the
    filesys module was changed to remove the limits imposed by the old
    format. There's nothing special for you to do, as the old db is
    automatically converted to the new format when you first access it.
    You won't be able to downgrade to older versions after this, so you
    may want to make a backup first. See doc/settings/mod.transfer and
    doc/settings/mod.filesys for more information.


  UPTIME MODULE

    This module reports uptime statistics to http://uptime.eggheads.org. Go
    look and see what your uptime is! It takes about 9 hours to show up, so
    if your bot isn't listed, try again later. See doc/settings/mod.uptime
    for more information.


  DCC COMMANDS

    * ".nick" was renamed to ".handle". ".nick" will still be kept up to
      version 1.8.

    * ".chnick" was renamed to ".chhandle". ".chnick" will still be kept up
      to version 1.8.

    * ".binds" now supports wildcards.

    * ".halfop" and ".dehalfop" have been added.

    * The 'optimise' file system command was renamed to 'optimize'. The old
      command will still be kept up to version 1.8.

    * Eggdrop now counts all of the traffic which it generates and receives
      through IRC, the botnet, scripts, and dcc. You can access these
      statistics via the dcc command ".traffic". Please note that the counter
      gets reset every time a restart is done.

    * ".modules" now works locally as well as remotely.

  CHANNEL MODES

    Support for IRCnet negative limits and DALnet's +R, +M, and +c channel
    modes has been added. Eggdrop now also supports halfops (+h).

  DOCUMENTATION

    A lot has happened to the documentation; nearly every file was changed,
    so take a look at them. Also, we have discovered html, and full html
    documentation is available now in doc/html. Additionally, all possible
    settings for Eggdrop are documented in doc/settings.

  CONFIG FILES

    * To support longer nicknames, as some IRC servers do, a new 'nick-len'
      setting was added.

    * Eggdrop uses strftime now to support different logfile suffixes. The
      new config file setting is 'logfile-suffix'.

    * A new 'pidfile' setting was added to allow you to specify the name
      of Eggdrop's pid file.

    * The 'strict-servernames' setting was removed.

  PENALTY CALCULATION

    Eggdrop calculates penalty points on IRCnet now, so it won't flood
    itself off anymore. This feature also works on EFnet and Undernet, and
    should work on other networks as well.

  TCL COMMANDS

    * The 'chnick' command was renamed to 'chhandle'. The use of 'chnick' is
      deprecated. 'chnick' is still accessible if you load compat.tcl.

    * All three commands to add data to the queues (puthelp, putserv and
      putquick) now support the '-next' parameter which pushes data to the
      front of the queue.

    * A command to calculate md5 checksums, 'md5', was added.

    * To support the new asynch dns module, the command 'dnslookup' was added.

    * Four new commands regarding exempts/invites were added: stickexempt,
      unstickexempt, stickinvite, and unstickinvite.

    * A new 'wasop' command was added to check if a user had op before a
      mode change.

    * 'washalfop', 'ishalfop', and 'botishalfop' have been added.

    * Three new Tcl commands were added as part of the compress module:
      compressfile, uncompressfile, and iscompressed.

    * A new command to check whether the bot's nick is juped was
      added (isjuped).

    * The fileresend command was added to support mIRC's dcc resume feature.

    * A new bind type called 'NEED' was added which triggers when the bot
      needs op, unban, limit, key, or invite.

    * LOST and TOUT bind types were added.

    * Two new commands, 'channame2dname' and 'chandname2name', were added to
      allow scripts to support !channels.

    * A new evnt type, loaded, was added.

    * The 'setudef', 'renudef', and 'deludef' commands were added to allow
      for user-defined channel settings.

    * A 'traffic' command was added which returns a list of sublists
      containing information about the bot's traffic usage in bytes.

    * The CTCP bind type now supports wildcards.

    * A 'handlen' variable was added (set to the value of the HANDLEN define
      in eggdrop.h. 'nick-len' was also renamed to 'nicklen' (the old variable
      will remain until version 1.8.

    * The 'channel get' command was added to allow channel settings to be
      easily retrieved.

    * The 'server' variable now contains the server's realname instead of its
      serverlist entry regardless of the 'strict-servernames' setting.

    * The 'serveraddress' variable was added, which contains the server's
      serverlist address and port.

    * The 'onchan', 'botonchan', 'botisvoice', 'botisop', 'onchansplit',
      'isop', 'isvoice', and 'handonchan' commands no longer require an
      argument.

    * Added a "stripcodes" command to remove control codes/etc from strings.

    For more information about changed or added Tcl commands, see
    doc/tcl-commands.doc.

  TRAFFIC ACCOUNTING

    Eggdrop now counts all of the traffic which it generates and receives
    through IRC, the botnet, scripts, and dcc. You can access these statistics
    via the dcc command '.traffic'. Please note that the counter gets reset
    every time a restart is done.

  ________________________________________________________________________


Copyright (C) 1997 Robey Pointer
Copyright (C) 1999 - 2018 Eggheads Development Team
