Changes since leaving version 1.* (by April King):

Version 2.00:
* which_os subroutine has been removed, and is now a multi-dimensional
associative array.  This not only makes it quite faster, but is also a lot
easier to work with (and extend).  (%commandlist hash)
* Removed $safedir/external hosts restrictions into the actual script, where
it should be, so now you only need to move one file around to install on
multiple machines, instead of multiple files. 
* Functions are now call-by-name rather than called from a long CPU intensive
pattern matching scheme.  This makes netsaint_statd *extremely* easy to
extend.
* Functions now handle client communication, instead of having to pass
parameters back and forth and then calling tcpprint.
* Quite a bit lighter, as far as CPU and memory costs go.  It is also about a
third shorter, and much easier to deal with.
* Fully backwards compatible with the 4 original netsaint_statd client programs.

Version 2.01:
* Added check_all_disks.pl client program.  This program is something that was
definitely needed!  check_disk.pl was limited to checking only one drive on a
given machine.  check_all_disks.pl checks *all* of them (you can specify a
comma delimited list of mount points to ignore).  This will generally be more
useful than check_disk.pl, but I will still keep that around for those who
just want to check a single partition.
* Added alldisks routine to netsaint_statd (for the check_all_disks.pl client
program).
* Fixed incorrect usage information given in check_procs.pl. 
* Fixed incorrect usage information given in check_users.pl.
* Added README and (this) ChangeLog

Version 2.02:
* Added support for the broken uname of the NEXTSTEP - you must go into the
netsaint_statd and uncomment the line to say you have a NEXTSTEP, though.
* Added support for BSDi 4.x (and possible 3.x) systems.
* Lowered Perl requirements to 5.003.  Let me know if it runs on earlier
versions of Perl 5.

Version 2.03:
* Added support for OpenBSD.
* Added support for AIX. (Thanks Lonny Selinger and Chris Rothecker for testing
help!)
* Minor cosmetic changes that don't affect functionality.
* Removed individual ChangeLogs in functions (other than netsaint_statd).
* Updated individual programs so that they don't require 5.004 (only 5.003 now).

Version 2.10:
* Fixed a minor bug with the filesystem checking, so that a filesystem that has
0 available space would cause the program to fail reporting (thanks Fernando Schapachnik)
* Added support for UnixWare2. (thanks Frank Rueger)
* Allowed for wildcard matches on check_all_disks (see README) because it was
demanded so much.  Now go away!  :pokes:  ^_^  (thanks Gerald Combs) 
* Added a check_named_proc.pl client program.  This program will allow you to check
to see if a specific program is running (and how many instances of it are running)
Be sure to read the README file to found out how it works.

Version 2.11:
* Fixed shebang on check_users.pl to point to /usr/bin/perl rather than
/opt/apps/gnu/bin/perl (thanks Jim Bootz)
* Fixed HP-UX process listing.  (thanks Jason Kerr)
* Added support for NetBSD (thanks Matt)
* Removed 'ChangeLog'-style information from netsaint_statd
* Added BSD License to netsaint_statd

Version 2.12:
* Fixed problem where a dash in a mount point can cause check_disk.pl to function incorrectly.  (thanks Henning Halfpap)
* Fixed problem for NetBSD and AIX that caused check_named_proc.pl to fail.
* Corrected minor new line touchups
* Added dispatch table to netsaint_statd to improve security. (thanks Paul Farrall)
* Cleaned up netsaint_statd, and now use strict (thanks Paul Farrall)
* Add support for MVFS filesystem (ClearCase uses this) in check_disk.pl

Version 2.13:
* Changed every module to 'use strict', and fixed some global definition problems in check_load.pl and check_all_disks.pl.  This should help with integrating netsaint_statd with ePN. (thanks Stanely Hopcroft)

Version 2.14:
* Modified the netsaint_statd daemon to report when disks are missing.  As such, check_disk.pl will throw a CRITICAL level error when a disk is missing.
* Fixed netsaint_statd so that it will work with 64-bit IRIX systems.  They report their uname as IRIX64 instead of just IRIX. (thanks Matt Garrett)
* Since df -k seems to wrap lines on daemons, "df -k" was changed to "df -P" for Linux systems. (thanks Chrystian Maier)
* Added SCO UNIX support (thanks Jerome Boismartel)
* Changed check_procs.pl to have [port] as its final argument.  This is to make it consistant with the other plugins. (thanks Tony Mancill)

Version 2.15:
* Fix segfaults on certain versions of Perl.

