This file documents the major additions and syntax changes between releases.

3.0.0 16th Jun 2026
    Codename: Johann Georg Elser

	This release contains a lot of changes (at least at the C side of things),
	both regarding the code, but also regarding the development itself.
	There are some breaking changes included, including the deprecation or removal of Plugins.

	Removals
	* check_nt
	* check_ntp
	* check_nwstat
	* check_overcr

	Deprecations
	Deprecated plugins are marked as dead but still there since they are
	in common usage. They will not be developed any further, but patches may get
	accepted if there is not much effort and a low risk of breaking something.
	It is recommended to stop using them and they will be removed in a future release
	* check_http, the replacement is check_curl

	General changes
	* check_curl is no longer experimental and can be considered stable
	* check_snmp links directly against net-snmp instead of executing `snmpget` (or `snmpgetnext`)
	* the vendored version of Gnulib was updated
	* IPv6 is no longer optional
	* All of the C plugins were heavily refactored to homongenize the code
	  * Far less global variables to reduce complexity and side effects
	  * A more or less common structure to reduce the mental overhead
	* All of the C code is now formatted with clang-format

	Fixes
	* multiple plugins
	  * improved error message for missing certificate
	  * fixes for compiler warnings
	  * Compilation on OpenBSD was fixed
	  * added CHECK_EOF to work around warnings about EOF and -1 being the same
	  * lots of Typos
	* check_curl
	  * fix relative redirects on non-standard port
	  * raise SSL issue when --continue-after-certificate is used
	  * Documentation for --certificate, --cookie-jar
	  * fix help for regex state
	  * fix OpenSSL SSL_read: error: ... unexpected eof while reading
	  * update TLS notification notes
	  * enable internal cookie handling
	  * Fix sticky redir
	  * try to be more helpful in check_curls help
	  * abort redir if location is not found
	  * old style follow on redirect did miss some parts
	* check_fping
	  * Improve handling of IPv4/IPv6 options
	* check_ssh
	  * Fix a buffer overflow situation
	* check_by_ssh
	  * Ignore output on stderr by default
	* check_snmp
	  * Put all privproto/authproto options into help
	* check_mysql
	  * Fix replica check on newer versions of MySQL

	Enhancements
	* multiple plugins
	  * A new output infrastructure for the C part of the project
	    * Removes some text formatting complexity from individual plugins
		* Multi line output is the new default and should make the output better readable
		* Centralised formatting allows for extenting the output format
		* Most of the C plugins were migrated to the new system
      * On OpenBSD some plugins restrict themselves to reduce security risks
	* check_dig: add -E/--require-flags and -X/--forbid-flags
	* check_ifstatus: Add -d switch
	* check_fping
	  * Add dontfrag / random flags
	  * Add fwmark option
	  * Add icmp-timestamp option
	  * Add check-source option
	* check_curl
	  * Add proxy option (similar to `curl`)
	  * Add selectable timeout return state
	* check_http
	  * Add selectable timeout return state

2.4.0 25th Jul 2024
	FIXES
	* check_dbi: Compiler warning for uninitialized variable
	* check_curl: Initialize pointer before usage
	* check_ntp: Initialize intermediate results in any case
	* Fixes for -Wsign-compare
	* check_tcp: Fixes an error with using the wrong type for a variable
	* check_mailq: exit on empty strings and exit early
	* check_users: Change option for sanity checking arguments to avoid segfault
	* check_users: Update help to properly show that thresholds are ranges
	* check_users: fix segfault
	* check_dbi: Fix compiler warning for uninitialized variable
	* check_curl: Initialize pointer before usage
	* check_ntp: Initialize intermediate results in any case
	* Fix logic in is_uint64_t to fix type-limit warning
	* check_ntp_peer: Fixes for Wmaybe-unitialized and some restructuring
	* check_dns: Remove unused variable
	* check_disk: fix ignore-missing in combination with includes
	* check_procs: ignore our own children
	* Prevent -lcrypto from showing up in Makefile dependencies
	* Change irritating NULL assignment
	* check_http: Remove self assignment of a variable and add some comments
	* check_snmp: Remove unused variable
	* check_dhcp: Make implicit conversion explicit to dismiss warning
	* Ini Parser: Avoid freeing symbols from text section
	* check_icmp: keep performance data order in case of none-reachable hosts
	* check_swap: Change another fake boolean to a real one
	* check_swap: Rename type since *_t is reserved for C standard types
	* check_ssh: Fix a typo in "remote-protocol parameter
	* check_ssh: Handle non-alpha software versions
	* check_ssh: properly parse a delayed version control string
	* check_disk: Fail on missing arguments for --warning and --critical and fix a test case
	* check_disk: Use new test function for percentage expressions
	* check_load: remove unused code
        * check_curl/check_http: clarified format of POST data

	ENHANCEMENTS
	* Use C99 booleans
	* check_mailq: remove trailing whitespaces
	* check_mailq: unify tabs/spaces
	* check_oracle: Shellcheck fixes
	* check_ups: output ups.realpower if supported
	* check_disk: add -n short option for --ignore-missing
	* check_procs: Improve help text, mentioning excluded processes
	* check_procs: Generalise wording, remove mentioning of nrpe
	* check_curl: add haproxy protocol option
	* Improve negate plugin helptext
	* check_disk: increase alert precision
	* check_ircd: IPv6 support
	* check_nwstat: adds percentage used space
	* Add new test function for percentage expressions
	* check_swap: Possibility to run check_swap without thresholds
	* check_ups: additional alarm conditions
        * check_http/check_curl: added a --regex-state option to change the state of a regex check

2.3.5 18th Oct 2023
	FIXES
	* Include maxfd.h in lib Makefile

