$Id$

1.5.2 2014-09-13

* Merge SuSE path update from Cthulhu

1.5.1 2014-04-30

* Update version number

1.5.0 2014-04-11

* ensure compatibility with debian 6
* ensure that insert.pl works with nagios embedded perl
* use embedded images for show/hide toggle buttons (thanks to matt perry)
* ensure graph controls float above other elements
* zoom when zoom rectangle drags to right or left
* added hourly interval
* generate text and html readme files from README.pod (thanks to matt perrry)
* fix map rule for PROCS (thanks to matt perry)
* increase variety of colors (thanks to matt perry)
* improved controls layout (thanks to matt perry)
* block right-click menu on graphs (thanks to matt perry)
* fixed escaping of urls
* isolate date/time formatting for graph mouseovers
* include pid when logging to help isolate multi-core/multi-thread issues.
* fixed debian6 packaging problems.
* change authentication behavior when nagios default_user_name is defined.
   behavior is now aligned to that defined in nagios.
* use more precise values for graph zoom bounds.
* specify explicitly the default graph height.
* strip leading and trailing whitespace from tuples (heartbeats, stepsizes,
   resolutions, steps, xffs, plotasLINE1, plotasLINE2, etc).
* added fixedscale as a per host/service/database/source parameter.  for
   backward compatibility it still works when specified as a cgi argument.
   note that it affects the vertical axis and the values in the legend.
* handle # in database and data source names
* ensure the directory containing perfdata log is writeable by nagios user.
* added export.cgi to dump rrd data in csv or xml format.
* automatically determine groups from the Nagios servicegroup definitions.
* fixed heartbeats/stepsizes/resolutions bug.  this time for real.  really.
* retain a copy of any modifications made to nagios.cfg and commands.cfg when
   removing rpm or deb packages.
* fixed install.pl to work with icinga.
* renamed upgrade.pl to flat2hier.pl
* fixed install option typo for --check-prerequisites in install instructions.
* encourage standalone installations rather than overlays unless installing
   from rpm or deb package.
* encourage nagios pre-flight checks before restarting nagios.

1.4.4 2011-01-15

* this release includes many changes to the default map configuration and the
   default colors and labels.  this was designed to make new installations
   easier right out of the box.  the bug fixes and feature additions are
   backward compatible, so configuration files from existing installations
   will still work.  see the upgrade section of the README file for details.
* overhaul of install.pl.  added option to check for prerequisites (poorly
   configured rrdtool and gd have been major source of installation woes).
   added options for different layouts (overlay or separate) and locations.
   the install script now respects the DESTDIR conventions for packaging.
* improved handling of host,service,database,datasource specifications in the
   graphing parameters (plotasX, stack, lineformat) and the data collection
   parameters (minimums, maximums, lasts).  individual data sources can now
   be distinguished, and pattern matching is supported throughout.
* added make targets for creating rpm and deb packages.
* added default rule to the map file that will catch any plugin with
   standards-compliant perfdata output.  removed old/redundant rules from the
   map file, bringing everything up to date with the latest nagios plugin
   output.  the new map file is much smaller, since a single rule recognizes
   more plugins.
* added a slew of unit tests for map rules.
* added checks in unit tests for prerequisites.
* added better parsing/handling of use_authentication to match Nagios defaults.
* fixed authz parsing to use only the nagios cgi config file for authorization
   parameters.
* added a slew of authentication unit tests.
* added better warnings when javascript is disabled.
* added option to disable javascript warnings even though it results in
   limited functionality.
* fixed service name with underscores bug in rrdupdate (thanks to bstas).
* fixed typo for ntp,offset in labels.conf.
* fixed javascript bug in selection of data sources.
* added more feedback when javascript is disabled (Michael Urban).
* added better error handling when output and/or perfdata are not available.
   this fixes the 'spotty data' behavior that occurred when batch processing 
   would fail prematurely due to missing perfdata (hinder90 and ljorg6).
* added explicit handling and reporting of ignored output/perfdata.  if your
   map file contains any 'short-circuit' rules, they should return an array
   with the string 'ignore' so they are reported as ignored rather than as not
   recognized.
* added better reporting of missing host, service, output and/or perfdata.
* fixed bug in hexadecimal character matching for lineformat colors.
* fixed timestamp bug (Matthias Motzke).
* fixed heartbeat/stepsize/resolution bug (obermufti).
* fixed zooming on ie8 (derekdawson).
* added showconfig.cgi script to facilitate diagnosing of problems.
* added better handling and reporting of errors when creating rrddir.
* added new configuration options (see nagiosgraph.conf for details).  these
   options enable per-host/service/db specification of the RRA step and xfiles
   factor, as well as the use of LAST.
     xff
     xffs
     step
     steps
     lasts
