tinymush-2.2.4/conf/
tinymush-2.2.4/scripts/
tinymush-2.2.4/vms/
ChangeLog, TinyMUSH 2.2

===========================================================================

11/21/97:   TinyMUSH 2.2.4

--- New Features ---

- Added the ability to match regular expressions in $-commands, ^-listens,
  and through the regmatch() function. (Makefile.in, attrs.h, externs.h,
  regexp.h, regexp.c, commands.c, functions.c, game.c, look.c)

- Added the @program construct, based on the TinyMUX 1.4p4 implementation.
  (attrs.h, bsd.c, command.c, command.h, db.c, interface.h, netcommon.c,
  predicates.c)

- Added the programmer() function, to get the dbref of the calling object
  in a @program. (externs.h, functions.c, netcommon.c)

- Added the @restart command, to restart the game without dropping 
  connections. Based on the TinyMUX 1.4p4 implementation. (bsd.c,
  command.c, command.h, db.c, interface.h, netcommon.c, predicates.c)

- Added restarts() function, which counts the number of times the game
  has been restarted. (conf.c, db.c, functions.c, mudconf.h)

- Added restarttime() function, which gives the time of the last
  restart. (conf.c, functions.c, game.c, mudconf.h)

- Added command piping, allowing output from one command to be passed
  via the ;| semi-colon-like construct to another command as %|.
  Fixed a small potential coredump bug in the process. Based on the
  TinyMUX 1.5p1 implementation. (conf.c, cque.c, eval.c, game.c,
  mudconf.h, netcommon.c)

- @conformat and @exitformat, with format_contents and format_exits conf
  options, allow arbitrary formatting of Contents and Obvious Exits
  lists. (attrs.h, command.c, conf.c, db.c, look.c, mudconf.h)

- Added optional ANSI sequences, based on TinyMUX/PennMUSH implementation.
  Added ANSI and NOBLEED flags, ansi(), stripansi(), and translate()
  functions, %x substitution, conf parameter ansi_colors (defaults to No).
  (bsd.c, command.c, conf.c, db.c, eval.c, externs.h, flags.c, flags.h,
  functions.c, interface.h, log.c, mudconf.h, netcommon.c, predicates.c,
  stringutil.c, ansi.h, Makefile.in)

- Added experimental functionality for an embedded Tcl 7.6 or 8.0
  interpreter, and the TICKLER flag, compile-time selection of
  TCL_INTERP_SUPPORT. (command.c, command.h, flags.c, flags.h,
  functions.c, mod_tcl.c, config.h, Makefile.in)

- iter() and @dolist replace the #@ token with the word position in the
  list, ala TinyMUX/PennMUSH. (config.h, functions.c, walkdb.c)

- switch() and @switch replace the #$ token with the switch expression,
  ala PennMUSH. (config.h, functions.c, predicates.c)

- @stats (with no args or switches) now shows the next object dbref to be
  created. (walkdb.c)

- INFO command condenses MUSH vital statistics for MUDlist purposes, as
  per functionality agreed to with Alan Schwartz, 7/6/95. (netcommon.c)

--- New Options ---

- Added safer_passwords configuration option, enforcing less-guessable
  passwords. Modification of Moonchilde-provided code. Default #1 password
  has been changed to p0trzebie. (externs.h, mudconf.h, conf.c, db.c,
  netcommon.c, player.c, predicates.c, wiz.c)

- Site lists can now be specified in CIDR IP prefix notation.
  @list site_information now lists things in this notation. (conf.c)

- Default parents can be specified by the conf parameters player_parent,
  room_parent, exit_parent, and thing_parent. (mudconf.h, conf.c, object.c)

- New log parameter keyboard_commands will log "interactive" commands
  (direct input). (log.c, netcommon.c, mudconf.h)

- New log parameter suspect_commands will log anything executed by a
  Suspect player. (mudconf.h, command.c, log.c)

- Various modifications to make the new config parameters show up in
  @list options. (command.c)

--- New Functions ---

- New functions dup(), empty(), items(), lstack(), peek(), pop(),
  popn(), push(), and swap() implement object stacks, based on the 
  TinyMUX concept. (command.c, functions.c, game.c, mudconf.h)

- New andbool(), orbool(), notbool(), xorbool() functions do real
  boolean truth checks. (functions.c)

- New band(), bnand(), bor(), shl(), shr() functions for manipulating
  bitfields. (functions.c)

