mooix (1.0rc5.pre5) unstable; urgency=high

  * Only warn if make test fails, since we have some unresolved issues on mips
    and mipsel and still want to get the fixed package in despite these.

 -- Joey Hess <joeyh@debian.org>  Sat, 12 Feb 2005 14:10:32 -0500

mooix (1.0rc5.pre4) unstable; urgency=high

  * Wrapper script unsets PERLIO_DEBUG, since suid programs that run perl
    scripts could be exploited via that variable to write to arbitary files.
    (CAN-2005-0155). Note that this is unnecessary if your perl has already
    had this security hole fixed; however I'm patching it in mooix too since
    mooix may be installed on some systems that have no sperl, so the admin
    does not think they need to fix perl.
  * Add Japanese translation of debconf template. Closes: #227814
  * Add Catalan translation of debconf template. Closes: #236659

 -- Joey Hess <joeyh@debian.org>  Mon,  7 Feb 2005 16:20:05 -0500

mooix (1.0rc5.pre3) unstable; urgency=low

  * Added a Russian translation of the debconf template. Closes: #214339
  * Work around a bug in perl 5.8.1's Test::Builder.
  * Explicitly conflict with the three versions of libc6 that broke mooix so
    bad a few months ago; people are still running into that problem.
  * Build with perl 5.8.2 to get @INC fixed for the new perl.
  * Better fix for 5.8.1 srand() bug, no run-time overhead.
  * The perl 5.8.1 rand() bug does not plague perl 5.8.2.
  * Fix gender objects to stop overidding the gender field, as that broke
    "show mooix:mixin/gender/male", and was redundant (name fields have the
    same info).
  * Change gender_validate to use names.
  * Add hack for gettpid(), which is always the same from perl 5.8.1 on.
    (http://xrl.us/xwp)

 -- Joey Hess <joeyh@debian.org>  Mon,  6 Oct 2003 20:01:12 -0400

mooix (1.0rc5.pre2) unstable; urgency=medium

  * This is a recompile for Debian to stop mood from segfaulting
    with the new perl 5.8.1.
  * Fix msg to pass originator parameter again.
  * Fix parrot squawking.
  * As of perl 5.8.1, just initting perl calls rand and seeds the RNG.
    This is a problem because all methods run by mood get the same random
    seed. To work around this, make mood call srand by hand after forking.
  * setfield's return values are now correctly intercepted, and errors are
    reported by Ruby. (Nolan)
  * Fixed errors in ruby's Thing.msg caused by @args Hash->String change.
    (Nolan)
  * Python binding's croak can return an exit status. (Nick)
  * testtree will not die if it cannot modify an object (ie, a user)
  * All tests pass except those that break due to a bug in the test harness
    in perl 5.8.1.

 -- Joey Hess <joeyh@debian.org>  Wed,  1 Oct 2003 16:09:56 -0400

mooix (1.0rc5.pre1) unstable; urgency=low

  * This is a pre-release of a release candidate. About half way to
    completing release candidate #5.
  .
  * Ruby and tinyfugue users might want to read UPGRADING.
  .
  * Include descriptions of light switches in their look.msg.
  * Add scream as alias for yell.
  * Remove the precommand_msg thing in the parser, since it does not work
    right if the unquoted command that gets autoquoted was not intended to be
    quoted.
  * Add a prompt field/method to avatars, which the parser uses for the
    command prompt.
  * Make the parser notice immediatly if the avatar's benchmarked field is
    changed.
  * Debian package build-depends on ruby1.8-dev, instead of old ruby-dev.
    Closes: #212289
  * Fix quoting issues in ruby binding, (Nolan)
  * Generate a calltrace on EACCES in ruby binding. (Nolan)
  * As of Debian glibc 2.3.2-4, the GLIBC_REWIND_HACK is apparently not
    needed (they backed out their libio changes). Disable it by default and
    make it a configure option.
  * Add debug logging to perl binding, enabled by MOOIX_DEBUG (which points
    to the debug object to use), using the new debug method.
  * The perl binding can log extensive debugging information, including
    every field it accesses and method it runs.
  * Add debug object class, that receives the debug log messages.
  * Make mood and libmooproxy propigate MOOIX_DEBUG across method calls.
  * Rename MOOIX_DEBUG in libmooproxy to MOOIX_PROXY_DEBUG.
  * Add a debugging field to builders+, and make the parser get
    reinitted when it is set, and create a debugger object under the
    avatar if there is not already one. So "I am debugging" suffices to
    turn on debugging, "I am not debugging" to turn it off.
  * Added a =debug= help topic for an overview of the debugging system.
  * Make autoconf smarter in picking interpreters, include dirs and libs 
    for python and ruby. (Nick)
  * Add thinglist.rb to ruby binding, for thinglist support. (Nolan)
  * Fix super call in ruby when ruby is not embedded. (Nick)
  * Make mood's SIGCHLD handler deal with child processes that get stopped.
  * Fix ruby_eval_verb to not allow third-party spoofing.
  * Added breakpoints and continuing to debugger.
  * Added method return value interception and change to debugger (for
    programmers only).
  * Ruby binding will call setfield for external field sets. (Nolan)
  * Added a regression/unit test framework for mooix objects, run by the 
    fulltest target. Requires a mooix installation.
  * Added a set of tests to make sure mood runs methods of different
    languages properly, esp. the embedded ones. Yes, some of them DO fail.
  * Fix perl binding implements method to not return true for subdirs.
  * Added some tests for perl.
  * Added comprehensive super tests, multi-language.
  * Fixed shell binding's super implementation to use METHOD
  * Make shell binding super be like perl and access fields if super is a field.
  * Perl binding tried to write to a parent's field, if super was a field
    and there were arguments. Changed behavior to just croak.
  * Cleaned up mood's method running code to be modular and make it easy to
    drop in new embedded languages. Also several bug fixes (it passes the test
    suite now). (Nick)
  * Fix shell binding's object return code.
  * Large ruby binding change, Mooix.run always passes args as array.
    Also fixes for multiline strings. (Nolan)
  * Python binding result object changes, including support for null super
    methods. (Nick)
  * Removed a seemingly unused and broken declaration predicate from the
    grammar.
  * Added a test suite for the parser, currently it checks that the grammar is
    valid.
  * Support upper-casing part of the verbs in commands like "Show".
  * Parser now supports compound sentences involving fields, like
    "show my name and my alias is "bob""
  * Support a period after commands like "I'm benchmarked."
  * General cleanups of stuff involving trailing fields in the grammar.
  * Rewrote the socket session class and in.mooix to use a single socket
    and a simple protocol. in.mooix does not fork as much, and now it can
    properly handle prompt redisplay if a prompt is interrupted by a
    message. This will also make it much easier to implement MCP later on.
  * Update moo and mooscript commands to use new socket protocol.
  * Added MCP support.
  * Socket session will now use MCP Simple Edit if it is available on the
    client to send files for editing.
  * Remove =tinyfugue= help topic, those macros no longer work.
  * in.mooix has to run as the mooadmin user again, so it can read mcp
    auth_keys.
  * Remove unused UNPRIVUSER from mooix.conf
  * libmooclient's truefield function changed to accept any field with a
    nonempty, nonzero value as true.
  * Make socket session's socket be mode 600, and make the accessor methods
    be stackless so they can write to it, thus plugging a very minor
    security hole.
  * Changed the interface for session edit methods, added edit_finish method
    to avatars. Cleaned up a lot of mess, now supports non-blocking edits.

 -- Joey Hess <joeyh@debian.org>  Tue, 23 Sep 2003 13:32:14 -0400

mooix (1.0rc4) unstable; urgency=low

  * Please read UPGRADING, as there are several major changes in this release
    that may require manual intervention.
  .
  * A rpm package is available, and will be supported. It is however,
    rather untested, as the only rpm based system I have is a mandrake 9.1
    chroot hackishly upgraded from 8.1. I welcome test reports.
  .
  * Some documentation cleanups. (Nolan J. Darilek)
  * Remove old .cvsignore files, mooix is in subversion now and the cvs repo
    is not getting updated.
  * Fixed socket->password to use safepassword, not old safemethod to check
    for system password requests.
  * Socket class works on the basis of messages now, not lines.
  * in.mooix displays prompts without newlines.
  * Rewrote moo and mooscript to use the socket session class.
  * Change from using a user to control entry to the moo, to a group, since
    this lets stuff like the moo and mooscript commands be suid MOOADMIN,
    sgid MOOENTRYGROUP, instead of suid root. The new group is group mooix.
  * User mooix is left because it's handy to have ~mooix, but is otherwise
    unused now.
  * Removed the single and scripted session classes.
  * Removed oneshot hack for single session from parser->parse.
  * Make all the suid/sgid programs drop perms when they can.
  * in.mooix also drops perms.
  * Add UNPRIVUSER to mooix.conf so in.mooix knows what to drop to.
  * Now that python is recording INSTALLED_FILES, the uninstall target can do
    something.
  * Register command aborts if a blank email or name is given, to provide a
    way out.
  * Introduce mooix-pty-helper, and now moologin need only be setgid.
  * Move moopasswd and mooregister to sbindir and man pages to section 8.
  * Move fieldfield to bindir.
  * In python binding, moved all variables to a separate module, added
    MOOROOT. (Nick Borko)
  * Make perl binding's croak method tell the object whose method croaked,
    rather than displaying the path to the method. $! is also always
    included.
  * Debian package must depend on adduser.
  * libmooproxy: fix bad behavior when unlinking a symlink to current object
    directory.
  * In python binding, call setfield method for external field sets.
    (Nick Borko)
  * Same for shell binding.
  * Also made shell binding able to access fields of other objects correctly.
  * Fix indentation of zsh binding.
  * Fix topo-sort bug in package system.
  * Parser only accepts answers to questions if they come before other
    commands, to prevent confusion.
  * Moved notify method from the container class to msg method in the
    thing class. This can be called directly when an object wishes to send a
    message to its surroundings.
  * Update perl, python, ruby, zsh bindings for msg change. (Nolan, Nick, Joey)
  * Instead of having a class of objects that are message filters and 
    also present in a location, switch to using a messagefilter field, 
    that is a list of applicable messagefilter objects. This is much
    more flexible and avoids the need for multiple inheritence.
  * Redid the internals of messagefilter objects.
  * Rewrote propigate() and filter() in msg.c with a tricky new algorythm.
  * Remove broken code that tried to display unexpandable variables in
    messages and ended up just getting the span wrong sometimes.
  * Move messagefilter class to mooix:filter/base.
  * Containers have a closed_filter that is used to block visual messages
    when they're closed.
  * Update unconciousness object, and move to mooix:filter/unconsciousness
  * While I'm moving things around, let's move all the sessions to
    mooix:session. Hooray for subversion!
  * Update light switch object.
  * Fixed bug that prevented unarmed combat.
  * Fix various minor combat and unconciousness-related message bugs.
  * Fix safechange methods of builder and programmer to call -safe methods.
  * makeavatar's default avatar is the MOOADMIN, not root (objects cannot be
    created owned by root)
  * mooupgrade will deal with broken objects instead of aborting with a
    useless message
  * Add a filterlist class.
  * configure checks for python version. (Nick) Closes: #207178
  * Should be python 2.3 ready.
  * Major changes in the python binding. In particular all properties and
    methods now return Result objects; the Result objects have properties
    (int, float, number, string, list, dict) that can be accessed to get the
    result cast to the appropriate type. (Nick)
  * Make in.mooix accept avatar names as well as unix user names.
  * Moved website out of tarball.
  * Detail objects for rooms. (Nolan)
  * Detail objects for containers and furniture too.
  * Don't reveal hidden contents of containers on open.
  * Fixed parallell make. (Nick)
  * Improved time format for clocks, and made it configurable.
  * Parameterized light switch object.
  * Added hushfield object to contrib. This blocks most sound from entering
    a location and can be switched on and off. Real life should be so easy.
  * Build fixes for POSIX 200112 systems (head and chown).
  * mood reads resource limits from mooix.conf. Limit OFILE to 100, NPROC to
    20, MEMLOCK to 0, NMETHOD (processess per method) to 10, and leave the
    rest at defaults.
  * Fix looking behind furniture.
  * Ruby binding changes (Nolan)
    - Major refactoring of the ruby code. The name of the module changed,
      though there is still a wrapper for back-compatability right now.
    - Deprecated internal message method in favor of msg. message is still
      available for a while, but warns on stderr.
    - Add rubydoc docs to Mooix.rb
    - Add 'defines?' aka 'implements'.
    - Add mooix/conf module for reading mooix.conf.
    - Add MOOROOT variable.
    - Add 'prettyname', 'prettylist' methods to Ruby bindings.
    - Add locking support, and the ruby duck is updated.
  * Add Dutch translation of Debconf templates. Closes: #206353
  * Add weild as alias for wield.
  * Fix toy duck autotake on winding.
  * Don't include tmp-log in deb.
  * Python binding does not unnecessarily unlink files. (Nick)
  * Fix fd leak in C binding if fork failed.
  * safechange calls setfield such that there will be a newline after the last
    item in sticky reference lists, as required by thinglist->add
  * Smarter digging: The dig command creates rooms and exits that match
    the current room. So if you're digging indoors, you'll dig more doors and
    rooms, if you're digging in your cave you'll get more dark rooms.
    See =terrain= for details.
  * Fixed several commands and messages to display better in the dark.
  * Fix parser's handling of "all" preposition in empty rooms.
  * Parser only displays guess when adding quotes if the guess turns out to
    be a valid command.
  * Fix mooadmin's reparent command.
  * Builder's safechange can change symlinks, if the new value is also a
    reference, and it's not a field of the avatar, but of some other object.
  * Builders can set references via is/set commands now, using safechange.
  * Fix unset_verb to get value of object, not avatar. Oops.
  * Fix message when failing to use a door in a non exit_ok room.
  * Update descriptions and README.
  * Fix object move handling in mooupgrade so child objects get a chance to
    run upgrade methods of new parents.
  * Add upgrade methods for base socket and messagefilter classes.
  * Three-step object moving in mooupgrade, to handle the sessions and filters
    moves while properly upgrading dependant objects.
  * Escape html tags in html session's showhelp method.
  * Test install rpm on real system.
  * Fix splittree's use of su -c to be more portable.
  * Seems start_daemon on mandrake 9.1 wants just the name, not the path,
    so changed that. Note that my reading of the lsb says the path should
    be there, and the debian implementation agrees. For now, supporting
    mandrake is more important.
  * Similarly, {remove,install}_initd on Mandrake seems not to want the full
    path of /etc/init.d/mooix. This is clearly a violation of
    the lsb, but for now I will cater to it.
  * Remove set -e from lsb/init, since on Mandrake the init functions are not
    -e safe. (Sheesh.)
  * All -T perl scripts unset all the env variables taint dislikes.
  * Modified moologin to work if Sys::Utmp is not available.
  * Add joe to suggests.
  * Broke redundant docs about extra software out of INSTALL and README.Debian
    and put it in a new ADDONS file.
  * The splittree call at rpm install time needs to munge the symlinks in the
    DISTOBJ tree, since braindead rpm forces them relative at build time.
  * Removed unnecessary link absolution code in obj/Makefile; splittree has
    taken care of that for some time.
  * Add chkconfig stuff to lsb/init, since mandrake's sad excuse for a lsb
    compliant init system seems to require it.
  * Fixed eval {use} to quote the "use".
  * Make splittree link absolution code more robust, so it will work if the
    link targets to not yet exist.
  * Added --with-perl-stdout-flush-hack switch for mandrake, building rpms
    with this switch.

 -- Joey Hess <joeyh@debian.org>  Sat, 30 Aug 2003 14:48:11 -0400

