---- 2.3a9 ---
- Fixed bug that prevented players who idled out while editing from
  being booted.
- Sending a tell to an NPC no longer runtimes.
- Closed up various exploit vectors with overrides of efuns.
- Null groups no longer hose MASTER_D.
- Fixed spurious error message in mv command.
- Added the "prompt" command, with which you can now customize dynamic prompts.
- Added wimpy status to env command.
- Fixed some bugs and an exploit in mail code.
- Creators can no longer snoop by default. To make snooping available
  to a creator, add her to the SNOOPER group. She will then be able to snoop
  players, but not creators. To let her snoop creators, you'll need to
  promote her to assistant admin, or edit valid_snoop() in /secure/sefun/sefun.c .
- Added inews to the default creator channel list.
- Fixed grievous carry leak in containers.
- Fixed some null error messages when default parsing is enabled.
- Fixed a runtime with default parsing enabled.
- Fixed error message when giving something to an overloaded creature.
- Added verbs: activate, deactivate, install, uninstall.
- Added LIB_ACTIVATE, LIB_INSTALL.
- Added wrist computer as an example of an object that has functions
  added to it without shadows. See /domains/default/armor/wristcomp.c
  and /domains/default/obj/module_cloak.c
- Only one LIB_OOB ob is created for a full liveupgrade.
- You can now do a liveupgrade from behind a firewall: opening
  your oob port is no longer necessary.
- Fixed flashlight bug.
- Fixed elevator button/dummy object bug.
- System channels are added to players on login if they're missing. This
  corrects a problem with login announcements on upgraded muds.
- First admin logins now may choose between four genders.
- Shortest command matching is now shortest *unique* command matching, to
  avoid accidentally executing the wrong command.
- Added OBJECT_MATCHING, COMMAND_MATCHING, BARE_EXITS, and
  LIVEUPGRADE_SERVER to mudconfig command.
- The wizlist command generates an updated cre list regardless of whether
  the mud is upgraded or at its native rev.
- Implemented LIB_ROOM fix suggested by Memrosh.

---- 2.3a5 ---
- Added OOB support.
- Added liveupgrade system. See: help liveupgrade

---- 2.3a1 ---
- Fixed null errors in wield verb.
- DEFAULT_PARSING now works correctly. If you have two keys and two tables,
  "put key on table" will put a key on a table without causing
  an "ambiguous parsing" error.
- Added sefuns: atomize_string, atomize_array.
- Setting OBJECT_MATCHING in /secure/include/config.h to 1 will enable
  "shortest matching name" behavior, so that "zap di" is equivalent
  to "zap dirk".
- Setting COMMAND_MATCHING in /secure/include/config.h to 1 will enable
  "shortest matching command" behavior, so that "upd here" is equivalent
  to "update here".
- Added command: qed.
- Setting BARE_EXITS in /secure/include/config.h to 1 will now let you
  use "north" and "cabin" as valid movement commands, rather than "go north"
  and "enter cabin".
- "afk" property is now removed on login.
- Extra description strings from GetAffectLong() no longer duplicate if
  you're carrying multiples of an item.
- Modified races so that non-meat lifeforms don't leave rotting meat corpses.
- Added passive-mode support to ftp server ( contributed by Duuk @ Haven ).
- Added code to prevent "bad alternate router data" bug that tends
  to knock muds off the router.
- Added "neutral" (aka hermaphrodite, aka intersex) and "none" to 
  user-selectable gender choices (Not applicable to first admin).
- Lower case mudlib names now work in mudlist.
- Probability lab bugs have been fixed. Charly and Charles now save
  their persistent data in a sensible way.
- "copy /obj/room.c" now works for non-admins.
- Fixed up some issues with the dsversion command.
- Added sefun: chunk_string(), groups(), query_intermud_ip().
- Added commands: wizlock, wizunlock, wizlist.
- Added commands: gag, mute.
- Fixed another paradox condition in the router where a mud could be
  simultaneously connected AND disconnected, causing reconnection problems.
  A periodic check for this condition will clear it every 15 minutes or so.
- Added command: flee.
- New creators are polyglottized by default.
- inet, ftp, http, and rcp services can now be configured with mudconfig.
- The router room is now the server monitoring room. Admins may now use
  that room selectively to monitor traffic on the following services:
  ftp, http, rcp, i3 (router). They can be monitored in any combination,
  and the messages are in different colors to help distinguish between them
  when multiple service monitoring occurs.
- The netstat command now lists the correct FD's.
- Reverted default MALLOC to something that fancy new 64 bit computers like.
- Retooled inet/server subsystem to accommodate RCP, added creremote
  and LIB_REMOTE to the extra/ dir of the distribution, as well as instructions.
- Recompiled Windows driver to match current unix standard config.
- Finally (I hope) nailed that pesky router connection problem.
- Fixed bug in LIB_LOCK that prevented carried, lockable objects from working right.
- "unsnoop" and "unsnoop all" now work.
- Cleaned unwatched players from "snoopreport".
- /log/catch messages now have time stamps.
- Fixed errors/typos in groupmod and mudconfig help text.
- There is an error in the help file for groupmod. It should look like this:
  Syntax: groupmod [-a|-r] GROUP NAME 
          groupmod [-c|-d] GROUP
- Fixed a bug in grep that made it choke and halt on binary files. It still
  chokes, but it continues grepping after reporting the runtime.
- "decre" no longer removes all channels. Note that testing encre and
  decre repeatedly on the same character will probably generate problems eventually.
- Added LOCAL_TIME parameter to config.h. Some OS'es use UTC and offsets for
  timekeeping, others use a "local time" setting. Rather than try to play offset
  games and fail miserably, this setting is meant to address that.
