
This file used to be called changelog. For all changes after 2.66,
see the file debian/changelog


 1.0, 01-Feb-92
- Initial version, very primitive for the Minix
  operating system. Required some mods. to the
  kernel.

1.1, 30-Apr-92
- Read manual wrong: there is no 'action' field called
  process, but all entries are of type process. Every
  'process' get exec'ed by /bin/sh -c 'exec command'.
- Rapidly respawning processes are caught in the act.
- _SYSV support is really Linux support,
  done by poe@daimi.aau.dk on 25-Mar-92.

1.2, 16-Jun-92
- Bugreport from Michael Haardt ; removed deadlock
  and added 'waitpid' instead of 'wait' for SYSV.

1.3, 05-Jul-92
- Got a 386, so installed Linux. Added 'soft' reboot
  to be default under linux. Fixed some typos.

2.0 08-Dec-92
- Rewrote the code totally, so started with a new
  version number.
- Dropped Minix support, this code now is Linux - specific.
- With TEST switch on, this init & telinit can
  run standalone for test purposes.

2.1 28-Jan-93
- Fixed a bug with 'boot' and 'once'.
- Check 'initdefault' for validity.
- Reckognizes "single" as command line argument.
- Retries execvp with 'sh -c exec ..' if command
  is a shell script. (shouldn't execvp do this?)
- Added patches to use syslog if defined.

2.2 02-Mar-93
- Made wait()'s asynchronous
- Changed whole thing to one big state machine
- Now using 'pseudo levels' # & * for SYSINIT & BOOT
- Added a new type of 'action', called leave. This
  process will be executed when the system goes from a
  runlevel specified in it's runlevel field to a 
  level that's not. Nice to bring down NFS and the like.

2.3 24-Mar-93
- Ripped out the 'leave' action. To difficult, and
  unneeded.
- Going single user now kills _all_ processes.
- Added '-t secs' option to all commands.
- This version is stable enough to post.

2.4a 22-Apr-93
- Fixed last to reckognize BSD style wtmp logging.
- Changed init to write wtmp records that are
  SysV compliant but are also reckognized by the
  BSD last. Added a '+' option to the 'process'
  field of inittab, for getties that want to do
  their own utmp/wtmp housekeeping (kludge!).
- Now accepts a runlevel on the command line,
  and reckognizes the 'auto' argument. (Sets the
  environment variable AUTOBOOT to YES)

2.4g 15-May-93
- Changed init to really catch SIGPWR 'cause we
  hooked up an UPS to the Linux machine. The
  keyword for catching the TreeFingerSalute is
  now "ctrlaltdel" instead of "power{wait,fail}".

2.4  24-May-93
- Send out the official version into the world as
  SysVinit-2.4.tar.z.

2.50  14-Feb-1994
- Ignores unknown command line arguments.
- Modelled more after the "real" sysVinit
- Lots of changes all over the place.
  (like showing runlevel in "ps" listing, logging
   runlevel into utmp file etc)
- now using "reliable" signals instead of V7 style.
- Updated all scripts. Examples are in two directories:
  etc (normal) and etc-sysv (sysv style scripts).
- runlevel 0 = halt, 1 = single user, 6 = reboot.
- added support for serial console.
- updated Propaganda, manpages.
- added shutdown access control.

2.52 30-Aug-1994
- Added `powerfailnow' keyword, for when UPS battery is low.
- Updated `last'.
- Fixed utmp handling (wrt. CLEAN_UTMP)
TODO:
* Make last compatible with GNU/BSD (long options?)
* update powerd
* remote SIGPWR broadcast? in powerd? (with priv. port)
* remote shutdown

2.53 10-Oct-1994
- Renamed pidof to killall5, updated all scripts to
  use killall5 instead of kill -1 ....
- Rewrote scripts to use this, and some general changes.
- Added SysV command line compatibility to shutdown.

2.54 12-Jan-1995
- Added GNU copyrigh to all *.[ch] files.
- added /etc/initscript
- reboot and halt now call shutdown in runlevels 1-5
- Can run from read-only root (CDROM)

2.55 17-Jan-1995
- Added option to shutdown to run standalone.

2.57 22-May-1995
- Changed a few things here and there, didn't
	 	  really document it :)