mooix (1.0rc3.snap20030801) unstable; urgency=low

  * Fix a bug in splittree that made containers self-owners.
  * Add upgrade code to correct this in existing installs.
  * Finally tracked down the bug that was causing orphaned sessions when ssh
    connections timed out. runmeth was getting an untrapped HUP, and the
    sessionmanager's logout method never called. Trap HUP before calling
    runmeth, to prevent this.
  * Avoid shutdown races under high load by breaking out another list, the
    sysshutdownlist, in which objects can take as long as they need to shut
    down. Only the mooadmin can add to this list.
  * Moved debian/NEWS to root dir, removed symlink. It's not appropriate for
    a NEWS.Debian file, but is an upstream NEWS file.
  * Added French translation of debconf template by Michel Grentzinger.
    Closes: #199977
  * Also Spanish, by Carlos Valdivia Yag. Closes: #201076
  * Add support for other languages than just perl to the eval command.
  * Added a ruby eval verb by Nolan J. Darilek and a python one by Nick Borko.
  * Add a addmoouser program, moving the ugly adduser call out of mooix.conf.
    This will make it easier to support other distros and OSes too.
  * Don't ship benchmarks dir as examples in debian package.
  * Pass -p to tar so it preserves permisions when not run as root (or 
    fakeroot). Needed especially for rpm build.
  * The spec file builds a working rpm! Tested only on my Debian system
    in lsb-compliance mode though.
  * Some mood debug message fixups, debug mode should be usable again.
  * Reorganized the python binding into a package with individual modules,
    which helped find some straggling bugs and optimizations. (Nick Borko)
  * mood can now embed ruby for speed or general evilness. (Nolan J. Darilek)

 -- Joey Hess <joeyh@debian.org>  Sun, 27 Jul 2003 22:36:45 -0400

mooix (1.0rc3) unstable; urgency=HIGH

  * Release candidate #3.
  * Fix remote root in in.mooix daemon, which is not enabled by default, but
    this is pretty bad if you did enable it.
  * Added GLIBC_REWIND_HACK to work around strange glibc 2.3.2 segfaults
    in rewind() that were breaking thinglist->remove.

 -- Joey Hess <joeyh@debian.org>  Sun, 17 Aug 2003 00:55:18 -0400

mooix (1.0rc2) unstable; urgency=medium

  # Release candidate #2.
  * Added new safechange method for avatars, which collects the whole
    security policy for how an avatar can modify objects in one place
    (except for parent field changes).
  * Modified all appropriate verbs to call safechange.
  * As a bonus, you can now do things like 'edit my sshkey' and it'll really
    work.
  * Builders can now install packages, if safechange allows all the
    necessary operations. If the package contains methods or something else
    illegal, there will be warnings, but the rest of the contents will be
    installed as best it can.
  * Changed the package format. No more tarballs, now it's plain text,
    easily transportable (by pasting if nothing else), auditable, and
    modifiable.
  * Reworked how packages install; upgrade is called on the final objects,
    not temp copies, and objects are initted at install time.
  * Removed safesetfield and safedeletfield methods including the nasty
    ones in restrictedavatar.
  * Moved rename_verb into the avatar, and it uses safechange.
  * Make removecommand remove the associated message too.
  * Fix use of list verb on binary methods.
  * Fix going home from a destroyed room.
  * Fix a bug in dig command with aliases in exit names.
  * Fix a stupid security hole in avatar edit_verb; any method could be run
    with no params.
  * Remove programmer delete verb; unset should suffice.
  * Don't let builders override .*-opaque fields.
  * Removed old builder info command, replaced by usage long ago.
  * Door getlock.pl editability fix.
  * Add spoof-detection code to all programmer verbs. Just the verb(this)
    limit is not enough if a builder derives a programmer and edits the
    .cmd fields.
  * Do same to all other verb(this) limited verbs, on general principles.
  * verb(this) is still useful as a parser hint, so not removed.
  * Put yes/no parsing in the parser (parse_yesno), where it belongs.
  * Perl binding fieldfile: return relative path for mixins, so they can be
    execed by _runmethod.
  * Fix return code from mood kill-by-number code.
  * Audited all init methods for idempotency. Necessary for object morphing,
    and also the the package system. Several changes.
  * Add used field to consumables, needed by init.
  * Fix return value of ssh init.
  * Flatten verb removed, but you can package and install an object to get
    the same result.
  * Packages deal better with attempted use by third parties who cannot
    modify them.
  * Added Mooix::Error to perl binding, and made caught exceptions much
    faster (no calltrace generation).
  * Really fixed avatar autolooks; onmove was broken if there was no
    location.
  * Verbs can also return SETITREF. Useful for builder commands, which now
    use this extensively. This allows for stuff like digging a room and
    using "recylce them" to delete the room and the exits just created.
  * Updated python, perl, ruby bindings to support SETITREF.
  * Add refstring method that can generate shortest possible reference 
    strings, and use it in many places that display such strings, including
    all object building commands.
  * Python changes From Nick:
    - added defines() method to binding
    - updated documentation
    - updated init function for wind_up_duck/python to check for local spring
    - Mooix.py is now mooix.py, hence all references to the Mooix module are
      now mooix
  * Remove group write bit from contents lists; only physics object needs to
    be able to write to those.
  * Also remove group write from the sessionmanager->avatars->list.
  * Fix owner of dormitory and entrance contents objects.
  * Remove old benchmark results files from the tarball (they're still in
    subversion if I need them). That makes it 345k smaller..
  * Added nasty emacs reset hack, so emacs can be used as an in-moo editor.
  * Prevent accidental editing of location fields with a .location-safe.
  * Added pt_BR debconf po file translation from Andre Luis Lopes. 
    Closes: #198368
  * Misc robustness fixes in makeavatar, including path absolution.
  * Make the object copy (install) faster by using GNU tar (Nick).
  * Show command copes with unreadable files.
  * setfield method actually returns values like its docs said it did
  * perl binding fail command properly quotes its output.
  * Removed old, forgotten, and unused chmodfield method. I added setmode
    after forgetting about it, and setmode is better. Nothing uses the old
    method.
  * Perl binding treats sticky reference lists with just a newline as if they
    contain zero, not one, items.
  * setfield does not add a newline after the last item in a field.

 -- Joey Hess <joeyh@debian.org>  Mon, 30 Jun 2003 19:00:39 -0400

mooix (0.9.20030606) unstable; urgency=low

  * This is a snapshot release.
  .
  * Added object packaging system, for standalone object distribution.
    This supports multi-object packages, with object reference munging.
    It should be possible to package up a whole user with portfolio and all
    associated objects, and transport it to another moo.
    (For now, only programmers can unpack the packages.)
  * Nick: Fixed python duck's initting of spring and waddling fields to use
    right perms.
  * I saw a fork bomb where moologin.pl ran resize, over and over.
    To try to prevent this, drop SIGWINCH handling inside the handler.
    I'm unable to reproduce it, but this seems like a good idea anyway.
  * Fix parser autoquote heuristic to give up if the unparseable bit is
    already partially quoted or uses {} quotes.
  * Make bird drop method robust if the bird's location goes away in the
    middle of a run. (Ie, if a guest drops a bird on logout.)
  * Actually, the bird drop method should just call super first, which solves
    the above much more neatly.
  * Allow dictonary's database field to contain nothing, or a * to search
    all db's.
  * Both the move and the pick up commands allowed moving objects out of and
    into closed, locked containers. Added (touchable) limits to fix this.
  * Make "move object to me" work, and clean up the error message for "move
    object to other avatar".
  * Fix syntax error in ball bounce method.
  * Furniture's occupied.msg is now session limited.
  * Nick: More python binding updates, including stat caching.
  * Container destroy sets maxweight to -1 before dropping everything in
    the container. This ensures that nothing can be added to the container
    in a race.
  * Fix page method of single and log session classes.
  * Fix mooscript SIGINT handling.
  * Let builders run ps.
  * Add =signal= command.
  * Fix signal method to return 0 if nothing was signaled when signalling
    to specific processes.
  * Relax ssh setkey key validation regexp to also work with RSA keys.
  * Brian Hicks: communicator and telephone system (a bit modified by Joey)
  * Add rules to parser grammar for various sentence forms with numbers and
    objects in them, as used by signal command and telephone dialing.
  * Fix doubled look on new login. Something fishy here, this reverts
    a change I made for rc1.
  * Doc updates.
  * rjoe is now the default restricted editor, since it's available now.
    rnano patch dropped from tarball.
  * The show command tries to detect binary fields, and not display their
    contents.
  * Usage command now displays design.inf before all the others when showing
    complete usage of an object. design.inf can be used for a design overview
    of the object.
  * Add several design.inf files, removed several descriptions that were
    really design notes.
  * Move flatten method from conrete/thing to abstract/builder, and make it
    take any number of objects. It's used by objcopy, and it needs to have a
    smaller callstack so it can do deep copies.
  * Add objcopy method to programmers. Not yet implemented for builders.
  * Finally provide a nice, clean create method to allocate space for and
    create an encapsulated object, instead of all that manual messing with
    umask and mkdir and ids. As a bonus (but why I really did it), this allows
    adding objects to objects other than the one running the method, callstack
    permitting.
  * Add setmode method. Gross, but flatten needs it.
  * Better y/n prompting with history disabling and completions.

 -- Joey Hess <joeyh@debian.org>  Fri,  6 Jun 2003 00:59:40 -0400

mooix (1.0rc1) unstable; urgency=low

  * Release candidate #1.
    We're in a branched development track now, with each release candidate as
    an update to the "stable" branch.
  * Updated web site with a static link to current release candidate.
  * Added TASKS file with well-defined tasks that someone other than me should
    work on.
  * Updated the roadmap.
  * Finished up the unfinished parts of the programmer's tutorial with docs
    on adding interface documentation and init methods, and on doing locking.
  * Finally fixed ball bounce interruption and racing! As follows:
    - Add a bouncing field, to be updated only when the object is locked for
      movement.
    - Added onmove method that unsets bouncing field.
    - The bounce method locks the object and checks the field each time before
      doing a bounce, and aborts if something has unset it or taken over the
      bouncing.
  * Similar locking fixes for the wind up duck and the bird.
  * Allow nearby limited objects to be in closed containers.
  * Removed the present limit. The touchable limit should do for the only
    thing that was using it, and it was broken for objects on furniture.
  * Objects with no location were before wrongly assumed by the parser to
    be visible and nearby and touchable, if referred to with mooix: refs.
  * All the limits incorrectly let objects be acted on if they were not in
    the room. Fixed.
  * Add protection to physics->move against inherited location loops in
    addition to the regular location loop checks it has long done. A bit
    expensive, but only runs if the destination has no location field.
  * Make all rooms have a location field, even if it's set to null.
  * Fix autolook on new login.
  * Fix teleport messages.
  * "teleport object in" added to complement the "teleport object out" form.
  * Log session strips xml.
  * Say logging is off if it is when asked for a log.
  * Make mood update $$ for embedded perl.
  * A better design for collections, from Brian Hicks.
  * Removed duplicate doc/copyright.
  * Only check combat_ok field of outermost room, so it does not matter if
    furniture or something in the room has it unset or set.
  * Birds can fly through exits on panic.
  * Pass intensity values to notice method.
  * Avatars can yell.
  * Parrots panic on loud noises and look for words they know to repeat.
  * Parse::Recdescent changed the key in %items to "answer(s)".
  * Fix parser bug in disambiguation by (long form) number.
  * Fixes for "put xxx down" commands.
  * Animal feeding.
  * Perl binding: Always lstat, this lets _readfield get away with one
    stat less per field access.
  * Python update from Nick Borko:
    - Binding should now contain almost all the perl methods (added many)
    - Added some utility functions to the module: tolist and tostring
    - Added __all__ to the module so you can safely import *
    - Added capability for the module to be initialized late by embedded interp
    - Modified mood code to make use of late initialization of Mooix module
    - updated documentation
  * Also, python duck object updated by Nick.
  * Removed messagefilter fields from toad, pending review of whether they
    work and if that's a good idea.
  * Made sure that every single field and method are documented with .inf
    files.
  * libmoocallstack's soversion is set to 1. libmoometohd is not done enough,
    and libmooproxy has no real interface, so they remain at 0.
  * setfield cannot use fchmod, since that is not proxied (and cannot be,
    there's no way to get from file descriptor to filename to tell if a fd is
    in the moo object). Instead, use chmod.
  * Fix programmer's setting of multivalue reference fields.
  * Several fixes to the display of multivalue reference fields by show
    command.
  * Fix guest login to in.mooix server (page method must be a hard link,
    not a symlink).
  * Fix a fencepost error in dexml functions and make them efence-safe.
  * Fix a bad free in mood's mooix.conf reader.

 -- Joey Hess <joeyh@debian.org>  Thu, 22 May 2003 12:22:30 -0400

mooix (0.9.18) unstable; urgency=low

  * hppa now needs fopen wrapping to be done with no defines, and exec
    wrapping be done with defines. To allow for this, I split off a
    wrap_fopen.c that is built appropriatly on hppa.
    Closes: #192505

 -- Joey Hess <joeyh@debian.org>  Thu,  8 May 2003 16:42:41 -0400

mooix (0.9.17) unstable; urgency=low

  * Allow abitrary xml to be passed to write methods, where it is either
    stripped out, or dealt with. This can be used for colorizing the moo,
    markup, images, sounds, whatever. Note that the xml need not be
    well-formed or valid, and no entities except &lt; and &gt; need be
    supported. This is xml on the cheap.
  * notify: Add <sender> markup around the name of the message originator.
  * All sessions should understand <sender> and </sender> and mark it up
    to visually indicate that the name inside really sent the message.
    This makes it easy (or at least possible) to catch spoofing.
  * Add support for <field>_onset methods to safesetfield and safedeletefield.
  * name_onset lets those nearby know that the name changed.
  * Clean up a lot of .msg fields.

 -- Joey Hess <joeyh@debian.org>  Fri,  2 May 2003 13:58:55 -0400

mooix (0.9.16) unstable; urgency=low

  * Build tarball without the .svn directories!
  * Hacked Makefile.PL to not install .svn directories
  * Hacked obj/Makefile to remove .svn directories from copied tree.
  * make install will skip all .svn directories now, allowing build and
    install direct from a subversion checkout.
  * Add $(sbindir) to SAFEPATH, this makes by hand installs more likely
    to work.
  * Added an uninstall target.
  * debian postrm: If the purge question is not seen, do not purge 
    /var/lib/mooix.
  * Python binding update from Nick:
    - methods do not rely on an internal stack anymore
    - you can make references to methods now
    - not required to use Thing.hasattr() instead of hasattr(), but still
      recommended
    - documentation updated

 -- Joey Hess <joeyh@debian.org>  Mon, 21 Apr 2003 17:51:49 -0400

mooix (0.9.15) unstable; urgency=low

  * Finally fixed the bug that sent look and who and inv command output to all
    of an avatar's sessions. There is a new session criteria in .msg fields
    that can direct the message to only the invoking session, and the notify
    method for avatars has a matching new session field.
  * Ruby updates from Abe:
    - Bugfixes and minor interface changes.
    - Arguments are now parsed even for non-verbs.
    - Added has? to list of documented Thing methods.
    - Value escaping fixes.
  * Ruby duck from Abe to go with the other ones.
  * Reorganized all the duck stuff.
  * Abe also sent in ruby examples for most of the code in the
    =programmer-tutorial=.
  * New sanity check, looking for directories in obj missing .mooix files
    or parent links.
  * msg is now available as a regular method, so language bindings don't
    have to implement it. They still should generally, if they can do it
    faster internally.
  * Allow showing of special furniture look messages to other avatars too.

 -- Joey Hess <joeyh@debian.org>  Fri, 18 Apr 2003 01:39:18 -0400