- Added "mudconfig" command to enable the convenient changing of some config.h parameters.
- LIB_CONNECT now checks CFG_IP_UNRESTRICT as well as SAME_IP_MAX to determine
  if the connection should be permitted. This allows you to specify ip's that
  are immune from "max connection" restrictions. 
- LIB_CONNECT now checks each incoming connection to determine whether it
  is the last known ip of a SECURE user. If it is, the connection
  is permitted regardless of SAME_IP_MAX.
- It is now possible to use the "home" command to go to other
  creators' workrooms.
- GetPlayerList(), GetCreatorList(), and GetUserList() in PLAYERS_D can now be trusted
  to provide correct information (for new installs).
- It is now possible to get player data from users that are logged off, by specifying the variable
  to the player daemon. For example: eval return PLAYERS_D->GetPlayerData("cratylus","Properties")
- Beefed up groupmod to handle group adding/deleting, and enable (some) use by ASSIST.
- Added command: groupmod.
- Added commands: pause, unpause. Used to remove/restore commands
  from a player with behavior problems.
- Recurring reboots can now be disabled in config.h with DISABLE_REBOOTS.
- Added command "chancolors" to toggle seeing colored channel messages. This is
  to limit the annoyingness of people who add pinkfish color codes
  to their channel messages.
- Fixed a problem in LIB_SHOOT that prevented targeting specific
  victims, as well as a runtime bug when shooting things in your inventory.
- Fixed a runtime in CHAT_D that mishandled unknown chans.
- If EVENTS_LOGGING is set in config.h, new events added to the
  EVENTS_D will be logged to /log/secure/events.
- If CALL_OUT_LOGGING is set in config.h, call_outs not created by
  privileged objects are logged (There shouldn't be any need to
  log call_outs initiated from within /secure). call_outs originating
  in /daemon are not logged either, due to the size of the resulting
  log growing too quickly.
- Initiating flight while resting on furniture no longer corrupts
  a creature's short desc.
- Fixed bug where "look at thing on blah" let you look at
  the thing even if it was invis.
- Fixed bug in LIB_NPC that revealed carried invisible objects.
- Commented out annoying addr_init error in driver that spams
  STDERR when running on Solaris.
- tc() now also prints to STDOUT.
- SetItems() now works properly in tangible items (eg Orcslayer).
- Fixed problem with out-of-sequence messages using TalkResponse 
  in sentients.
- Fixed incorrect behavior during automated reloads.
- Fixed an incorrect inherited call in LIB_CHAIR.
- local_options now has "ref" defined as a reserved word. This allows
  the use of "ref" as a keyword for passing variables by reference,
  instead of by value. For an example, see /domains/default/obj/pass_example.c
- Fixed bug in router code that created problems when muds
  originating from the same ip connected and reconnected.
- Added commands: files, doctool, showfuns, createfix, findfun,
  pk, find, chanremove, chancreate.
- Got rid of confusing null long desc on doors when initfixed or reloaded.
- Got rid of a null error message in reply command when the target 
  is missing.
- Fixed problem in help daemon that prevented race help from displaying.
- Revolvers reimplemented.
- Driver options now output verbose warnings about inherited function
  conflicts and unused variables if you use local_options.debug at
  compile time.
- Eliminated various function conflicts in lib files.
- Isolated unused variables in /lib file function arguments with
  true() and false().
- true() and false() now can take any number of arguments, and always
  return 1 and 0, respectively.
- Fixed bug in "home" command. 
- mudos.cfg now has a time to swap value of 0, to disable
  swapping. I've seen now more than one driver crash due to
  a swap bug, and I'm not sure what the problem is, so until I do
  know, swapping will be disabled by default.
- Added RELOAD_D for objects that need to somehow get
  themselves reloaded without incurring recursion problems.
- ROUTER_D now resets every 25 hours or so.
- The banish command now has an "-s" option to banish offensive
  substrings from names.
- Corrected problem in addraces command that distorted which races
  could be used by players.
- Modified make_workroom so that newbie creators who hose their
  workroom can "restore workroom" without first having backed it up.
- Fixed bug in snoop command that caused bizarre situation when
  snooping yourself using your capitalized name.
- "X looks around" and "checks possessions" messages are now suppressed
  in meeting rooms.
- Fixed reporting of object mass so that both the mass of the container
  and its contents are returned. This corrects a LIB_MOUNT error.
- Fixed archaic parse_* lines in some verbs that interfered with VERBS_D.
- Fixed "say to".
- Added new features to each race file.
- The findfun command no longer fails with timeouts and it executes
  extremely fast due to the use of the new daemons.
- Fixed QCS bug that prevented adding includes.
- Added features to races: body type, size, average mass, whether they can
  swim, and what they breathe.
- New daemon: FILE_D, traverses the lib hierarchy, compiles
  a list of all files, and maintains the cached data for querying.
  Full refreshes of the data happen relatively quickly, in under
  a minute, and does not lag the mud much.
- New daemon: FUNCTION_D, uses FILE_D to determine inheritable lib
  filenames, then queries each for the names of functions defined.
  Full refreshes of this data happen slowly, several minutes
  or longer. However, the mud is not much lagged during this process
  except while processing very large files (e.g. /lib/body.c).
- Fixed "first admin bug" that failed to add channels.
- Implemented emotes bugfix provided by Aransus.
- Modified the template realm somewhat. There are now flask examples,
  and each wiz gets their own toychest, rather than using one default file for all.
- Added to QCS: Set/AddTerrainType, SetDefaultLanguage.
- Added room terrain types.
- Non-DS code no longer needs ::create() in the create() fun to work.
- Campus meeting room no longer blocks teleports.
- Added stable with mountable horse south of the town schoolhouse.
  "mount horse" and "dismount".