- New die() function "rolls dice", ala PennMUSH, but can take a zero 
  first arg. (functions.c)

- New ifelse() function does true/false boolean cases, ala TinyMUX
  (note boolean casing, not empty-or-zero, though). (functions.c)

- New list() function dumps output of an iter()-style function directly
  to the enactor, ala TinyMUX. (functions.c)

- New lit() function returns the literal value of a string. (functions.c)

- New sees() function checks to see if X would normally see Y in the
  Contents list of Y's room. (functions.c)

- New side-effect set() function acts like @set, ala PennMUSH. (functions.c)

- New setr() function acts like setq() but returns the value of the
  string set, ala PennMUSH. (functions.c)

- New vadd(), vsub(), vmul(), vdot(), vdim(), vmag(), vunit() vector
  functions, based on TinyMUX/PennMUSH. (functions.c)

--- Changes to Functions ---

- Added output delimiter for elements(), filter(), iter(), map(), munge(),
  setunion(), setinter(), setdiff(), shuffle(), sort(), sortby(), splice().
  (functions.c)

- elock() now allows the checking of things other than DefaultLock
  by non-privileged users. (functions.c)

- Added start and end token parsing in foreach(). Idea (but not
  implementation) from TinyMUX. (functions.c)

- mix() can now take up to ten arguments total. (functions.c)

- parse() is now just an alias for iter(). (functions.c)

--- Function Bugfixes ---

- Removed unnecessary 'first' variable from filter(), iter(), mix(),
  remove(), revwords(), splice(), setunion(), setinter(),  setdiff().
  (functions.c)

- ljust(), rjust(), center(), and repeat() now check for overflows and
  null-terminate their buffers. (functions.c)

- andflags()/orflags() now prevent mortals from getting the Connected
  flag on Dark wizards. (functions.c)

- Per Malcolm Campbell, set tm_isdst to -1 to indicate unknown status
  of Daylight Savings Time for auxiliary to convtime(). (functions.c)

- delete() now acts sanely when passed a weird number of characters to
  delete. (functions.c)

- Spurious extra leading space in filter() removed. (functions.c)

- Fixed a potential coredump bug in fun_lastcreate(), when encountering
  unknown object type. (functions.c)

- Redundant clause in matchall() removed. (functions.c)

- repeat() now acts sanely when passed a zero-length string. (functions.c)

--- Other Bugfixes ---

- Fixed a memory leak in look_exits2() when Pueblo support was enabled.
  Reported by Joel Baker. (look.c)

- Removed spurious spaces around exit names in Pueblo display. (look.c)

- Added period to "You see nothing special" in Pueblo display. (look.c)

- Per Moonchilde, do not raw_notify_html() non-HTML players. (netcommon.c)

- 'look here' (and other specific looks that check your current location)
  now correctly returns the @idesc when appropriate. Reported by Throck.
  (look.c)

- examine/parent no longer returns the locks of the parent, since they're
  not inherited by the child. Reported by Throck. (look.c)

- @clone now explicitly states when a clone name has been rejected as
  illegal. Reported by Throck. (create.c)

- Blank components are no longer allowed in exit names. Reported by
  Throck. (object.c)

- @mvattr no longer clears the original attribute if no copies were
  successfully made. A null-attribute coredump bug has also been
  fixed. Reported by Throck. (set.c)

- @verb can no longer read attributes the player doesn't have permission
  to see. Reported by Throck. (predicates.c)

- The @sweep command now shows BOUNCE objects (as "messages", just as
  they would appear if they had a @listen set). The command also now
  checks for the HAS_LISTEN invisible flag rather than scanning objects
  for the @listen attribute. (look.c)

- The bug with attribute names of exactly 32 letters is now fixed for
  real. (vattr.c)

- Fixed small bug confusing Audible and Connected in the has_flag()
  utility function. (flags.c)

- When an object is destroyed, if it has a cached forwardlist in the
  hashtable, that entry is cleared. (externs.h, db.c, object.c)

- start_room, start_home, default_home, and master_room are typed as
  dbrefs, not ints. Made NOTHING rather than -1, in some cases.
  (mudconf.h, conf.c)

- queue_string() is now declared as INLINE. (externs.h, netcommon.c)

- For conf stuff, 32, 128, and 1024 are now defined constants. (alloc.h,
  mudconf.h, conf.c, wiz.c)

- All strings are properly null-terminated when strncpy() reaches the
  buffer limit. (bsd.c, conf.c, game.c, wiz.c)