mooix (0.9.14) unstable; urgency=low

  * The parser does better locking of containers when running commands on 
    objects inside them, to prevent the container closing in the middle.
  * safesetfield and safedeletefield lock the field first.
  * A new limit, (open), is used to force containers to be open while a
    command runs. This fixes puts into closed containers.
  * is_filter field changed so it denotes whether an object is a filter, and
    how it filters. An object may either filter only for the object that
    contains it, or for other objects in its container as well.
  * Fix filtering of messages sent to animates that are held by unconcious
    avatars.
  * The housekeeper cannot be fooled by sleep_ok furniture in non-sleep_ok
    rooms anymore.
  * Fix autolook after teleports direct to furniture or other containers
    in a room.

 -- Joey Hess <joeyh@debian.org>  Wed,  9 Apr 2003 12:55:32 -0400

mooix (0.9.13) unstable; urgency=low

  * Updated website with instructions for getting mooix via subversion.
  * Added info about mooix-commits list to web site.
  * Update website to use svn.mooix.net.
  * Various Makefile and other updates to deal with mooix in subversion.
  * Make links in Makefile, not debian/rules, so a clean checkout from the
    repository will build.
  * Skipped 0.9.12 due to release script goofup. No really, it's the script's
    fault!

 -- Joey Hess <joeyh@debian.org>  Sun,  6 Apr 2003 18:54:52 -0400

mooix (0.9.11) unstable; urgency=low

  * mood: Set METHOD before argv[1] is clobbered.

 -- Joey Hess <joeyh@debian.org>  Sat,  5 Apr 2003 11:28:45 -0500

mooix (0.9.10) unstable; urgency=low

  * Fixed name of locking.hlp for =locking= help topic.
  * Make sure all the libmooproxy test programs exit(0) to avoid possible
    undefined exit codes; fixes test failures on ia64. Closes: #187020

 -- Joey Hess <joeyh@debian.org>  Thu,  3 Apr 2003 11:27:20 -0500

mooix (0.9.9) unstable; urgency=low

  * The "Keep It Light Enough to Travel" release.
  * Parameterized minhitpoints of animates, it is -10 by default, but can be
    higher.
  * Finished up bird flying behavior. Except for locking.
  * Added locking around object dropping on overload and container destroy.
  * Added =locking= help topic. Locking is due for a big overhaul though.
  * A few fixes for limbo.
  * Python updates fron Nick:
    - correct reporting of tracebacks in fork()ed method calls
    - better debugging messages
    - fixed msg() function
    - fixed super() function
    - fix argc count in mood run_python
  * Ruby update from Abe:
    - parameters get transparently passed to message
    - numbers are autoconverted
    - use relative paths
  * Added contrib/python_duck by Nick, just like the wind up duck, but in
    python.
  * Modified python duck to just override wind up duck, to prevent unnecessary
    bloat.
  * Simplified the web page and there is a new mooix.net server.
  * Fix a race in mood: If the SIGCHLD happened between testing child_pid and
    the pause, then mood would pause forever. Only seems to be reproducible on
    the new mooix.net. :-/
  * Fix 'look all' in empty room.
  * Fix 'look here' in limbo.

 -- Joey Hess <joeyh@debian.org>  Tue, 25 Mar 2003 18:46:28 -0800

mooix (0.9.8) unstable; urgency=low

  * Modify perl binding to not allow overiding of the originator field when
    calling msg. That made it too easy to get nasty notify loops, with notify
    methods that were written like this:
            return if $_{originator} == $this;
            $this->msg("repeat", %_);
    The above will no longer loop, since originator is set properly now.
  * Insert an abstract animate object class as the new parent of avatars.
    This class can also be a parent for NPC objects/MOBs, or any other
    living thing.
  * Add contrib/parrot, a learning, talking parrot example.
  * Make mooadmin unbreakable.
  * Fix looking at objects in transparent containers.
  * Pull in Fcntl {:flock} at mood start time via mooix.conf.
  * Use symbolic constants for all getlock calls.
  * Fix a nasty lock ordering problem that could deadlock operations on
    doors.
  * Other minor lock changes to take locks earlier and avoid minor races and
    so on.
  * Clean up object hierarchy graph on website.
  * The debian package need not suggest python, as it depends on it.
  * Add German translation of debian templates file from DDTP.

 -- Joey Hess <joeyh@debian.org>  Thu, 13 Mar 2003 18:43:32 -0500

mooix (0.9.7) unstable; urgency=low

  * Add a MOOIX_SHORT_CIRCUIT hack to libmooproxy, useful to make exec
    behave more like real exec if you don't need to check for failure.
  * Renames NEW_CALLSTACK to MOOIX_NEW_CALLSTACK, and guarded both variables
    behind a MOOIX_NONSTANDARD variable.
  * Use it in heartbeat->startup, which now truely exits after launching
    the heartbeat.
  * The above change fixed or worked around the stack trace problem that we
    were getting with mood linked with python, when it didn't call end_python.
    Therefore, I have enabled embedded python by default to let it get some
    more testing.
  * Add support to mood, libmooproxy to allow signaling by method uid, not
    just to all methods of an object. Also guarded by MOOIX_NONSTANDARD.
  * Add id and method parameters to thing->signal for more fine-grained
    signaling.
  * Make the parser trap HUP and re-examine its avatar for benchmarked and
    command_intercept fields.
  * HUP the parser on collapse, resurrect and recovery, so it will notice the
    command_intercept changes. This is more efficient as it no longer need
    examine it on each command.
  * Block sighup in libmooproxy when proxying exec, so that the exec proying
    process doesn't try to run the signal handler of the method.
  * Fixed fencepost in notify.c.

 -- Joey Hess <joeyh@debian.org>  Mon,  3 Mar 2003 03:30:41 -0500

mooix (0.9.6) unstable; urgency=low

  * Delete command_interceptor on recovery/resurrection.
  * Fixed race between die method printing the die.msg and parser possibly
    executing their last command.
  * Make edit.cmd not lock the direct object. (Use "(anywhere)" limit instead
    of "(nearby|reference)"; makes more sense anyway.)
  * Add release frequency plot to website.
  * Add callstack_fromfd and callstack_iter* to libmoocallstack and
    CallStack.xs. Use Mooix::CallStack::iterator from inside perl to iterate
    over all the callstacks.
  * callstack_walk now passes a uid_t to the called function, not a filename.
  * Broke deindex method out of calltrace, and optimized slightly.
  * New =ps= command for programmers to list an object's running methods.

 -- Joey Hess <joeyh@debian.org>  Sun,  2 Mar 2003 21:45:21 -0500

mooix (0.9.5) unstable; urgency=low

  * Mooix::Thing->fieldfile: don't return 1 for stuff that looks like a mixin
    and does not exist. Fixes infinite spin in thingset newid if the hint has
    an underscore in it.
  * Special-case for proper display looking at furniture that someone is
    standing on.
  * Unlock bag of holding so it may be closed.
  * Fix display of object names on multi-direct-object commands.
  * "are" may be used as a synonem for "is".
  * Added command_intercept hack to parser (sigh -- could not figure out a
    better way).
  * Use it to implement true unconciousness, finally.
  * Made sure all messages have associated senses, otherwise the unconcious
    will still receive them.
  * Make sure die.msg will still be noticed even while unconcious. So will a
    few things like sword hits, vaguely.
  * Hidden objects do not pop on destroy.

 -- Joey Hess <joeyh@debian.org>  Thu, 27 Feb 2003 17:57:53 -0500

mooix (0.9.4) unstable; urgency=low

  * Support names that are methods (as in thingsets and lists) in notify
    method name pretty-printer.
  * Changed the NOTEFLAG for socket sessions to %, and include it before
    each line of file in edit method. Updated tf macros to match.
  * Added unshortcut command.
  * Fix shortcut overwriting.
  * Fix shortcut tab completion.
  * Added rellist method to thingset.
  * Do not let items be added to thingsets overwriting inherited fields or
    methods.
  * Added mooix:contrib/scale
  * Standing on furniture is now supported.
  * "get off [of] the furniture" now understood.

 -- Joey Hess <joeyh@debian.org>  Wed, 26 Feb 2003 19:46:35 -0500

mooix (0.9.3) unstable; urgency=medium

  * Avoid password request spoofing attacks by printing one banner if the
    request if from an unsafe third party, and different banner if it is from
    a safe party.
  * Clint Adams: Updated mooix.zsh, adds msg support.
  * =copyright= has full info now
  * Fixed link at bottom of website.
  * Updated dates and added statements all over.
  * libmooproxy is BSD, not LGPL (was inconsistent).
  * Nick Borko:
    - mood can embed python! Approx 50% load time speedup for python methods.
    - More python binding updates.
  * Disabled python embedding by default until I do some more benchmarking.
  * Fix mooadmin's shortcuts list; another mooupgrade is called for.
  * Minor fix to guest registration prompts.
  * In the socket session class -
    - flock before prompting to avoid ordering issues.
    - Do not allow writing of lines starting with '!['; it is the reserved
      string for special non-spoofable line.
    - Begin password banner line with that string.
    - Implemented edit method; use nonspoofable lines around file so clients
      can trigger on them.
  * Added =tinyfugue=, which shows how to set up tf macros to automate
    editing a file with $VISUAL, locally, whenever you edit something in the
    moo.
  * Fix avatar counting in load_verb.

 -- Joey Hess <joeyh@debian.org>  Tue, 25 Feb 2003 19:35:24 -0500

mooix (0.9.2) unstable; urgency=low

  * Changed programmer edit method again; inherited fields will still be the
    new default loaded into the editor, but when overriding inherited methods
    it will run the editor on a blank slate. This avoids problems with
    compiled methods, and promotes good coding practices (calling super).
  * Added the =shortcut= command, providing builders with an easy way to
    create shortcut mooix: references for objects.
  * Updates for python binding from Nick Borko:
    - Fixed background() return code and fd closing.
    - Close stderr in background; should not be necessry, but is.
      (TODO-LATERed this -- Joey)
    - Use fewer chdirs.
  * Updated =editor= help with new one for programmers.
  * Added runmethod_raw() to C binding.
  * The notify method now passes all the parameters which the notice method
    is documented to receive. That got broken in the C rewrite.
  * Limited some look commands to (visible).

 -- Joey Hess <joeyh@debian.org>  Thu, 20 Feb 2003 23:18:18 -0500

mooix (0.9.1) unstable; urgency=low

  * Fix programmer edit method so editing methods works again instead of
    running them.
  * Shut up socket session if the sockets are broken.

 -- Joey Hess <joeyh@debian.org>  Wed, 19 Feb 2003 12:30:50 -0500

mooix (0.9.0) unstable; urgency=low

  * Beta release 9.
  * Better support for multiline fields in notify. Especially for
    descriptions.
  * Updated python binding from Nick Borko: automatic string -> number
    conversions. Also bug fixes.
  * Parser can now detect possible missing quotes around stuff that should be
    quoted, and add them, gently correcting the user to help them learn how to
    do it right. So users can get away with a lot of stuff like > say hi there
    and > my name is bob, without worrying about quoting strings. It's far
    from perfect.
  * Removed the zoneout/_awarecounter stuff. Too buggy, too cutesy.
  * in.mooix will remove escape sequences, just in case.
  * Fixed =writing-help= filename.
  * More cross-referencing amoung =basics=, =builder=, =programmer=, =admin=;
    with intelligent link display.

 -- Joey Hess <joeyh@debian.org>  Mon, 17 Feb 2003 19:01:01 -0500

mooix (0.8.5) unstable; urgency=low

  * Normal users and builders my now use the edit command. A rnano patch is
    available to make nano into a safe restricted editor, and rnano is now
    the default editor for everyone. Programmers can change their editor;
    noone else can.
  * Added the rnano patch to the tarball temporarily, I expect it will go in
    upstream though.
  * Spell-checked the entire online help system, all the inf files, and
    all other documentation files.
  * Added "myself" to supported pronouns.
  * Removed "help intro" example from =help= (no such page).
  * Fixed findfield usage banner and name in mooix.7
  * Corrected showhelp.inf.
  * Made mooadmin, be able to set fields of guests easily, again, for the
    third time. Both safesetfield and set_verb were broke long ago when I
    separated login and parse calls in moologin; all the callstack checking
    was wrong.
  * Fixed password command (have to send newlines along..)
  * Renamed the overly-cute "with" parameter of the session prompt method to
    "prompt". This makes it have the same basic interface as the password
    method, and incidentially fixes the password method of the socket session
    (which just links to prompt).
  * Change prompt method to provide a prompt if none is set.
  * Make the edit command bring up the inherited value of a field in the
    editor if the object has no value of its own. Slightly less confusing.
  * Portfolio command can now display other's portfolios.
  * Make in.mooix always strip (network) \r's.
  * Fixed addcommand.
  * Pass verb parameters into msg in generic_verb. This makes it a bit easier
    for builders to set up spoof commands, like so:
      > addcommand "spoof" to me
      > my spoof.cmd is "verb(this), quote : generic
      > my spoof.msg is ": $quote
      > spoof "The world ends!"
    On the other hand, builders could already do it, at the expense of regular
    talking, like so:
      > my say.msg is ": $quote"
  * Added investigation of spoofing avenues to TODO. This needs work.
  * The parser now deals with object names that seem to begin with an article,
    which can happen if a user doesn't know about mooix's article support
    and wants to be named "the wind" or something.

 -- Joey Hess <joeyh@debian.org>  Sun, 16 Feb 2003 15:48:05 -0500

mooix (0.8.4) unstable; urgency=low

  * Fixed broken who command (was overloading parameters used by notify).
  * Added idle method to socket session class.

 -- Joey Hess <joeyh@debian.org>  Fri, 14 Feb 2003 15:45:57 -0500

mooix (0.8.3) unstable; urgency=low

  * Since most MUD clients do not support telnet-style systems, here is a
    more traditional interface for them:
    - Added socket session class and Mooix::Session::Socket perl interface.
    - Added in.mooix program, which is an example of how to use the socket
      session class to write your own customized mooix login daemon. This one
      runs from inetd and uses PAM to validate logins. It works well with
      standard line-based moo clients (tf, sclient, gnome-mud, et al). It
      should be easy to customize it for other login scenarios.
    - Debian package adds a commented-out in.mooix line to inetd.conf.
    - Updated =admin-guide= and =login= documentation.
  * mood, libmooproxy: Support proxying of connect() to a unix socket. 
    Yes, this means libmooproxy connects to mood's socket, sends a fd 
    through the socket, and lets mood do the connect. Yi!
  * Added example to =admin-guide= of how to set up a guest user account.
  * ttysession updates:
    - Put call to safen() back into write method, lost that somehow.
    - Use escape() on returned string in prompt method, unstead of rolling my
      own escaper.
    - Also safen page method output. Even though less does strip escape codes
      by default, it could be reconfigured or a different pager used, so this
      is safer.
  * Fixed benchmarking to not use #repeat and #endrepeat constructs 
    confuse cpp 3.2.2.
  * Fixed passwowd_verb missing close paren.
  * Fixed mooscript/scripted session to not hang w/o explicit exit.

 -- Joey Hess <joeyh@debian.org>  Tue, 11 Feb 2003 11:13:45 -0500

mooix (0.8.2) unstable; urgency=low

  * Nick Borko: Updated python binding adding an hasattr method. Also
    expanded documentation.
  * For Debian, it needs a build-dep on python-dev for distutils.
    Closes: #173124, #178884
  * Support reinstalls over old trees, better than before at least.

 -- Joey Hess <joeyh@debian.org>  Sat,  1 Feb 2003 14:19:37 -0500