- Mounts must now be befriended before being mounted. To end your
  ownership, "abandon" the mount.
- Fixed QCS bug when running in Windows that turned '\n' into '/n'
- Added DEFAULT_PARSING to config.h. If this is set to 1, commands
  that normally fail with an ambiguity error ("Which X do you mean?")
  will instead default to the first eligible object. 
- Fixed problem on i3 router that caused muds to share fd's.
- Added MAX_COMMANDS_PER_SECOND to config.h to enable a cap on scripters.
  This affects players only.
- Fixed race-based skills. See http://dead-souls.net/ds-creator-faq.html#2.45
- Added LIB_FLASK (for canteens, coffee cups, etc). Flasks can
  now be filled at the town's riverbank and at the shore.
- Added verbs: pour, fill, empty.
- Removed encre/decre from admintool. It was goofy and dangerous.
- Added SetActionsMap() to LIB_ROOM, to enable room actions with variable
  frequencies. The old SetAction() method also still works.
- Added RETAIN_ON_QUIT define in config.h, and SetRetain() and GetRetain()
  to LIB_PERSIST. Any object that returns 1 on GetRetain() is retained
  across logons, regardless of RETAIN_ON_QUIT. Any object that return 0
  on GetRetain() is removed on quit, regardless of RETAIN_ON_QUIT. Changing
  RETAIN_ON_QUIT requires a reload of every object, or a restart of the mud.
- Added sample potions to /domains/town/meals and to Oana's magic shop.
- Empty bottles now behave properly across logons.
- cp and mv now take -f as a flag to force overwriting.
- Removed channels (except admin ones) stay removed.
- Fixed double-logging in channel messages.
- Recompiled windows binary with new options and fixed socket_efuns.
- Added well-door system.
- Changed stat command to handle economies that do not have gold.
- Idle times now report in a human readable format.
- SERVICES_D: unk-src error now triggers an INTERMUD_D reload.
- Router verified to accept over 400 separate mud connections.
- Default connection mud for the telnet room is now Dead Souls Demo.
- Added cambot to conference room.
- Added commands: files, doctool, showfuns, createfix, findfun, pk.
- Fixed a sockets bug in the driver (thanks to Zac@StarMUD)
- Removed intergossip as a default enabled channel. Added dchat
  as a default enabled channel.
- Added Nimrod's recursive/numbered grep enhancements.
- Added numerous back-compat funs and obs for TMI-2 porting.
- Added numerous back-compat funs and obs for Nightmare 3 porting.
- Added daemons: ESTATES_D, ALCHEMIST_D (materials properties).
- Router admin commands will now also take ip+port.
- It is now possible to mudlist, rwho, and tell to a mud using its
  ip address+port. For example: rwho 71.234.154.99 6666
- The muffing commands now also affect tells. "earmuff Tatianna" will
  prevent you from hearing channel messages *and* tells from tatianna.
  You can also muff ip address + port, example:
  earmuff @194.70.3.211 3000
- "tell history" now provides a limited history of your tell messages.
- Fixed a problem adding currencies with admintool when there are
  fewer than 3 existing currencies.
- Reverted to the old Nightmare calendar: mud time of day and sky
  events should make more sense now.
- Added SAME_IP_MAX define in config.h, to help limit bot spam/abuse.
  Default limit is 4 connections per IP.
- Fixed login problems in bots.
- Raised ulimit in start script to 1024.
- Dying creatures can no longer be observed to remove armor and weapons.
- Ludicrously long environment descriptions no longer break
  when displayed.
- "alias foo" no longer removes the "foo" alias, it merely displays
  it. To remove that alias, the new way is:
  unalias foo
- New players are 100% proficient in the language Common, and it
  is set as their default language.
- You may now "speak in LANGUAGE" to set your default "say" language
  to what you specify. To make it so that "say foo" comes out in Rigellian:
  speak in rigellian
  say foo
- Creators don't lose stamina when moving around while invis.
- Added sefuns check_string_length and print_long_string to handle
  Strings Of Unusual Size.
- Removed call_outs from PING_D.
- Added DeadMan switch to PING_D.
- Added logon notification channel <connections>.
- Added A_CUSTOM as an all-purpose armor type that can be worn
  on most body parts.
- Enhanced channel and event logging to the router.
- Fixed potential channel spoof and channel admin problems
  in the router.
- Modified various commands to deal with Load-Addled Game Syndrome.
- Modified LIB_BOOK to avoid tedious reload on init().
- Added player bots for load testing (tested on Linux with
  approx 250 player bots, all active, with no noticeable lag
  on a crappy 1.2GHz laptop).
- Beefed up the router command.
- Character creation now does not save the playerfile until
  the entire creation process has completed.
- Made AUTO_WIZzing a choice for the user, rather than
  truly automatic.
- Added privacy field to template workroom.
- Added LIB_MESSAGES fix suggested by Memrosh.
- Fixed a LastLocation bug in LIB_PLAYER.
- Fixed shadow bug in the remote control.
- Added catch_tell room to arch area.
- Fixed reaper bug that destructed shadows.
- Fixed a bug in room messages during eventMoveLiving().
- Added Praxis domain.
- Fixed customdefs issue in QCS with files in /domains.
- Added FILE_D.
- Added LIB_MOUNT, LIB_DOMESTICATE.
- Fixed carry leak in arches during shutdown.
- Fixed save problem in arches during shutdown.
- COMPAT BUSTER: changed GetCustomPath and GetCustomCommand
  to query_custom_path and query_custom_command.