* added example map rules for nsclient++ from kbn, rambling techie, and
    claudio kuenzler.  these rules should not be necessary if your map file
    contains the default map rule and a fairly recent version of nsclient++.

1.4.3 2010-06-07

* new configuration options (see nagiosgraph.conf for details):
     stack
* added graph zooming.  zooming happens in-place (no separate window).
   drag to zoom.  right-click to revert the graph.
* added mouseovers that display time under the cursor.
* optionally specify heartbeat, step, and resolution per host/service.
* clean up insert.pl in preparation for additional processing modes and
   performance data sources.
* fix to javascript to display hosts and services when specified via CGI
   even if they do not appear in the host and service menus.
* fixed bug in handling of backslashes in service and database names.
* added support for rrdtool STACK.  stack can be specified using the 'stack'
   directive and/or using the 'lineformat' directive.  see nagiosgraph.conf
   for details and examples.

1.4.2 2010-03-16

* new configuration options (see nagiosgraph.conf for details):
     colormax (optional)
     colormin (optional)
     language (optional)
     showprocessingtime (optional)
     default_geometry (optional)
     cgilogfile (optional)
     authzmethod (optional)
* added access control.  there are two ways to define access controls.  the
   default is to use the access control built in to nagios.  this works for
   nagios 3 and perhaps for older nagios releases.  the other way is to use
   an access control file specific to nagiosgraph.
* added i18n.  this is a very basic, no-dependencies implementation.  the
   intent is to be completely self contained, add minimal overhead, and not
   break existing installations.  error messages are not translated.  the
   language is detected from the HTTP_ACCEPT_LANGUAGE variable.  this can
   be overridden by explicit cgi argument.  language can be forced by
   specifying it in the nagiosgraph configuration file.
* added labels file.  labels can be specified individually via cgi arguments
   or via configuration files for specific combinations of host/service/data.
   labels can be overridden for individual languages, independenly of i18n.
   labels in nagiosgraph.conf are now ignored.  move them to the labels file.
* recognize relative paths for configuration filenames.  prepend the config
   dir when relative paths are specified.
* include a line with the hostname in the input to the map rules.  this
   enables the use of map rules that are host-specific.  this is a significant
   change from the previous 3-line behavior, but it will not break existing
   map rules unless they depend on the line count.  having the host information
   also makes it easier to diagnose parsing issues when processing data.
* remove trailing newline from perfdata string.
* prevent name clashes between data set names by using qualified identifiers
   rather than just data names in graph definitions.  this enables graphing
   of data sources from multiple databases even if the data sources have the
   same name.
* optionally specify max/min colors that will be used for the withmaximums
   and withminimums services, respectively.
* optionally report processing time.  processing time does *not* include the
   time required by showgraph.cgi to generate all of the graphs.
* optionally specify a default width and height.
* hostdb.conf and servdb.conf are now optional.  if these files are not 
   specified, or if they contain no entries, then data for every service
   (showhost.cgi) and data for every host (showservice.cgi) will be
   displayed.  use the hostdb and servdb files to filter graphs and
   control the order in which graphs are shown.
* started refactoring of code to eliminate redundant trips to disk for 
   host/service/dataset listings and to enable pattern matching in
   the *db.conf files.
* contents of README.map are now in INSTALL
* display rrdgraph and other error messages if GD is installed.  log the
   error messages whether or not GD is installed.
* do not create data directories unless we really have to do so (fixes a
   longstanding permissions bug)
* use separate cgi log file to avoid permissions conflicts.  attempt to
   fallback gracefully when permissions are not configured properly.
* consolidated log file initialization.
* refactored error handling and reporting, should be more consistent now.
* refer to 'new style' and 'old style' processing as 'batch' and 'immediate'
* removed fixedscale from GUI.  it remains as a cgi argument for backward
   compatibility, but it is better to define fixed scale using rrdopts.
   the syntax is '-X 0'.
* check data source name when creating rrd files.  complain loudly and bail
   out if the name is invalid.
* be consistent in code and documentation for database and data source.
* added div to warn when nagiosgraph.js is not installed or wrong version.

1.4.1 2010-02-18

* gave up on hiding data set selector after much (futile) javascript wrangling
* added date/time picker for specifying arbitrary end date
* showgraph.cgi accepts period (which is overridden by any rrdopts)
* use button instead of toggle to show/hide graph controls (keeps ie8 happy)
* fixed prev/next behavior
* added instructions and javascript for doing graphs on mouseovers in nagios
* rrdopts from config are now respected by showgraph.cgi
* added sans-serif to css to keep (many) unix clients happy
* fixed alignment of graph labels
* eliminate vestigial 'graph' CGI option.
* labels for services and data sets are now implemented throughout all cgi
   scripts.  the first place to define them is nagiosgraph.conf.  labels
   can be further specialized by defining them in hostdb.conf and
   groupdb.conf files.