2.3.4 18th Oct 2023
	ENHANCEMENTS
	* check_curl: added --cookie-jar and doing proper cleanup of libcurl
	* check_curl: Include all IPs from getaddrinfo() in curl DNS cache
	* check_dhcp: Add dhcp rogue detection
	* check_disk: add ignore-missing option to return OK for missing fs
	* check_disk_smb: allow checking 0-sized resource (ex. IPC$)
	* check_disk: The options to include or exclude specific file systems now allow the usage of regex(7)
	* check_icmp: Add support to Jitter, MOS and Score
	* check_mysql: Detect running mysqldump and handle it more gracefully
	* check_procs: Implement --exclude-process to exclude specific processes
	* check_smtp: add new longoption --tls
	* check_smtp: Add option to prefix PROXY header
	* check_smtp: Add support for SMTP over TLS
	* check_smtp: Add support for SNI
	* check_snmp: Implement option to ignore mib file parsing errors
	* check_users: prefer systemd-logind over utmp

	FIXES
	* check_disk: Display SI units correctly
	* check_ircd: use pack_sockaddr_in rather than hand-rolled
	* check_log/check_oracle/check_sensors: fixed the outputs of the help functionality
	* check_mysql: Add mysql_close to avoid spamming the server logs
	* check_smtp: add missing -r option in usage
	* check_snmp: disable multiplier when unused
	* check_wave: Use compile time determined path to snmpget
	
	GENERAL
	* Sync with the Gnulib code 668c0b8ffa
	* Set autoconf prerequisite version to 2.64
	* Remove sha1 and use sha256 in some parts of the plugin structure
	* A lot of compiler warnings were fixed
	* Some code was refactored a little bit

2.3.3 2nd Feb 2023
        ENHANCEMENTS
	using PRId64 and PRIu64 instead of %ld directly
	check_http: Make faster with larger files
	check_snmp: add 'multiplier' to modify current value
	check_http: Implement chunked encoding decoding
	check_http/check_curl: add chunked encoding test
	check_log: Added --exclude to exclude patterns
	check_log: Add tests
	check_disk: Clarify usage possibilities

	FIXES
	fixed two PRId64 to PRIu64 in perfdata_uint64
	check_pgsql: Removing is_pg_dbname altogether,using postgres API.
	check_http: Remove superfluous CRLF in HTTP-Requests
	check_curl: detect ipv6
	check_icmp: fix parsing help/version long options
	check_http: fix test plan
	check_disk: Find accessible mount path if multiple are available
	check_apt: Fix unknown escape sequence error output
	check_curl: fix checking large bodys
	check_snmp: Improve tests for check_snmp & multiply option
	check_snmp: always apply format when applying multiplier
	check_http: Use real booleans instead of ints
	check_http: Document process_arguments a little bit better
	check_http: Remove dead code
	check_http: Fix several bug in the implementation of unchunking
	check_http: Reformat a part to increase readability
	check_apt: Put upgrade options in the root sections
	check_apt: Fix comment
	check_apt: Use real booleans
	check_mailq: Fixing nullmailer regex
	check_snmp: Fix regex matches
	check_log: Fixed a bug when using --all
	check_log: Cleaned up duplicated code in the args
	check_http: Fix memory reallocation error in chunk decoding logic
	check_http: Add space for ending NULL byte in array for chunked encoding