- Cleaned up strange formatting error in old sefun docs.
- Added sefun: query_local_functions.

---- 2.1.1 ---
- Fixed a bug in chat.c that sent comms on new local channels to
  the router (!!).
- Fixed "return" command bug and various travel message bugs
  in LIB_CREATOR and LIB_PLAYER.
- Eliminated savefile data leak in admins on shutdown.
- Fixed overly aggressive reaper that killed shadows.
- Admintool security flaw has been removed by removing encre and
  decre from its menu.
- It's no longer possible to screw up admintool by removing too
  many currencies at once.
- Updated verbs/commands: reload, gauge.
- "Can't drop things in a no-teleport room" bug fixed.
- Default channel removed: intergossip.
- Default channel added: dchat.
- Players can no longer use the force command.

---- 2.1 ---
- Fixed relative include problem in QCS.
- Fixed memcheck.
- Added vis and invis to list of customizable messages with the
  message command.
- Fixed bug in ls command with the -b flag.
- Fixed index problems in chat.c with class channels.
- Fixed a problem when looking at dummy items (e.g. buttons and doors).
- Fixed color code problem in the arch room screen.
- Fixed problem in look verb that caused problems looking at
  objects that inherit LIB_DUMMY. Tons of thanks to Daelas for this save.
- Unused debug lines removed, general cleanup of ugly
  or unnecessary comments.
- Miscellaneous tightening up of domain objects such as lowering
  the max health of newts, etc.
- Miscellaneous tidying up of lib logic, such as preventing the
  fly command to commence flight whether already flying or not.
- KNOWN ISSUES:
o The blackjack table is officially on the "I'm not fixing it" list.
  It is left as an example of game code, but you are warned that
  it contains some subtle and not-so-subtle errors in its calculations.
o addr_server.exe win32 binary removed, due to bugginess. Since
  it hasn't been working for a while, and it was only noticed by
  a bugtester, it's going away until post-2.1
o A peculiarity in grammar with multiple corpses can be seen. This is
  partly due to a MudOS idiosyncracy which will be addressed in the future.
o In some cases combat events appear slighly out of order. This
  will be addressed in a rewrite of combat objects in the future.

---- 2.0r29 --- 
- Fixed finger daemon to not display ip addresses to players.
- The verb copy now handles relative paths more gracefully.
- LIB_TEACHER can now know all languages with SetAllLanguages(1)
- Standard chairs and beds can no longer be taken when someone is using them.
- Fixed church elevator buttons.
- Fixed problem with "look at pile".
- Fixed problem with examining objects on surfaces.
- It is now also possible to look at things carried by others, 
  e.g. "look at shirt on fighter".
- Remote finger no longer betrays invisible people.
- Added sefun: alpha_strip
- Room descriptions now indicate which piece of furniture a creature
  is resting on, if applicable.
- Objects on surfaces than can be sat or lain in are not visible
  or accessible if someone is lying or sitting on that surface. e.g.,
  you can't examine or get the glasses under your butt on the chair.
- SetMaxHealthPoints now works as one would expect. The kitchen rat
  is invincible no more.
- Look at <container> problem fixed.
- Bank tellers (Zoe) now do a better job of retaining the correct
  surcharge on currency withdrawals.
- Added /secure/obj/glasses.c as a creation object. Since you wear them,
  it's hard to lose them accidentally. Since few things are called "glasses",
  they won't get in the way of creating objects. New creators will have them
  automatically added to the table in their sample room.
- One may now have a smiley in front of a channel message without
  it turning into an emote.
- Fixed a conflict in the parsing system.
- Verbified "force".
- Fixed vendor bugs: appraising at zero, confusion with similar items.
- Beefed up the answers_to sefun, to handle adjectives.
- Fixed a couple of bugs in the lead/follow system.
- Fixed null error when selling to non-vendors.
- Fixed a channel log bug that logged to one of two files for
  some channels, depending on whether someone was logged on (!!).
- Fixed bug in meals that prevented empty bottles replacing
  full ones.
- Fixed a bug in the MudOS parser that screwed up things with apostrophes.

---- 2.0r28 --- 
- Fixed minor bug in body.c that interfered with collapsing.
- Fixed message boards.
- Added command: snoopreport
- Fixed bug that caused players to be essentially immortal.
- Player death history is now accurately recorded.
- The command mudlist now ignores colors.

---- 2.0r27 --- 
- Fixed currency problem in dying NPC's.
- Added commands: env, polyglottize
- Fixed "about" verb.
- Tweaked snoop daemon and snoop objects.
- Added pay-for-lessons feature in language teachers.
- Fixed bug in LIB_EXITS that hosed various things,
  including wandering NPC's.
- mv command no longer overwrites an existing destination file.
- Fixed campus rooms with hosed CanReceive()'s that horked logins.
- Turned "move" command into "transfer", to address a conflict with
  the "move" verb. - Fixed bug in admintool that prevented assistant admins from
  using it.