* added mechanism to define default subset of datasets per service.
* added format strings for dates and times
* fixed showservice.cgi so that it now requires only host names in the 
   servdb.conf file.
* made parsing and handling of *db.conf files more consistent
* the *db.conf files now include detailed comments about file format
* comment character in *db.conf file must be at beginning of line in order
   to be treated as comment.
* added showgroup.cgi to display arbitrary groups of host/service/dataset.
   group definitions go in groupdb.conf.
* major overhaul of the javascript.  state is managed better now, and a lot
   of redundant code was removed.  there are more functions now, but the
   functions are more precise with fewer side effects.
* retain expanded/collapsed state of controls between reloads
* retain selection state of host, service, data set, and time periods
* added light/dark and green-tuple custom color palettes to config file
* fixed debugging controls in testcolor.cgi, showgraph.cgi, and show.cgi
* right-align text in the color tester
* updated the documentation: README, INSTALL, TODO
* new configuration options (see nagiosgraph.conf for details):
    showtitle
    showdesc
    showgraphtitle
    graphonly
    hidelegend
    hidengtitle
    lineformat
    plotasLINE1, plotasLINE2, plotasLINE3, plotasAREA, plotasTICK
    negate
    nagioscgiurl
    nagiosgraphcgiurl
    refresh
    geometries
    expand_timeall, expand_timehost, expand_timeservice, expand_timegroup
    timeformat_now
    timeformat_day, timeformat_week, timeformat_month
    timeformat_quarter, timeformat_year
    timegroup
    datasetdb
    groupdb
* modified configuration options:
    'time' is now 'timeall'
    timeall, timehost, timeservice take comma-delimited lists
    'color' is now 'colors'
* deleted configuration options:
    nolabels
    graphlabels
    large
    small
* host and service are no longer required args.  just do the right thing.
* use the same controls layout for all cgi apps
* adjusted time period title layout
* added labels to time periods
* control on each time period to collapse/expand that period
* default to collapsed state for controls
* added time period options to the controls
* put http refresh interval into config file
* eliminate tt and strong tags, replace with css
* when missing translation, instruct to put translation in .conf not .pm
* optionally show html title by each graph
* optionally show data set names by each graph
* optionally show title in each rrdgraph
* optionally hide <h1>Nagiosgraph</h1> for more graph and less text
* consolidation of show*.cgi code

1.4.0 2010-01-14

* Most changes from Matthew Wall
* deal with undefined db in getlabels
* code formatting to make 80 col editing a bit easier (e.g. my netbook)
* strings in ctrans for i18n, specified in nagiosgraph.conf
* punt the hr at pagebottom
* distinguish between nagios cgi and nagiosgraph cgi in the config file
* fixed use of 'performance data for (host|service)' label
* deal with uninitialized time* settings
* do not overwrite settings from config file
* pass cgi object when printing footer in showservice.cgi
* sort datasets naturally (thanks to tye at perlmonks for the algorithm)
* added 'negate' option to negate specific datasets (e.g. network receive)
* added 'plotas*' options to specify line weights by dataset
* added 'lineformat' option to specify line weight and color by dataset
* fixed quoting of setresize for button 'onclick'
* use 'GET' rather than 'POST' in printheader (for consistency)
* use classes/ids for time period headers so we can stylize them
* be less finicky about whitespace surrounding = in servdb and hostdb
* fixed the showservice.cgi script
* unescape filenames when reading from disk in dbfilelist
* found bug in javascript?  will not accept first item in select menu
* graphlabels/nolabels logic was all messed up, so refactored it
* split readdb into readhostdb and readservdb to disambiguate it
* provide list of hosts at top of showservices.cgi page
* update documentation in each of the .cgi and .pm files
* added cgi option 'period' to show, showgraph, showservice
* put sizes into list rather than as 2 buttons

1.3.2 2009-11-17

* Add support for service based graph options provided by Craig Dunn
* Update RPM .spec file from Craig Dunn
* Add zoom buttons based on an update from Brook Harty (ironwolve)

1.3.1 2009-07-14

* Fix for 'maximums'/'minimums' graphing integers only reported by Simon Lang
  and fix provided by Dmitry.

1.3.0 2009-03-26

* Modify the JavaScript (mostly) and ngshared.pm to use an array of arrays
  with the first entry in the subarray as the hostname, rather than using
  JavaScript object as a hash of arrays. This eliminates the restrictions
  on host names ('-', etc. are OK now), but could cause performance issues
  with large server name lists. Thanks to Susan Wilson at Emerson for patches,
  testing and debugging.
