socketmud/doc/
socketmud/help/
This is version 2.0 of SocketMUD(tm).

01 Aug 2001 - SocketMUD(tm) v 0.1
=================================
The very first release of SocketMUD(tm). This is the only version of 
SocketMUD(tm) for which the code no longer exists.

09 Mar 2002 - SocketMUD(tm) v 1.0
=================================
Bugfixes in get_time() and new_socket() and various cleanups in the
code which allows us to use the -pedantic compile flag.

26 Feb 2003 - SocketMUD(tm) v 1.1
=================================
Bugfixes for cmd_linkdead(), new version of text_to_buffer(). The log()
and bug() functions where recoded. And copyover/mccp should be more sane.

22 Mar 2003 - SocketMUD(tm) v 1.2
=================================
Removed the unused save_whois() function, compressEnd() handles
compression more sane (had a problem with mccp v1 & v2 at the same
time).  This is the first version of SocketMUD(tm) that uses game
pulses.

02 Apr 2003 - SocketMUD(tm) v 1.3
=================================
Passwords can no longer contain invalid characters (ie. characters that
are encrypted to ~, messing with the load/save functions). Also in
compressEnd() we no longer flush residual data to prevent gargage output.

01 May 2003 - SocketMUD(tm) v 1.4
=================================
Renamed log() was renamed to log_string() to avoid conflict with the
math library. Fixed a crashbug in load_helps. Added add_help() which
sorts loaded helpfiles (this is later removed - a new sorting function
is a pending feature).

06 Sep 2003 - SocketMUD(tm) v 1.5
=================================
Removed the capitalization of the first letter in communicate(). A bug
in load_helps() was fixed as well as a related bug in read_help_entry().

02 Oct 2003 - SocketMUD(tm) v 1.6
=================================
Fixed a memory leak in the SREAD() macro.

07 Jan 2004 - SocketMUD(tm) v 1.7
=================================
Better copyover "checking" in main(), fixed spelling in mud.h and redid
how helpfiles are loaded (we now load all files in the help directory).
As a sideeffect, helpfiles can be added (while the game is running) simply
by adding a new file in the help directory, and changing a helpfile will
directly change the help in the running MUD :)

11 Jan 2004 - SocketMUD(tm) v 1.8
=================================
Fixed current_time (it was never updated), fixed a comment in update.c.
Simple codechange from getdtablesize() to the FD_SETSIZE macro, which
should be more portable. Bugfix: fread_string() now replaces all \n's
with \r\n (certain clients require this).

14 Jul 2004 - SocketMUD(tm) v 1.9
=================================
Fixed the comment for fread_string, and made changes to the Makefile
which makes it easier to use the Cygwin patch. Switched from static
clearing of structs to using bzero().

12 Dec 2004 - SocketMUD(tm) v 1.10
==================================
The comments for socket and thread states are now correct. Fixed the
text_to_buffer() function. Bugfix: buffer_clear() now actually clears
the buffer, preventing datableeding.

11 Sep 2005 - SocketMUD(tm) v 2.0
=================================
Ripped out the old "inline" linked lists, and replaced them with a generic
linked list system. Also added a Stack datastructure, which is used to
store our free-"lists". Made certain changes to the Makefil and ran the
entire program through Valgrind, making sure we had no memory leaks.
The event system is now a default part of the SocketMUD(tm) codebase.

The major changes from SocketMUD(tm) 1.10 to 2.0 makes it practically
impossible to maintain a patchfile for upgrades from the 1.x versions to
the 2.x versions (which is the major reason for upping the version
number).

27 Nov 2005 - SocketMUD(tm) v 2.1
=================================
In strings.c, the function strdup() now allocates the
correct amount of memory (len+1)

A potential memory leak in the linked lists has been
fixed. If a list is _never_ iterated over (like local
event lists), no cells in the list are ever free'd.
In DetachFromList() we now check if there is an
iterator over the list before we call InvalidateCell()
and free the cell instead if there are no iterators.

08 Oct 2007 - SocketMUD(tm) v 2.2
=================================
A memory leak in event_isset_mobile() was found by Lobotomy, and another
small security issue was also fixed in the help system.

The iterators used for the linked list system are no longer allocated and
free'd using malloc/free calls, for improved performance.