- Fixed potential buffer overflow problem with logging commands and
  removed unnecessary allocation of an mbuf. (command.c)

- Variable 'restrict' in do_verb() is now 'should_restrict', to get
  around Linux 2.0.30 defining 'restrict' as a keyword. (predicates.c)

- Fixed FPE coredump on kill_guarantee_cost being set to zero. (rob.c)

--- Documentation Changes ---

- @pemit now has aliases in alias.conf

- The help text for functions has been reorganized into categories.

- The wizhelp text for config parameters has been reorganized into 
  categories.

- Redundant info in 'wizhelp log' and 'wizhelp @list log' removed.

- The use of LINK_OK for @forwardlist/@drain/@notify is now documented.

- The player_name_spaces conf option is now documented.

- The help text for trim() has been fixed to show the correct parameter
  order.

- Moved the material from the news.txt file into the help.txt file and
  updated some of the pointers.

===========================================================================

11/17/96:  TinyMUSH 2.2.3

- A DB RELOAD IS REQUIRED BY THIS CODE RELEASE. Updated the db version 
  stuff to version 10. (config.h, dbconvert.c, db_rw.c, mushdb.h)

- Folded in Andrew Molitor's patch to alphabetize and binary-search
  on attributes at the cache level, fix the chunkfile growth, support
  IN_MEM_COMPRESSION compile-time option for radix compression, and
  write out names instead of numbers in attrib locks. (command.c, db.c,
  db_rw.c, dbconvert.c, game.c, mushdb.h, udb_ocache.c, udb_ochunk.c,
  autoconf.h.in)

- Folded in Cookie's improved, much faster string-handling routines. 
  (alloc.c, alloc.h, command.c, cque.c, create.c, db.c, eval.c,
  externs.h, file_c.c, flags.c, functions.c, game.c, log.c, look.c,
  netcommon.c, player_c.c, speech.c, stringutil.c, unparse.c, walkdb.c)

- "Lag checking", logging a warning if the real time (not CPU time)
  for execution of a command exceeds the config parameter lag_maximum.
  Can be turned off by the compile-time NO_LAG_CHECK option. (command.c,
  conf.c, config.h, cque.c, mudconf.h, netcommon.c)

- You can now lock out Guests from certain sites, via the guest_site
  configuration directive. (conf.c, mudconf.h, netcommon.c)

- The BOUNCE flag acts like the equivalent of a @listen of '*' with no
  @ahear. Useful for letting players be transparent to noise without
  needing to enable player_listen. (flags.c, flags.h, game.c)

- PARANOID_EMIT compile-time option prevents @pemit and @emit from being
  used on non-Affected targets. This has been previously impossible to
  prevent using the conf options. (config.h, speech.c)

- The new function lastcreate() and the NewObjs attribute keep track of
  last-created objects for a given thing. (attrs.h, db.c, functions.c,
  object.c)

- Command matches on objects can now be done unparsed, through the use
  of the AF_NOEVAL attribute flag. This allows editors that don't strip
  percent-signs, etc. (attrs.h, command.c, command.h, cque.c, externs.h,
  functions.c, game.c, look.c, netcommon.c)

- The /noeval switch to @pemit permits unparsed output.

- Pueblo patch integration; PUEBLO_SUPPORT compile-time option. This is
  a multimedia MUD client; see http://www.chaco.com/pueblo for details.
  (Makefile.in, attrs.h, command.c, conf.c, config.h, db.c, externs.h, 
  file_c.c, file_c.h, flags.c, flags.h, functions.c, game.c, interface.h,
  look.c, move.c, mudconf.h, netcommon.c, predicates.c, speech.c,
  stringutil.c)

- COMMA_IN_SAY compile-time attribute controls whether or not a comma is
  inserted or not, i.e., 'You say, "Hi."' vs. 'You say "Hi."'  (config.h,
  speech.c)

- Resetting of buffer pools is done at checkpoint time. Extra consistency
  checking and pool_reset code borrowed from MUX. (alloc.c, timer.c)

- NOSPOOF is now only wiz-visible, though anyone can set it; this
  attempts to prevent twits from excluding NOSPOOF people in mass-@pemit
  spams. STOP is now visible to everyone, but only wizards can set it.
  (flags.c)

- Function invocation limits are checked directly by the list-based 
  functions and foreach(), saving unnecssary extra passes through
  exec() in the parser, on overlofws. (functions.c)