* Add version numbers in the "Create by" at the bottom of each page.

1.2.1 2009-02-02

* Add a db names coding bug reported and fix provided by Eric Gerbier.

1.2.0 2009-01-10

* Add support for tracking and graphing minimum and maximum values. This should
  be good for things like ping round trip time. Per request from Jay Anderson.
* Add support for RRD scaling (altautoscale, altautoscalemin, altautoscalemax,
  notgridfit, logarithmic). Per request from Oskar Hajek.
* Add support for selecting a particular data item for graphing via a menu
  item in show.cgi. Per request from Mathias Waack.
* Fix bug about not showing multiple diagram titles correctly as reported by
  Rainer Brunold.
* Fix bug in translation that required manual entry of UNIX file system paths
  to avoid a runtime warning as reported by James Gardner.

1.1.3 2008-12-22

* Update ngshared to have the RRD directory write test not occur except after
  directory creation, fixing a problem of the CGIs failed when all apache
  needs to do is read the contents of the directory (reported by Ian Macdonald).

1.1.2 2008-11-06

* Update ngshared.pm to fix JavaScript navigation menu problem reported (and
  fix provided) by Alex Semenov.
* Add map entries to avoid unuseful timeouts, etc. from Eric Gerbier.

1.1.1 2008-10-01

* Change the calls to RRDs::error to RRDs::error() to maybe fix a bareword error
  that was reported on the help forum.
* Add more tests (pod and kwalitee checks).

1.1.0 2008-09-19

* Fix only process one line bug when used via service_perfdata_file.
* Move all subroutines into ngshared.pm and add more tests.
* Separate graph creation from show.cgi into showgraph.cgi (now show.cgi,
  showhost.cgi and showservice.cgi just build HTML and call showgraph.cgi).
* Update configuration documentation for upgrades to hopefully clarify that
  the only configuration change in the executable scripts is done via the
  'use lib ....' line at the beginning of each script.

1.0.1 2008-09-15

* Add test directory and tests for the ngshared.pm library routines.
* Add AUTHORS file (suggested by Andrew McGill)
* Add install notes for 0.9.0 on CentOS 5 (from Andrew McGill)
* Remove use of -- in services drop down list (idea from Andrew McGill)
* Add a commented change from Andrew McGill about handling spaces in service
  name in 0.9.0. I (Alan Brenner) haven't had a problem with this in 1.0.0.

1.0.0 2008-09-10

* Add showhost.cgi (by Robert Teeter, shows graphs for all services on a host)
  and showservice.cgi (shows graphs for one service on all hosts).
* Move common subroutines into a perl library (ngshared.pm).
* Add a user defined color scheme.
* Add detailed debugging (by perl script, host and/or data set).
* Added perldoc to most of the perl programs.

0.9.0 2007-06-28

* Implement time parameter in config file so user can choose which graphs will
  appear on page. Patch from Adolfo Soto
* Change Olexandr Davydenko patch to allow for any valid form (line/area/etc).
  Patch from Adolfo Soto
* Setup lines width on graphs via config file. Patch from Olexandr Davydenko.
* Patch to allow separation of rrd files in different directories (hostname/file.rrd)
* Navigation menu patch
* Graph history. Patch from Herve Nicol.
* Decode all the encoded characters of the graph description.
  Patch from Aurelien Degremont.
* Align graph labels. Patch from Aurelien Degremont.
* INSTALL mentions to specify path to perl. Explaination by Doug Farley.
* Added fixedscale as a CGI parameter to show.cgi to fix the Y axis
  and legend units.
* Fix show.cgi to check empty rrd directory
* Fix insert.pl compilation errors.
* Minor fix in show.cgi to allow "." in hostnames.

0.8.2 2006-04-12

* Fix to match rrd files. Patch from elfrinjo.

0.8.1 2006-04-08

* Db-file-has-a-number bug fixed. Patch from Ton Voon.

0.8 2006-04-05

* Use stylesheet. Contribution from Ton Voon.
* Splitting graphs is now default. Contribution from Doug Farley.

0.7 2005-10-27

* Another significant performance increase by eval of rules only once
* Header flush bug fixed

0.6 2005-10-18

* Only using RRD perl modules is supported. Removed binary rrdtool
  dependency.
* Added support for perfdata log file for performance increase.
  Contribution from Alex.

0.5 2005-06-22

* Color bug fixed
* Support for customized heartbeat

0.4 2005-04-22

* Better color handling
* New webpage design
* Added rrdopts feature
* Several bug fixes

0.3 2004-12-04

* Added logging of system errors
* Added customized graph sizes feature
* Several bug fixes

0.2 2004-10-14

* Added documentation.
* Delimiter bug fixed.

0.1 2004-08-03

* Initial release
