Darkbot 6 (final6) revision 6: Dec 17, 2001
	- Paul@darkbot.info fixed a bug that was causing compilation
		problems (error code 127 and/or some warnings) on freeBSD.
	- Paul also improved and patched the code with a change made by
		Ron which makes Darkbot not return it's own nickname
		when variable R~ is used on topic/replies.


December 2001
	- Due to Jason Hamilton busy life the project is now under
		LuizCB (Pincel) administration.
	- darkbot.net and darkbot.info urls are now pointed to one
	single "site".


Darkbot 6 (final6) revision 5: Nov 11, 2001
Changes made by Ron@darkbot.info
	- possible fix on a bug that made not possible having more
		than 1500 randomstuffs.
	- DISALLOW_COUNT is defined by default, since the script
		for that is down.
	- Added an extra srand(time(0)) to do_randomstuff, because a
		lot of people complain about Darkbot not being very random
	- Corrected a typo on !hlist that made that command not
		functioning properly.
	- Added the NEED_CLOCK_T define to defines.h. Turn this on if
		your compiler complains about clock_t and CLOCKS_PER_SEC
		not being found.
	- Cloud  and Ron optimized the code in order to compile better
		on Cygwin.


October 2001
	- darkbot.info centralized all Darkbot pages and files due to
		darkbot.net being temporarily down.


Darkbot 6 (final 6): Dec 12th, 2000
	- One more bug relating to the change from sprintf to snprintf,
		the search and dsearch command no longer outputted the
		proper search matches on Linux machines. This has been
		resolved now.


Darkbot 6 (final 5): Dec 11th, 2000
	- After getting a bunch of people complaining that multiword
		topics did not work for them anymore, I looked it over,
		and those people were correct. I found that on Linux,
		and ONLY linux, starting at 6f3, multiword topics did
		not match properly. I checked the code, and narrowed it
		down to the get_multiword_topic function. It seems that
		when we do a snprintf on the string, it no longer works.
		I don't know why, so for the time being at least, that
		will be the only function that will have sprintf instead
		of snprintf.


Darkbot 6 (final 4): Dec 3rd, 2000
	- Fixed a minor bug that made a topic of "test" not match
		when someone asked "text?".


Darkbot 6 (final 3): Dec 1st, 2000
	- Replaced all sprintf's with snprintf. This will remove any
		chance of those functions buffer overflowing. I have
		not heard about any exploits, but better safe than sorry.
	- I did the same with all the strcpy's -> strncpy.


Lurker 1.0 released: Nov 28th, 2000
	- This is a darkbot mod based off of darkbot v1.0. See the
		download page for more info and details about this
		program.


Darkbot 6 (final 2): Nov 28th, 2000
	- in 6f1, stripping out the ctcp codes from the input, which
		would help when it outputs with 1~, 2~, etc tags, breaks
		the replies to action topics. This version restores the
		previous functionality.


Darkbot 6 (final 1): Nov 22nd, 2000
	- Since the last few versions have not turned up any bugs, I think
		we can declare this version a 'final' and no longer in the
		beta stages.
	- Updated output reply so that it now strips out the \1 (ctcp)
		codes from replies.
	- Added new lang: romanian.
	- Fixed a small typo in the startup text.
	- Updated the darkbot startup server query output.


Darkbot 6 (beta 2): Nov 20th, 2000
	- Revised the startup text so it's cleaner.
	- Updated the startup cgi so it not only tells you how many
		people have run your current version of darkbot, but
		also lets you know what is the latest version of darkbot.
	- KICKBAN for user's sending a notice to channels has been
		swapped around for a BANKICK instead.
	- Fixed some typos in the code and configure files.
	- Set the startup program to launch into the background, so
		the bot doesn't have to wait for it to complete before
		moving on.
	- New option for the anti-notice-to-channel option, you can
		now define for it to ban by *@host instead of the previous
		option to just ban by user@host.
	- New alias for DSEARCH, DFIND.
	- Revised the defines.h and gave some comments more descriptive
		explanations.


Darkbot 6 (beta 1): Nov 19th, 2000
	- Added two new variables -- H~, which will display a user's
		u@h, and h~, which will display the user's u@h without
		the ~ prefix (if present).
	- Added in new raw topic called BAN. example:
		bot add ban+me -PRIVMSG C~ :okay N~. | BAN
		It takes no parms. Just "BAN" (all caps). The topic must
		be a raw topic (starts with a - prefix).
		You can do a kickban with: -KICK C~ N~ :get out! | BAN
	- New t~ variable now tells the current time in UNIXTIME format.
	- Removed defines for DBTIMERS (darkbot timers). It is going to
		be required from now on due to the new TIMER code that is
		to be added.
	- New raw topic called TEMPBAN, this works the same way as
		BAN (See above), but the bot will unban the user in
		60 seconds (using DBTIMERS). example:
	- New code in the bot that lets it tell you how many times
		people have run your version of darkbot.
	- New .runonce script that lets you know how many people have
		compiled darkbot on your operating system so far.		


