pre-release versions of eggdrop...

v0.9c  [17aug94]

* when dying, tells people on the party line (local and remote)
* used to crash when receiving bogus 'reject' notices: fixed
* optional 'exec-telnet' can be defined now to let you use eggtel, a small
  utility for making dcc chat connections
* '.kick' had become "ambiguous" in 9b: fixed
* besides checking once a minute, it now checks whenever someone leaves,
  signs off, netsplits, or is kicked off the channel -- to see if the bot
  is the only one on the channel (and if so, and the bot is not op'd, it
  will leave and rejoin)
* '+user' and '+bot' would crash the bot if used incorrectly: fixed  [found
  by miltrypet]
* when finding a bot to autolink, a bot marked as 'share' will take pre-
  cedence now
* 'away' wasn't re-announcing you (bug from 9b)  [found by miltrypet]
* new set 'perm-bans' which, if set off, will make all bans expire after 10
  minutes (permbans will still be stored by the bot, however; and if a user
  joins who matches a permban, she will be kicked off, and the ban will be
  reinstated for 10 minutes)  [suggested by miltrypet]
* when connected successfully to another bot, it will kill any pending forked
  processes that are trying to link to that bot
* bots send 'trying' notices to each other to notify about link attempts
  (currently these notices are ignored)  [suggested by trey]
* OS info shown in 'status', 'botinfo' and 'who' now
* tandem incoming connections are now refused from bots already connected
* auto-kicks users who join with bogus usernames (control characters in the
  nick!user@host)  [suggested by fred1]
* should compile for AIX now  [thanks to trey for providing the account to
  test this on]
* userfile is written on HUP/TERM signals and during the '.die' command --
  if periodic save is on  [suggested by axel_v]
* wasn't correctly removing bans against op-listed people on the channel:
  fixed [found by lasher-]
* 'you have # notes waiting' message is more clear about what bot to connect to
* no more confusing msgs like "[TexSrv] Hi Robey!  I'm Slurpee..."
* put a bunch of context markers in unprog-ban to track down a rare segv crash
  under linux when ignores expire