2.57a 10-Jul-1995
- Fixed race condition init init.c wrt got_chld
- Fixed one-off for malloc in killall5.c
- Changed dowall.c
- Console code: no relink to /dev/systty on CTRL-ALT-DEL)

2.57b xx-Aug-1995
- Bugfix release for Debian and Slackware 3.0

2.57c 08-Oct-1995
- Changed over to init_request (with initreq.h)
- Processes no longer killed when "process" field
  changes, change takes effect after next respawn.

2.57d 03-Dec-1995
- Added sulogin
- Added "-b" flag to init, gives a shell before
  anything else (in case the startup scripts are screwed)
- Moved fastboot to /fastboot
- Folded in Debian patches.
- Removed old scripts
- Added debian /etc/directory.

2.58-1 31-Dec-1995
- Added the latest debian files.
- Added support for 4-character id fields (if you have libc5).
- Fixed pidof (in killall5) parsing of /proc/.../stat
- Save restore GMT setting in /etc/init.d/boot

2.58-2 04-Jan-1996
- Changed etc/init.d/rc to do a stty onlcr
- Added /var/log/initrunlvl symlink

2.59   10-Mar-1996
- Init logs less to syslog (suspected to hang in syslog() or openlog() )
- removed closelog() from init.c
- removed time check of runlevel record in halt.
- Added options to last to get hostname from ut_addr field
- Added last and mesg to installation targets
- rewrote /etc/init.d/boot a bit.

2.60   01-Apr-1996
- Fixed race condition in init.c, resulting in hanging shutdowns.
  Courtesy of Max Neunhoeffer <Max.Neunhoeffer@urz.uni-heidelberg.de>.
- Fixed debian/etc/init.d/boot for swapon and mdadd
- Added architecture to debian.control
- Added manpages for rc.boot and rc.local
- Updated inittab manpage for 4-character runlevel field
- Added debian replaces for bsdutils < version_without_mesg
- Fixed init.c so that it also works with kernels 1.3.81 and up

2.60-2  16-Apr-1996
- Fixed sulogin (didn't work if root wasn't first entry in shadow file)
- Fixed mesg for systems with "tty" group (such as Debian)
- Fixed nsyslog() in killall5.c

2.61    29-Apr-1996
- Changed /etc/init.d/boot script again
- Fixed problem in init.c with trailing whitespace after entries in inittab
- Fixed killall5 problems
- Added manpage for lastb
- Added SHELL= environment variable to sulogin
- Fixed sulogin & shadow problems
- Added timeout option to sulogin

2.61-3  29-May-1996
- Fixed debian/etc/init.d/network for the lo device.
- Added "-xdev" to the cd /tmp && find in debian/etc/init.d/boot
- Made remove time for files in /tmp configurable.

2.62    31-May-1996
- Decided to release a 2.62 version with a BIG WARNING about upgrading
  init in it. Will send a patch to Linus for the linux/Documentation/Changes
  file so that 2.62 or later is mentioned as the version to upgrade to.
- Added docs for Slackware

2.62-2	09-Jun-1996
- Changed debian /etc/init.d/boot script to create a nologin file
  at boot and to remove it just before going multiuser.

2.63    14-Jun-1996
- Fixed preinst script for Debian
- Fixed init.c to become init daemon if name is init.new
- Fixed pidof to not return PIDs of shell scripts

2.64	28-Jun-1996
- Init checks CONSOLE environment variable on startup (overrides /dev/console)
- Init sets CONSOLE variable for all its children.
- Wtmp(): when zeroing out old utmp entries, keep ut_id field
- Wtmp(): try to re-use ut_id field if possible.
- SetTerm(): only read from /etc/ioctl.save if written once.
- Included start-stop-daemon, C version (source only).
- Fixed wait() for the emergency shell.
- killall5: ignore signal before doing kill(-1, pid).

2.66    29-Oct-1996
- Skipped 2.65. A development 2.65 got out by accident and is apparently
  being used..
- Fixed dowall.c not to exit when getpwuid() fails and uid == 0.
- Fixed init panic'ing on empty lines in /etc/inittab
- Changed default PATH to include /usr/local/sbin
- Ported to Linux/Alpha and GNU libc.
- Set /dev/console as controlling terminal for sysinit,bootwait,wait,powerwait.
  This allows using ^C to interrupt some parts of eg the boot process.
- Remove old symlink in /var/log/initlvl; let init check both
  /var/log and /etc itself.