Darkbot 6 (alpha 6): Nov 18th, 2000
	- Added new langs: Chinise, Swedish, and Norwegian.
	- New feature that kicks (and bans if you want) users who send
		notices to your channel (ie; /notice #chan YOU SUCK!).
	- Updated the code that checks if users who join are in a
		"bad channel", there was a check to see if the channel
		list was over 160 chars, and if so, it set the string to
		= '\0' instead of string[160] = '\0'. This is fixed.
	- Updated the show_url() function to no longer ignore all
		users who have a | in their nick, but rather, ignore
		them only when the topic reply contains a raw output
		data. This way users with | can still use the bot.
	- Updated the download_database script to use the new url
		http://database.darkbot.net
	- Removed the docs/ file from the distro -- it was all very
		outdated. Please see the http://help.darkbot.net for
		current documentation.


Darkbot 6 (alpha 5): Oct 17th, 2000
	- Chris (CRM) fixed up the token code that I abandonded
		a long time back, and it now works! It's good stuff:
		You can now pick specific words out of a string using
		the string's number. For example:
		<play> bot add play* 1~ 2~ 4~ 6~
		<bot> play, okay.
		<play> play was a human and stuff.
		<bot> play was human stuff.
	- Added Italian lang.
	- Cleaned up the defines.h a bit.
	- Went thru the whole darkbot.c and replaced string length
		defines with either STRING_SHORT (512) or
		STRING_LONG (2048).
	- Removed some old backwards compatability with darkbot v1's
		that used info.db instead of info2.db.
	- Removed a struct that was not used.
	- Renamed download_all_databases to download_databases. Updated
		get-latest to use the new name.


Darkbot 6 (alpha 4): Oct 13th, 2000
	- Fixed a core bug in the new !SEEN. I forgot one "R;"
	- Deleted all the MessageBox functions from the WIN32 code.
	- Updated get-latest to now grab a compressed
		download_all_databases.gz file instead of plaintext.
	- Removed a bit of debugging code from show_chaninfo() that
		printed out all users the bot sees when you issued the
		!chaninfo command.
	- Removed the backwards compatability mkdir's in the configure.


Darkbot 6 (alpha 3): Oct 13th, 2000
	- Deleted the huge ifdef PLAY, which made a stats page.
		It's pretty useless these days, so it's been axed.
		This lowers the .c by 13k to 136k in size.
	- Ran darkbot.c thru indent.
	- Added a 'make indent' option in the Makefile.
	- Removed the LOAD_DATABASE_IN_RAM option. Most unix systems
		cache the data, so the disk searches are just as fast
		as ram searches in most cases. Also if we were do have
		a database so big it required to be loaded directly into
		ram, it would be so huge, you wouldn't want to do it.
	- Updated the SEEN code, so it updates when it sees a user quit
		IRC, in addition to when they join.
	- Updated SEEN code so that when you ask it about a person who
		is already in the chan, it tells you the person is in the
		chan.
	- Removed a few unused variables. Also set Makefile to not have
		the -Wall since it slows down the compile time, and most
		people are not going to gain anything from it.
	- Removed the .clean script, and 'make clean' option, also
		deleted the .distro script. I didn't even know it still
		existed.
	- Set the default defines.h to have JOIN_GREET disabled. It's
		annoying I think, and since darkbot is now a lot more
		advanced than it used to be, we do not need to instruct
		users on how to use the bot.
	- Set the .Stripdb script to default to strip darkbot bin.
	- Changed the version string to just say that the bot is a
		darkbot, rather than giving the exact darkbot revision.


Darkbot 6 (alpha 2): Oct 12th, 2000
	- Updated the delete_user code to now delete from ram the
		users, rather than zeroing them out. I used to zero
		them out, and reuse the allocated slots over and over
		because there used to be a ram leak, and I thought it
		was in the delete_user not deleting properly. It was
		not, but the code never got updated until now.
	- Updated do_quit to now have three options, 1) delete a user
		from memory, 2) delete all users from a chan, or 3)
		delete all users from memory. Thanks to ripper_@unet
		for his bug fixing skills.
	- Setting Makefile to also include -Wall.
	- Deleted the -LOCAL option. This code was never used and
		just bloated the code. Looks like it's removal reduced
		code size by around 10k
	- Deleted the DO_CHAN_HTML code. Another bit of bloat that is
		not needed for a help bot.
	- Deleted create_mask() function. It only half way worked.
		Useless.
	- Trimmed up the comments. Code is now at 149k.


