2.09 - May 20, 2005

   - added support for pf monitoring (rl)
   - updated (c) year to 2005 (rl)
   - select_all option wasn't working (rl)
       submitted by Patrick Gelsema at superhero dot nl
  - moved disk color codes from Graphs.pm to rrdutil.conf
  - moved web group color codes to rrdutil.conf


2.08 - Feb 07, 2005

  - lib/RRDutil.pm
    - added /opt/local/lib/perl for Darwin
  - lib/RRDutil/Graphs.pm
    - added /opt/local/lib/perl for Darwin
  - Makefile.PL
    - added detection of web root for Linux & Darwin
    - added detection of htocs for Linux & Darwin
  - rrdutil.conf
    - added additional platform specific examples
      for html docs directory
  - rrdutil.pl
    - program exits 0 on no error
  - t/RRDs.t
    - added /opt/local/lib/perl for Darwin


2.07 - Dec 07, 2004

  - added --units-exponent=1 to load graph
  - forgot to set SNMPDIR in Makefile.PL
  - added debug = 0 to rrdutil.conf
  - cgi: don't override $conf{bits} from rrdutil.conf
       submitted by Erik at microcontroller dot nl
  - reworked the network graphs to display values correctly
  - sort the network interfaces before displaying them
  - added bits = 1 to rrdutil.conf
  - added 1/2 day display for HTML form