Version 3.00:
* This version is a complete rewrite.  It contains many new checks, and a much better command line interface.
* It is written in Python.  If you only have perl, then feel free to use version 2.15, which should work fine.
* It also runs from inetd, although it still runs as a daemon just fine.
* Please read the very detailed and documented man pages for nagios_stat and nagios_statd!

Version 3.01:
* Fixed a bug in the disk check where if you have a single remaining disk/mount, and you
specify a disk that doesn't exist, it wouldn't critically fail with a warning that the
mount point or disk is missing. [bug, non-critical]
* Clarified the exit status on missing disks and mount points. [modification]
* Expanded the man page EXAMPLES a bit. [documentation]
* Changed $MANWIDTH to 120 for the online text copies of the man pages. [modification]
* Fixed a bug in the version regular expression check where it would truncate after the ".".  This may cause problems with 3.00 clients trying to check the versions of 3.01+ servers. [bug, non-critical]

Version 3.02:
* You can now specify -n (or --processname) without using -s (or --state).
* Added the ability to reverse how the process check works.  Instead of checking to see if more
than X processes are running, you can check to see if less than X processes are running by using
the -l option.  Documentation has been updated to reflect this. [feature]

Version 3.03:
* Plugin now exits with error code 3 when: 1) it receives too much data; 2) it is unable to open a socket to the server; and 3) invalid command line options are supplied to the plugin.  It used to exit with error code -1, in violation of nagios specs [bug, non-critical]
* Plugin now exits with error code 1 (warning) when it receives a generic error message from the server. [bug, non-critical]
* Server daemon now chdirs to / to be nice. [modification]
* Server daemon redirects stdin/stdout/stderr to /dev/null now. [modification]
* Server tries to close all filehandles before it starts listening - hopefully this'll actually detach the server from its controlling terminal. [modification]
* Client was not properly checking disk when using the -d option [bug, update recommended]

Version 3.04:
* Added check to point out if you were attempting to run on Python 1.x (and then exiting). [modification]
* Changed from a limited 1MB buffer maximum to a 32KB receive buffer with an unlimited length.  This should fix bugs on some systems with a broken recv(2).  [bug,modification,feature] (thanks Jay Lovell)

Version 3.05:
* Fixed a bug where load checks would exit incorrectly. [bug, update recommended]

Version 3.06:
* Fixed a bug where Solaris zombies would return no name (Solaris zombies, in particular). [bug, non-critical]
* Fixed a bug where devices containing an '@' sign would fail. [bug, non-critical]

Version 3.07:
* Added support for Cygwin on NT 5.1 (XP). [feature]

Version 3.08:
* Fixed a bug where devices containing a '$' sign would fail. [bug, non-critical]
* Updated documentation on nagios-statd -a option. [documentation]
* Updated documentation on nagios-statd -i option. [documentation]
* Fixed a bug where failed reverse lookups that could allow non-hosts to connect to nagios-statd. [bug, update recommended]
* nagios-statd will now deny everybody if it can't make lookups on host specified with -a. [modification]

Version 3.09:
* Fixed a bug on FreeBSD 5.0 in swap usage checks (FreeBSD 5.0 changed output of swapinfo command) [bug, non-critical]
* Changed the process list on AIX from "ps x" to "ps ax" so it lists all processes for all users. [bug, non-critical]
* Added a check to guarantee the port is available, and print an error if it isn't. [feature]

Version 3.10:
* Fixed a bug in the swap usage check for some locales which use a "," for the decimal point instead of a ".". [bug, non-critical]
* Fixed the Redhat specific bug that erroneously complains about nagios-statd's handling of SIGCHLD/SIG_IGN. [bug, annoying]
* Fixed AIX bug that results from a regular expression mismatch of /proc. [bug, non-critical]

Version 3.11:
* Added support for MacOS X (Darwin) [feature]
* Added -v/--verbose option which allows you to get full output for the disk check (more later?) [feature]
* Added -x/--debug option which dumps the data that nagios-stat gets without processing. [feature]

Version 3.12:
* Forces alternate forking model for Linux [bug from 3.10, annoying]
* Fixes load check on MacOS X (10.4), where it does not use commas to separate the load values. [bug, non-critical] - thanks Marc Defour
* Uses /usr/bin/free instead of /proc/meminfo for swap usage on Linux (which Debian was already doing). [bug, non-critical]
* Enabled output of nagios performance data with -P option in nagios-stat. [feature]