mooix (0.8.1) unstable; urgency=low

  * Added a python binding contributed by Nick Borko <nick@dd.revealed.net>. 
    At last! Warning: beta code.
  * Added =python= and =python-thing= help topics by Nick.
  * Added some (strangly more compact and readable) python examples along
    side the perl examples in =programmer-tutorial=. Examples also contributed
    by Nick.
  * Added an in-depth look at how a method call really works to
    =language-binding=, as well as some other hints.
  * Fixed room's slightly overstated hitpoints (they're unbreakable anyway..) 
  * combat_ok propigates into sub-rooms
  * Avatars have a combat_ok field too now; it is unset by default for guests,
    to prevent moo trashing by the unaccountable. It can be unset for other
    avatars as desired.
  * Updated =shell-script='s old use of obsolete tell method.
  * Fixed shell binding to properly set new fields.
  * Build-depend on most current debhelper to get the python stuff right for
    Debian.
  * Added even more lintain overrides.
  * Added ruby, python to Suggests field.
  * Update copyright file.
  * Reformat INSTALL.
  * Save 70k in source tarball by bzip2ing the benchmark results files instead
    of gzipping them.
  * libmooproxy: fix memory leak in do_fopen().
  * Added a copy of the LGPL to doc directory.

 -- Joey Hess <joeyh@debian.org>  Sat, 14 Dec 2002 17:09:35 -0500

mooix (0.8.0) unstable; urgency=low

  * Beta release 8.
  * Changed how exit_ok works. A non-exit_ok room's third-party exits can be
    used, by the owner of the room, the exit, and by the moo admin. But the
    message is different, warning the user that the exit is not generally
    usable, and being sufficiently vague to others in the room that it's not
    obvious the exit is there.
  * Mention exit_ok in the =builder-tutorial=.
  * Don't show third party exits in non-exit_ok rooms' exits commands.

 -- Joey Hess <joeyh@debian.org>  Sun, 10 Nov 2002 18:42:21 -0500

mooix (0.7.24) unstable; urgency=low

  * At last finished re-writing notify method in C for speed.
  * Benchmarks at 2.16 MOOstones overall, up from lower than 1.97 -- now
    well out of the hole I dug when implementing mass tracking.
  * Fixed up quiet logins (moo command).
  * Perl binding is back to comparing abspaths for overloaded eq.
  * Scanned all uses of eq; only one was wrong.
  * Fixed a bug in C runmethod() if called on a nonexistant method.

 -- Joey Hess <joeyh@debian.org>  Mon,  4 Nov 2002 18:49:37 -0500

mooix (0.7.23) unstable; urgency=low

  * a belated happy Halloween..
  * Added nologin field that can be used to lock avatars out of the moo for a
    time period or indefinitely.
  * When an avatar is killed, call their die method, which defaults to locking
    them out of the moo for one hour, but can easily be overridden for more
    interesting behavior.
  * When an avatar logs back in after the lock out period, and is dead,
    ressurrect them. No walking dead here, thanks..
  * Rescaled avatar's hp_regen_rate: now it holds the number of seconds it
    takes to regenerate one hit point, rather than the number of hit points to
    regenerate every 10 seconds.
  * Made avatar hit point regeneration a bit slower by default.
  * Dead avatars cannot heal.
  * Avatars now do a lot less damage punching/kicking.
  * Cleaned up descriptions of dead avatars.
  * Don't say an avatar is asleep if they are unconcious or dead.
  * Parser now understands "hit him", etc after referring to someone.
  * Have obj/Makefile run splittree -x, so I can maybe get a log of bug #166101
  * Word wrap generated see also lines at end of help texts.

 -- Joey Hess <joeyh@debian.org>  Fri,  1 Nov 2002 16:37:57 -0500

mooix (0.7.22) unstable; urgency=low

  * libmooproxy and test suite fixes:
  * On hppa, build wrap.c with all standard symbols. Fixes execve test
    segfault.
  * Don't distinguish between fopen and open, as long as one or the other is
    called, it's ok. Should allow building with older libc's.
  * Don't wrap fopen64 on hppa, symbol collisions there with old libc. I may
    later need to revert this for the new libc, or add a configure test.
  * Don't try to run uname -a, since it is currently broken on
    non-i386 architectures. Just use echo.

 -- Joey Hess <joeyh@debian.org>  Wed, 23 Oct 2002 14:28:27 -0400

mooix (0.7.21) unstable; urgency=low

  * I think I've tracked down the mooix forkbomb: If the Mooix::Thing is
    execing a method, and the object is deleted at the right time, the exec
    fails as the directory is gone. It calls the croak method, which calls
    calltrace, which is external, and so it tries to exec a method again,
    fails, etc.
  * Avoid this by making the croak method locally redefine itself to a
    closure when called, so a recursive croak just prints an error message
    and dies.
  * Updated configure.ac and configure script.

 -- Joey Hess <joeyh@debian.org>  Tue, 22 Oct 2002 22:45:04 -0400

mooix (0.7.20) unstable; urgency=low

  * debian/postinst: fixed dbversion creation code to not clobber 0.7.17

 -- Joey Hess <joeyh@debian.org>  Mon, 21 Oct 2002 16:19:59 -0400

mooix (0.7.19) unstable; urgency=low

  * Reduced login overhead from 6-8 perl processes to 2 by making the
    moologin, moo, etc programs start the parser, instead of having
    the login method do it. ps -fax is much less scary now.
  * Added untaint method to Mooix::Thing.
  * Stop tracking the relpath in Mooix::Thing. Nothing uses it now.
  * Begin using constants for the bits of the internal array in Mooix::Thing,
    and removed some of the comments and stuff about optimizing it for load
    speed (it's embedded now).
  * Begin using overload.pm instead of rolling my own. Aah, sweet 
    maintainability.
  * Introduced Mooix::Thing::_LAST_FLAG, which the parse method can use to be
    a bit less gross.
  * mooupgrade: don't reparent roomcontents, since the object went away long
    ago.
  * container->upgrade: If called recursively, just update the mass, and
    do not try to do other upgrade stuff. That other stuff will be done when
    mooupgrade re-runs the upgrade method. Fixes nasty warning on upgrade from
    very old version.

 -- Joey Hess <joeyh@debian.org>  Mon, 21 Oct 2002 15:16:05 -0400

mooix (0.7.18) unstable; urgency=low

  * Added a spec file for rpm building. It has been only lightly tested on
    a Debian system (I have access to no rpm-based systems). The resulting
    rpm has not been tested, does not set up the moo users on install, or
    create the /var/lib/mooix tree, and has no init script, and will not
    upgrade properly. I need someone with a rpm based system to take it
    from here.
  * Return null from real_fopen if it cannot find the symbol, not -1.
  * Work around a very weird libmooproxy problem on MIPS: it seems that when
    do_open calls real_open, dlsym(RTLD_NEXT, "open") somehow returns the
    open provided by libmooproxy, and so it recurses infinitely. I cannot
    figure out why this happens on MIPS, so I just worked around it by making
    MIPS's real_open be the open syscall. Also a similar, even nastier
    workaround for fopen.
  * libc6.shlibs is fixed, so remove shlibs.local

 -- Joey Hess <joeyh@debian.org>  Sun, 20 Oct 2002 22:32:21 -0400

mooix (0.7.17) unstable; urgency=medium

  * The "thank you glibc for another all-nighter" release.
  * libmooproxy: wrap creat, fopen, needed by glibc 2.3.1.
  * That fixes some upgrade problems (symptom: mooupgrade fails to setfield
    dbversion) Closes: #165424
  * Reorganized wrap.c, splitting out dispatch.c so I can get at symbols more
    easily in the wrapper functions.
  * Don't build wrap.c with all the CFLAGS that turn on 64 bit versions of
    stuff, since that resulted in it getting a fopen64 symbol but no fopen.
  * Reimplement fopen mode string parsing, and proxy fopen as open.
  * Removed bogus link regression test, and tightened regression test success
    regex.
  * Overrode libc6's broken shlibs file temporarily.
  * Do not allow changes to parent's mass to change the mass of a child, which
    would break the mass tracking system.
  * Wrote an lsb init script, in the lsb directory.
  * lintian override updates.

 -- Joey Hess <joeyh@debian.org>  Sun, 20 Oct 2002 15:54:31 -0400

mooix (0.7.16) unstable; urgency=low

  * Fixed door locking with bad key.
  * Fixed weaponless attacking.
  * Doors behave sensibly when damaged; they might break open, people in
    the next room can hear the attack, etc.
  * Toads have very poor offense and not good defense numbers.
  * Unarmed attack damage is based on attacker mass.
  * Mooix::Thing takes care now to replace symlinks atomically.
  * Turn off Werror in libmooproxy Makefile too. Should really fix alpha build
    problems.

 -- Joey Hess <joeyh@debian.org>  Thu, 17 Oct 2002 15:01:23 -0400

mooix (0.7.15) unstable; urgency=low

  * Don't let avatars change their maxweight.
  * Rename max_hitpoints to maxhitpoints for consistency.
  * Set toad's maxweight to 0.07 kilos.
  * Toads hold objects in their mouth.
  * Turned off -Werror for now, since alpha has screwed up headers.
    Closes: #164439
  * Fixed a mass change bug.
  * Fixed container mass inheritence bug.
  * Although it's been a month since the last major beta, I have decided to
    wait another month for the next beta as there are so many newly
    integrated features that need time to settle, and some unresolved
    stability bugs.

 -- Joey Hess <joeyh@debian.org>  Sun, 13 Oct 2002 21:05:43 -0400

mooix (0.7.14) unstable; urgency=low

  * Fixed a typo in name_validate: object renames should work again.

 -- Joey Hess <joeyh@debian.org>  Thu, 10 Oct 2002 12:03:40 -0400

mooix (0.7.13) unstable; urgency=low

  * Make the moo admin invulnerable.
  * Fixed sword messages.
  * Added weapon wielding.
  * Added exec interface to Mooix::Thing, useful for chaining verb calls,
    and may be used later to cut down on the number of processes a login
    entails.

 -- Joey Hess <joeyh@debian.org>  Mon,  7 Oct 2002 22:47:08 -0400

mooix (0.7.12) unstable; urgency=low

  * Fixed some upgrade bugs from very old (0.5) versions of mooix.
  * Fixed sword parent.
  * LaMont sent me a patch this time that really, truely Closes: #162943
    again.
  * Fix tv_usec casting on sparc and tested rest of build there with -Werror.
    Closes: #163427

 -- Joey Hess <joeyh@debian.org>  Sat,  5 Oct 2002 15:55:54 -0400

mooix (0.7.11) unstable; urgency=low

  * Fixed several #includes. Closes: #162943 again.
  * Fixed mooregister, broken by fail() change.
  * Added password command for moo-only users to change their password.
    Note that you must have the Authen::PAM module and PAM for this to work.
  * Let admins set guest's register_ok and other fields again.

 -- Joey Hess <joeyh@debian.org>  Fri,  4 Oct 2002 21:06:43 -0400

mooix (0.7.10) unstable; urgency=low

  * Began integrating David Robb's combat system into the moo.
        - added hitpoints field to objects
        - copy hitpoints from parents on upgrade to this version
        - avatars regenerate hitpoints (with lazy calculation)
        - allow attacking any object with any heavy object, with a bonus
          based on the mass of the attacking avatar
        - let many types of objects get broken, which reparents them to junk
        - added weapon class with more configurable damage controls
        - added contrib/sword
        - combat_ok field in rooms, like the dormitory, can be set to 0 to
          create safe havens
        - display avatar's amount of damage when you look at them
        - convert fragile objects to use hit points
  * Don't let avatars set their mass.
  * Changed safesetfield to use numeric return codes from validators.
  * Moved fail function into Mooix::Thing, as it is not very verb specific.
  * Fixed gender setting.
  * Fix for recent gcc pedanticism. Closes: #162943
  * Some other fixes for hppa.
  * C binding escape(): always quote return string, in case it looks like
    a reference or something.
  * Tab completion of refs to mooix:portfolio and contents works now.
  * Fixed limits in container look.msg's. However all of an avatar's sessions
    still see looks since there is no session limiting yet. Closes: #163048

 -- Joey Hess <joeyh@debian.org>  Thu,  3 Oct 2002 12:57:34 -0400

mooix (0.7.9) unstable; urgency=low

  * Added a clothing class.
  * Display clothing separatly when looking at an avatar and showing
    inventory.
  * Took pains to *not* make every existing avatar show up as naked on upgrade
    to this release. :-)
  * Move string quoting and escaping out of runmethod() and into an escape()
    that can be called manually -- or not.
  * Rewrote avatar onmove in C for speed.
  * Optimized avatar notice method. No more expensive unescape/reescape
    reencoding of the strings.
  * Fixed Mooix::CallStack->new.
  * Begin building with -Werror so mistakes are not missed in the very noisy
    build.
  * Add null command benchmark to graph. This is the time to run an empty
    command, so measures command prompting and parser main loop overhead.

 -- Joey Hess <joeyh@debian.org>  Mon, 30 Sep 2002 14:14:16 -0400

mooix (0.7.8) unstable; urgency=low

  * Removed object move methods, added onmove methods, and call physics object
    directly for movement. A bit faster.
  * Made avatar onlook method smart enough so the noautolook parameter
    nonsense can be dropped.
  * Lots of lowlevel optimizations in mood.
    - Don't include all the parents of an object in the callstacks written to
      disk.
    - Calculate important_ok only if it turns out to be needed.
    - More efficient object_parents_stack().
    - Simplified execv argv setup.
  * libmoocallstack changed some; callstack_push() params changed, and
    callstack_copy() added.
  * Don't let guests set world/group writable fields of other objects.
  * Rewrote setfield in C for speed, as it is often called to update mass
    bookkeeping during object moves.
  * If the avatar cannot hold a newly derived object, put it in their
    location.
  * If a move from undef location fails, return object to undef location.

 -- Joey Hess <joeyh@debian.org>  Sun, 29 Sep 2002 22:08:32 -0400

mooix (0.7.7) unstable; urgency=low

  * Reworked consumables, removing the "current" counter and using the mass
    of the consumable as the state field instead. The comsume_destroy field
    is replaced with endmass and endvolume, and there are new startmass and
    startvolume fields as well. There is a changevolume field that controls
    whether volume changes along with mass as the object is consumed.
  * mooix.conf: reordered MOOADMINOBJ in mooix.conf, put the real admin last 
    so Mooix::Conf returns something sane for that field.
  * security: make changemass check its callstack

 -- Joey Hess <joeyh@debian.org>  Fri, 27 Sep 2002 23:35:14 -0400

mooix (0.7.6) unstable; urgency=low

  * Added mass and volume fields to all objects. Repressed desire to
    use imperial units and put them in metric.
  * All fields approximate; I don't really want to go weigh my couch.
  * Added a physics manager object that takes care of maintaining the
    bookkeeping consistency of mass etc when objects move.
  * Avatars drop objects if they suddenly become too heavy.
  * Removed special cases prohibiting avatar/avatar pickups; it is allowed
    now if one is strong enough. There are some display issues for the held
    avatar, but it's not too bad with the new message system.
  * Added contrib/bag_of_holding.
  * Housekeeper locks objects before checking their location to prevent
    (unlikely) races.
  * mood: dedup the adminobjstack. Simple optimization.
  * A lot of optimization remains to be done (the new mass stuff slows things
    down a lot), but this is a reasonable release point.
  * "remove" is no longer a synonem for recycle, after I accidentially typed
    "remove ball from bag of holding" and watched the ball be destroyed. It
    was going to conflict with weapons systems anyway.

 -- Joey Hess <joeyh@debian.org>  Fri, 27 Sep 2002 14:48:58 -0400