2.06 - Nov 24, 2004

 - Updated Load graph so that load averages above 1 graph
    per suggestion from Rob Lensen
 - removed MATT::* dependency from contrib/mysqlstatus.pl
 - Imported latest Utility.pm & Perl.pm and their t/*.t files
 - Makefile.PL will detect /etc/httpd/cgi-bin and 
   /var/www/cgi-bin for Linux compatability


2.05 - Nov 12, 2004

 - Oops, I *thought* I had removed all the Mail::Toaster
   dependencies. I had included Perl.pm but not updated
   the calls to it in rrdutil.pl. --fixed.


2.04 - Nov 11, 2004

 - fixed the days display problem
 - added troubleshooting entry to FAQ
 - added -v to usage output so folks can find it


2.03 - Nov 11, 2004

 - removed Mail::Toaster dependency
 - massive changes in .pm files due to OO programming updates
 - create objects: $utility, $rrdutil, $graphs, $html, $snmp
 - minor code revisions for increased legibility
 - moved *.pm back into RRDutil distribution from Mail::Toaster
   now that the code is better, it's very easy to use and re-use
 - added more tests for enhanced reliability
 - RRDutil.pm
   - added sub: new
   - no subs exported, Exporter removed
   - get_graph_types was GetGraphTypesForHost
   - get_requested_graphs was GetListOfRequestedGraphs
   - create_rrd_db was CreateRRDDatabase
   - parse_config was ParseConfigIntoHashes
   - get_hosts was GetListOfHosts
   - get_polls was GetListOfPolls
   - check_datadir was CheckDataDir
   - check_html_dir was CheckHTMLDir
 - RRDutil/Graphs.pm
   - added sub: new
   - no subs exported, Exporter removed
   - create objects: $utility, $rrdutil
   - generate was GenerateGraphs
   - changes as necessary due to Mail::Toaster OO updates
 - RRDutil/HTML.pm
   - added sub: new
   - no subs exported, Exporter removed
   - create objects: $utility, $rrdutil
   - graphs was PrintHTMLGraphs
   - request was PrintHTMLRequest
   - js_timer was PrintJavaScriptTimer
   - footer was PrintHTMLFooter
   - footer print was a printf, modified for efficiency
 - RRDutil/SNMP.pm
   - added sub: new
   - no subs exported, Exporter removed
   - create objects: $rrdutil
   - update_rrds was UpdateRRDs
   - start_session was StartSessionSNMP


2.01 - Sep 10, 2004

 - moved $days into a local variable
 - maked the pidfile checking more robust


2.0 - Jul 31, 2004

 - The script had reached over 3000 lines so I Moved much 
   of the script contents into Mail::Toaster::RRDutil::*
   That should make future code maintenance easier.
 - As a consequence, the Mail::Toaster modules are now 
   absolutely required to use rrdutil. That's not much
   of a change, as RRDutil already used 
   Mail::Toaster::Utility extensively.
 - writes a lock file (/var/run/rrdutil.pid) when it's
   doing updates (via cron). RRDutil will not update 
   graphs if that file exists and is younger than 1 hr.


1.81 - May 14, 2004

 - octets are bytes, not bits! Now network interfaces
   report correctly.
 - use numerical operator > instead of gt at line 905


1.80 - Apr 21, 2004

 - Fixed error in .pl that prevented Apache checkbox
    from appearing in HTML request form
 - install sbin/*stat.pl files from contrib when doing
   a make conf
 - updated rrdutil.conf file
 - The default snmp on Darwin has no system/load oids
   so we gracefully deal with a noSuchObject response


1.79 - Mar 20, 2004

 - Rob Lensen added the Apache monitoring support
    - very nifty. :)
   related changes made to rrdutil.pl, rrdutil.conf,
   contrib/apastat.pl, contrib/snmpd.conf
 - Matt  
   - updated documentation in rrdutil.pl, 
     contrib/*.pl.
   - added additional install targets in Makefile.PL
   - added additional doc targets in Makefile.PL


1.78 - Mar 15, 2004

 - Updated LoadModule call for Net::SNMP for new 
    net-mgmt ports location.


1.77 - Mar 12, 2004

 - Rob Lensen added select_all_by_default option


1.75 - Mar 10, 2004

 - rrdutil.pl: added a configurable SNMP timeout
 - rrdutil.conf: added snmp_timeout setting
 - Added 'make cgi' target. Now your cgi-bin location
   is guessed based on the default for your OS.


1.74 - Dec 18, 2003

 - Added refresh interval - had to use Javascript timer
   that does a form submit after the determined interval
   so that it can remember what graphs and hostname you
   were looking at.
 - Added http_refresh_minutes to rrdutil.conf file
 - Put hostname in the HTML table


1.73 - Dec 18, 2003

 - Added support for mbmonstatus (Rob Lensen contributed)
 - updated graph defs for mysql (Rob Lenson)


1.72 -

 - More descriptive error messages for CheckFileReadable


1.71 - Nov 19, 2003

 - Added maillogs to contrib folder
 - updated HTML page to look nicer and use less space
 - Added message telling you to select a graph type if 
   none are shown.
 - Fed HTML output through a parser and cleaned it up
 - added additional targets to "make newconf" to install
   the mysqlstatus.pl script, create the default rrdutil
   data and html directories.
 - also install new RRDUtil.tar.gz into html dir as part
   of "make web" target (internal use)
 - Fixed two typos in the FAQ
 - Fixed typos and spelling errors in the Change log
    
=head1 1.70 - Nov 10, 2003
 - added Mysql graphing ( Rob Lensen rob at bsdfreaks.nl)
 - Added contrib directory with mysqlstatus.pl
 - Updated mysqlstatus with MATT::Mysql support (uses
   ~/.my.cnf instead of hard coding in mysql auth info)
 - Updated graph definitions for Mysql graph (aesthetics)
 - added code so that only graphs available for the selected
   host show up in the HTML request form.
 - Automatically refresh the html form when you change 
   anything in the submit line (days, host)
 - Added snmpd.conf to contrib directory


1.61 - Nov 01, 2003

 - added "make web" target to simply updating web page
 - added INSTALLATION pod section to rrdutil.pl
 - Updated ParseConfigIntoHashes due to the Oid def move
 - NOTICE: moved OIDs definitions from .pl to .conf file.
   This is a MAJOR change. You will need to update your config
   file and add the OID definitions. This can be as easy as 
   deleting everything in the rrdutil.conf-dist file and then 
   "cat rrdutil.conf-dist >> /usr/local/etc/rrdutil.conf"
 - Added CVS id tags to files


1.60 - Oct 31, 2003

 - Added build files so that RRDutil is a honest perl module
 - Podified docs so that I can easily keep files in module and
   on my web site updated. "make docs" is the target.
 - A new graph for spamassassin and qmail-scanner logs 
   (will look nicer in the future)
 - Minor improvements to RBL logging for more reliable counting.


1.5.7 - Oct 23, 2003

 - Disk storage graph wasn't being updated via the CGI due to 
   1.5.5 changes. Fixed.
 - Added webmail and smtpauth logging to Mail User Agent graph


1.5.6 - Sep 25, 2003

 - Added host name to the HTML title


1.5.5 - Sep 22, 2003

 - All disk related graphs are displayed under a single "disks"
   item in the HTML menu.  You can control what is logged and 
   graphed on each page via the configuration file.
 - Added Memory graph
 - Added additional CPU graph (user -vs- system)


1.5.3 - Sep 21, 2003

 - Fixed a bug in ParseConfigFiles that prevented polls for 
   subsequent (after the first) systems to get skipped.
 - Added additional logic to UpdateDiskActivitySNMP sub to 
  handle polling more than one disk (disk i/o)
 - Fully qualified calls to Date::Format::time2str


1.5.2 - Sep 21, 2003

 - Added MATT::Perl so we can auto-install missing perl modules


1.5.0 - Sep 18, 2003

 - Finalized the new config file format, got it working
 - Massive code reworking nearly everywhere to get new config
   file format working. Mainly due to lazy assumptions I made 
   earlier regarding host names, etc. New format allows for 
   monitoring many hosts.
 - Errors get passed up through to the browser better. Now when
   a graph doesn't display you should get some useful clues.
 - Lots and lots of debugging code added.
 - Could still use more documentation but it's publishable now.


1.4.3 - Sep 02, 2003

 - Added rrdutil.conf file


1.4.2 - Jul 07, 2003


 - Added POD documentation
 - Added MATT::Utility dependency

=head1 1.4.1 - May 24, 2003
 - Merged with MATT::* perl modules to simplify code maintenance
 - Updated web site with fresh Change log


1.4 - May 12, 2003

 - Revamped a bunch of the mail processing stuff (again)
 - More reliable, and easier to configure now


1.3 - Apr 24, 2003

 - Added $url in case you don't store images where I do
 - Added BEGIN checks for rrdtool, Net::SNMP, dependencies.


1.2 - Mar 28, 2003

 - Started over on mail processing. Rewrote maillogs to return 
   counters. Now collect all mail stats in real time and feed 
   them into RRDs (rather than having external apps do it.
 - Mail log counter retrieval and storage
 - Reworked the GetGraph*Def subs into Graph* subs for simpler 
   expansion and easier future maintenance.
 - Reworked the Get*SNMP subs into Update*SNMP subs for simpler 
   expansion and easier future maintenance.


1.1 - Mar 19, 03

 - Stop complaining before daily web log file is created.
 - Web hits can be aggregated (many vhosts, one graph) or 
   individual. This is particularly useful if you have one 
   vhost that represents 90% of your servers traffic.
 - Added support for www hits (integrates with logmonster)
 - When triggered via CGI, only generate graphs requested. Command 
   line (-a graph) still rebuilds all graphs. More scalable.
 - Added lots of error checking. Instead of dying when we encounter 
   errors, print out helpful error messages and resume gracefully.


1.0.0 - Mar 15, 03

 - This script works amazing well.
 - Added CGI.pm support - works great!
 - Collect & store ( disk, network, and cpu activity, system 
   load, disk and memory usage (memory reporting has issues)
 - Build graph definitions for all the above. This was a LOT of
   work to get all that information displayed nice and pretty. I
   borrowed the load graph design from an example in the rrdtool
   gallery. My code, I created it, but based on someone elses 
   design. Learned a lot about RPN. RPN should RIP.
 - Integrated Net::SNMP perl module - works great. :)
 - Creates new *.rrd files if they don't exist.
 - 3 primary functions (create, update, graph)
 - Config format for deciding what to monitor.
 - Integrated support for RRD databases (via RRDs) perl module
 - Initial authoring (on FreeBSD 4.7, ucd-snmp 5, rrdtool 1.0.41)