2.3.2 20th Oct 2022
	GENERAL
	Use netcat-openbsd for debian explicitly (by @RincewindsHat #1704)
	Replace egrep with grep -E (by @RincewindsHat #1791)
	Use silent automake by default (by @RincewindsHat #1747)

	SINGLE PLUGINS
	check_by_ssh: added option to exit with an warning, if there is output on STDERR (by @nafets #1301)
	check_by_ssh: Add "-U" flag (#1123). (by @archiecobbs #1774)
	check_by_ssh: Let ssh decide if a host is valid, enables usage of ssh .config file (by @RincewindsHat #1691)
	check_curl: Add an option to check_curl to verify the peer certificate & host using the system CA's (by @bazzisoft #1669)
	check_curl: fixed -ffollow for HTTP/2.0 (Fixes #1685): added major_version parsing to PicoHTTPParser (by @andreasbaumann #1742)
	check_curl: fixes check_curl: "CRITICAL - Cannot retrieve certificate subject." (by @andreasbaumann #1689)
	check_curl: fix if http header contains leading spaces (by @sni #1666)
	check_curl: Update check_curl.c to display a specific human-readable error message where possible (by @bazzisoft #1668)
	check_curl: verify certificates option should not force SSL to be used (by @bazzisoft #1688)
	check_disk: Description for -M was the wrong way around (by @RincewindsHat #1746)
	check_disk: Fixing the stuff that is broken on btrfs (by @waja #1388)
	check_disk: Fix perfdata for big values for check disk (by @RincewindsHat #1714)
	check_disk_smb: Add configfile feature (by @Napsty #1402)
	check_disk_smb: Add timeout (by @cdruee #1770)
	check_dns: Add --expect-nxdomain (by @Jonny007-MKD #1623)
	check_dns: split multiple IP addresses passed in one -a argument (by @DerDakon #1649)
	check_file_age: Make size parameter a little bit more intelligible (by @RincewindsHat #1730)
	check_fping: Implements 'host-alive' mode (Closes. #1027) (by @waja #1740)
	check_game: Update Url to qstat (by @RincewindsHat #1725)
	check_http: changed 'STATE_CRITICAL' to 'STATE_WARNING' for infinite loop (by @xFuture603 #1690)
	check_http: Increase regexp limit (by @hydrapolic #1566)
	check_http: Support http redirect (by @waja #1449)
	check_icmp: buffer offerflow (by @RincewindsHat #1733)
	check_icmp: delay set_source_ip() until address_family is detected (by @ghciv6 #1735)
	check_icmp: Fix "Invalid Argument" from sendmsg() under FreeBSD 13.1 and "setsockopt failed" for TTL setting (by @eriksejr #1771)
	check_icmp: Fix pkt perfdata in check_host mode (by @sjoegren #1721)
	check_ldap: Allows check_ldap to read password from environment variable (by @mullumaus #1724)
	check_load: add LOAD prefix to load plugin (by @haraldj #1694)
	check_load: Display total and scaled load values if check_load scales the values (by number of CPUs by @RincewindsHat #1778)
	check_log: Missing oldlog now aborts check_log (by @RincewindsHat #1732)
	check_mailq: Add mailq -C option for config dir or config file (by @leeclemens #1490)
	check_mailq: Check mailq domain specific warnings (by @RincewindsHat #1731)
	check_mailq: Fix regexp for nullmailer "mailq" output (by @darksoul42 #1493)
	check_mysql: fix segfaults with mysql-connector-c #1562 (by @ghciv6 #1644)
	check_pgsql: add --queryname parameter to check_pgsql (by @datamuc #1741)
	check_ping: Do not show RTA if no connection was possible (by @RincewindsHat #1697)
	check_ping: understang ping6 output from iputils package (by @glensc #1412)
	check_proc: Fix check proc ps detection (by @sni #1712)
	check_procs: exchange needle and haystack in strstr() for proper st… (by @wolfgangkarall #1654)
	check_smtp: add -L flag to support LMTP (LHLO instead of HELO/EHLO). (by @ghen2 #1715)
	check_snmp: Added option for null zero length string exit codes (by @FracKenA #1496)
	check_snmp: fix performance thresholds when using multiple oids (by @sni #1722)
	check_snmp fix segfaults (by @adrb #1589)
	check_snmp: put the "c" (to mark a counter) after the perfdata value (by @lausser #1465)
	check_swap: fix parsing swap values (by @sni #1780)
	check_swap: Fix perfdata for check swap (by @RincewindsHat #1707)
	check_swap: Fix unit for total in perfdata (by @RincewindsHat #1779)
	check_swap: Handle cached swap (by @mdavranche #1642)
	check_swap: Small fix to threshold validation and style (indentation) fixes (by @RincewindsHat #1723)
	check_ups: Fix possible overflow in check_ups (by @phibos #1727)
	check_uptime: Add option to report uptime in days instead of seconds (by @amotl #1750)
	check_uptime: Fix/improve output message "Uptime is ..." (by @amotl #1751)

	MULTIPLE PLUGINS
	check_http, check_curl: added --max-redirs=N option (feature #1684) (by @andreasbaumann #1744)
	check_http, check_curl: Enhancement --continue-after-certificate (backport from nagios-plugins) (by @andreasbaumann #1762)
	check_http, check_curl: Remove check_http and check_curl test which are somehow always failing (by @RincewindsHat #1777)
	check_log, check_oracle, check_sensors: Several fixes shellcheck complaining about (by @waja #1459)
	sslutils: use chain from client certificates (by @tobiaswiese #1664)

	NON FUNCTIONAL CHANGES
	Trivial source code whitespace formatting fixes to standard. (by @ziesemer #1424)
	docs: fix simple typo, conspicuosly -> conspicuously (by @timgates42 #1652)
	Migrate to GitHub actions (by @jacobbaungard #1686)
	Point to Icinga Exchange instead of dead Monitoring Exchange (by @RincewindsHat #1737)
	github actions: fix check_users test case (by @sni #1713)
	Add CodeQL checks (by @phibos #1682)
	Fix some QL problems (by @RincewindsHat #1729)
	Update CodeQL and update runner before installing (by @RincewindsHat #1775)
	check_disk: Check disk compiler warnings (by @RincewindsHat #1758)
	check_disk: Trivial printf fix and a little bit of code style (by @RincewindsHat #1695)
	check_http: Docs: make -C obvious (by @stblassitude #1554)
	check_ifoperstatus: Re-attach a comment to where it actually belongs (by @peternewman #1699)
	check_ircd: Restrict the nickname length of the test user for check_ircd (by @RincewindsHat #1710)
	check_load: Check load compiler warnings (by @RincewindsHat #1759)
	check_log: Modernize check log (by @RincewindsHat #1692)
	check_mailq: remove duplicate W=i/C=i args in check_mailq.pl (by @ichdasich #1755)
	check_ntp: Check ntp remove unused variables (by @RincewindsHat #1781)
	check_pgsql: Using snprintf which honors the buffers size and guarantees null termination. (Closes: #1601) (by @waja #1663)
	check_procs: Fix double percentage sign in usage (by @RincewindsHat #1743)
	check_sensors.sh: Make shellcheck happier (by @RincewindsHat #1679)
	check_snmp: Fixed option description authpassword -> authpasswd + whitespaces (by @RincewindsHat #1676)
	check_swap: Check swap compiler warnings (by @RincewindsHat #1756)

2.3.1 10 April 2021
	ENHANCEMENTS
	check_curl: Add an option to verify the peer certificate & host using the system CA's

	FIXES
	check_icmp: fix simple typo, conspicuosly -> conspicuously
	check_curl: fixed help, usage and errors for TLS 1.3
	check_curl: fixed a potential buffer overflow in url buffer
	check_dns: split multiple IP addresses passed in one -a argument
	check_curl: added string_statuscode function for printing HTTP/1.1 and HTTP/2 correctly
	check_curl: fix crash if http header contains leading spaces
	check_curl: display a specific human-readable error message where possible
	check_pgsql: Using snprintf which honors the buffers size and guarantees null termination.
	check_snmp: put the "c" (to mark a counter) after the perfdata value
	check_http: Increase regexp limit
	check_http: make -C obvious
	check_curl: Increase regexp limit (to 1024 as in check_http)
	check_curl: make -C obvious (from check_http)
	check_curl: backported --show-body/-B to print body (from check_http)

2.3 10th December 2020
	ENHANCEMENTS
	check_dns: allow 'expected address' (-a) to be specified in CIDR notation
	  (IPv4 only).
	check_dns: allow for IPv6 RDNS
	check_dns: Accept CIDR
	check_dns: allow unsorted addresses
	check_dns: allow forcing complete match of all addresses
	check_dns: option to expect NXDOMAIN
	check_apt: add --only-critical switch
	check_apt: add -l/--list option to print packages
        check_file_age: add range checking
	check_file_age: enable to test for maximum file size
	check_apt: adding packages-warning option
	check_load: Adding top consuming processes option
	check_http: Adding Proxy-Authorization and extra headers
	check_snmp: make calculation of timeout value in help output more clear
	check_uptime: new plugin for checking uptime to see how long the system is running
	check_curl: check_http replacement based on libcurl
	check_http: Allow user to specify HTTP method after proxy CONNECT
	check_http: Add new flag --show-body/-B to print body
	check_cluster: Added data argument validation
	check_icmp: Add IPv6 support
	check_icmp: Automatically detect IP protocol
	check_icmp: emit error if multiple protocol version
	check_disk: add support to display inodes usage in perfdata
	check_hpjd: Added -D option to disable warning on 'out of paper'
	check_http: support the --show-body/-B flag when --expect is used
	check_mysql: allow mariadbclient to be used
	check_tcp: add --sni
	check_dns: detect unreachable dns service in nslookup output

	FIXES
	Fix regression where check_dhcp was rereading response in a tight loop
	check_dns: fix error detection on sles nslookup
	check_disk_smb: fix timeout issue
	check_swap: repaired "-n" behaviour
	check_icmp: Correctly set address_family on lookup
	check_icmp: Do not overwrite -4,-6 on lookup
	check_smtp: initializes n before it is used
	check_dns: fix typo in parameter description
	check_by_ssh: fix child process leak on timeouts
	check_mysql: Allow sockets to be specified to -H
	check_procs: improve command examples for 'at least' processes
	check_swap: repaired "-n" behaviour
	check_disk: include -P switch in help
	check_mailq: restore accidentally removed options

2.2 29th November 2016
	ENHANCEMENTS
	The check_http -S/--ssl option now accepts the arguments "1.1" and "1.2"
	  to force TLSv1.1 and TLSv1.2 connections, respectively
	The check_http -S/--ssl option now allows for specifying the desired
	  protocol with a "+" suffix to also accept newer versions
	Let check_http check HTTPS web sites via proxies
	check_http: add timeout to performance data as max value
	check_http: report certificate expiry date in UTC
	check_snmp: add IPv6 support
	check_snmp's performance data now also includes warning/critical
	  thresholds
	New check_snmp -N option to specify SNMPv3 context name
	Let check_smtp's -D option imply -S
	Let check_smtp's -e option match against the full SMTP response
	check_dig: expected response is now case-insensitive
	New check_mailq -s option which tells the plugin to use sudo(8)
	New check_nt -l parameters: seconds|minutes|hours|days
	New -W/-C option for check_ldap to check number of entries
	check_users: add support for range thresholds
	check_fping now auto-detects IPv6 addresses
	check_radius now supports the radcli library
	Support OpenSSL 1.1

	FIXES
	check_http: fix host header port handling
	Let check_real terminate lines with CRLF when talking to the server, as
	  mandated by RFC 2326
	Fix check_procs on HP-UX
	check_smtp's -e/--expect option can now be combined with -S/--starttls
	Fix incorrect performance data thresholds emitted by check_ups
	Don't let check_procs miss some processes on busy Solaris systems

	WARNINGS
	The format of the performance data emitted by check_mrtgtraf has been
	  changed to comply with the development guidelines
	check_ssh now returns CRITICAL for protocol/version errors
	If a plugin is invoked with -h/--help or -V/--version, the exit status
	  is now UNKNOWN
	The superseded check_ntp.pl was removed, please use check_ntp_peer or
	  check_ntp_time instead

2.1.2 16th October 2015
	FIXES
	Fix incorrect performance data thresholds emitted by check_ups
	Fix check_dhcp's option parsing to not crash with certain arguments
	Fix check_snmp using correct timeout

2.1.1 2nd December 2014
	FIXES
	Fix check_ntp's jitter checking
	Fix check_ntp's handling of invalid server responses
	Fix check_apt's handling of invalid regular expressions
	Fix check_real's server response processing
	Fix backslash escaping in check_tcp's --help output

2.1 15th October 2014
	ENHANCEMENTS
	New check_hpjd -p option for port specification
	New ./configure --with-qmail-qstat-command option to specify the path to
	  qmail-qstat(8)
	New check_ifstatus -n option to ignore interfaces by name
	check_ntp_peer has now specific state output for each metric
	New check_mysql -n option to ignore authentication failures
	Added IP and port or socket name to error messages
	New check_ntp_time -o option to add expected offset
	check_disk shows now troubled partitions in verbose mode
	check_dig has now support for drill and dig
	check_dig has now support for -6 option
	Add performance data to check_file_age

	FIXES
	Fix check_jabber to work with Openfire servers
	Fix check_oracle bad string matching when testing TNS server
	Fixed check_ifstatus performance data output
        Fixed expire time output for sslutils
	check_dns now verifies if the answer is returning from the queried
	  server
	Fix check_by_ssh to accept --hostname as argument

	WARNINGS
	This release doesn't ship with an RPM spec file, please contribute to
	  PR #1283 if you are interested in it

2.0 11th July 2014
	ENHANCEMENTS
	check_mailq now supports auto detection of qmail, postfix, exim and nullmailer with
	  fallback to sendmail
	check_ide_smart now defaults to plugin output, original output appended with -v
	Extra-Opts are now enabled by default, see:
	  https://www.monitoring-plugins.org/doc/extra-opts.html
	check_swap now supports a configurable state when there is no swap
	check_radius now supports the FreeRADIUS Client library
	New check_mysql_query -f option to specify a client options file
	New check_mysql_query -g option to specify a client options group
	Add performance data to check_mysql_query
	New check_file_age -i/--ignore-missing option to return OK on nonexistent files
	Make check_ping, check_users, and check_disk work on Windows
	New check_ssh -P option to specify the expected SSH protocol version
	check_dns now emits the warning and critical thresholds with the performance data

	FIXES
	Don't let e.g. check_http's -C option reset SSL version if e.g. -S 1 -C 5 is specified
	Don't have check_http's -N option expect an argument
	check_ide_smart could disable offline auto tests but could not re-enable them.
	  For this reason all SMART command modes have been disabled.
	check_dig: fix wrong IPv6 arguments order
	check_dig: make sure not to give up too early when a timeout is specified with -t
	check_log: don't stumble over log lines that include a "%" character
	check_nt: add UPTIME to perfdata
	Handle SNMPv3 noAuthNoPriv properly with check_snmp
	Fix compilation with GnuTLS

	WARNINGS
	New default installation prefix: /usr/local instead of /usr/local/nagios
	check_snmp now evaluates negative values properly, which means it might return CRITICAL
	  in cases where it used to return OK. If this is undesired, the warning/critical
	  threshold(s) must be fixed by specifying e.g. ~:100 instead of 100
	check_procs now ignores its parent process to avoid unexpected results when invoked via
	  certain shells
	utils.sh no longer defines ECH
	check_ide_smart -q/--quiet and -n/--nagios (Nagios-compatible output) are now deprecated
	  but accepted for backward-compatibility
	check_ide_smart -0/--auto-off, -1/--auto-on and -i/--immediate: options have
	  been disabled because they were broken
	State retention: the NAGIOS_PLUGIN_STATE_DIRECTORY environment variable has been
	  renamed MP_STATE_PATH. The old variable will continue to work in v2.0.x
	Add the UID of the invoking user to the state retention file path. This helps solving
	  permission issues when different users run the same plugin
	check_swap used to allow returning OK on a system without swap when only percent thresholds
	  were used. This is no longer the case and one must now use -n/--no-swap=<state>
	The Perl and Shell plugins now use the PATH specified via ./configure's --trusted-path
	  option, or "/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin" by default

1.5 2nd October 2013
	ENHANCEMENTS
	New check_dbi plugin for checking an (SQL) database using DBI
	Let OpenSSL load its configuration file (see the OPENSSL_config(3) man page)
	Add performance data to check_apt
	Add performance data to check_procs
	Added -4/-6 options to check_dig
	New check_oracle --connect option to perform real login
	New check_nagios -t option to override the default timeout
	New check_disk -f/--freespace-ignore-reserved option to ignore space reserved for root
	New check_disk -N/--include-type option to limit the filesystem types to check
	Allow for building the plugins in parallel
	Add --without-{dbi,ldap,radius} options to ./configure
	Made Verbose output of check_sensors compliant
	New switch -E/--extended-perfdata for check_http to print additional performance data
	New check_http -d option to specify a string to expect within the response headers
	New check_http -J/-K options for client certificate authentication support
	Add support for executing queries to check_pgsql
	Let check_pgsql accept a UNIX socket directory as hostname
	New check_pgsql -o option to specify additional connection parameters
	New check_fping -S option to specify the source IP address
	New check_fping -I option to specify the interface to bind to
	Let check_fping support IPv6
	New check_procs -k option to ignore kernel threads (on Linux)
	Let check_procs use /proc/<PID>/exe (if available) instead of getpid(2), unless -T is specified
	Let check_mysql support SSL
	Let check_mysql add performance metrics for all checks
	New check_mysql -f option to specify a client options file
	New check_mysql -g option to specify a client options group
	New check_snmp --offset option to allow for adding/subtracting an offset value to sensor data
	Let check_snmp support an arbitrary number of OIDs
	Let check_ide_smart support NetBSD

	FIXES
	Change the MAIL FROM command generated by check_smtp to be RFC compliant
	Fix compilation of check_http without SSL support
	Fix check_snmp reversed threshold ranges (backward-compatibility)
	Fix check_snmp memory violation when using more than 8 oids
	Fix check_apt security regular expression
	Fix check_http handling extra header (-k) containing semicolons
	Fix check_apt handling unknown exit codes from apt-get
	Fix deprecated imports of check_nmap.py

	WARNINGS
	check_http behaviour of -k/--header changed since it does not separate multiple headers by semicolons anymore. Use multiple -k switches instead.
	check_http's --proxy_authorization option is now called --proxy-authorization (it was always documented this way)
	The contrib directory has been removed from this distribution

1.4.16 27th June 2012
	ENHANCEMENTS
	check_nt UPTIME accepts warning/critical thresholds
	check_disk_smb now allows spaces in share names (#990948, #1370031, Debian #601699)
	check_http now uses standard threshold functions (enables floating point and ranges)
	check_http now checks for and prints the certificate cn (hostname) in SSL certificate checks
	check_http now supports an optional -S/--ssl value to choose the SSL protocol version (#3066166)
	Add perfdata to check_ssh (#3244097)
	New option to check_smtp to ignore failures when sending QUIT (#3358348)
	New check_by_ssh -F option which allows for specifying an alternative ssh_config(5) file (#2895334)
	check_sensors now detects faulty sensors unless --ignore-fault is specified
	utils.sh now provides a check_range function
	Improved the performance of check_users
	Add perfdata to check_disk_smb (Debian #654259)
	Updated Nagios::Plugin perl module
	Add warning threshold to certificate expiration checks of check_tcp/http/smtp
	Add --perf-oids option for check_snmp

	FIXES
	Fix check_disk free space calculation if blocksizes differ within a disk group (#2973603)
	check_disk_smb now handles NT_STATUS_ACCESS_DENIED properly (Debian #601696)
	Make check_snmp work more like v1.4.14 with regard to using special values (Timeticks, STRING) as numeric thresholds
	Fix check_ldap overriding the port when --ssl was specified after -p
	Fix check_procs where regex input of '|' would get displayed in output - now replaced with ','
	Fix segfault in check_host when hostname returns multiple IP addresses
	Fix check_smtp and check_tcp where duplicate messages were displayed for certificate errors
	Fix check_ping's parsing of ping6(1) output (#1894850, Debian #514588, Debian #662638)
	Fix a check_dhcp bug which was triggered by checking Windows 2003 DHCP servers (#3503921)
	Disable RFC4507 support, to work around SSL negotiation issues with (at least) some Tomcat versions
	Fix performance data label containing spaces in check_snmp

1.4.15 27th July 2010
	ENHANCEMENTS
	New check_ntp_peer -m and -n options to check the number of usable time sources ("truechimers")
	New check_disk_smb -a option which allows for specifying the IP address of the remote server
	New check_radius -N option which allows for specifying the value of the NAS-IP-Address attribute
	New check_snmp --rate option to store differences between invocations. Saves state in PREFIX/var/{plugin}
	check_snmp -l label option now also changes the perfdata label. See WARNINGS
	check_snmp has an --invert-search option which reverses status of the string and regexp searches
	check_http now displays the missing search string and the URL in the output when failed (#2999924)
	Updated Nagios::Plugin perl module
	Updated gnulib to June 2010

	FIXES
	Fix check_ircd binding to wrong interface (#668778)
	Add proxy-authorization option to check_http (#1323230, #2863925)
	check_icmp now increment the sequence counter in each packet
	Fix usage of repeated -o options in check_snmp
	Try to detect arguments passed via --with-ping[6]-command and set options accordingly (#2908236)
	Fix memory leak in check_http for large pages (#2957455)
	Fix compilation with GCC 2.96 (#2977105)
	Fix regression introduced in #1867716 where partially valid performance strings would not be printed anymore
	Fix regression in check_http ssl checks on some servers - make SNI an option
	Fix guest mode support in check_disk_smb
	Fix check_disk_smb and check_ircd failures when run via ePN
	check_ldap now allows for specifying an empty LDAP base
	Fix compilation error of pst3 in Solaris 8
	Fix check_radius returning OK on unexpected results (#2911752)
	Fix translations when extra-opts aren't enabled (#2832884)
	Fix parsing of multi-line strings in check_snmp (broken in 1.4.14) and enhance output in such case (#2832451)
	Fix detection of pst3 64-bit compile flags with Sun CC
	Fix cmd_run overwriting the environment, which would break some commands that needed it
	Allow check_ifstatus to accept version=2c - used to only allow version=2
	Fix examples in check_disk, where it implied was possible to suffix unit values to warn/crit parameters

	WARNINGS
	Updated developer documentation to say that performance labels should not have an equals sign or
	single quote in the label
	check_http 1.4.14 introduced SSL SNI support - you now have to enable it explicitly with "--sni"
	check_snmp -l label option is also used for the performance label. This could change history from previous uses

1.4.14 16th September 2009
	check_http has options to specify the HTTP method (#2155152)
	check_users thresholds were not working exactly as documented (>= rather than >)
	Updated tinderbox_build script to point to new tinderbox server
	check_ifoperstatus -n flag now works as expected (#1569488)
	check_ifoperstatus now supports ifType based lookup for ifIndex
	check_ups now sends a LOGOUT string (Debian #387001)
	Extra-opts (C plugins) now allows both '#' and ';' for comments (like N::P)
	Extra-opts (C plugins) does not allow trailing comments anymore (like N::P)
	Fixed dependency issue on libtap when ./configure --enable-libtap used. Warning: will install libtap
	Fixed segfault in extra-opts under some circumstance when reading multiple sections
	Fix long options parsing in check_disk, check_dns, check_mrtg, check_mrtgtraf and check_tcp
	Add missing long options for check_nt (for use with extra-opts)
	check_icmp now reports min and max round trip time perfdata
	Fixed check_http bug where additional headers with redirection caused a segfault (2089159)
	check_disk: make autofs mount paths specified with -p before we determine the mount list
	Fixed buffer overflow in check_ntp/check_ntp_peer (#1999319, Ubuntu #291265)
	Re-bundled libtap as a built-in library (--enable-libtap): detects system library as pre-1.4.13 and does not install the built-in library anymore
	Fixed check_mrtg returning UNKNOWN instead of OK (#2378068)
	Fixed check_http behaviour: all check are now performed as long as a valid response is returned (#1460312)
	check_http --onredirect=sticky follows using the same IP address (#2550208)
	check_http --onredirect=stickyport also follows the same port
	Fixed coredump from check_nt when invalid drive is specified (#2179754)
	Fixed crash from check_nt when -H unspecified or given multiple times (#2731755, Debian #521097)
	Fixed passing of quotes in OID for check_snmp (#1985230)
	Fixed check_http sending HTTP/1.0 with v1.1 headers (#2638765)
	Fixed check_http not timing-out on redirects
	Fixed negate not printing the real timeout in ALRM handler when left to default
	negate timeout result is now configurable
	Fixed segfault in check_mysql with old slaves (#2696823)
	check_nt can return UNKNOWN on timeouts (-u)
	Fixed typos for check_disk
	Fixed check_mysql* not using password set in my.cnf (#2531905) - Specify an empty password explicitly if you need to override it.
	Fixed awk subst.in/subst script path error (#2722832)
	check_http: Add SSL/TLS hostname extension support (SNI) - (#1939022)
	Fixed wrong perfdata label for output traffic in check_mrtgtraf (#2654308)
	Fixed check_by_ssh interpretation of quotes in -C parameter (#1985246, #2268675)
	check_snmp now supports standard threshold ranges and doubles (floating numbers) in thresholds
	check_fping now supports passing target timeout and interval to fping (#2347686)
	Fixed SNMPv3 behaviour of check_ifoperstatus and check_ifstatus. Added -P to define privprotocol (#2343438)
	check_ifoperstatus and check_ifstatus are now more user-friendly in case of missing arguments
	pst3 compile fix for Sun Studio Compiler

1.4.13 25th Sept 2008
	Fix Debian bug #460097: check_http --max-age broken
	Optimised pst3 for systems with large number of processes
	Updated Nagios::Plugin to 0.27
	Fix Debian bug #479013: check_dig's -l is mandatory now (#1986306)
	check_dig now returns CRITICAL instead of WARNING when no answer section is found
	check_procs now captures stderr in external command and adds to plugin output
	check_snmp now only prints perfdata for non numeric values (#1867716)
	check_icmp now supports packet size modification
	check_http -e now accepts a comma-delimited list of expected status codes
	libtap now included with this distribution for easier testing. Run ./configure with --enable-libtap
	check_ntp_peer/check_ntp_time used to show port in --help but ignored the argument - now implemented
	Fix possible segfault in check_ntp_peer with deliberately invalid packets

1.4.12 27th May 2008
	Added ./check_nt -v INSTANCES to count number of instances
	New check_icmp -s option to specify the source IP address
	check_dns now sorts addresses for testing results for more than one returned IP
	Fix segfault in check_ntp_time and (deprecated) check_ntp (#1862300)
	check_disk should now work with large file systems (2TB+) on all archs that supports it
	Fixed check_disk disk usage calculation when using --group=NAME (related to #1348746)
	Fix help text of check_ntp* (#1880095)
	Fix bugs and flaws in best offset server selection of check_ntp_time and (deprecated) check_ntp
	check_ntp_peer now checks for the LI_ALARM flag
	Sync to latest Gnulib (includes new floorf function)
	check_pgsql now successfully builds with postgres lib v8.3 (#1878972)
	check_procs now accepts --ereg-argument-array for a regular expression match to the argument array
	Reverted back to using pst3 for Solaris systems. Fixed issues re: -m64 needed to compile on 64bit systems
	If applicable, Gettext linked dynamically instead of statically
	check_dig can now pass arguments to dig by using -A/--dig-arguments (#1874041/#1889453)
	check_ntp and check_ntp_peer now show proper jitter/stratum thresholds longopts in --help
	check_dns now allow to repeat -a to match multiple possibly returned address (common with load balancers)
	check_mysql and check_radius now try clearing password in processlist just like check_mysql_query
	check_mysql and check_mysql_query now support sockets explicitly (-s, --socket)
	negate now has the ability to replace the status text as well (-s, --substitute)
	Added performance data to check_ping
	Added support for --extra-opts in all C plugins (disabled by default, see configure --help)
	Fixed passive option in check_by_ssh
	On non-skipped stderr, check_by_ssh now returns UNKNOWN or worse (result from command) instead of always UNKNOWN.
	Fix linking against OpenSSL where libdl is required

1.4.11 13th December 2007
	Fixed check_http regression in 1.4.10 where following redirects to
	  relative URLs on virtual hosts failed if both "-H" and "-I" were used
	Merged two new checks that deprecates check_ntp: check_ntp_peer and check_ntp_time.
	  You should read the --help output so see which one is suitable for you. check_ntp_peer
	  implement stratum thresholds support (feature request #1703823).
	check_ntp now returns UNKNOWN instead of WARNING if jitter is unavailable (jitter=-1.000000)
	  as long as the thresholds range include -1. If no offset threshold is specified
	  and the offset is unavailable, will return UNKNOWN as well.
	  NOTE: If jitter thresholds are specified as integers it will return CRITICAL if jitter
	  is "-1" as the default range starts at 0. See Examples in --help output.
	Fixed broken usage2 in check_snmp and check_cluster
	check_cluster now accepts all valid characters in its thresholds ("-", "@", "~")
	Fixed check_disk reporting OK if disk usage grows over 100% (#1348746).
	  The problem happens to be in Gnulib but a workaround have been implemented in check_disk.c
	Fixed check_load argument handling when not passing triplets (#1831890)
	Fixed buffer overflow in check_snmp (CVE-2007-5623)
	Tinderbox builds now runs tests in a verbose mode
	Updated Nagios::Plugin to 0.22
	VPATH problem fixed for compiling plugins-root

1.4.10 28th September 2007
	Fix check_http buffer overflow vulnerability when following HTTP redirects (CVE-2007-5198)
	check_http now explicitly asks HTTP/1.1 servers to close the connection
	  after completion of the response
	Check_ldaps' guessing which secure method to use (starttls vs. ssl on connect)
	  is now deprecated. See --help for further information.
	Check_disk now calls stat() on all filesystems to check. (Old: only the ones selected using -p)
	  A meaningful error message (eg "Stale NFS Handle") is printed if stat fails.
	New check_disk option -L: Only check local filesystems, but call stat() on remote ones, too.
	  Thus accessibility of remote filesystems can be checked without any threshold comparison.
	Check_disk's --help now prints some examples for the new features introduced in 1.4.8
	New check_disk -i/-I option to ignore paths/partitions based on regular expressions
	New check_disk -A option to select all filesystems explicitly
	WARNING: check_disk's -E option must now be passed before -p or -r/-R arguments
	  Passing -E after -p or -r results in UNKNOWN state, now
	  This is needed due to the new ignore feature
	Fix check_disk bug when mixing case sensitive and case insensitive regex arguments
	New check_dhcp -u/--unicast option for emulating a DHCP relay in order
	  to check DHCP servers on remote networks
	New check_dhcp -m/--mac option which allows for specifying the MAC
	  address to use in the DHCP request
	The check_dhcp -r and -s options now accept host names, too
	Fix possible check_icmp bus errors on some (non-x86/AMD64) platforms
	Fix check_smtp's handling of multiple-packet server responses
	WARNING: Fix for negate which may break existing commands:
	  - stop evaluating command line options through shell twice
	  - enforce a full path for the command to run
	The "negate" utility can now remap custom states
	Check_radius now supports radiusclient-ng
	The (undocumented) positional parameter parsing which check_radius used
	  instead of getopt(3) if 8 arguments were given is no longer available
	Check_by_ssh now supports multiline output
	IPv6 support can now be disabled using ./configure --without-ipv6
	Fix check_ntp now honor ntp flags

1.4.9 4th June 2007
	Inclusion of contrib/check_cluster2 as check_cluster with some improvements
	New/improved -E/--skip-stderr and -S/--skip-stdout options for check_by_ssh
	check_snmp now supports Counter64
	Fix compilation of check_ldap, check_radius and check_pgsql
	check_load can optionally divide by number of cpus
	Fix check_time returning wrong OK when time is before the epoch on some arch
	Make check_http output more consistent
	Fix possible check_http segfaults when following HTTP redirects
	check_snmp don't warn anymore if something is printed on stderr
	Fix check_tcp segfault when multiple expect strings are given
	New option for check_tcp: -A/--all to test if all given expect strings match

1.4.8 11th April 2007
	Respects --without-world-permissions for setuid plugins
	check_disk extra options for regex matching of filesystems and grouping of filesystems
	for collective thresholds
	Better configure test for mysqlclient availability
	Various check_ntp fixes

1.4.7 29th March 2007
	check_procs uses /usr/ucb/ps if available - fixes pst3 problems on Solaris
	Fixed MKINSTALLDIRS problem in po/
	./configure now detects if possible to compile check_mysql
	Fixed broken HELO in check_smtp
	check_icmp now allows to set a minimum number of hosts required for success (-m)
	check_icmp fix for *BSD when running for long time
	check_ping times out 1 second quicker if host is unreachable
	Root plugins installed with world executable
	check_sybase from contrib now maintained in MonitoringExchange
	--with-nagios-user/group reinstated ./configure option
	New --without-world-permissions ./configure option

1.4.6 5th February 2007
	Reduced number of DNS lookups in check_ping and netutils.c for IPv6 configurations
	Fixed compile problems with *BSD re: alloca.h
	Fixed Solaris problems with check_swap (tested on Solaris 9)
	Fixed check_swap for HP/UX where swapinfo command was incorrect
	Fixed check_disk inode threshold checks, regressed at r1.4.4.
	Fixed crit/warn for check_disk perf data
	Fixed buffer overflow in check_procs
	Fixed error handling for UNIX sockets in netutils.c
	New -q and -o options for check_by_ssh which are handed over to ssh(1) as is
	Synced with latest GNUlib
	Fixed check_jabber always returns warning

1.4.5
	Fixed bug in perl's is_hostname routine

1.4.4
	New C based check_ntp. The perl version is now deprecated.
	New check_apt plugin
	Notice: plugins in contrib/ will start to be removed from this distribution.
	  Please check at http://www.monitoringexchange.org for contributed plugins
	Major bug fixes to check_disk where values were incorrectly calculated and alerted on.
	check_udp2 removed. check_udp is now linked to check_tcp.c
	check_mailq now errors if the sub-program run returns non-zero return code. This would appear
	  as if mailqs were okay when the nagios user could not query the mail-queues
	Compile problems with check_snmp fixed

1.4.3
	Setuid plugins (check_dhcp, check_icmp) separated into plugins-root/. Run make install as root to install
	SSL plugins work with gnutls as well as OpenSSL
	check_mysql_query added to run arbitrary SQL commands, with threshold checking
	libtool now required for development systems
	Notice: check_udp (compiled from check_udp.c) will be deprecated in the next release.
	  check_udp2 should be used instead and will be renamed to check_udp

1.4.2
	Fix for Redhat ES4 for check_dns and check_dig

1.4
	IPv6 support in check_ping, check_by_ssh, check_http, check_ldap, check_smtp, check_tcp
	Internationalisation support
	Performance data added to most plugins
	check_disk now using GNU coreutils code
	New plugins - check_dhcp, check_icmp
	contrib/check_citrix has been replaced by contrib/check_ica* (requires packet_utils.pm in libexec)
	check_http --min changed to --pagesize, added max so min:max in check
	check_vsz and check_rss deprecated - functionality moved into check_procs
	check_swap % thresholds changed to measure amount free, instead of amount used
	check_disk syntax changes for -p, -m/-M, defaults to MB instead of kB
	check_procs -C expects no path for the command name