- Fixed bug in eval that prevented assistant admins from using it.
- i3router: dynamic channel data is now persistent (newly created   
  channels won't disappear when the router resets).
- i3router: fixed a bug in chanlist-reply that stopped the   
  channel list being sent to LPUni lib muds.
- Modified install process to handle compiling on Wolfpaw servers.
- Added code example domain that was donated by Daelas @ Moraelinost.
- Added new podium, conference room, and margins command that were
  donated by Daelas @ Moraelinost.
- i3router: correct password is now honored.
- Fixed help daemon bug that displayed race help twice.
- QCS: creating an enter no longer wipes exits from an existing
  target room.
- Fixed bug in rescue login (Thanks, Nulvect).
- Fixed bug in tell command that mishandled mud name ambiguity.
- Fixed bug in CHAT_D that failed to return remote channel listeners.
- i3router: fixed bug that incorrectly rejected targeted emotes.
- Killing a creature super-ultra-extremely fast no longer
  generates multiple corpses. 
- QCS: Fixed some money problems with both how much things cost and
  how much money they have.
- Modified encumbrance to be rather less cumbersome.
- Mailer default behavior now is to notify you when you receive new   
  mail. Already created characters do not have this default.
- Fixed opacity problem in worn storage.
- Fixed message board in arch room.

---- 2.0r26 ---
- Plugged some serious security holes ( http://dead-souls.net/news.html#16jun06 )
- Cleaned up some unnecessary call_outs in lib objects.
- Added LIB_PULL.
- Added Virtual Campus domain.
- Fixed qcs problem that screwed LIB_DUMMY.
- Fixed local channel emote problem in RESTRICTED_INTERMUD mode.
- Added sefun: alpha_crypt.
- Added conference room east of the Adventurer's Hall.
- admintool no longer lets you remove the last
  currency.
- COMPAT BUSTER: UNIX version now uses MD5 crypt, like the Windows
  version. Character files created prior to using this driver
  will not work with this driver.
- rwho no longer cares if the issuer of the
  command is invisible.

---- 2.0r25 ---
- r24 had some unfortunate licensing problems attached.
  r25 includes a Win32 native binary that does not depend
  on any GPL code to run.
- This release is hereby dedicated to Saquivor, who was
  instrumental in getting this binary compiled.
- r25 lib does not differ from r24 or r23. Unless you
  need the native Win32 binary, you should skip this
  release if you have r23 or r24.

---- 2.0r24 ---
- Ran into some trouble when releasing r23. For
  technical reasons, it's being re-released as r24.

---- 2.0r23 ---
- Fixed a bug that sent local channel data to the i3
  router. Sorry about this, guys. As soon as I found
  this, I killed it. It appears to have affected r22 only.
- Fixed a conflict between room SetActions and LIB_FISHING.
- It is no longer possible to fish while asleep.
- Admins can no longer decre themselves.
- Modified MudOS source to compile on IRIX using Nekoware.
- Fixed PK bug. Added PLAYER_KILL to config.h .
- Fixed problem with monitor failures and runaway
  snooper generation.
- Fixed gate command, renamed it stargate.c.
- Added Administrator's Guidebook. Initial draft available
  at http://dead-souls.net/guide/
- Added downloads.html to doc pages.
- Added verbs.html to doc pages.
- Added i3who command to list who data on all muds.
- Fixed a germ bug that triggered a combat message.
- Fixed an invalid index bug in STARGATE_D and
  in LIB_STARGATE.

---- 2.0r22 ---
- Changed UNIX config and start scripts to assume
  Bourne shell rather than bash.
- Fixed "look in" bug in transparent containers.
- Added stargate lab east of the Creators' Hall.
- Added sefun: compare_array.
- Fixed divide-by-zero bug in net worth calculator.
- Fixed "look in" bug in opaque containers.
- Fixed snoop and monitoring bugs.
- Added SetAction to rooms, for time-based events. See
  /domains/town/room/shore.c for an example.
- Fixed plural limb problem in RACES_D help.
- Worn/wielded items must be removed/unwielded before they can be dropped with "drop all".
- Worn/wielded items must be removed/unwielded before they can be sold with "sell all".
- Consolidated Windows and UNIX distributions into a 
  single download file.
- Converted class variables in STARGATE_D to mappings,
  and fixed "inbound/idle gate" bug, as well as room
  message bug.
- Updated FAQs and miscellaneous documentation.
- Fixed bug in RESTRICTED_CHANNELS.
- Cleaned up odd function names in LIB_LEAD.
- Tightened up earmuffing, added muffing of entire muds.
- Fixed a bug in look verb that prevented looking
  at dummy items.
- Fixed a few bugs in trainers. Added a SetNoSpells() lfun
  to control whether a trainer automatically can teach the
  spells she knows.
- Fixed noisy index error in LIB_GERM.
- Fixed CHAT_D bug that prevented talking on some channels.
- Fixed problem in LIB_FISHING that made one's catch disappear.
- Fixed opacity for containers. If an item's opacity is about
  33 or below, its contents are visible on casual examination.
  Otherwise, you have to "look in" it.

---- 2.0r21 ---
- Fixed a bug in "following" code.
- Fixed a bug in trainer code.
- Fixed latent SNOOP_D bugs.
- Lowered log rotation threshold.
- Corrected stat distortion problem in races.o.
- Added the domaincreate command.
- General minor typo/bugfixes.
- Tidied up interaction between rid, suicide, and 
  PLAYERS_D.
- Updated FAQs.
- Fixed bug in scan when providing all of the flags: -e -d -i
- Fixed put.c.
- Fixed unusually generous vendors.
- Fixed bug in objects() sefun that interfered
  with resets.
- Removed clan inheritance from gstaff.c.

---- 2.0r20 ---
- "put all in <thing>" now ignores worn and wielded
  items.
- Added commands: switchrouter, domainadmin,
  monitor, unmonitor.
- (hopefully) Fixed rare and peculiar bug that hosed
  up logins unpredictably.
- Added the Jonez stargate system.
- Container bug fixed. It is now possible to put 
  amounts of money into containers and onto surfaces.
- Daemonized snoop system. This permits the logging
  of snoop data, unmanned snoop logs, and snooping 
  multiple players at once. Still slightly buggy, so
  please report any problems with it.
- The encre and decre of non-logged-on users now
  behaves properly.
- Furnaces now destroy objects almost immediately.
- Fixed voting system.
- LIB_GUILD changed to LIB_CLAN. It works, but is
  not actually useful. Proper clan functionality
  is planned post-2.1.
- Heal command now fixes individual limbs as well.
- Added ENABLE_ENCUMBRANCE define to config.h to
  toggle the encumbrance combat modifier.
- Modified combat so it's difficult to fight while
  carrying stuff. Anything worn or wielded doesn't 
  affect combat capability. NPC's are unaffected by this.
- Fixed horrendous carry-capacity leak in all containers.
- Added "every" token to reload verb, enabling the
  reload of all loaded objects that inherit the specified
  library object, eg "reload every npc".
- Fixed bugs in invisibility.
- Enabled QCS to work in /domains directories for
  creators set as domain admins with the 
  domainadmin command.
- Fixed error in RACES_D that dramatically distorted stats.
- Added sefun: domain_admin.
- Fixed mudlist cache problem.
- Added command: switchrouter, domainadmin.
- Added set_heart_beat to QCS.
- Fixed bugs in commands: banish, anglicize.
- Integrated most packet data with network room.
- Added router room for I3 router debugging.
- Integrated most I3 packets with router room.

---- 2.0r19 ---
- Fixed menu item bug in LIB_BARKEEP.
- Fixed Ylsrim pub.
- Added keepalive pinger tool to wiz chest.
- Added commands: anglicize, debug, expel, resetpasswd.
- Fixed first boot problem with /secure/daemon/letters.c.
- Driver: set heart_beat to approximately one per second.
- Driver: added locale workaround to startmud script.
- Added Brodbane's New and Improved cp command.
- Added Brodbane's sefuns: wild_card, remove_dots.
- Elision bug in pager.c fixed by Brodbane.
- Added network troubleshooting room.
- Fixed bug in invisibility.
- Made tricorder and remote control emit warnings, logs,
  and errors when used by a non-creator who does not have a
  visitor pass.
- Added colon emote behavior to channels, eg, "ds :smile" works
  the same as "dsemote smile".
- Tim's I3 router integrated into the lib. Fixes forthcoming.
- Object Properties map variable now persists as well.
- Added Brodbane's dsversion command.
- Fixed bug in LIB_SENTIENT eventReceiveEmote.
- Added Shadyman's fix to the imc2 daemon.
- Added language teacher and schoolhouse to /domains/town.
- Added LIB_TEACHER.
- Tweaked interactive.c to omit null obvious exits.
- Fixed "list" conflict with restricted channels and shops.
- Added SetNativeLanguage to QCS.
- Added PINGING_MUDS, ENGLISH_ONLY and HUMANS_ONLY defines to config.h.
- Added commands: anglicize, debug, expel.
- Added SetNativeLanguage() to LIB_LANGUAGE.
- Added GetEquippedLimbs() to LIB_BODY.
- Visitor's pass now suppresses autosave messages.
- Full cardinal direction aliases added to players (eg "north").
- Added direction aliases to 'peer' command.
- Player Properties map variable now persists across quits and boots.
  This may or may not be a good thing, and could change in
  future releases.
- Added sefuns debug(), tell_creators();
- Fixed socket_address().
- Added AUTOEXEC_D.

---- 2.0r18 ---
- Changed default intermud router to 149.152.218.102 port 23
- Added a sanity check in telnet room.
- Fixed bug in Newbie Mansion Quest (thx Jonez).
- Added verb: pulsecheck.
- Fixed bug in delete verb that broke when deleting an
  item with a relative include defined.
- Fixed a wielding bug that let you wield a two-handed
  weapon AND a one-handed weapon.
- Added more damage types.
- Fixed month bug in timestamp.c.
- Fixed light bug in ROOM_VOID.

---- 2.0r17 ---
- Fixed bug that prevented assistant admins from shutting down.
- Added Shadyman's emote doc.
- Tweaked timestamp() (thx, Jonez).
- Tweaked "dest" code (thx, Cecil).
- Added convert_ascii() sefun to stringify ascii codes.
- Added get_random_living() sefun.
- QCS now sanely stops when the target is virtual.
- Players can no longer be hosed by being initfixed.
- Fixed bug that returned conflicting messages if
  an intermud tell was received while invis with
  voicemail enabled.
- timezone.cfg can now be set to blank with admintool.
- Fixed problem in CHAT_D that restricted local channel
  emotes when intermud was set to be restricted.
- Fixed a bug in null currency addition in admintool.
- Smushed another apostrophe problem. This is really ridiculous, I
  should just fix the real problem, but it's such a dumb
  bug, it's easier to pretend it doesn't exist.
- Added SetCustomXP to /lib/combat so that NPC's can have
  expee value independent of that calculated from their level.
- Added SetCustomXP to QCS.
- Wrapped users() efun in a sefun to exclude users without
  an environment.
- Removed old, counterproductive intermud update event.
- Added log rotation daemon in /secure/daemon/log.c
- Added a log rotation check every 2 hours.
- Format of timestamp() sefun changed to prevent screwing the
  mud when running on Windows and logs rotate.
- Fixed bug in update() sefun.
- Prettified devel mud welcome file and added warning about
  submitted code being automatically GPL.
- The title and chfn commands now automatically update finger
  info with current data.
- *COMPAT BUSTER* RACES_D re-written (Thanks, Ashon). If you've
  added your own races, you'll need to re-add them using the new format.
- /www FAQ material updated.
- Fixed Radagast's training skills, fixed QCS trainer creation.
- Modified telnet room to not permit recursive logins on the
  development Dead Souls mud.
- Removed nonexistent boards from boards command.
- Added commands: addraces, removeraces, ascii, resetall, flushobs.

---- 2.0r16 ---
- Admin email specified at login now gets sent to config.h.
- New FAQ material added to /www
- If a file exists in /doc/help/races for a specified race,
  help <race> will display that file instead of the autogenerated
  race body data.

---- 2.0r15 ---
- Intermud can be disabled entirely by toggling DISABLE_INTERMUD
  in /secure/include/config.h.
- *COMPAT BUSTER* Basic framework for race-based skills in 
  place. Old races.o files will not work with the new race
  data file format expected by RACES_D.
- Fleas and lice examples now unbroken.
- Peer command unbroken.
- Fixed miscellaneous i3 services bugs.
- Tweaked the apostrophe workaround.
- "cd here" now works.
- Added intermud link failure/restoration announcement
  to arch room.
- Fixed LIB_READ so that receiving a string for a functional's
  return of a GetRead makes that string the text to be read.
- Fixed read bug in /lib/bboard.c.
- Fixed a problem with eval that puked on ASSIST members.
- Fixes and updates made to answering machine. Intermud
  tell support added.
- Intermud tells now reach the player if she is invisible. The
  tell sender's mud receives an "unknown user" error, and the
  player receives an "unknowingly tells you" message.
- Intermud channels can be disabled by toggling 
  RESTRICTED_INTERMUD in /secure/include/config.h. Exceptions
  to this restriction can be made by adding users to
  the INTERMUD group using admintool.
- Automatic promotion of new characters to creator status can
  be enabled by editing /secure/include/config.h and 
  toggling AUTO_WIZ.
- Update and runtime errors now attempt to display more helpful
  messages to the user, if the user is a creator (Thx, Brodbane).
- Error logs now include timestamps.
- Added trainers to QCS.
- *COMPAT BUSTER*: Trainer skills now have to be specified with
  an array, not just a series of strings:
  RIGHT: AddTrainingSkills( ({ "alpha", "bravo", "charlie" }) );
  WRONG: AddTrainingSkills( "alpha", "bravo", "charlie" );
- Fixed error message bug in /lib/trainer.c.
- Fixed chat.c bug that allowed emotes from earmuffed players
  to be printed.
- Added languages to say verb.
- Added languages to reading.
- Added commands: language, ping.
- Updated/added various help files.
- Added FAQs (/doc/faq...accessed with the faq command).
- Updated Player's Handbook.
- Miscellaneous header fixes.
- Fixed issues in description.c and look.c that interfered with
  having multiple Item elements in objects and having arrays
  for keys in Item elements in objects.
- Added IDLE_TIMEOUT to /secure/include/config.h
- Added sefuns: imud_privp, find_inheritors, find_deep_inheritors,
  securep.
- Overhauled limb and corpse decay. DECAY_D now handles the
  callouts, reducing the number of decaying callouts to 1, regardless
  of the number of limbs and corpses lying about.
- Limb ID bug fixed.
- Added tweaks to read verb and faq command submitted by Manchi.

---- 2.0r14 ---
- Added barkeeps to QCS.
- Added vendors to QCS.
- Barkeeps now properly handle array keys in menu items. See Lars.
- Updated www directory.
- Abbreviated RELEASE_NOTES: dropped pre-v2 data.
- Added commands: consider, whomuffed.
- Fixed QCS bug that hosed room paths. See "room filenames" notes
  in chapter 35 of the Creator's Manual.
- Fixed problem with hobbling 4-legged NPC's.
- Additional docs, helpfiles, updated faqs and expanded QCS chapters.

---- 2.0r13 ---
- Numerous minor fixes to commands and lib objects.
- Keepalive daemon implemented to detect when the intermud
  connection is down and attempts to restart it.
- Intermud services now supports "auth" packets, somewhat.
- The bk command now also works on objects.
- Added commands: kills, chanban, chanunban, earmuff, unmuff.
- Fixed duplicate handbook bug in encre.
- New cres are no longer forced to quit.
- Fixed parser bug when dealing with identical items in different
  containers.
- Added sefuns: query_names, answers_to, add_event, remove_event, 
  update, local_ctime.
- Fixed events system (see *_event sefuns).
- Non-admins now can't use the dest or trans commands on admins. Note that
  if a creator really wants to, she could get around using the commands and
  trans or dest you anyway. However, now they can't do it "accidentally".
- The bull shark is no longer drinkable.
- Applied workaround to an apostrophe bug. Full fix pending.
- More sefun documentation.

---- 2.0r12 ---
- Fixed function conflict that made "scan -i" fail.
- Tightened up "get" lib code.
- Verbified "zap".
- Added atoi sefun.
- Added LIB_WORN_STORAGE to more gracefully handle wearable containers
  like backpacks and such, also added it to QCS.
- QCS: fixed a bug that hosed up armor protection settings.

---- 2.0r11 ---
- Added findobs sefun and findobj command.
- Fixed "no steal" item property so thieves can't steal such things.
- Android corpses and severed limbs now decay in their own special way.
- Fixed up the sample flu and cold so they don't permanently affect a 
  a player's stats. Added a very nasty rage virus.
- Ftpd and httpd now work (Thanks to Duuk @ Haven). To enable them, uncomment
  inet in /secure/cfg/preload.cfg. They are UNSUPPORTED, and if they ruin
  your life, it's not my problem. System security is on you.
- Added valid_link() to master.c so that link() efun works. An interactive,
  privileged, nonforced object is required in the previous_object() stack
  to avoid abuse. Do NOT use this functionality unless you know EXACTLY
  what you're doing. It probably doesn't work the way you think it does.
  Be especially careful not to link privileged files to directories that
  unprivileged users have write access to. Windows users should just 
  forget they read any of this.
- Verbified dest command. Peculiar "desting of nonexistent things" bug
  should be dead at long last.
- Golems can have their composition specified. As an example, the combat
  dummy is now a wood golem.
- Creatures born without limbs are now able to fight while in their
  natural prone position. Creatures who used to have limbs and no longer
  do have more limited options.
- SetUnique() now does what common sense requires.

---- 2.0r10 ---
- Fixed a problem in the death system that allowed creators to
  be undead without quite realizing it.
- Fixed miscellaneous minor gotchas in the sample town.
- Added commands: lightme, quests.
- Tweaked miscellaneous commands.
- Fixed germs, added germ testing lab east of the wiz hall.

---- 2.0r9 ---
- Added a <death> channel for kills notices.
- Miscellaneous fixes, tweak, etc.
- Fixed channels bug that changed lognames if someone was listening
  to a channel. Now both log.
- Encre now forces the new creator to quit. This is necessary in order
  to enable certain characteristics of their new body.
- Fixed a truly vile room bug that leaked objects and memory.
- Added reaper daemon to clean up junk from memory.
- Fixed multiple bugs in lighting system.
- Added light meter to creators' chest.
- Removed roommaker from creators' chest.
- Fixed remaining goto command problem.
- Set EXTRA_TIME_OFFSET in /secure/include/config.h to 0.
- Fixed bug in rescue login. Creators now can use it.
- Reorganized efun man pages and added missing efun and sefun docs.
- Added flying system.
- QCS feature add: you can now add includes and inherits.
- QCS fix: modify <thing> delete <directive>  now works properly.
- Added numerous new directives to QCS.
- Added lib object check and NoModify checks to QCS verbs.
- Fixed object manipulation: creatures without prehensile appendages can 
  no longer accept or manipulate objects. If a creator somehow
  manages to lose both hands they can use the "heal" command to fully
  restore themselves.
- Fixed a variety of body related issues with races, created a
  menagerie of sample npc's for testing.
- Fixed stealing system, added thief class.
- Miscellaneous lib object fixes and additions (eg SetAction now 
  takes mixed arrays, new SetPermitLoad lfun on npc's, some npc move
  messages fixed, etc).

---- 2.0r8 ---
- Added intermud announcements to arch room (/secure/room/arch).
- Fixed bug in targeted intermud emotes.
- Channels now log without needing to have a player listening.
- Admin channel now logs to /secure/log
- Fixed lib/std/book.c bug that failed horribly if there was a hidden
  file in the text source directory.
- Extensive code cleanup of unused variables.
- Miscellaneous tweaks to sample domain.
- Added tighter restriction to "no teleport" property in rooms.
- Miscellaneous fixes of verb code.
- Modified wrap() sefun to output truncated text rather than just
  error out when buffer overflows.
- Added arch command.
- Added EXTRA_TIME_OFFSET parameter to /secure/include/config.h to
  accommodate OS'es with peculiar timekeeping.
- Changed local_options to avoid excessive warning messages in /log/errors.
  This is only useful if doing a new install of Dead Souls, or
  if you copy local_options from the full distribution and recompile
  the driver. For the Windows version, all that is needed is to
  copy the new driver.exe over the old one, if you're doing an upgrade.
- Rescue login feature added. If when you try to log in, everything
  goes to hell, try logging in adding "_rescue" to your name, which
  in my case is: cratylus_rescue
- For admins, eval now writes the temp file to /secure, to avoid 
  annoying /realms dir permission conflicts.
- Cleaned up goto and dest command ugliness.
- Modified reload command and reload() sefun not to perform recursive
  updates by default. This should speed up QCS response time and cut
  down on mud-wide lag.
- Added some directives to QCS.

---- 2.0r7 ---
- Added sample virtual forest to town area.
- Added intermud list of Dead Souls muds to arch room ("read screen").
- Added mudtime and ticktock commands, and tweaked the time system.
- Updated documentation.
- Added Tim's imc2 client. Doesn't quite work yet. Suggestions welcome.
- Created ds intermud channels ds and ds_test. Enabled ds for cres
  by default (i3 names: dead_souls, dead_test4).
- Balanced/fixed attack spells a bit.
- Fixed QCS bug that prevented barkeeps from having stuff added
  to their inventories.
- Made it harder to join the mages (The game is too hard for a
  first level mage).
- Fixed a bug that made Herkimer a cheat.
- Applied workaround for a bug in Clepius.

---- 2.0r6 ---
- Added manuals and such to first admin logon.
- Cleaned up miscellaneous login quirks.
- Got rid of that pesky elog message at startup.
- Updated news files.

---- 2.0r5 ---
- Fixed problem with loading a working handbook on first login.
- Fixed QCS bug of reloading files instead of objects.
- Added CREDITS file.

---- 2.0r4 ---
- Nailed down nasty bug that overwrote rooms when creating an enter.
- Fixed a bug in "give" code that prevented giving of money.
- Fixed door bug that prevented proper setting of SetLocked and SetClosed.
- Updated some minor documentation unclarities.
- Modified reload() sefun and update command, as well as LastLocation
  settings to avoid unnecesary teleportation when reloading objects.
- Modified donate verb and lib object to behave more sanely.
- QCS code cleanup and tightening, also added inits to templates.
- Tightened up sample town code.
- Added Players Handbook

---- 2.0r3 ---
- Added workaround for Windows time-of-day problem.
- Fixed minor QCS issues.

---- 2.0r2 ---
- Many QCS fixes and updates.
- Added doors and meals to QCS.
- Added thorough QCS documentation: /doc/manual/chapter31 and above.

---- 2.0r1 ---
- Fixed peculiar "multiple doors in a room" bug.

