-*- Text -*-

9 June 1997
Version 0.2

Summary of important externally visible changes since version 0.1:

Many, many bugs have been fixed, including some resource consumption
problems.  The system can now compile itself, and stay running the
whole time.  It is quite reliable, and is used here for regular
computing tasks now.

New programs addauth, rmauth, unsu, su, and setauth modify the uid
sets of running programs.  Using addauth you can add root to your
emacs, write a file, and then use rmauth to take the uid back.  (Of
course, passwords are required when necessary.)  New program `ids'
will tell you what all the user ids are that a program has.  Note that
in the Hurd a program can have several user ids all at once, just like
Unix supports having several group ids.  Now that you can dynamically
change the ids of running programs, system administration (among other
things) becomes much easier.

Two new programs, ftpcp and ftpdir, can be used to fetch files using
FTP with a simple command line interface.

We have moved the `serverboot' bootstrapper and default pager from
Mach into the Hurd source distribution, so that Mach can avoid
distributing user programs.  We hope to phase out use of serverboot
entirely at some point.  Along with this, we made serverboot much
quieter.

We now build profiling versions of the Hurd libraries, and the
makefiles have targets to build profiling executables as desired.

We have added `lmail', a /bin/mail replacement for use with sendmail
to do local mail delivery.

The idle threads of the kernel no longer count in `ps' towards the
total run time of the kernel process.  This means that the kernel will
now sort into the right location for `u' format output.

Several oddities in NFS client behavior have been fixed to produce
more sensible results.

The "loopback" device is now supported (automatically) inside pfinet.
It should now be possible to use pfinet with no ethernet at all. 

Filesystems now use `store' library; the contents of the filesystem
can be nearly anywhere (including another file somewhere).

Some annoying bugs in tty behavior have been fixed.  Some still
remain, unfortunately.

New translator `firmlink' is like a cross between a symlink and a hard
link.  


Programmer visible changes:

Filesystems support a new "reparenting" feature.  This makes `..' from
the "reparented" node return whatever the user wishes, for a given
`open' regime.  This enables the "firmlink" translator to work, and
will also be important in implementing shadow filesystems.

The fshelp library now managed UID sets itself, and contains functions
to do permission checks in the usual way.  Now it's much easier to be
sure every filesystem implements the same permission checks.

The trivfs library has had its static initializations replaced with
spiffy dynamic ones.

New library `libftpconn' is used to manage FTP connections.  We are
already using this library for some local system administration tasks,
and are making it the basis of the (as yet unfinished) ftpfs
filesystem for the Hurd.



6 September 1996
Version 0.1.

Summary of important externally visible changes since version 0.0:

Many miscellaneous bugs have been fixed.

Missing source files in 0.0 have been correctly added to the
distribution. 

Configuration now knows that various 386 equivalents use the same
assembly files.

There is now an nfsd; it has not be well-tested.  It would be nice if
some people would run it and try things out.  It does not yet support
Hurd-specific features.

Exec now compiles correctly even when you don't have BFD installed.

Ext2fs format interpretation problems have been fixed.  This means it
can be suitably used to boot with.

init now properly understands SIGHUP and SIGTERM, and does the right
thing correctly.

Much code has been written in nfs towards supporting version 3 of the
protocol, but it's not done yet.  Don't try and turn it on.

Version information in uname is now calculated differently.

Some improvements have been made in the SETUP script.

sync, reboot, and halt now do argument parsing and understand --help
and --version.

The new `e2os' program has been added to change the "creator OS" field
on an ext2fs filesystem.

Bugs in term and libtrivfs have been fixed, allowing emacs shell mode
to work cleanly.  Other minor bugs have also been fixed.

ufs and ext2fs now do directory search rotoring to speed repeated and
sequential directory lookups.  

ufs now notes correctly if a disk cannot be written to and turns on
the readonly flag automatically in this case.  (Useful for floppies.) 

ufs statfs information (printed by df) should now be correct.

A serious bug in ufs fsck when dealing with large directories has been
fixed.

A new program `vminfo' prints the virtual memory map of task.

All disk filesystems (ufs and ext2fs) now do directory name caching of
`..' which was not previously done.  In addition, you can now set the
cache size to be large, and then do experiments and see what the cache
hit rate would have been for various smaller sizes.  This should help
in optimizing the size of the cache.

A port leak in the pager library has been fixed; previously ufs leaked
two ports per file used until the kernel's limit (about 30,000) was
reached. 


6 August 1996
Version 0.0
Initial release