- Seconds connected now noted in log of disconnect. (bsd.c)

- Default vattr hashtable size is now 16,384. @list hash also shows the
  size of the table. (vattr.c, vattr.h, Makefile.in)

- Changed default object cache size to 60x10 from 85x15. (udb_defs.h)

- Changed order of defines for configuration. (config.h)

- mix() no longer eats the beginning of its output, if that output is 
  NULL; its behavior is now consistent with map(). (functions.c)

- Fixed TLI socket close problems. (bsd.c)

- Properly null-terminated @ps/long output. (cque.c)

- A machinecost of 0 no longer crashes the MUSH. (cque.c)

- The ROBOT flag cannot be reset on players. (flags.c)

- Fixed memory leak in sortby(). (functions.c)

- list_check returns number of matches correctly. (game.c)

- Fixed buffer-overrun problem in queue_write(). (netcommon.c)

- Players over their paylimit don't get a paycheck. (player.c)

- Fixed '@set foo=bar:_baz/boom' bug (it was stuffing the contents of
  baz's BOOM into foo's BOOM, completely ignoring BAR).  (set.c)

- Fixed problem with attribute names of extactly 32 characters. Patch
  based on MUX. (vattr.c)

- Miscellaneous cleanup to remove compile-time warnings and small bugs
  done by Moonchilde.  (command.c, cque.c, db_rw.c, functions.c, look.c,
  netcommon.c, udb_achunk.c, udb_ochunk.c)

- Fixed some OS-specific problems:
    * Sys V variants: Andrew Molitor's filters now work.
    * HP-UX: char promoting to int in formal prototypes fixed. (externs.h)
    * Linux: myndbm now compiles properly. (myndbm.h)
    * Linux: MAXINT in delete() no longer causes a crash. (functions.c)

- Copyright notice updated to new TinyMUD copyright. (copyright.h)

===========================================================================

2/14/96:   TinyMUSH 2.2.2

- Implemented the wiz-settable STOP flag. Halts further $command
  searching if one is matched on an object set STOP. Order something
  like a master room's contents by priority to get maximum use out of
  this. (command.c, externs.h, flags.c, flags.h, game.c)

- Implemented the COMMANDS flag and require_cmds_flag conf parameter
  (defaults to yes). If on, only COMMANDS-set objects will be searched 
  for $commands. Some automatic db conversion is provided (to DB 
  version 9), but it doesn't handle parents cleverly. (config.h, 
  db_rw.c, dbconvert.c, flags.c, flags.h, game.c, mushdb.h, command.c,
  conf.c, mudconf.h)

- Implemented @parent/zone, a secondary local master room check. 
  Controlled by conf parameter parent_zones (defaults to yes).
  (command.c, conf.c, create.c, externs.h, look.c, mudconf.h, mushdb.h)

- New functions: andflags(), orflags(), left(), right(), lpos(), objmem(),
  xcon(). (functions.c)

- @enable/@disable now logged as CFG/GLOBAL. (wiz.c)

- god_monitoring global parameter enables dumping commands to the
  screen (basically LOG_ALL_COMMANDS without spamming the disk).

- Memory leak fixed in foreach(). (functions.c)

- lattr() is back to its more logical 2.0.10p5 behavior. Functions which
  return lists should return empty lists on errors, rather than spewing
  goop into the list buffer. (functions.c)

- map() without a list returns an empty string, rather than trying to
  call the mapping function with nothing. (functions.c)

- udefault() didn't evaluate the arguments passed to it before calling
  the U-function. This has been fixed. (functions.c)

- Checks to make sure atol() does not gag on atr_get_raw() passing back
  a null pointer. From Ambar. (player_c.c)

- Updated alias.conf with new flag aliases and some new bad_names.

- Patchlevel information moved from 'news' to 'help', so that it gets
  installed automatically when people update their server help.
- 'help commands' is now 'help command list' (to avoid conflicting
  with help for the COMMANDS flag). 'help help' fixed to reflect this.
- 'help command evaluation2' lists the exact order of matching.
- 'help secure()' notes that the function stomps on commas.
- 'help @tel' now accurately reflects what Tport locks actually do.

- Portability modifications for BSD/386 and Linux. In particular, it
  should now compile cleanly on both; the Linux SIGFPE problem is
  also fixed, as is the BSD/386 db-eating problem.

