perlmoo (0.045) unstable; urgency=low

  * Modified syslog support to use unix domain socket. Now perlmoo should
    work better with syslogd's that don't have remote reception turned on.

 -- Joey Hess <joeyh@master.debian.org>  Mon, 26 Oct 1998 18:13:12 -0800

perlmoo (0.044) unstable; urgency=low

  * Reupload to incoming _again_. Sheesh.

 -- Joey Hess <joeyh@master.debian.org>  Mon, 26 Oct 1998 12:20:14 -0800

perlmoo (0.043) unstable; urgency=low

  * Reupload to incoming.

 -- Joey Hess <joeyh@master.debian.org>  Wed, 21 Oct 1998 17:57:36 -0700

perlmoo (0.042) unstable; urgency=low

  * Allow random number use by programmers.
  * Fixed the "syslog error". Enjoy, Randolph!
  * Added tell method back to objects, removing it was a mistake.
  * Dbconvert will now clean up the mess that mistake made.
  * Fixed remote pages.
  * Added code command (not very useful yet ... see TODO).
  * Added codedel, verbdel commands.
  * Added a contrib directory with sample objects in it that you can
    add to the moo online. Currently, that's a sample dog by Randolph Chung
    <rc42@cornell.edu>.
  * No longer use Tie::RefHash in the perlmoo daemon, because it seems to be
    buggy - keys on a RefHash was returning incorrect things, which sometimes
    made perlmoo ignore new connections.
  * Changed how verbs are represented internally, to use only the verb
    command name as the hash key now.
  * Changed how the look verb is implemented, so it'll work with the changes
    to verbs.
  * Fixed multiple exit go.

 -- Joey Hess <joeyh@master.debian.org>  Fri, 16 Oct 1998 16:11:45 -0700

perlmoo (0.041) unstable; urgency=low

  * Fixed another moo crasher (create room, enter room, delete room, logout).

 -- Joey Hess <joeyh@master.debian.org>  Fri, 16 Oct 1998 12:11:04 -0700

perlmoo (0.040) unstable; urgency=low

  * Fixed stupid mistake.

 -- Joey Hess <joeyh@master.debian.org>  Wed, 14 Oct 1998 18:11:33 -0700

perlmoo (0.039) unstable; urgency=low

  * Changed in-db methods to not use subroutines. There is no longer any
    caching. On the other hand, there are no more weird problems with
    in-db methods not working the first time you run them, either.
  * ActiveUser now guards $active inside a closure.

 -- Joey Hess <joeyh@master.debian.org>  Wed, 14 Oct 1998 14:59:30 -0700

perlmoo (0.038) unstable; urgency=low

  * Debian package now suggests one of 2 possible perl readline modules
    that're in debian now. (Thanks, Che!)

 -- Joey Hess <joeyh@master.debian.org>  Tue, 13 Oct 1998 19:14:09 -0700