Darkbot 6 (alpha 1): Oct 12th, 2000
	- This version includes a get-latest that works properly.
		The alpha0 version's get-latest would download the
		darkbot 5.x code thinking it was the latest when
		it was not.
	- This ver of get-latest downloads everything in compressed
		format. So the darkbot.c is now only a 30k download
		(vs a 160k download uncompressed). Even the get-latest
		updates are now compressed -- it's not even 1k in size.
	- Fixed the | nickname bug that was able to cause the bot to
		crash or disconnect from IRC.
	- Updated the darkbot startup text, so it visually shows
		things being loaded with the "...."'s.
	- Fixed the code so it can be once again compiled properly
		for WIN32.
	- Added code so that the WIN32 version can be run with no
		console window (background process)


Darkbot 6 (alpha 0): Oct 11th, 2000
	- This is the brand new code, it is not going to be
		compatable with the older darkbot's as far as
		the scripts such as ./get-latest and so forth
		due to the fact that a large number of things
		are going to be changed around. What I recommend
		you do, is download the new darkbot-6a0.tar.gz
		and gunzip/untar it, and copy over your database
		stuff. The userlist in Darkbot 6 alpha 0 is in
		a better format, and is also not compatable with
		the 5x versions. I'm sorry for the headaches, but
		it's a needed changed.
	- Darkbot will not sigsegv when it gets to a blank line in
		the info2.db or userlist.db anymore.
	- Removed !8BALL.
	- Added GERMAN lang.
	- Moved lang.h into langs/ directory, and seperated the
		langs into their own files, ie; english.h, spanish.h
	- You will no longer be editing the defines in darkbot.c, but
		in a new file called defines.h
	- All 6.x versions of darkbot run a new get-latest which
		downloads a small darkbot.version file to check the
		latest darkbot version, instead of downloading the
		full darkbot.c each time. This should speed up the
		checking, and make less waste with bandwidth.
	- Updated the show_seen code, it has more error checking
		now, and shouldn't be causing sigsegv's when it has
		invalid data.
	- Added in a channel define that allows you to decide to keep
		or remove the channel code in darkbot. The channel
		code is basically stuff like !KICK, !OP, and !PERMBAN.
		The darkbot bin shrink from 82k to 78k when undefining
		the channel code option.
	- Fixed up the userlist.db so it no longer has that funky
		control char to seperate the setinfo from the pass.
		The password is now defined before the setinfo. Also
		passwords can now be up to 24 chars in length. This
		is the main reason why you can't just update the
		darkbot.c like you could in the v5.x of darkbot's. The
		userlist would get all screwed up.
	- Updated Adduser script to now ask for a password when adding
		users :)
	- Fixed a SETINFO bug.


Darkbot 5 (final 28): Oct 6th, 2000
	- The darkbot website has moved to http://darkbot.net
		This version reflects that change, and updates
		all documentation and scripts to point to the
		new site.
	- A new script called download_all_databases has been
		created, and included in this version. It will
		download all databases from the darkbot site and
		set them up for you :)
	- Also, we have a new mailing list -- to join, email
		darkbot-request@darkbot.net with the subject of
		"subscribe"


Darkbot 5 (final 27): Aug 28th, 2000
	- Not much to say here. The last version makes the code impossible
		to compile on win32 due to the size_t type not being
		recognized.


Darkbot 5 (final 26): June 23, 2000
	- Fixed one of the below changes -- the randomtopic code caused the
		bot to crash.
	- Added in ILC (is lamer channel) support into the bot.

	### Changes below were all by ripper_@undernet
	- Changed a lot of method arguments to be pointers to const data,
	  this immensely aids in debugging and promotes strong software
	  engineering
	- Added initializers for lots of variables in methods
	- Added type bool
	- Changed some variables types to reflect usage (unused types
	  for sizes/lengths/etc)
	- Removed some compiler warnings
	- Documented all changes in the code :)
	- Remove unneeded srand() calls, this only needs to be called
	  once
	- Added a tail pointer to the sendq queue, this should be
	  a bit more efficient
	- Rewrote a few small methods to be more efficient
	- Added a db_strndup() method which will dynamically allocate
	  a character array on the heap of a given max size
	- Added a tokenize command that will tokenize a character array
	  and return an array of pointers to the individual tokens
	- Moved the permban list to use dynamically allocated buffers,
	  this should make the overall memory footprint a bit smaller,
	  this is still being tested, but seems pretty stable
	- Moved the #define of sleep to db_sleep so it wouldn't collide
	  with the global sleep method


Darkbot 5 (final 25): June 17th, 2000
	- The previous max_topic_size alert didn't work due to a
		problem with the #ifdef, this has been fixed.
	- Also the previous fix for the '-' ignore didn't work. So
		I made a str check for SAFE_TEXT that does not include
		'-' in the list, so any attempts to add with - will
		be denied.