- Platforms tested (clean compile, start, shutdown, restart):
  Irix 5.3, SunOS 4.1.3_U1, Solaris 5.4, BSD/386 1.1, Linux 1.2.11

===========================================================================

6/4/95:  TinyMUSH 2.2.1

- Implemented local master rooms, the ZONE flag, and the local_master_rooms
  config parameter. (command.c, conf.c, flags.c, flags.h, mudconf.h, mushdb.h)

- Implemented @dolist/notify. (command.c, walkdb.c, externs.h)

- Implemented building_limit conf parameter, to limit total number of
  objects in the database. (object.c, conf.c, mudconf.h)

- @list options lists output_limit, local_master_rooms and building_limit
  status. (command.c)

- matchall() with no match returns the empty string, rather than a 0. 
  In general, list-based functions should return empty strings rather
  than garbage values, when errors are encountered. This was a programming
  oversight. (functions.c)

- shuffle() and squish() now properly return a null string when called
  with no args (rather than a number-of-args error). (functions.c)

- sortby()'s generic u_comp() function checks to make sure function
  limits have not been exceeded (preventing unnecessary extremely
  expensive calls to exec(), and long freezes). (functions.c)

- min() and max() no longer chop off fractional parts of numbers.
  Talek's patch for this modified to retain permissibility of passing
  the function only one arg. (functions.c)

- add(), mul(), and(), or(), xor(), min(), max() no longer keep the got_one
  temporary variable around. From Talek. (functions.c)

- not() now uses atoi() rather than xlate(), for behavior consistent with
  the other boolean functions. Note that this means it no longer regards
  dbrefs as "true". (functions.c)

- Fixed braino of && to || in dbnum(). From Talek. (functions.c)

- Mortals can now @destroy exits they're carrying. (create.c)

- Put in the mushhacks patch for fixing the site reg crash problem on the
  Alpha. This is an unverified patch. (conf.c, externs.h, mudconf.h)

- Wrote two utility functions, save_global_regs() and restore_global_regs(),
  whose purpose in life is to protect global registers from munging.
  (externs.h, eval.c)
- ulocal() now uses the utility functions. (functions.c)
- did_it() now restores the original value of the global registers after
  the @-attribute and @o-attribute have been evaluated (i.e., before 
  the action @a-attribute is done). (predicates.c)
- The state of the global registers is preserved for @filter, @prefix,
  and related attributes. (game.c)
- eval_boolexp()'s eval-lock evaluation preserves the state of the global
  registers. (boolexp.c)

- Modified the Startmush script to give more information as the pre-game
  file-shuffling is done. Added Talek's patch to automatically start a
  new db with -s if there are no existing old db files, and to do a bit
  of magic to grab the PID and tail -f the log until startup processing
  is complete.

- Fixed and updated the helptext for 'help me'.
- Updated the helptext on @aconnect/@adisconnect for global conns.
- Updated "help credits".

- Verified various fixes that were made in 2.0.10p6:
    * get(), etc. can retrieve all public attributes except for @desc,
      regardless of the status of read_remote_desc.
    * home() returns origin of exits.
    * @list options correctly reports configuration of matching commands.
    * @trigger takes a /quiet switch.
    * Rejected 2.0.10p6 "fix" to lattr() which returns #-1 NO MATCH instead
      of an empty string. (NOTE: This is untrue. It slipped in somehow.
      Error corrected in 2.2.2 release. -Amberyl, 2/14/96)

===========================================================================

4/1/95:  TinyMUSH 2.2 Initial Public Release

- Began with TinyMUSH 2.0.10p5 as baseline code.