perlmoo (0.037) unstable; urgency=low

  * Fixed in-db method inheritance code.
  * perlmoo-test now has readline support. Not of much use unless you have
    the CPAN readline package (debian doesn't). Even without the CPAN
    package this yeilds a highlighted prompt.

 -- Joey Hess <joeyh@master.debian.org>  Tue, 13 Oct 1998 14:41:00 -0700

perlmoo (0.036) unstable; urgency=low

  * Fixed a typo that was preventing people (including guests) from ever 
    being deleted.
  * Reworked the object removal code to be more aggressive.
  * Fixed a bug in rec_delete.

 -- Joey Hess <joeyh@master.debian.org>  Mon, 12 Oct 1998 14:47:26 -0700

perlmoo (0.035) unstable; urgency=low

  * Methods now run inside the correct package in the Safe.
  * Implemented super command for in-db methods. Analagous to SUPER.
    Incomplete.
  * No longer possible to crash moo by asking for help.

 -- Joey Hess <joeyh@master.debian.org>  Thu,  8 Oct 1998 17:01:40 -0700

perlmoo (0.034) unstable; urgency=low

  * Made Methods invalidate their cache when the code in them changes.
  * It's a known bug that sometimes when you add a new verb to an object,
    the verb doesn't work the very first time you try it, but does work
    thereafter.
  * Inserted stub functions into Container.pm to work around a nasty
    inheritance problem. Fixes rename command, guest names, probably
    more.

 -- Joey Hess <joeyh@master.debian.org>  Wed,  7 Oct 1998 20:29:08 -0700

perlmoo (0.033) unstable; urgency=low

  * Changed all the SUPER calls to use a method that works inside safes.
    This means programmers can now use ';$me->location'. It also means it's
    possible to write interesting objects online at last!
  * Fixed another way to crash the moo with generics.
  * Tried to use 'use base' instead of the @ISA stuff, only to find it
    subtly broke perlmoo. I don't know why.

 -- Joey Hess <joeyh@master.debian.org>  Wed,  7 Oct 1998 16:59:02 -0700

perlmoo (0.032) unstable; urgency=low

  * Fixed another syslog problem.

 -- Joey Hess <joeyh@master.debian.org>  Tue,  6 Oct 1998 17:39:55 -0700

perlmoo (0.031) unstable; urgency=low

  * Fixed teach command.
  * Die properly if there's a problem with Sys::Syslog not loading.
  * Many niggly changes to fix things perl -w complains about. (Still not -w
    clean).

 -- Joey Hess <joeyh@master.debian.org>  Mon,  5 Oct 1998 18:02:55 -0700

perlmoo (0.030) unstable; urgency=medium

  * Fixed a security problem - it was possible to hijack other user's
    commands - including wizard and programmer and builder commands.
  * Don't crash if a logged in person is deleted.

 -- Joey Hess <joeyh@master.debian.org>  Mon,  5 Oct 1998 13:01:17 -0700

perlmoo (0.029) unstable; urgency=low

  * Speed up db dumping - now it's 300 times faster. Yes, 300!!
  * Added flood protection.
  * Doc additions (programming and FAQ).
  * Only allow one db dumper child at a time.
  * Bugfixes.
  * Added dumpdb command.
  * Made db dumping consume much less memory for large db's.

 -- Joey Hess <joeyh@master.debian.org>  Sat,  3 Oct 1998 00:20:18 -0700

perlmoo (0.028) unstable; urgency=low

  * Fixed stupid mistake.

 -- Joey Hess <joeyh@master.debian.org>  Sat,  3 Oct 1998 00:09:02 -0700

perlmoo (0.027) unstable; urgency=low

  * Wrote page, version, and uptime commands.
  * Write a sayto command (directed say, alias '-').
  * Wrote a short FAQ.
  * Documented the s// command.
  * Sorted help and question callback lists.
  * Added a sanity check to put command so people can't be put in non-rooms.
  * Fixed $loginroom generic object reference.
  * Fixed exits command (permissions problem).
  * Fixed a unixism (system cp) in dbconvert.
  * Implemented exit deletion from rooms.

 -- Joey Hess <joeyh@master.debian.org>  Fri,  2 Oct 1998 13:53:59 -0700

perlmoo (0.026) unstable; urgency=low

  * Can now refer to objects using substrings of their names.
  * Now uses question callbacks to resolve ambiguities of which object
    the user meant.
  * Added help command, wrote online help for all commands in the moo.
    (Carpel tunnel, here I come!)
  * Added help indexes.
  * Removed and shortened most of README.*, it's in the online help now.
  * Fixed another scalar hash element merge problem.
  * Implemented give command.
  * Made ';' just be an alias for a new eval verb.
  * People now have an commandaliases hash that lists various command line 
    aliases they have.
  * Changed aliases property from a hash to a list. Hash's inherit, list's
    don't, and I don't want inheritance.

 -- Joey Hess <joeyh@master.debian.org>  Wed, 30 Sep 1998 00:02:31 -0700

perlmoo (0.025) unstable; urgency=low

  * Lots of changes in how objects are looked up when the moo matches a
    user's command to objects in the moo.
  * As a side effect, "look me in here" now works, and a lot of other obscure
    bugs are fixed.
  * Fixed 'it' so it's not a global. Oops.
  * Made /etc/perlmoo.conf a conffile.
  * Split a look method out of verb_look that is responsible for actually
    showing the descriptions and can be called independantly. This cleans up
    a lot of code.

 -- Joey Hess <joeyh@master.debian.org>  Tue, 29 Sep 1998 19:59:34 -0700

perlmoo (0.024) unstable; urgency=low

  * Bigfixes.
  * Fixed problem of Wizards and LoginPersons that don't go away.

 -- Joey Hess <joeyh@master.debian.org>  Sun, 27 Sep 1998 14:01:54 -0700

perlmoo (0.023) unstable; urgency=low

  * Db changes this version:
    - new delete verb.

  * Fixed show. (Don't use ALL and ID, use all and id).
  * Added complicated delete object patch from Randolph.
  * Fixed perlmoo-dbconvert so it works again.
  * You can now use the perl s/// command in a limited form while
    interacting with the moo, to recall your last command, modify it, and
    execute it. Just for kicks, this is a perl moo, after all! :-)
  * Fixed more code to use \r\n, not just \n.
  * Exits command goes by permissions now, not hardcoded values.
  * Split off a WISHLIST from TODO.
  * Fixed look object in me bug.

 -- Joey Hess <joeyh@master.debian.org>  Sat, 26 Sep 1998 13:28:29 -0700

perlmoo (0.022) unstable; urgency=low

  * Now available as a debian package.
  * Fixed crash on SIGPIPE.
  * Fixed drop so it doesn't crash the moo.
  * Renamed dbconvert, test, and wizpasswd by prefixing "perlmoo-" to them,
    to prevent namespace conflicts.
  * make install now sets up perlmoo in a FSSTND-complient layout.
  * Added a config file, perlmoo.conf, and made all perlmoo programs read it.
  * Wrote manpage.
  * Now chroots to the dbdir, not the current directory.
  * Made perlmoo smart about finding its db - if it chroots, it will try to
    remove the path it chrooted to from the path specified for the db, so it
    can still find it.
  * wizpasswd now just prompts for the password, instead of taking it on the
    command line.
  * Perlmoo can now write out a pid file if you ask it to (--pidfile).
  * If perlmoo gets a signal, it doesn't exit until after the db is dumped.

 -- Joey Hess <joeyh@master.debian.org>  Tue, 22 Sep 1998 21:35:33 -0700

perlmoo (0.021) experimental; urgency=low

  * Db changes in this version:
    - Programmers have 2 new verbs.
    - Removed the example ball object.

  * Fixed broken Generics object - $thing, etc, works again.
  * Argument passing to in-db methods fixed.
  * In-db methods now run inside subpackages of the safe, to prevent name
    collisions.
  * In-db method caching now works.
  * Added teach and verbcode commands to Programmer, to let them code verbs
    in the moo.
  * Added tutorial on how to code a bouncy ball in the moo, in
    README.programming.
  * dbconvert now works a lot more generically, and can handle lots of
    changes to the core moo database automatically.

 -- Joey Hess <joeyh@master.debian.org>  Tue, 22 Sep 1998 00:36:09 -0700

perlmoo (0.020) experimental; urgency=low

  * Db changes in this version:
    - major changes to the db, as I added inheritance to it. Existing db's
      don't have an object hierarchy in them. Only known fix is re-doing the
      db from start, sorry, I can't auto-convert this change.
    - While I was at it I removed all the gratuitous upper-casing from the
      db.

  * Implemented property inheritance. This means each object has a parent
    that it inherits all properties from, unless it changes them. This leads
    to much more efficient db's.
  * Added a methods hash to objects, that holds Method objects. These are
    snips of code owned by a particular Programmer - when a method of the
    object is called, they run in that Programmer's Safe. Yes, we have
    online coding at last! (Thanks go to dew for prodding at me every day
    until I finally figured out how to do this.) This is still in a very
    experimental state, though.
  * Restrict listing room exits to room owners and wizards, patch from
    "David E. Weekly" <weekly@atweb.com> 
  * Another patch from dew to maybe fix the phantom socket connections
    problem - or at least help debug it.
  * SuWizard and Log are now available to the moo as a whole in the Utils
    package.
  * Fixed "move foo to here" and "move foo to me" bugs.
  * Fixed it so the read-perms are actually paid attention to, they were
    ignored before due to a bug. Fixed several dozen bugs this fix exposed
    There are probably a few dozen more..
  * Use SUPER everywhere I should have before when I worried it didn't work
    in Safe's.
  * Now use Error:iserror to test for errors.
  * Fixed the _gen bug.
  * Now displays version on login.

 -- Joey Hess <joeyh@master.debian.org>  Mon, 14 Sep 1998 00:40:25 -0700

perlmoo (0.014) experimental; urgency=low

  * Fixed typo in README.admin - s/make security/make secure/.
  * Fixed bug in test program - quit did not work.
  * No longer crashes if you try to take an object that is in nothing.
  * Fixed password encryption problem - was sometimes using invalid salts,
    resulting in users who couldn't log in. Thanks to Rendolph for the salt 
    fix.
  * Now we have a Password.pm for password purposes.
  * FindByName checks aliases too now. Now 2 people can't have patching
    names _or_ aliases, and you can log in using an alias.
  * Fixed rename to work right.
  * Fixed bug in Generics that would crash the moo if you referenced a
    non-existant generic object.
  * listall is sorted by id now, thanks to Randolph.
  * Code from Randolph to prevent digging multiple exits with the same name
    in a room.

 -- Joey Hess <joeyh@master.debian.org>  Sat, 12 Sep 1998 00:33:19 -0700

perlmoo (0.013) experimental; urgency=low

  * Database changes in this version:
    - generic objects now have names.
    - go through functions in the Db module for all operations now, no 
      more data abstraction violations. (v3 db)
    - generic objects added. (v4 db)

  * Fixed object numbering code bug - in the last version, object numbers
    were all messed up.
  * Dumped db's now have a line in them saying why they were dumped.
  * Redid the thinglist *again*, now it's really a hash of things, and
    is smarter about keeping the numbers low.
  * Fixed the ever-growing object id number problem. We now get low id's for
    new objects, with no guarentee the id hasn't been used before.
  * Changed the initializers of verbs so you pass in a hash now.
  * Added a wizard listall command to show all objects in the whole moo.
  * Builders now have a show command that dumps out properties of an object,
    thanks to <drz@froody.res.cmu.edu>.
  * Fixed up lastlog some.
  * Fixed a memory leak with LoginPerson's - weren't destroying themselves
    properly.
  * Now reaps zombie processes.
  * Added announcements when a player changes their name.
  * Added a whisper verb, thanks to Randolph Chung <rc42@cornell.edu>
  * Modified tell so that it puts \r\n at the end of each line. Let's see if
    this works for those windows people.
  * Enforce use of tcp in perlmoo, seems to be a problem on some systems if
    it's not present.
  * Added a special object that holds pointers to generic things, so you can
    use $thing while building to refer to them.
  * Made serveral things that had been fertile not.

 -- Joey Hess <joeyh@master.debian.org>  Fri, 11 Sep 1998 01:51:59 -0700

perlmoo (0.012) experimental; urgency=low

  * Database changes in this version:
    - version number storage change.
    - renamed the thinglist.

  * password command was broken - fixed thanks to Jay.
  * Added Text::prettytime and Text::tablemaker from Jay.
  * Added new cooler lastlog, and who commands from Jay.
  * Looking at a person now shows if they are idle and how long.
  * Moved all the db dump and restore code (except Thing->dump) into Db.pm.
  * Made db dumps safer (write, then move).
  * perlmoo refuses to even think about starting with an old format db now.
  * Moved the thinglist stuff out of Thing.pm into ThingList.pm.
  * The rename command can now set aliases as well.
  * Added audit command, which prints out all objects you own.
  * Added question callback to people, can be used for the moo to pose
    a simple question to a person.
  * When logging into the moo, you may now "quit" to leave - curtosy of Jay.
  * Wizards now have a shout command, by Jay.
  * Added periodic database dumping, default to ever 30 minutes.
  * Added support for keeping a number of database backups around, in case
    something goes badly wrong. It's never happened to me and I develop the
    thing, but better safe than sorry!

 -- Joey Hess <joeyh@master.debian.org>  Thu, 10 Sep 1998 00:55:02 -0700

perlmoo (0.011) experimental; urgency=low

  * Database format changes in this version:
    - *_msg now used $item where it used to use ~item~.
    - no \n is assumed on the end of exit_msg now.
    - changed the indexes of all verbs.
  * If you have an old perlmoo database you'd like to keep,
    be sure to run dbconvert on it!

  * Added note to INSTALL about where to get Data::Dumper.
  * If gethostbyaddr fails (which it will in a chroot), fall back to showing
    the ip address.
  * There are now 10 guests by default and the GuestAllocator cycles between
    them at random.
  * When redirecting connection to new port, no longer sends you home.
  * Made quit an alias for the logout verb.
  * Made perlmoo use Getopt::Long command line options.
  * Added an option to perlmoo to let you specify the location of the perlmoo
    source code.
  * Added another option to let you specify the db dump directory.
  * Added code to Text.pm from Chris Johnsen <chris_johnsen@yahoo.com> -
    generic text substitution code.
  * Fixed password command so it works. Thanks, Jay.
  * Use generic substitution code for all *_msg properties of objects on the
    moo.
  * perlmoo --log=syslog will now make it log to the syslog.
  * perlmoo --daemon makes it fork into the background and run as a daemon.
  * Patch from Jay Kominek <jay.kominek@colorado.edu> to make it save the
    host you connected from in the player object, and adds a nifty lastlog
    command.
  * Fixed up test program so it works after you rename Void.
  * Added dbconvert, now when you upgrade any changes to the core objects are
    automatically merged into your database via this program.

 -- Joey Hess <joeyh@master.debian.org>  Wed,  9 Sep 1998 12:50:42 -0700

Tue,  8 Sep 1998 16:22:58 -0700

 * It builds, it runs, ship it!

 * Fixed room exits list problem - seems $# forces an array context after all.
 * Added Error objects, now used in a few places, but hardly everywhere
   they should be.
 * Added name and alias methods that enforce valid naming.
 * Fixed get so if you take something from a Container, the container is
   informed of it.
 * Added rename command to all objects.  
 * Fixed the Container and Room so they don't have duplicate verbs.
 * Added some security protections - now can run chrooted and suid/sgid
   nobody.
 * Moved the databases to db/
 * Another big rewrite: change how default values in all objects are
   initialized. Can now pass parameters to constuctors to set up properties
   of objects.
 * That lets us make objects with their owner already set, so a Builder
   can create stuff w/o perms errors now.
 * Made perlmoo log people out in the dump routine, instead of on
   initialization. This works around a weird bug related to Data::Dumper,
   where it would ignore things I told it it had seen(), which triggered a
   bug in Data::Dumper that caused code with syntax errors to be output.

Mon,  7 Sep 1998 15:33:08 -0700

 * Added a fertile flag, objects may only be copied if they are fertile or
   you are a wizard. This means a Builder can't create a new Wizard, for
   instance.
 * Made move an alias for put.
 * Allowed self puts, so long as the destination is a room.
 * Don't allow people to name themselves "me", "here", or "it".

Sun,  6 Sep 1998 13:13:12 -0700

 * More work on the dumper - loading of database now works correctly.
 * Modified perlmoo to automatically dump database on exit and on various
   errors, and on SIGUSR1.
 * Made a subclass of room called a LoginRoom, perlmoo will put new users in
   the first LoginRoom that it happens to find in the moo db.
 * Added GuestAllocator that creates new guests on the fly.
 * Bah, Text::ParseWords is slow and chokes on single quotes. Added my own 
   custom version to Text.pm.
 * Added setpassword verb to Wizard.
 * Added generic objects (don't like how I did it, though).
 * Made a more generic default database.
 * Added chown.
 * Wrote docs.

Sat,  5 Sep 1998 16:43:10 -0700

 * Rewrote the tcp server, I hope this new implmentation won't have the
   problems the old one did with random hangs waiting for an idle client.
 * Used Text::ParseWords to parse user input instead of doing it by hand.
 * Started writing some docs.
 * Fixed "drop all", by making verbs always be tested in the order they
   are added.
 * Added Wizards.
 * Added database dumping. Succesfully load a dumped db for the first time
   (buggy).

Mon, 31 Aug 1998 20:15:16 -0700

 * Added a login sequence, guest users, passwords, etc.
 * Guests drop all objects on logout - gave all objects a home to go to.
 * Added sethome command.

Sat, 29 Aug 1998 13:05:54 -0700

 * As a temporary fix for SUPER not working inside a Safe, removed all
   Super's from the code, replacing with explicit calls to the classes'
   parent classes. Makes for somewhat nasty code, but at least it works.

Fri, 28 Aug 1998 14:09:19 -0700

 * Removed VerbGroups, thus making verbs secure (and faster!).
 * Fixed verb_look_inside.

Thu, 27 Aug 1998 16:38:24 -0700

 * Rewrote Thing objects to use closures to hide variables.
 * Added permissions.
 * Broke everything in the process. ;-)

Thu, 27 Aug 1998 14:30:58 -0700

 * Implemented Programmer objects. They can currently access all data in the
   moo if they're tricky enough, but their programs do run inside safe
   proprly.

Tue, 25 Aug 1998 22:54:40 -0700

 * The pace of development has slowed down enough for a changelog to make
   some sense. I wrote the tcp server yesterday. Day before that I started
   this whole thing, I think.
 * There were amusing results if someone sent in a \r character. Confused me
   and Randolph for a while.
 * Implemented Builder people and create and dig verbs.
 * Added argument checking to name command.
 * Added home command, since people always dig those no-exit rooms.
 * Did a global change of $self to $this, will make more sense to the casual
   moo programmer.
 * All verb subs should have names starting with verb_ now.