mooix (0.7.5) unstable; urgency=low

  * mood: set $<, $>, $(, $) to correct values in embedded perl methods.
  * Fixed the races that often led to various nasty messages displayed to
    users who were logged in right as the moo was taken down.
  * Removed CALLSTACK env variable, use callstack_file(getuid()) instead.
  * Prioritized TODO list, moving post-1.0 items into TODO-LATER and WISHLIST.
    Added 1.0 checklist.
  * Moved getting-started.txt into mooix.7.
  * Moved =writing-help= into the online help.
  * Wrote section on concurrency and locking for the programmer's tutorial.
    Incomplete, since I still haven't witten a fix for the duck waddle locking
    problem.
  * Added const char * to the typemap, since older perls didn't have it in
    the system typemap.
  * deb: Fixed perl-api dep.
  * Another ruby update from Abe.

 -- Joey Hess <joeyh@debian.org>  Mon, 23 Sep 2002 19:33:20 -0400

mooix (0.7.4) unstable; urgency=low

  * Global rename of objstack -> callstack. Notably, this changes the
    NEWOBJSTACK environment variable used by libmooproxy.
  * Broke callstack code out of mood and into libmoocallstack library.
  * Renamed all the callstack symbols to start with "callstack_".
  * Generated XS Mooix::CallStack perl module, with a fancy OO interface.
  * Added a calltrace method.
  * Make calltrace go out of its way to traverse the tree looking for
    objects that match the dev/inode on the objstack when printing a stack
    trace. It's really very expensive, but fairly optimized, and it sure
    looks nicer than those nasty numbers.
  * Pummeled MakeMaker into shape.
  * Make sure to build all C code that could come into contact with perl
    with $Config{ccflags}. Fixes a ABI mismatch between code built with
    and without LFS (callstack struct packing differed because size of
    dev_t/ino_t changed). Thanks due to asuffield for the diagnosis.
  * Fixed a few places that did not use CFLAGS when building.
  * sessionmanager->startup did not check where the stack ended and so was
    trivially spoofable by calling init->startup; fixed.
  * The move method's attempt to guard against immobile object's being
    teleported was spoofable: by using the admin's teleport_verb, any
    programmer could teleport any immobile object. Fixed.
  * Removed Mooix::ObjStack.
  * Fixed perms of ruby.hlp.

 -- Joey Hess <joeyh@debian.org>  Sat, 21 Sep 2002 19:39:32 -0400

mooix (0.7.3) unstable; urgency=low

  * Abraham Egnor updated the ruby binding:
    - fixed bug in object creation
    - support new message system
    - added a Mooix.background method
  * Support for undirected whispers.

 -- Joey Hess <joeyh@debian.org>  Fri, 20 Sep 2002 14:41:07 -0400

mooix (0.7.2) unstable; urgency=low

  * Mooix now does tab completion of mooix: paths.
  * Added contrib/toad, a new type of avatar. Just for kicks and to show off
    new features. Try it, it's fun!
      > say "help!"
      You croak.
      > :curses the world
      You sit there and look stupid.
      The admin says something that you cannot understand.
  * Split a restrictedavatar object out of guest.
  * Removed nomunge param from notify. Just use $avatar->name instead of
    $avatar. nomunge was breaking toad emotes.
  * Removed old unused Mooix::Thing::Utils.
  * Added a refpath field to builders that controls in what order what
    directories are looked in for objects when parsing and completing
    mooix:foo references.

 -- Joey Hess <joeyh@debian.org>  Wed, 18 Sep 2002 22:15:39 -0400

mooix (0.7.1) unstable; urgency=low

  * Fixed unterminated string in ttysession prompt when a backslash is at EOL.
  * Double slashes in C binding runmethod. Closes: #161213
  * Generalized the message broadcast system so that messages of activity in
    the moo can be processed by code as well as by humans:
      - Renamed tell method to notice, and renamed listening field to aware.
        Aware objects thus notice activity in the moo.
      - Renamed broadcast method to notify.
      - Pass all fields from notify method on to notice method. All nicely
        machine readable.
      - Renamed notify method's confusingly named "this" field to 
        "originator". "$this" still works in msg files.
  * Added some basic documentation in =react= on programming objects that
    react to events in the moo.
  * Generalized the calclistening/updatelisten stuff into a general mechanism
    for an object's list to tell the object when the contents of the list
    change. Now thingsets and thinglists have a field called "onchange"
    that holds the name of a method. Said method is called on the object that
    owns the list object.
  * So sessions lists have an onchange that points to their avatar's 
    calcaware method, which updates the aware field.
  * Deal with upgrades; running mooupgrade is necessary..
  * Use a reparent.msg when reparenting.

 -- Joey Hess <joeyh@debian.org>  Wed, 18 Sep 2002 11:55:31 -0400

mooix (0.7.0) unstable; urgency=low

  * It's time for beta release 7.
  * Set LD_PRELOAD even for embedded perl methods, in case they exec
    something. Fixes tty session password prompting.
  * Make runmeth block sigint as it cannot pass ctrl-c's into a running
    method, and confusion can result.
  * Prevent accidental overwrite of references with fields in programmer's 
    set command.
  * Programmers can use declarative commands to manipulate reference lists.
    ("My first friend is bob, and my second friend is fred.")
  * Change deletefield method to not use named parameters, for consistency.
  * Moved unset verb into avatar object.
  * Programmers can unset references as well as regular fields.
  * The next major release will focus on bugfixing. And yet more speed.

 -- Joey Hess <joeyh@debian.org>  Sun, 15 Sep 2002 20:08:34 -0400

mooix (0.6.16) unstable; urgency=low

  * Fixed permission of dbversion field, which should not be owned by root.

 -- Joey Hess <joeyh@debian.org>  Thu, 12 Sep 2002 13:07:33 -0400

mooix (0.6.15) unstable; urgency=low

  * Fixed objcmp() in C binding to not stat a->dir twice (and thus think the
    objects compare the same, and do things like log the wrong user out when
    removing a session). Whoops. Closes: #160045
  * Make builder's set.cmd mirror their is.cmd.
  * Make programmer's set_verb use safesetfield when possible, so that
    naive attempts to set fields that are really wrapped with a method or
    that have a _validate method will call the method. For example, in clocks,
    the timeoffset is really a wrapper method that updates the heartbeat and
    a hidden field, and so it makes sense to call that method. If calling
    safesetfield fals, however, a programmer's set_verb warns, and then does
    a forced set.
  * Mark clock's timeoffset method as safe.
  * thingsets don't get items called just "item" by default anymore. That
    broke heardbeat->remove, and it looked stupid.

 -- Joey Hess <joeyh@debian.org>  Mon,  9 Sep 2002 12:06:28 -0400

mooix (0.6.14) unstable; urgency=low

  * Removed the PERLDIR stuff as it failed if autoconf found a perl in
    /usr/local/bin or elsewhere -- then mood would think that every method was
    using some wrong version of perl and not run them in the embedded perl.
  * Converted C binding to use object structures instead of raw directories.
  * Updated all C methods.
  * Added getobj() and freeobj() to C binding.
  * Added objcmp() function for comparing two objects.
  * More work on broadcast.c, still not done yet.

 -- Joey Hess <joeyh@debian.org>  Thu,  5 Sep 2002 13:48:55 -0400

mooix (0.6.13) unstable; urgency=low

  * Moved the security-notes.txt file into the online help as
    =security-model=.

 -- Joey Hess <joeyh@debian.org>  Wed, 28 Aug 2002 15:30:04 -0400

