-*- Text -*- XXX this needs much work, trolling through ChangeLogs. * sync -> syncfs, takes args * Default pager (serverboot) understands Linux (mkswap) signature pages. New boot script function $(add-raw-paging-file) inhibits looking for the signature page. New function $(add-linux-paging-file) checks for the page and refuses to use the swap partition or paging file if there is no valid Linux signature page. 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