* new defines: 'ban-time' (# minutes an automatic ban lasts) and 'ignore-time'
  (# minutes an auto ignore lasts) -- 'ban-time' is also how long channel bans
  will last with 'set perm-bans off'  [suggested by miltrypet]
* won't kick itself for removing a bogus ban any more  [found by fred1]
* error reported if we get a SIGCHLD signal and there are no children waiting
* 'sharing' notices passed between tandem-bots to alert them to make sure new
  passwords match
* won't flood check itself anymore  [found by fred1]
* might have fixed a bug with autoconnecting clonebots
* when a sharing bot changes its password, bot will change the password for
  a record for itself too (this is confusing, but necessary) (ie, if vasha
  and valis are sharing, and vasha says "my new password is gyx" -- valis
  will change the password to "gyx" for vasha AND valis (assuming valis has
  a user record for itself, which it should if it's sharing)
* wasn't showing directories with raw-files on: fixed  [found by gwyn]
* clonebot bans were getting automatically expired immediately: fixed  [found
  by clearlyja]
* sometimes the bot wasn't recognizing a banned user when she joined: fixed
* could infinitely try same failing tandembot connection forever nonstop:
  fixed

v0.9b  [3aug94]  (happy birthday to me!) ;)

* no longer wipes dcc records in child processes (was causing rare crashes
  when a dcc chat or likewise failed)
* split up dcc.c (was too big)
* flood-msg setting used to determine dcc chat flooding now
* 'rm <dir>' was going crazy: fixed  [found by denali]
* superfluous handle changes were being sent between clone bots: fixed
  [found by trey]
* child processes aren't caught instantly any more, they're marked and
  finished up a few microseconds later when the bot is ready (was making
  a lot of important data volatile and causing odd crashes)
* new command '.botinfo' and corresponding tandem notice 'info?' which will
  return the first two lines of the '.who' response from each bot linked in
  [suggested by trey]
* 'whom' was showing up in the log for isolated bots, even when not responding:
  fixed
* could remove your away multiple times: fixed
* sending an action wouldn't remove your away: fixed
* no longer sends 'killuser' for removing bans or ignores [found by trey]
* would crash when resetting bans more than 20 characters long: fixed [found
  by fred1]
* will detect bogus bans (+b and -b) now and kick the offender
* wasn't correctly detecting a server-made (fake) op with the new mode code:
  fixed  [found by fred1]
* will only try one auto-connect at a time, and will check for new auto-
  connect attempts every time a successful link is made (should alleviate
  duplicate connection problems)  [suggested by trey]

v0.9a  [26jul94]

* third-party dcc gets ('get <file> <nick>') were claiming to send to the
  wrong person: fixed
* '.deop' works again  [found by neuro]
* new set 'raw-files' which bypasses the use of the file catalog ('.files')
  and just directly reads the directories (useful for making your dcc dir
  point to a pre-existing file library)  [suggested by trey/gwyn]
* can have multiple server entries that are identical now (if you only want
  your bot to connect to one server, put that server in the list 5-6 times)
  [suggested by denali]
* can set your email address via msg now (msg 'email')  [suggested by neuro]
* email address shows up in msg 'whois'
* could change someone's handle using '.handle' to a pre-existing handle:
  fixed
* three-way userfile sharing wasn't properly propagating info: fixed
* '-party' didn't work: fixed
* wasn't sending out help if helpbot was undefined: fixed  [found by gwyn]
* does a close and shutdown on dcc sockets when closing them
* '.console' echos back what you typed
* wasn't closing sockets on expired forks: fixed
* new bot attribute 'reject' (r) which will reject that bot if it appears
  anywhere on the botnet
* '.boot' can have a comment

v0.9  [23jul94]

* file section compiles under sunos again now
* bot would crash if a server changed channel mode to +i -- fixed
* automatically sends out a 'trace' for each 'linked' now, in order to
  have all the data needed to eventually display a bot tree on demand
* once each 5 minutes, a "pong" is sent out to the server to make sure
  the socket is still alive
* pipe error now tries to recover by checking fcntl, just like is done
  on a select error (since the select error bit seems to work well)
* notify-newusers can have multiple targets now, separated by commas
* "/msg pass" works by your hostmask instead of nickname
* msg commands now logged as: (nick!user@host) !handle! command...
* bots trying to connect with a bad password get "badpass" so they'll know
  what's going on
* "/msg whois" will tell you if the user is a bot
* doesn't send out "newuser" notices for *ban or *ignore
* slightly more sanity checking of user records when loading them (will try
  to ignore corrupt & duplicate user records instead of crashing)
* '.kickban', '.op', '.deop', '.kick' won't try unless the bot is a chanop
* new 'set' variable: 'keep-all-logs' -- if on, old logfiles will be renamed
  to "<logfile>.<date>" instead of "<logfile>.yesterday" and no logfiles will
  EVER be erased, no matter how old they are (otherwise, logfiles older than
  one day old are erased)
* '+xfer'/'-xfer' will have immediate effect on people on the party line now
* msg commands are hashed now and referenced via a table (see hash.h)
* put '+kick'/'-kick' back in
* 'jump' more effective now (closes connection manually after 1 second)
* dcc commands are hashed now (see hash.h again)
* away status shown in 'whom' now
* totally different dcc structure internally now...  WHEEE
* 'whom' will add "[idle]" if a user is over 3 minutes idle
* will check environment variable HOSTNAME for a valid hostname
* can send ',' master notices from inside the file system now (and receive
  them)
* userfile transmit and receives (from and to clonebots) are now done
  from separate buffers for each bot
* dumps a process list to the log if a child process' record can't be
  found (for debugging)
* file area 'get' can be used with wildcards now for multi-send
* file area 'ls' can take a parameter now to limit the file listing
* bans and ignores are passed between clonebots by their active-time now
  instead of their timestamp (keeps timezone differences from screwing
  things up)
* CPU usage shown in 'status' now
* will try to match truncated commands
* keeps a buffer for clonebots 15 minutes after they disconnect, and will
  try to resync if the bots reconnect during that time
* msg 'who' will tack on a line listing all the people on the channel who
  have no info stored
* file area 'get' and 'ls' can use relative directories now
* a passive bot will accept a resync request even if it has no resync buffer
  ready
* in msg 'whois', if the requested user is on the channel (and recognized),
  the bot will say so
* stored notes from people on bots were sometimes getting mangled -- fixed
* removed set 'open-channel'  (chanmode replaces it)
* file area 'hide' can use wildcards
* non-masters can set the description for files they uploaded
* removed '-console' and '+console'
* 'console' now specifies a set of console flags, not a simple on/off switch,
  and can be used to set other people's console flags via 'console <who> <fl>'
* configfile definition 'console' is now simply the default for masters
* forked processes will expire after 10 minutes
* won't attempt to auto-link to a bot if it's already forking out
* tandem link A--B--C--D--E; if C/D disconnected, C would remove E's entry
  from the bot table but wouldn't pass on an 'unlinked' notice: fixed
* USR1 signal updated to use fcntl and new dccstat format
* new command '.bottree' which shows a little chart of the tandem links
* new set 'chan-updates' which can turn off the 5-minute display
* now passes nextbot info along with the 'linked' notice, in a new 'nlinked'
  notice
* more robust reading of the user file
* more robust writing of the user file when periodic-save is off
* sends out 'thisbot' notice when connecting, so the bots connecting can
  both agree that they are who they wanted (instead of depending on host/port
  as valid identification)
* file area 'rmdir' will erase the file-catalog (".files") in that directory
  before attempting to remove the directory

to-do:
* make '.match' match possibly by last join time
* 'expire' users after a long period of no channel activity
* if user is not on the channel, make 'kickban' do the ban anyway, sending a
  userhost request and banning that
* support gopher-style '.Names' files & converstion to '.files'
* rewrite editor
* command extension ability using shell
* file-area directories which are pointers to other bots
* expand eggutil
* send out and keep track of 'attempting' notices for ALL link attempts to
  keep from making duplicate attempts from two different bots
* add command '.run' to execute external commands
* load external commands into a table for now
* message-storing system via /msg (answering machine)
* let a topic be set, that the bot will keep
* let people be 'invited' to the party line, and given temporary party line
  access
* USER_REQPW as outlined by fred1

bugs:
* editor is a piece of shit
* spawns zombie processes on some machines and i have NO idea why!
* pipe faults galore sometimes... who knows why
* expired ignores & bans sometimes make linux crash