mooix (0.6.12) unstable; urgency=low

  * This version benchmarks at ** 2.24 ** MOOStones, up from 1.64 MOOStones.
    (Numbers more approximate than usual; the benchmrks changed recently.
    One thing's for sure, this is a quite big speedup.)

  * Fixed some bad pointers in libmoomethod, caught with electric fence.
  * More work on broadcast.c, but still not finished.
  * Compress huge archived benchmarks.
  * Better sethome message.
  * Build debian package with -g no matter what DEB_BUILD_OPTIONS are, that 
    bogus 'no -g' thing will be taken out of policy soon.
  * Added an is_filter field; broadcast only filters through objects that are
    filters. This eliminates some filesystem lookups most of the time.
  * Cleaned up the object-format.txt file and moved it to =objects= and
    =methods-lowlevel=.
  * Introduced the concept of object fields that hold multiple "mooix:"
    references. Such fields are marked with a sticky bit (but are not
    executable). They should be used as sparingly as possible; and only the
    perl binding supports them for now.
  * Make show command display such references properly.
  * Make safesetfield/safegetfield refuse to touch them.
  * That lets thinglists be converted so their list field is not a method,
    thus saving many, many forks and execs on every method call.
  * Oh good, there is no chance now that after many additions/removals to a
    list, it will overflow its counter.
  * However, that means that thinglists with encapsulated objects will no
    longer work. A few of them are converted to thingsets.
  * Use username hinting in the sessions list for id's. Handy for admin.
  * Completly separated thinglist from thingset, they have a different API
    now. thinglists don't use newid, for even more speedup when adding
    objects.
  * Make mood check proxied chmod permissions.
  * Updated various C code that tried to runmeth() a list method that is now
    a field.
  * Tons of stuff for clean upgrades.
  * Removed contents list caching from parser, as it is now a net loss.
  * No longer uses Tie::Cache.
  * moologin is more sane about SIGQUIT. Closes: #158392
  * Fixed inherited dbversion problem that breaks the first upgrade after a
    fresh install.
  * Moo upgrade has to be performed before starthook now. To make that work
    the init script brings up mood for mooupgrade, then downs it and finally
    lets invoke-rc.d maybe bring up the whole moo. It also turns out this
    Closes: #152606
  * Fix runmeth segfault on nonexistant method.

 -- Joey Hess <joeyh@debian.org>  Wed, 28 Aug 2002 13:56:08 -0400

mooix (0.6.11) unstable; urgency=low

  * Fixed programmer edit_verb and set_verb to check return code of setfield
    properly.
  * Updated mooix.sh from Clint to not use non-POSIX local, and to properly cd
    around.
  * Back to sane version numbers.
  * Make sure the debian package depends on perl 5.8. Closes: #158083

 -- Joey Hess <joeyh@debian.org>  Mon, 26 Aug 2002 00:25:27 -0400

mooix (0.6.10.2) unstable; urgency=low

  * Updated mooix.zsh from Clint supports third-party object method calls.
  * Make thinglist newid use a long int for its counter.
  * Debian package is now built with perl 5.8, updated build-dep.

 -- Joey Hess <joeyh@debian.org>  Sat, 24 Aug 2002 15:49:01 -0400

mooix (0.6.10.1) unstable; urgency=low

  * Fixed the edit command, and more generally fixed a segfault when setting
    environment variables in perl 5.6.1.

 -- Joey Hess <joeyh@debian.org>  Fri, 23 Aug 2002 23:49:16 -0400

mooix (0.6.9) unstable; urgency=low

  * Added setfield() to C binding.
  * Rewrote avatar->calclistening in C for speed. In rerospect I'm not sure
    why I picked it.
  * Added a benchmark for moving objects around and such. This does change the
    overall numbers, since they're just an average.

 -- Joey Hess <joeyh@debian.org>  Wed, 21 Aug 2002 22:28:46 -0400

mooix (0.6.8) unstable; urgency=low

  * Fixed 'look in couch'.
  * Wrote removeavatar(8) man page.
  * Rewrote thinglist->newid, thingset->add, thingset->remove in C for speed.
  * Added truefield() to C binding.
  * Added a race guard to thingset->newid.
  * Removed relid from perl binding (only thingset->remove used it).
  * Changed how exit_ok works. Instead of preventing the addition of exits to
    rooms, which is a hard proposition if a builder wants to get smart with
    reparenting, or hiding the exit inside another object, exit_ok now
    controls whether exits in the room that are owned by someone else can be
    used. With the exit's cooperation, of course; a programer can always
    override this.
  * That also means I can get rid of the roomcontents object.
  * And movement gets faster: 1.63 MOOStones overall; movement has
    increased to 1.22 MOOStones from 0.99 in b6.
  * It turns out that the b2 benchmark I did was busted, so I threw out those
    datapoints. This is now thus officially the fastest mooix release ever,
    for what that's worth.

 -- Joey Hess <joeyh@debian.org>  Wed, 21 Aug 2002 18:41:20 -0400

mooix (0.6.7) unstable; urgency=low

  * This version benchmarks at 1.53 MOOStones, up from 1.40 MOOStones.
  * Embedded perl into mood, so mood can run perl methods without all the
    slowdown of execing perl. It preloads Mooix::Thing as well at mood
    startup, so load time of that module is no longer a factor. For good
    measure, it also loads up Mooix::Verb and Mooix::Root.
  * mooix.conf now has a line for additional perl code to run inside mood
    at startup.
  * Perl methods will continue to act much as before, with the following
    significant differences:
      - Mooix::Thing is already loaded when the method starts, so using it in
        the method is redundant. It should be harmless to do so, but I have
        experienced segfaults re-loading it under perl 5.6.1. perl 5.8 seems
        ok.
      - parameters after #!/usr/bin/perl have no effect. In particular,
        you must 'use warnings' instead of -w.
  * This required some gross hacking; in particular mood now has to be linked
    with libmooproxy, but the proxying is turned off until the embedded perl
    runs a method. The extra 2 layers of functions ate some of the theoretical
    speed gains, I think.
  * Inline functions in libmooproxy.
  * Make libmooproxy proxy nothing if THISFD is not open when it inits. To
    force enable proxying, it now exports a mooix_proxy_enable function.
  * Added configure check for perl binary filename; this gets built into mood
    and it only uses the embedded perl for those methods that have a hashbang
    that exactly matches that path.
  * Build-depend on libperl-dev.
  * Rolled Mooix::Thing::Utils back into Mooix::Thing. The former module
    still remains as a stub for backwards compatability for a short while.
  * Instead of overloading 'can' in a confusing way, call it 'implements'.
  * Commented out all imports of Mooix::Thing, Mooix::Thing::Utils, and
    Mooix::Verb in perl methods.
  * Corrected a fencepost bug in libmooproxy sendcommandv argc.
  * Removed Mooix::Message and Mooix::Thing->message.
  * Manual argv[0] setting, to work around perl oddities on linux.
  * Thanks to bod for all his help with embedding perl.

 -- Joey Hess <joeyh@debian.org>  Wed, 21 Aug 2002 11:56:20 -0400

mooix (0.6.5) unstable; urgency=low

  * Reorder link order of libs in libmooproxy, really, truely Closes: #155732
    -- I tested it this time, I swear!

 -- Joey Hess <joeyh@debian.org>  Mon, 19 Aug 2002 21:53:18 -0400

mooix (0.6.4) unstable; urgency=low

  * Patch from Christopher P. Lindsey to fix makeavatar program on systems
    that don't use the user-group system.
  * Includes a 1/8th rewrite of broadcast in C, going is slow; this is not
    used yet.
  * Make mood scream less loudly but more intelligibly when not run by root.

 -- Joey Hess <joeyh@debian.org>  Mon, 19 Aug 2002 13:57:25 -0400

mooix (0.6.3) unstable; urgency=low

  * On hppa, link in libgcc to get missing $$dyncall symbol. Closes: #155732
    Actually do it on all linux architectures.

 -- Joey Hess <joeyh@debian.org>  Wed,  7 Aug 2002 13:45:28 -0400

mooix (0.6.2) unstable; urgency=low

  * perl 5.8's signal handling changes were making resizing force a log out;
    fixed.
  * Added method call profiling support to mood, when built with -dPROFILE.
    When enabled, mood writes out profiling data to a file mooprofile
    in the directory it is run in. So far this has only served to verify that
    the broadcast method is a real bottleneck.
  * Doc updates and fixes.

 -- Joey Hess <joeyh@debian.org>  Tue,  6 Aug 2002 20:35:22 -0400

mooix (0.6.1) unstable; urgency=low

  * Fixed consumables so others can consume them, including destroy fix.
  * Fixed ->msg to behave sanely if run on an object that has no location.
  * Renamed sendmessage to broadcast.
  * Fixed an off-by-one in runmeth that broke some upgrades.
  * Fixed guest logout/who race.

 -- Joey Hess <joeyh@debian.org>  Sat,  3 Aug 2002 19:53:09 -0400

mooix (0.6.0) unstable; urgency=low

  * This is mooix beta release 6.
  * Added a scripted session object. Based on a log session, this reads input
    commands from a file.
  * Log session timestamps with microsecond accuracy.
  * Added a mooscript command, which is like moologin except you also give it
    all commands to run on startup, and it sets up a scripted session
    object. The resulting log file is dumped to stdout.
  * Updates to mooix.7.
  * The above should be useful for regression testing, benchmarking
    and automated moo building.
  * Added a benchmark framework in the benchmarks/ directory with a basic
    benchmark script; others can easily be written.
  * Benchmarked betas 2-6 and added benchmark graph at 
    <http://mooix.net/benchmarks/>
  * Making mooix faster will be a major focus for the next beta release.

 -- Joey Hess <joeyh@debian.org>  Fri,  2 Aug 2002 12:32:10 -0400

mooix (0.5.99.8) unstable; urgency=low

  * Fix destroy for perl 5.8: Don't block SIGTERM under 5.8, and call
    dodestroy differently.
  * Prevent infinite loop if the moo program is run with an invalid command.
  * Updated NEWS.

 -- Joey Hess <joeyh@debian.org>  Wed, 31 Jul 2002 15:13:14 -0400

mooix (0.5.99.7) unstable; urgency=low

  * Since suidperl will be going away in the next stable release of perl
    (5.10), time to stop using it here. There are three suid components of
    mooix, and I moved them all to /usr/share/mooix and added wrapper C
    programs.

 -- Joey Hess <joeyh@debian.org>  Mon, 29 Jul 2002 16:10:17 -0400

mooix (0.5.99.6) unstable; urgency=low

  * Redid libmooproxy to use RTLD_NEXT to get at native libc functions instead
    of all that syscall stuff. This should be more portable, aside from the
    grody gnu cpp varargs stuff I used. Thanks, randy!

 -- Joey Hess <joeyh@debian.org>  Sun, 28 Jul 2002 15:18:28 -0400

mooix (0.5.99.5) unstable; urgency=low

  * For ia64 linux and any other linuxes that lack SYS_fork, use SYS_clone to
    emulate fork. Closes: #149494
  * Turned off set -x in splittree. Closes: #154544

 -- Joey Hess <joeyh@debian.org>  Sun, 28 Jul 2002 12:01:53 -0400

mooix (0.5.99.4) unstable; urgency=low

  * Fixed a minor bug in the show command.
  * Fixed self teleport message.
  * Optimized logins, so it doesn't have to run canlogin for every avatar in
    the list up to your avatar. Instead look at users field where available.
    This is especially important for guest logins on systems with many users.

 -- Joey Hess <joeyh@debian.org>  Sat, 27 Jul 2002 13:58:52 -0400

mooix (0.5.99.3) unstable; urgency=low

  * Make lightswitch default to on.
  * Allow verb to fail without failure text, without displaying an unsightly
    blank line.
  * Fixed who command to show others than yourself.
  * Fixed looking at sleeping avatars.
  * Fixed looking at avatars in dark rooms.
  * Fixed looking at furniture in the dark.
  * Fixed movement through doors. Duh'oh.
  * Make "switch out the lights" work with a lightswitch, as well as "switch
    off".

 -- Joey Hess <joeyh@debian.org>  Mon, 22 Jul 2002 19:41:03 -0400

mooix (0.5.99.2) unstable; urgency=low

  * Fixed who command to use the who.msg of each avatar it displays info for.
  * In the init script, make sure /var/run/mooix exists when starting the moo.
    Closes: #153918

 -- Joey Hess <joeyh@debian.org>  Mon, 22 Jul 2002 18:38:08 -0400

mooix (0.5.99.1) unstable; urgency=low

  * Made message expander smart about getting pronoun substitutions right when
    referring to the object that will see the mirror. So
    $object->gender_possessive_pronoun will come out "your" in that case, for
    example.
  * Added derefobj function to C binding.
  * Fixed runmethod in the C binding to do newline escaping when passing in
    parameters.
  * Redid avatar tell method in straight C; shaves off several tenths of a
    second from all commands at least, but I'm running these tests on slower
    hardware than usual. Now the only critical path bits that are not C are
    parse and sendmessage.
  * Fixed help lookups for missing topics.
  * Oh, closed doors do have a separate message than open ones, which
    should serve to knock that item from TODO.

 -- Joey Hess <joeyh@debian.org>  Sun, 21 Jul 2002 15:28:57 -0400

mooix (0.5.99) unstable; urgency=low

  * NOTE: All methods that send messages, most verbs, and all old _msg fields
    need to be rewritten/modified now, if you have any custom ones in your
    moo. A lot of manual work is needed upgrading to this version. It should
    be worth it. See UPGRADING. Upgrade to this release only with caution, if
    you have a live moo!
  * Completely revamped message system, now features:
    - Sense-specific messages (see, hear, feel, etc).
    - Powerful message filtering and munging (dark rooms, noisy places where
      it's hard to hear, make avatars blind or deaf, flickering lights, you
      name it; it's all possible now (except perhaps a cone of silence).
      See =message-filter=.
    - More powerful message file format allows specification of what senses
      are needed to hear a message, who sees a message, etc, with intelligent
      fallbacks. See =messages=.
    - No need to write every message twice for the originator and everyone
      else, as messages now support verb conjugations and smart pronoun
      substitutions.
    - Message substitution is done by a single method, so no need for
      Mooix::Message and similar in other language bindings.
    - Message output by methods is simplified; only one method need be called
      not three.
    - Message propigation is improved. Brian: Communicators are go.
  * New format _msg fields are named .msg instead.
  * Added abstract/messagefilter and concrete/dark objects. Put the latter in
    a room or give it to someone, and watch the fun.
  * Added a contrib/lightswitch object that can turn the lights in the room
    its in on or off.
  * Verbs can no longer return strings to get the avatar to see them. using
    fail() in a verb still works, or use ->msg.
  * Updated all objects in my tree to use the new system.
  * Updated all objects in my tree again to use the newer system (sigh).
  * Introduced Mooix::Thing::Utils, which when used expands Mooix::Thing
    with a number of useful little utility methods that I found were
    called for again and again in the mooix tree. Stuff like $object->can to
    test if an object defines a method, and $object->defines to check if an
    object has a field and does not inherit it from a parent. Updated the
    object tree to use it whereever appropriate.
  * safegetfield also moves into Mooix::Thing::Utils, from Mooix::Message
    where it should never have been.
  * Let's put prettylist into there as well, and add a prettyname.
  * background and relid are so rarely used that I moved them to 
    Mooix::Thing::Utils from Mooix::Thing.
  * Mooix::Message is deprecated, and prints warnings when it is used.
  * Removed notes about where objects are from look command output, until I
    find a better way to do that.
  * Moved the moo database version out of the mooix version number; I found
    that it was confusing and limited my er, creativity. It is now stored in
    the database, in mooinfo's dbversion field.
  * Mooix::Version removed.
  * Made consumables use english to tell how full they are.
  * Converted NEWS file to NEWS.Debian format. Links back to make it easy to
    find. Added some other similar links too.
  * Added CONTRIBUTING.
  * Renamed fragile's broke_msg to break.msg (broke -> break). Other messages
    were probably added or renamed in scan and convert.
  * Renamed name_msg and description_msg of the guestmanager (which were not
    really messages) to name_template and description_template.
  * Removed why parameter from avatar move method.
  * Renamed door opened_msg -> look_open.msg, and closed_msg to
    look_closed.msg.
  * Fixed bug with "it" not working if an object's name was the same as
    its alias.
  * The who_idle message no longer supplements the who message; it stands on
    its own. The same is true for many look_* messages and the look message.
  * More intelligent message capitalization; capitalize the start of each
    newline in the message template.
  * Updated the programmer's tutorial, which meant removing some large
    sections that discussed old problems I've just resolved. Added a new
    section showing how to override your avatar's tell method to see pig
    latin everywhere.
  * Allow use of derive command without a name for the new object.
  * Make food and drink consumable with just "eat" and "drink"; no direct
    object required.
  
 -- Joey Hess <joeyh@debian.org>  Sat, 20 Jul 2002 19:37:47 -0400

mooix (0.5.1.12.5) unstable; urgency=low

  * Allow programers to set any field they can edit, including new
    fields.
  * Set wind up duck's spring perm in Makefile.
  * Some fixes to the programmer tutorial.
  * Made tab completion skip hidden objects, except exits.
  * Remove spurious "0" on logout.

 -- Joey Hess <joeyh@debian.org>  Wed, 10 Jul 2002 15:02:04 -0400

mooix (0.5.1.12.4) unstable; urgency=low

   * Added consumable, food, and drink objects by Brian D. Hicks.
   * Fixed object destruction; my crummy broken laptop keyboard inserted a
     syntax error in the previous version. Closes: #152133

 -- Joey Hess <joeyh@debian.org>  Wed, 10 Jul 2002 13:14:39 -0400

mooix (0.5.1.12.3) unstable; urgency=low

  * Added a flatten command for builders. Use with caution.
  * Install findfield.1
  * Emit messages from destroy, not dodestroy, so that quiet flag works.

 -- Joey Hess <joeyh@debian.org>  Thu,  4 Jul 2002 23:49:22 -0400

mooix (0.5.1.12.1) unstable; urgency=low

  * Have the parser cache contents lists of containers; this shaves over one
    tenth of a second from every command run, and much more in crowded
    rooms. However, it depends on Tie::Cache now.
  * In configure, search for tgetent/whatever first and only then for
    readline. That way the readline test succeeds.
  * Remember to update the website this time.

 -- Joey Hess <joeyh@debian.org>  Mon, 24 Jun 2002 11:26:39 -0400

mooix (0.5.1.12.0) unstable; urgency=low

  * Let's call this beta 5, it's been long enough, and there are some
    important fixes since b4.
  * Added a contrib dictionary object based on one seen on zork.net made by
    octal.
  * Make the grammar allow things of the form "look up "foo" in dictionary"
  * New and improved mooix.zsh from clint.

 -- Joey Hess <joeyh@debian.org>  Sun, 23 Jun 2002 12:10:32 -0400

mooix (0.4.1.12.4) unstable; urgency=low

  * Rejoice, for tab completion of object names (and adjectives) works now!
    The completion is done by an avatar's completion method, so overriding
    that for builders to get mooix: completion is not too far off, I think.
  * Builders can set modes now, but cannot make things executable or setuid,
    or sticky; and cannot remove executable or setuid or sticky bits either.
  * Added a check to see if readline needs termcap or curses linked into it,
    which is true on redhat. Added the RL_LIBS variable for this. Untested.
  * Support 'its next adjective is "foo"' type of thing, although the way I did
    it is a big hack.
  * Added a SAFEPATH to mooix.conf; some commands like moologin will use that
    as their path. People installing mooix into weird locations will need to
    edit that path to include the directory runmeth is instaled into.
  * Put in an optimization that eliminates almost all need for Mooix::Thing
    to shell out to pwd. Which also avoids the weird pwd problem on lindsey's
    machine, at least largely.
  * Fixed "help door" if there is a door in the room. To actually get help on
    that door, rather than doors in general, you now need to say something
    like "help on the door". For builder door help, "help door" will do the
    right thing.
  * Made mooix.sh set -e safe. Thanks, clint.
  * Allow benchmarked field to be set again.
  * Added fieldfile() to C binding; also added runmethod(), a straightforward
    translation from perl. Moved docs to header file; added some ffoo()
    functions, etc.
  * Added a findfield command that uses fieldfile(); and make runmeth use it
    to find the parent. Gone is the shell code embedded in a C program of
    yore..
  * Allow _validate methods for reference fields.
  * Added a gender_validate, so you can now say "my gender is "blah"", and
    it will set up the link properly.
  * Removed the gender question from the register command.
  * More informative croaking.
  * Allow setting of the register_ok field of guests by admin.

 -- Joey Hess <joeyh@debian.org>  Sat, 22 Jun 2002 10:04:31 -0400

mooix (0.4.1.12.3) unstable; urgency=low

  * Added a zsh binding translated from the POSIX by Clint Adams
    <schizo@debian.org>. Erm, thanks Clint, I hope you plan to maintain this?
    Closes: #150133
  * Fixed female gender name typo. Closes: #150117
  * Fixed isa to work with even relative parent links, which do exist in the
    initial splittree.
  * Use the Mooix::Thing in the source tree when running splittree at build
    time.
  * Added a pass to obj/Makefile install to force all relative symlinks
    absolute.

 -- Joey Hess <joeyh@debian.org>  Wed, 19 Jun 2002 23:10:46 -0400

mooix (0.4.1.12.2) unstable; urgency=low

  * Make splittree set owner links even if the dest doesn't exist yet. Fixes
    lastlog on fresh installs. No upgrade magic needed since splittree will
    fix it on upgrade. (So this is not version 0.4.1.13.0 after all..)
  * Let moodadmin user login as mooadmin.
  * Avoid race in /etc/init.d/mooix restart by using a start-stop-daemon
    schedule.
  * Moved DEB_BUILD_OPTIONS cruft out of makeinfo.
  * Page guest login banner (it works now..)

 -- Joey Hess <joeyh@debian.org>  Fri, 14 Jun 2002 19:50:00 -0400

mooix (0.4.1.12.1) unstable; urgency=low

  * Audited all stackless methods...
  * Reworked destroy again, closing additional holes that let a programmer
    call a guest's logout method successfully, and that let a programmer spoof
    the mooadmin's recycle_verb. The new destroy uses the objstack correctly
    and is safe from these types of spoofs.
  * Made thinglist->init not be raceable to set unprotected &etc fields.
  * Don't let just any programmer call ssh->setkey and pass it a key. Instead,
    introduce a sshkey field of avatars; setkey simply validates and copies
    that key into the ssh object. Changed setting of ssh keys to be done by
    saying: my sshkey is "blahblahblah". As a bonus, multiple keys can now be
    set, and keys can be unset, too.
  * safedeletefield calls _validate methods too, and its return value is now
    similar to safesetfield's.
  * ttysession page need not be stackless if the pagefile is created on init.
  * Make ttysession page and write (and log session write) read all parameters
    before locking anything, so an attacker cannot call them and block sending
    params to hang the session. Added a getallvals() to the C binding to
    facilitate this.
  * Made the single session prompt method not stackless, as there is no sane
    way to check its callers. Instead, make the parser know about single
    sessions, and abort after one line is read from them.
  * Fixed ttysession's write method's handling of very long unwrappable lines.
  * Fixed log session's handling of writes of more than one line at a time;
    prefix each line with its own timestamp.
  * Don't log self-emotes.

 -- Joey Hess <joeyh@debian.org>  Tue, 11 Jun 2002 11:45:03 -0400

mooix (0.4.1.12.0) unstable; urgency=HIGH

  * Any builder could destroy any container (and thus, any other avatar).
    Also, same for events, clocks, and anything else that overrode and 
    then called its super destroy method. Fixed by making destroy smarter
    about being overridden and fixed ancillary problem by adding an 
    ondestroy method.
    Upgrade ASAP!
  * Fixed up the mooadmin's contents list so they can add objects to it.
  * Fixed duplicate messages when looking at a cracked or broken mirror.
  * Fixed fragile's drop to return true, to throw makes it shatter.

 -- Joey Hess <joeyh@debian.org>  Mon, 10 Jun 2002 22:34:45 -0400

mooix (0.4.1.11.0) unstable; urgency=low

  * Support :' emote as well, as a DWIM special case.
  * Fixed housekeeper item for upgraded installs.
  * Removed recentobjs stuff from parser as it was leading to odd behavior
    such as, "exits" not working after moving through an exit called "exit".
  * Remove old broken splittree cruft from roomcontents. Fixes exit_ok bug.

 -- Joey Hess <joeyh@debian.org>  Sat,  8 Jun 2002 12:08:09 -0400

mooix (0.4.1.10.3) unstable; urgency=low

  * Support double-colon emote (emote without space after name).
  * Fixed bug in display of text with embedded blank lines (eg, room
    descriptions).
  * Fixed shared libs symlinks.
  * Made furniture take fail message more generic so it'll make sense for
    tables.
  * Furniture teleportation messages were wacked; fixed.
  * Fixed "teleport .. out"
  * Fixed ambiguous help lookups (such as looking up the builder's "door" help
    topic when there is a door in the room).
  * Put in a saner message for objects that have no help.
  * Added support for field validation to safesetfield, and let safesetfield
    return error messages. Use safesetfield in rename command. Add a validator
    for names, to prevent using "" or " " or similar confusing things as a
    name.
  * Added a guard against recursive parent loops in Mooix::Thing, and one to
    mood.
  * Make reparent detect incipitent parent loops and abort, so the only way to
    get parent loops now is by manual programming or manual filesystem
    tweaking.
  * Fixed amusing message displayed if you reparent a container you're
    holding, or if you reparent the room someone is in.
  * Make programmer's set_reference_verb call reparent_verb to set parents,
    so the same sanity checking is done.
  * Due to the way reparent_verb has to lock the objects it traverses to
    prevent races, the .cmd that calls it cannot use any limits that do shared
    locking, so I changed them to use (anywhere) instead of (nearby).
  * Support remove and destroy as less-PC alternatives to recycle.

 -- Joey Hess <joeyh@debian.org>  Fri,  7 Jun 2002 02:35:10 -0400

mooix (0.4.1.10.2) unstable; urgency=low

  * Fixed room contents display.
  * Added a fragile object class written by Brian D. Hicks. They break when
    dropped, etc. Also added Brian's mirror to contrib/.
  * Changes to the fragile object class:
    - minor code cleanups
    - don't clobber name when initted; make the break mathod stackless, and
      thus it can just edit the name &etc
    - don't set alias when initted; wait until the name is changed on break
    - set or add to adjectives when it cracks and breaks
    - documented break_destroy
  * Fixed mirror double message bug.
  * Fixed exits command to work while sitting on furniture, by adding an empty
    exits.cmd to furniture, so it falls back to the outside room.

 -- Joey Hess <joeyh@debian.org>  Thu,  6 Jun 2002 20:42:41 -0400

mooix (0.4.1.10.1) unstable; urgency=low

  * Fixed setting of aliase, adjective, hidden, and *_ok, and more; broken in
    last release (doh!)
  * Excellent new feature: Builder-created commands! Builders can now add
    commands to any object. All the commands can do is output _msg's, but that
    is often enough.

      > addcommand "kick" to ball
      Command added. Set kick_msg and kick_msg to customize.
      > kick the ball
      Joey kicks the ball.

    Maybe now all the World Cup fans will get off my back..
  * Much help reorganization to document everything about that.
  * Suggests Lingua::EN::Inflect, which helps get the number of the verb right
    in the above.
  * Fixed bed lying.
  * Added support for subroutine references to Mooix::Message::gen; this can
    be used to avoid calculation of expensive stuff unless it is actually
    used.
  * Use that to add $exits expansion to room's look_msg.
    To add autoexits to a room, just set it to something like:
      "$this.\n$this->description\n$contents $are here.\nObvious exits: $exits"

 -- Joey Hess <joeyh@debian.org>  Thu,  6 Jun 2002 15:31:59 -0400

mooix (0.4.1.10.0) unstable; urgency=low

  * This is a good stopping place for beta 4 of mooix.

  * Split container and room look verbs into two, one for looking at,
    one for looking under/in/on/etc.
  * \n now allowed in message fields; it is changed to a real newline in the
    generated message.
  * Turned a room's look_msg into the only thing that's displayed for a room;
    so one now has complete control over how it's formatted when one looks at
    a room. Added the room name at the top of that message.
  * Made ttysession write method properly word wrap parameters that contain
    embedded newlines.
  * Some fields are not safe to let the user modify. For example, saying
    "I'm not listening" results in a very confusing thing for a regular user.
    To avoid this problem, I've expanded the safe method flagging system to
    fields. Fields default to safe; if they have a .field-safe with a false
    value, they are no longer safe, and cannot be set with "is" or "set".
    Marked the listening field as unsafe. Made the sleeping and immobile
    fields unsafe for regular avatars; safe for builders. Made the 
    preposition field unsafe, as it's possible to really screw onseelf up
    by messing with it. Made sleeping unsafe for regular avatars; safe for
    builders.
  * Made safesetfield refuse to set a field if the object or a parent does not
    define it, to avoid typos and future trouble.

 -- Joey Hess <joeyh@debian.org>  Wed,  5 Jun 2002 23:56:49 -0400

mooix (0.3.1.10.0) unstable; urgency=low

  * Fixed the ssh command to work again. It was broken because the new method
    was too anal about the id's it would accept.
  * Renamed avatar's canregister field to register_ok, leading to a clearer
    syntax for setting it.
  * Similarly, rename and invert guestmanager's nologin field to "enabled".
  * Added a /usr/share/mooix/guesthome/ directory with a .hushlogin file, to
    use as the homedir for a guest account.
  * Make register fail sanly if Mail::SendMail is missing.
  * Support "give bob the ball" as well as "give the ball to bob".
  * Parser can deal with blank lines in .cmd's.
  * Fixed mooix version code to compare 0.3.1.10.0 > 0.3.1.9.0

 -- Joey Hess <joeyh@debian.org>  Wed,  5 Jun 2002 20:39:25 -0400

mooix (0.3.1.9.0) unstable; urgency=low

  * Added sleep_ok field to rooms, which determines whether avatars can sleep
    there without getting hauled off to bed. Defaults to true.
  * Added mooix:system/entrance, the room that is the entrance to the moo,
    taking over from mooix:concrete/room. The new room is not sleep_ok (and
    that's why a new room was called for). If you've personalized the 
    old room, you can either set the home field of mooix:abstract/avatar and
    guest back to the old value locally (not recommended), or transfer
    everything over to the new room. Apologies for the inconvenience.
  * Added a housekeeper object to the moo. For now, it takes care of putting
    avatars to bed if they fall asleep in public spaces. Might do more later.
  * The housekeeper only moves avatars whose cleanable field is set. It's set
    by default.
  * Added mooix:system/dormitory, a place to put deadbeats whose home is not
    sleep_ok.
  * Renamed avatar's _sleeping field to sleeping; it is useful for it to be a
    public field. mooupgrade will take care of the rename.
  * Add housekeeper to heartbeat, on new installs and upgrades.
  * Don't display messages to the room when teleporting hidden objects.
  * Builders may teleport stuff to exits now, it just ends up in the exit's
    destination room.
  * Remove mood.pid on package purge.
  * Don't copy over all of heartbeat's fields on new installs, whoops. Just
    item*. Fix on upgrade.
  * Made heartbeat more resistent to undef values.
  * Allowed mood to load empty stacks, as used by the housekeeper's heartbeat.

 -- Joey Hess <joeyh@debian.org>  Wed,  5 Jun 2002 01:19:29 -0400

mooix (0.3.1.8.7) unstable; urgency=low

  * Fixed a tricky mood bug that has been leading to intermittent hangs, and
    is probably the one responsible for the constant hangs one DD reported to
    me on irc. (I can't remember who that was; please get in touch with me if
    you see this..)
    
    The problem occurred if a single mood process was handling multiple
    clients in a single method run, and one client connected to the server
    socket asking for a new command socket, at the same time as another client
    sent a command to its command socket. Mood became confused after accepting
    the new connection, and tried to read a command from its server socket;
    failed of course, which made it think a client had exited and decrement
    the client counter. So it later would pause() when there was still really
    one client waiting.
   
  * Added a listcontents method to containers, which generates a
    pretty-printed list of container contents. It is a safe method that may be
    used in messages: "You open $this, revealing $this->listcontents." (Now
    the default open_msg.) It returns "nothing" if there are no contents.
  * Container's open_verb and close_verb made stackless, so anyone can open
    and close them.
  * Fixed self teleport messages.
  * Let the mooadmin destroy and recycle any objects.
  * In mood, use DEBUG to turn off debug() statements, but separate out
    control over rassert()'s to a ASSERT define. Default to building with
    DEBUG off, and ASSERT on.
  * FreeBSD fixes from Faried; getcreds() implemented, and makefile fixes.
  * SETSTACKLESS parameterized.
  * Notes about stackless methods in PORTING.
  * Go back to using $(localstatedir) and so on in mooix.conf. They are
    expanded at install time, and filterperl can deal with them now also.
  * Don't hardcode /etc in Mooix::Conf; fill in sysconfdir at build time.
  * As an optimization, put safegetfield in the Mooix::Message module, and
    make the method just call that implementation. This saves 6 hundredths of
    a second per expansion of $obj->foo in messages. Hully gee.
  * Rewrote thinglist->list in C, avoiding the overhead of that shell that ran
    find, and shaving ~15 hundredths of a second off of the parser command info
    gathering time, and a bit more in various other places. The time of a
    "say" command went down from 0.19s as benchmarked in version 0.2.0.5.0 to
    0.165s.
  * Centralized the debian changelog version extraction code; put it in 
    configure.ac.
  * Reran autoscan, it's been a long while.

 -- Joey Hess <joeyh@debian.org>  Tue,  4 Jun 2002 15:44:58 -0400

mooix (0.3.1.8.6) unstable; urgency=low

  * Added an exit_ok field to rooms, which, if set, allows anyone to add
    exits to them.
  * The dig command will now accept commas in exit names. Example:
      dig "west,w|east,e" to "The West Wing".
  * Prevent accidental overwrites of textual fields with references in the
    programmer's set_reference_verb.
  * grammar supoports "I'm" contraction.

 -- Joey Hess <joeyh@debian.org>  Mon,  3 Jun 2002 01:47:47 -0400

mooix (0.3.1.8.5) unstable; urgency=low

  * Syslog a warning when all the guests are used up and someone tries to get
    a guest account.
  * Support DEB_BUILD_OPTIONS, a certian amount of Makefile cleanup was
    called for.
  * =version= help topic tells the version of the moo.
  * Make shell command not bother with exit status code display.
  * Fixed c binding's getvalue() to unescape stuff, and reconstruct real \n's,
    thus avoiding some LTS.

 -- Joey Hess <joeyh@debian.org>  Sat,  1 Jun 2002 14:47:45 -0400

mooix (0.3.1.8.4) unstable; urgency=low

  * Made moologin catch problems caused by nodev /var partitions and die with
    a useful message.
  * Attempt to do the right thing if mood's getcommand() has a short read.
    Hard to test though; debugging output left in.

 -- Joey Hess <joeyh@debian.org>  Sat,  1 Jun 2002 10:23:52 -0400

mooix (0.3.1.8.3) unstable; urgency=low

  * A new makeavatar(8) unix command allows easy setup of avatars for
    existing unix users, without the registration email process.
  * Finished mooupgrade.8 man page.
  * Added mooix.7 meta man page.
  * If Time::Human is installed, clocks now have a $humantime expansion
    available in their time_msg.
  * Debian package suggests libtime-human-perl, which will enter debian
    soonish.
  * The moo command now outputs to stout, not stderr.

 -- Joey Hess <joeyh@debian.org>  Thu, 30 May 2002 02:17:54 -0400

mooix (0.3.1.8.2) unstable; urgency=low

  * Clock midnight fixes.
  * When setting date fields of event objects, you can use any date that
    Date::Manip can parse. Stuff of the form "in 10 minutes" is particularly
    useful. They are also pretty-printed when displayed by show.
  * Fixed typo in =reparent=, Closes: #148485
  * Added a whisper command. Whispers can sometimes be overheard, at least
    partially, and may sometimes come through a bit mangled to the whisperee
    as well.

 -- Joey Hess <joeyh@debian.org>  Wed, 29 May 2002 00:00:33 -0400

mooix (0.3.1.8.1) unstable; urgency=low

  * Added a simple event object that can be set up by a builder to output
    a message periodically (or just once), and can serve as a base for
    slightly more complex event driven objects. Documented in the
    =builder-tutorial=.
  * Added a contrib clock that'll chime the hours and tell (possibly
    intentionally wrong) time.
  * Added an exits command. Exits show up if they are listable (the default).
  * Fixed safesetfield to look for -safe, not _safe.
  * Made setting mooix:system/mooinfo's hostname override the method with
    a static field.
  * Made show understand -safe methods, and run them to get their values,
    displaying them as fields.
  * Made the parser grok (incorrect english) commands of the form 
    "set it's name to "blah"", which unforunatly required getting rid of 
    support for text quoted by single quotes, because of ambiguity.
  * Got the parser to understand possessive pronouns like "its" and also
    sentences of the form "blah's [not] hidden"
  * Improved heartbeat startup after system crashes, etc.
  * Mooix builds on Debian arm, alpha, hppa, s390, sparc; so noted in PORTING.
    Anyone want to try running it on one of these exotic platforms? (Hey buddy,
    can you spare a S/390?)

 -- Joey Hess <joeyh@debian.org>  Mon, 27 May 2002 13:55:51 -0400

mooix (0.3.1.8.0) unstable; urgency=low

  * Fixed PARENTAVATAR line in mooix.conf.
  * Added a =heartbeat=, with only basic time specifications for now,
    but it works, including objstack restoration and parameter passing.
  * Add heartbeat to startuplist and shutdownlist on upgrade.
  * Added stringify method to Mooix::ObjStack.
  * Support for mooadmins to pass NEWOBJSTACK when execing a new method
    (mood protocol change).
  * Allow for multiple mooadminobjs -- they're all just added to the
    mooadminstack. This lets the heartbeat object be a mooadminobj.
  * Added a README.Debian with the main FAQ about the debian package.
  * Added SIGWINCH propigation back to moologin, it seems I lost it by
    accident.

 -- Joey Hess <joeyh@debian.org>  Sat, 25 May 2002 21:33:05 -0400

mooix (0.3.0.7.0) unstable; urgency=low

  * I finally figured out why backgrounded perl methods were failing when
    communicating with methods they invoked. It looks like it has to do with
    the requirement that stdin and stdout be closed by those method causing fd
    0 and 1 to be free, which conflicts with some code in Mooix::Thing that
    fiddles with stdin and stdout. Another partial cause is a bug in perl (or
    in perl's interaction with libmooproxy). When I work around that bug (by
    making Mooix::Thing _readfield explicitly close a lexically scoped
    filehandle before returning), backgrounded inherited methods begin to
    a bit better work. But the real fix was to open /dev/null for stdin and
    stdout when backgrounding a method.
  * Added a little background method to Mooix::Thing that takes care of making
    a method fork to the background.
  * Made the wind up duck demo object waddle in the background.
  * Parts of throwing a ball happen in the background.
  * Updated the programmer's tutorial.
  * Made the shutdown and startup methods of init run all registered methods
    in the background (they get a short grace period on shutdown before the
    whole moo goes down).
  * Added a register method to init that ojects can use to add themselves to
    the startup and shutdown lists.
  * Made heartbeat->startup background each method in its startuplist,
    so long-running methods don't delay moo startup.
  * Oops, init needs to be the owner of its startuplist and shutdownlist;
    had to hack mooupgrade to it, and bump the db version.

 -- Joey Hess <joeyh@debian.org>  Sat, 25 May 2002 12:09:23 -0400

mooix (0.3.0.6.2) unstable; urgency=low

  * Corrected include paths on some Makefiles so it'll build without mooix
    already being installed. Closes: #148116

 -- Joey Hess <joeyh@debian.org>  Sat, 25 May 2002 10:26:05 -0400

mooix (0.3.0.6.1) unstable; urgency=low

  * Fixed some problems with clean rules in the obj/ tree. Closes: #148082

 -- Joey Hess <joeyh@debian.org>  Fri, 24 May 2002 19:09:45 -0400

mooix (0.3.0.6.0) unstable; urgency=low

  * Beta 3.
  * Website updates; mooix is in Debian unstable.

 -- Joey Hess <joeyh@debian.org>  Fri, 24 May 2002 11:27:05 -0400

mooix (0.2.0.6.3) unstable; urgency=low

  * First upload to Debian unstable, it shouldn't get into woody now..
  * The show command now shows only noninherited stuff, so will often easily
    fit on one screen, while showall does what show used to. Also the meaning
    of the asterisk in their output is now inverted.
  * Added "hand" as an alias for "give" and "offer".
  * Reworked the drop verb.
  * Added a throw verb to objects and particularly balls.
  * Fixed broken $(uname -s) test in Makefiles, introduced last version.
  * No need to link libmoomethod with -ldl, is there?
  * Made lintian clean (that is, made huge lintian overrides file..)
  * Added a few more prepositions to the parser.
  * Fixed door opened/closed messages (reversed).
  * Made the parser support "either" and "either one" as quantifiers.
  * Made the delete command suport deletion of symlinks to directories.

 -- Joey Hess <joeyh@debian.org>  Thu, 16 May 2002 15:57:16 -0400

mooix (0.2.0.6.2) unstable; urgency=low

  * Beginnings of FreeBSD support thanks to Faried Nawaz. Not complete yet.
  * Fixed some doc bugs.

 -- Joey Hess <joeyh@debian.org>  Thu,  9 May 2002 13:38:42 -0400

mooix (0.2.0.6.1) unstable; urgency=low

  * Another themed release, this time it's time to work on "it".
  * Put recent_obj calls back into the grammar, thus fixing many issues with
    the use of "it" in compound sentences. I think I removed them by accident
    when I was adding support for disambiguating objects.
  * After using the "derive" commnad, "it" will refer to the newly created
    object. Accomplished with a special method return code hack.
  * Added SETIT to Mooix.rb and Verb.pm.
  * When digging, it's a little tricky which one would be "it", so I have it
    set "them" to the created room and exits. If only one room or exit is
    created by a given dig command, "it" gets set too.
  * Removed stub verb.hlp.

 -- Joey Hess <joeyh@debian.org>  Wed,  8 May 2002 23:19:36 -0400

mooix (0.2.0.6.0) unstable; urgency=low

  * Documented better how locking works, and added a getlock method to
    Mooix::Thing; made the parse method use it instead of rolling its own
    locking code.
  * Removed the lock parameter from the move method, and made everything
    that needs to lock stuff before moving it use getlock.
  * Lock the .sleeping field during avatar login to avoid races.
  * Use the getlock method in thinglist->newid instead of doing it by hand.
  * Made containers lock their closed field before changing it, so objects
    that need to move into or out of a container should obtain a shared lock
    on its closed field first. (Not yet done..)
  * Similarly, doors lock their closed field when they're opening and closing,
    and they take a shared lock when something goes through the door.
  * Also, doors lock their locked field (yes, it sounds funny) when they are
    being locked or unlocked.
  * Added an init method to doors that sets the door's locked and closed
    fields, so the above locking calls always have something noninherited
    to lock. Also this allows the parent to be a concrete object without
    having it mess with its kids when opened or locked.
  * On upgrade, reinit all doors. Upgraders to this version who have doors in
    their moo should run mooupgrade (the debian package will do this
    automatically).

 -- Joey Hess <joeyh@debian.org>  Fri,  3 May 2002 11:56:59 -0400

mooix (0.2.0.5.4) unstable; urgency=low

  * Fixed session->tty->write to support blank lines again.
  * Resurrected session->tty->edit method (oops).
  * Added otherside ref to exits that can optionally point to the other
    exit in a pair. Set by dig.
  * Added closable, lockable (not like lambdamoo locks, at least yet) doors,
    and keys.
  * Gave builders a varient of the reparent command that cannot change the
    parents of avatars, or promote objects to avatars (the latter is just
    paranioa, probably), but that can, eg, change exits to doors.
  * "show my fields" was ambiguous since there's a fields method now; made it
    show the fields instead of that method and in general pick categories
    over individual items with the same name.
  * Corrected parsing of sentences of the form: foo's name is "bar"
    It was taking everything after the apostrophe as a quote.
  * In the parser, fixed a bug in %incomplete setting when trying to act on
    an object that is not present.
  * In the parser, fixed a knotty bug to do with 'it' not getting set if
    the user referred to a name that matched an object in the room, but also
    matched a non-local object in @recentobjs. Fix is to ignore @recentobjs if
    it has names that are the same as present objects.

 -- Joey Hess <joeyh@debian.org>  Sun, 28 Apr 2002 12:53:28 -0400

mooix (0.2.0.5.3) unstable; urgency=low

  * Rewrote tty session prompt method to use readline callback interface,
    thus avoiding the several bugs with rl_event_hook. (#134615, #144585)
    This makes pasting work a lot better, as well as fixing other, rarer
    instances of dropped input.
  * Added text reflowing to the tty session.
  * Removed hack of the tty session prompter actually returning "quit" on
    ctrl-d; checking for undef works just as well. Also, this allows use of
    ctrl-d to abort a multi-line paste, though lone-dot will continue to work
    too.
  * Let even those who are logging go to sleep.
  * Add a note if someone is asleep to their description.
  * Fixed set_reference_verb (inverted condition).

 -- Joey Hess <joeyh@debian.org>  Thu, 25 Apr 2002 21:41:02 -0400

mooix (0.2.0.5.2) unstable; urgency=low

  * Admin can set guest's fields as per the admin guide (fixed safesetfield).
  * Moved the =admin-guide= into the help system.
  * Added doc/getting-started.txt with the bare basics for new installs.
  * Ruby binding updates, now support super.
  * The ruby binding is now installed if the system has ruby, skipped
    otherwise.
  * Made the debian package build-depend on ruby.

 -- Joey Hess <joeyh@debian.org>  Wed, 24 Apr 2002 12:40:10 -0400

mooix (0.2.0.5.1) unstable; urgency=low

  * Corrected permisisons of ruby.hlp and Mooix.rb.
  * Make mooupgrade more robust in the face of weird directories that aren't
    objects.
  * Make mooupgrade very robust with eval.
  * Do id sanity checking before making objects; id's with punctuation are not
    allowed. Also tightened up the thingset's use of hinting.
  * Removed a _lot_ of junk under website/download in the tarball. No wonder
    it was so huge!

 -- Joey Hess <joeyh@debian.org>  Tue, 23 Apr 2002 23:13:45 -0400

mooix (0.2.0.5.0) unstable; urgency=low

  * This release is not a clean upgrade from previous releases; read
    UPGRADING! (Unless you are using the debian package, which should handle
    it automatically).
 
  * Added a =ruby= language binding, thanks to Abraham Egnor. It is not yet
    installed by default.
  * 0.2.0.4 broke "moologin guest" command (but not guest logins in general).
    Fixed.
  * Added a new field, 'listening'. If an object is not listening, it can
    be dropped from tells. This leads to a sizable speedup in messages to
    object-heavy rooms. Timing the "say" command on my TM5800:
        num objects	before	after	num listening
        26		1.5s	1.52s	23
        26		1.5s	0.80s	10
        26		1.5s	0.52s	6
        26		1.5s	0.21s	1
        16		0.9s	0.20s	1
        8		0.3s	0.19s	1
        6		0.21s	0.19s	1
  * New builder command, =list= lists the source of a method. It is smart
    enough to list the .c source file for compiled methods, and avoid listing
    binary methods. A programmer who does not want a method listed can set a
    flag to that end.
  * say_msg and osay_msg no longer do double duty, as there are now a
    directed_say and a odirected_say message. This makes the messages better,
    and stagetalk a possibility.
  * Added a =paste= command.
  * Removed that pesky trailing dot from emote.
  * Added a Mooix::Version class.
  * Added an upgrade method to objects; specifically to avatars.
  * Went to a 5 version number scheme; yes all the numbers do mean something,
    as explained in ROADMAP.
  * Added the mooupgrade program, which can handle database upgrades,
    and make the debian/postinst call it on upgrade.

 -- Joey Hess <joeyh@debian.org>  Tue, 23 Apr 2002 11:36:30 -0400

mooix (0.2.0.4) unstable; urgency=low

  * Documented =C= binding.
  * Made help method first try case sentsative lookup, with case insensative
    fallback.
  * Use graphviz to make a nice set of graphs of the whole help system.
    The graphs appear on the website and are generated at website build time,
    not package build time.
  * Added an object hierarchy graph as well.
  * Put more docs in debian package.
  * Added =admin= help topic.
  * Added names for some more objects to make the hierarchy graph look better.
  * Shell binding now has mixin support.
  * Added =language-binding=, an attempt at explainig how to write a language
    binding.
  * Added NEWS.

 -- Joey Hess <joeyh@debian.org>  Mon, 22 Apr 2002 00:27:55 -0400

mooix (0.2.0.3) unstable; urgency=low

  * The "when evil plans collide" release.
  * Wrote a shell language binding that bears more than a passing resemblance
    to shoop. Thanks to doogie for the doogieization.
  * Documented the above as =shell-script= and also added a =perl= document.
  * More programmer help include documentation on =methods= and =commands=.
  * Broke the index method out of Mooix::Thing and into a first-class method,
    so it need only be implemented once.
  * Made mixin/gender into a thingset object, and made mixin/gender/neuter
    contain the .inf fields and description; made the other genders inherit
    from it. This makes it cleaner for the register_verb to list available
    genders.

 -- Joey Hess <joeyh@debian.org>  Sun, 21 Apr 2002 01:07:36 -0400

mooix (0.2.0.2) unstable; urgency=low

  * Fixed teleportation of an immobile object, and thus, digging.
  * Added help for reglog and reparent commands (admin commands).
  * Added doc/writinghelp.txt, a 5 minute explanation of how the help system
    works. It seems it should be inside the help system, but I'm not sure
    where to put it in there.

 -- Joey Hess <joeyh@debian.org>  Sat, 20 Apr 2002 18:05:42 -0400

mooix (0.2.0.1) unstable; urgency=low

  * Corrected ssh RSA key parsing of the ssh command.
  * Make the ssh objects not run the super init method, since that method
    assumes that the objstack can write out new fields like location, and ssh
    objects are initted without an owner link.
  * Documentation typos fixes (thanks, doogie).

 -- Joey Hess <joeyh@debian.org>  Thu, 18 Apr 2002 22:05:37 -0400

mooix (0.2.0.0) unstable; urgency=low

  * Added an online help system with cross-references and index, and
    imported the user's guide and builder's tutorial into it.
  * Started work on a html session object. So far, it cannot accept logins,
    but it can do basic formatting of stuff like the output of the help
    command. I'm using this on the website for broswsble access to the moo's
    help system. http://mooix.net/help.cgi/builder/index
  * Added some guest-specific help.
  * Added a lot more help for builders.
  * Added a little bit of help for programmers, not done yet. Imported the
    programmer's tutorual.
  * Renamed the interface command to 'usage' and made it available to
    builders.
  * Several improvements in the grammar around field parsing.
  * Fixed up take messages with nested containers.
  * Better messages when sitting up in bed. (I love this wacky changelog..)
  * Fixed page method of single session.
  * Made "go home" work.
  * Made "look around" work.

 -- Joey Hess <joeyh@debian.org>  Sun, 14 Apr 2002 14:42:45 -0400

mooix (0.1.0.6) unstable; urgency=low

  * Added (single) limit, which can be used to prevent a command from being
    run on more than one object at a time. No more "say 'oops!' to all".
  * #include fixes in mood and libmooproxy.
  * Mood can be built w/o debugging code now. Saves 3k, woo.
  * Corrections to the moo.1 man page.
  * "teleport object away" and "teleport away object" can now be used to move
    unwanted objects out of the room, to no particular location. Cannot be
    used on avatars.
  * Removed bogus perlread and perlwrite testcases.

 -- Joey Hess <joey@kitenet.net>  Sat, 30 Mar 2002 21:22:58 -0500

mooix (0.1.0.5) unstable; urgency=low

  * I think this fixes the mood hanging bug. Needs more testing.

 -- Joey Hess <joey@kitenet.net>  Wed, 27 Mar 2002 20:52:25 -0500

mooix (0.1.0.4) unstable; urgency=low

  * The parser now builds up the "all" list seperately, skipping objects the
    avatar may not know about. This makes "get all" sane.
  * Removed random parser debug statement.
  * Looking at furniture now tells where it is if it's inside other objects.
  * Be smarter about sit/lie commands; if someone is holding furniture don't
    even try to sit there.
  * Added "clear" command (which meant adding a clear method to sessions).
  * Added a password method that is used to prompt for passwords now.
  * Still no fix for the hanging mood processes...

 -- Joey Hess <joey@kitenet.net>  Mon, 25 Mar 2002 14:00:34 -0500

mooix (0.1.0.3) unstable; urgency=low

  * Improved nested take messages; still needs work though.
  * Supports commands of the form "drop both of my pennies"
  * Report failure on commands where the parser consumes the whole command,
    but returns an undef parse tree.
  * Turned off mood debugging code; I know what the problem is but have not
    yet found a fix.

 -- Joey Hess <joey@kitenet.net>  Sun, 24 Mar 2002 14:27:42 -0500

mooix (0.1.0.2) unstable; urgency=low

  * Don't allow furniture to be picked up if an avatar is sitting in it.
  * Don't allow sitting/lying on furniture that is being carried.
  * Added a "ssh" command, which lets you set up a .ssh/authorized_keys, for
    passwordless ssh access.
  * Made all avatar init methods (and their parent methods) idempotent.
  * Admin can now use the "reparent" command to change the parent of an
    avatar.
  * Programmers get an empty .viminfo file, which stops vim whining about not
    being able to write to it.
  * More fixes to generated English.
  * Fixed classes command.
  * Doc updates.
  * Made mood stop whining about processes exiting on SIGPIPE, that's normal.
  * Added some debugging code to mood to help track down the spare mood
    processes bug.

 -- Joey Hess <joey@kitenet.net>  Sat, 23 Mar 2002 13:10:56 -0500

mooix (0.1.0.1) unstable; urgency=low

  * debian package depends on perl-suid
  * Fixed parser bug relating to object names starting with "a". Thanks to
    alisdair and astyanax for helping me find it.
  * Fixed problem with delayed second stage registration.
  * Fixed registration to deal with upper-case usernames, which adduser
    dislikes.
  * 'l' is a shortcut for 'look'.
  * Fixed commands like "show the fish's messages".
  * Improved who command.
  * Added 'load' command (needs Sys::CpuLoad).
  * Lastlog command can be told a user and it will limit display to that user.
  * Improved duck messages.
  * Programmers can use "shell 'ls'" and "!ls" to run commands in a shell.
    Note that this cannot yet be used for insteractive commands.
  * Corrected some bad English.
  * Limit the hostname field in the default lastlog display to 30 characters.
  * Added automatic web site updating code, and automatic display of changelog
    to web site.

 -- Joey Hess <joey@kitenet.net>  Fri, 22 Mar 2002 17:24:07 -0500

mooix (0.1.0.0) unstable; urgency=low

  * Beta release 1.

 -- Joey Hess <joeyh@debian.org>  Sun, 17 Mar 2002 19:38:35 -0500