- Fixed all known bugs/problems in the baseline code, including:
    * Memory leaks. Also, it is no longer assumed that malloc() never
      returns NULL.
    * Matching is done consistently and intelligently (more or less).
    * '#' no longer matches '#0'.
    * @destroy matching bug fixed, and permissions checked properly.
    * @destroy cannot blast #0; it is always treated as a special object.
    * Set action of SIGFPE to SIG_IGN for linux, which spuriously generates
      the signal without an option to turn it off.
    * @forwardlists are loaded at startup.
    * cache_reset() is called for every item, during startup.
    * cache_reset() is called periodically, when loading player names.
    * cache_trim config parameter removed. 
    * Wildcards can no longer be used to overflow buffers.
    * @alias makes sure that player name is valid.
    * @clone names cannot be non-NULL and the name must be valid.
    * elock() requires nearby or control of just one object, not two.
    * insert() can append to a list.
    * @function does not crash game when attr is nonexistent.
    * A /switch on an @attr command (@fail, etc.) does not crash game.
    * STICKY droptos properly check connected players.
    * Overflowing connect buffer does not cause game to crash.
    * Fixed typo of 0 to o in See_attr() macro.
    * Fixed lack of terminating null on make_ulist() (used by lwho()).
    * Fixed a @sweep bug which was causing Audible exits and parent objects
      not to show on the @sweep.
    * @doing cannot contain tabs or CRs -- converted to spaces. Also fixed
      an off-by-one counting error on characters dropped.
    * Removed obsolete memory-statistics stuff.
    * Fixed timer alarm()s to generate appropriate behavior on all operating
      systems (previous correct behavior was due to an ancient bug in the code 
      which caused things to always default to an error condition that 
      generated guaranteed-good behavior).
    * Two small syntax things corrected (=- to -=).
    * Fixed helptext error involving checking of $commands on parent objects.
    * Noted in help.txt that KEY affects all locks, not just the default one.
    * MYOPIC now works properly for wizards.

- Many things were fixed in configure; some compatibility changes were made.
    * db.h is now mushdb.h, in order to appease FreeBSD.
    * Support for setdtablesize() and get_process_stats() on Sequent.
    * Support for the rusage syscall() braindamage on HP-UX.

- New features were added, and some other things twiddled.
    * Quotas can be managed by object type.
    * There is support for multiple guest characters.
    * There is support for global aconnects and adisconnects.
    * Added logging of command count, bytes input, and bytes output, when
      player disconnects.
    * Note is written to log after startup processing is completed (since 
      there is often a substantial delay between the db load completing and 
      the game actually being "up").
    * @shutdown/abort causes game to coredump via abort().
    * @dbck can fix damage of the 'Next(<obj>) == <obj>' type.
    * @search reports a count of the objects found, broken down by type.
    * @pemit to disconnected/pagelocked players now does not return an error
      message.
    * @pemit/list and @pemit/list/contents sends a message to a list.
    * @decompile takes wildcards.
    * 'examine' shows more attribute flags. More individual attribute flags
      are now settable.
    * Added "audible" notation to @sweep command.
    * Idle/Reject/Away messages now take the paging player as the enactor,
      rather than the target player. This enables personalized messages for
      each player.
    * Fixed @list options to reorganize some of the parameters and remove
      redundant or obsolete stuff. Also added some previously unlisted stuff,
      like typed quotas and function limits.
    * Reorganized @list process, and removed bits of obsolete code.

- Functions were modified.
    * and() and or() stop evaluating when a conclusion is reached (this
      isn't user-visible, unless there are inline side-effect functions
      like setq(), and is done merely for internal speed).
    * hasflag() can now check attribute flags.
    * iter() and parse() evaluate their delimiter args.
    * lnum() can now take a range argument, and a separator.
    * locate() can now taken an 'X' parameter (to force an ambiguous match).

- Functions were added.
    * %q-substitution for r()
    * %c/v(c) substitution for 'last command'.
    * default(), edefault(), udefault()
    * findable(), hasattr(), isword(), visible()
    * elements(), grab(), matchall()
    * last(), mix(), munge(), scramble(), shuffle(), sortby()
    * objeval(), ports(), ulocal()
    * foreach(), squish()

- Configuration options were added and modified, and other cleanup was done.
    * Made wizard_obeys_linklock a config option (default is "no").
    * Default queue idle and queue active chunks changed to 10/10 (from 3/0).
    * Default object cache size changed to 85x15 (from 129x10).
    * New config parameters starting_room_quota, starting_exit_quota,
      starting_thing_quota, starting_player_quota, typed_quotas (defaults
      to "no") added to support Typed Quotas.
    * New config parameter use_global_aconn (default is "yes").
    * Config parameter 'guest_char_num' replaced by 'guests'.
    * Floating-point arithmetic is now an #ifdef FLOATING_POINTS in config.h
    * Hashtable sizes were upped to 512 for players, 256 for functions, and
      512 for commands.
    * The code was split up into multiple directories.
    * One consistent indentation style is in place (see misc/indent.pro)
    * New news.txt file, which says some general things about 2.2 and MUSH,
      adds a user-visible changes section, and adds a long-needed "how to
      write a news file" entry. Also modified motd.txt for the 
      "### end of messages ###"  client-stop-gagging-welcome-screen mark.

===========================================================================