Merge branch 'sh/next'
[collectd.git] / ChangeLog
index 407c57c..6445cdc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,317 @@
+2009-02-16, Version 4.6.0
+       * collectd: Added the `filter chain' infrastructure, which allows the
+         user to use `matches' and `targets' to control value processing.
+       * collectd: The new `-T' command line argument allows more in-depth
+         testing of a configuration. Thanks to Doug MacEachern for the patch.
+       * collectd-nagios: The Nagios integration command has been updated to
+         use libcollectdclient. The `percentage' aggregation function has
+         been added. Thanks to Fabian Linzberger for the patch.
+       * libcollectdclient: A library which abstracts communication with the
+         unixsock plugin for clients has been added.
+       * regex match: Match values by their identifies using regular
+         expressions.
+       * timediff match: Match for values with an invalid timestamp.
+       * value match: Select values by their data sources' values.
+       * notification target: Create and dispatch a notification.
+       * replace target: Replace parts of an identifier using regular
+         expressions.
+       * set target: Set (overwrite) entire parts of an identifier.
+       * bind plugin: This new plugin uses the new HTTP/XML interface to BIND
+         statistics, allowing very detailed name server statistics. Thanks to
+         Bruno Prémont for this plugin.
+       * cpu plugin: Report `interrupt' separately when using
+         sysctlbyname(3) (used under *BSD). Support for sysctl(3), for
+         example for native OpenBSD support, has been added. Thanks to Simon
+         Kuhnle for the patch.
+       * csv plugin: Make it possible to write values to STDOUT instead of
+         files. This is meant for testing purposes mostly. The output written
+         to STDOUT is compatible with the exec plugin. Thanks to Doug
+         MacEachern for the patch.
+       * curl plugin: This new plugin can be used to read web pages and parse
+         them using the same mechanism that's used in the tail plugin.
+       * dbi plugin: This new plugin allows you to connect to a variety of
+         relational databases and use SQL to gather custom statistics from
+         it. It is similar to the already existing PostgreSQL plugin but uses
+         libdbi to communicate with the database(s).
+       * interface plugin: Use the ignorelist framework when selecting /
+         ignoring interfaces. This allows one to use regular expressions to
+         select interfaces, too.
+       * ipmi plugin: Handle temporary IPMI error conditions more gracefully.
+         Thanks to Bruno Prémont for this patch.
+       * memcached plugin: Add hit-ratio metric. Thanks to Doug MacEachern
+         for the patch.
+       * mysql plugin: Allow connecting to a database via the UNIX domain
+         socket, too. Thanks to Mirko Buffoni for the patch.
+       * network plugin: Further performance improvements for the receive
+         code. This hopefully will help very large setups.
+       * openvpn plugin: This new plugin collects statistics provided by the
+         OpenVPN daemon. Thanks to Doug MacEachern for the patch.
+       * oracle plugin: This new plugin allows you to connect to an Oracle
+         database and use SQL to gather custom statistics from it. It is
+         similar to the already existing PostgreSQL plugin.
+       * perl plugin: Compatibility fixes for broken versions of Perl 5.10
+         have been added.
+       * perl plugin: Export the newly added plugin_write() to Perl plugins.
+       * perl plugin: Added support for `notification meta data'.
+       * perl plugin: Added support for the `filter chain' infrastructure by
+         allowing plugins to register `matches' and `targets'.
+       * postgresql plugin: The preferred configuration syntax has been
+         updated to be in line with the syntax used by the new dbi and oracle
+         plugins. The compatibility code for the old syntax is present.
+         Support for the new `Result' blocks and the interval parameter has
+         been added.
+       * processes plugin: Stacksize and virtual memory usage statistics have
+         been added. Portability fixes.
+       * rrdcached plugin: This new plugin uses the (still in development)
+         RRD accelerator daemon, rrdcached. This daemon works very similar to
+         the original rrdtool plugin of collectd, but adds some more nice
+         features.
+       * swap plugin: Code for OpenBSD (and possibly other *BSDs) has been
+         added.
+
+2009-01-02, Version 4.5.2
+       * build system: Check for `mysql.h' and `mysql/mysql.h', since the
+         file may be in both locations, especially when the database was
+         installed in a non-standard path. Thanks to Dusty Doris for
+         reporting this.
+       * build system: Handle the _POSIX_PTHREAD_SEMANTICS defined, needed by
+         Solaris, in the configure script automatically.
+       * build system, tcpconns plugin: Check for `kvm_nlist' and
+         `kvm_openfiles' before enabling the plugin: Solaris provides a KVM
+         library with similar functions to the BSD variant, but doesn't
+         provide these necessary functions.
+       * collectd.conf(5): Various fixes and clarifications.
+       * collectd: Remove a GNUism (unnamed unions), thus improving
+         portability.
+       * collectd, apcups plugin: Include "collectd.h" before <stdlib.h>.
+         This solves portability problems, especially for Solaris.
+       * dns plugin: Fix a portability problem with NetBSD.
+       * filecount plugin: Fix an off-by-one error. This error may cause a
+         segmentation fault.
+       * network plugin: Fix the handling of `type' in the network protocol.
+         Due to a programming mistake, only 4 or 8 bytes would be copied to a
+         much larger buffer. This caused the `type' to be transferred much
+         more often than necessary. In some cases, e. g. the `cpu' and
+         `cpufreq' plugins being used at the same time, data may be corrupted
+         in those files. Thanks to Bruno Prémont for debugging and reporting
+         this issue.
+       * processes plugin: Fix a possible segmentation fault when specifying
+         invalid configuration options.
+       * unixsock plugin: Make sure the initialization function is run only
+         once. This resolves a file descriptor leak under systems which run
+         the initialization more than once, such as Solaris.
+
+2008-10-16, Version 4.5.1
+       * build system: Change `--enable-<plugin>' to abort with an error if
+         dependencies are not met. Thanks to Bruno Prémont for the patch.
+         Also, the poisoning of various string functions has been restricted
+         to debug builds.
+       * collectd: Fix a memory leak in the global value cache. With every
+         *missing* value a couple of bytes would be leaked. Another memory
+         leak in the configuration handling code has been fixed. Thanks to
+         Niraj Tolia for reporting these issues.
+       * collectd: Fix an off-by-one error in the ignorelist functionality.
+         When using regular expressions, the last character would be missing,
+         possibly matching differently from what one would expect.
+       * collectdmon: Don't block SIGCHLD. This fixes a potential portability
+         problem.
+       * collectd-nagios: Fix handling of the `-d' option. Thanks to Fabian
+         Linzberger for reporting the bug.
+       * iptables plugin: Fix an off-by-one error. If a string was just one
+         character too long, it was truncated instead of reporting an error.
+       * network plugin: Fix a memory leak in the configuration handling
+         code. Thanks to Niraj Tolia for reporting this issue.
+       * perl plugin: Log an error message if bootstrapping `Collectd' fails.
+       * postgresql plugin: Don't reopen connection during reinitialization.
+         This fixes a bug under Solaris and potentially other platforms.
+         Missing calls to `PQclear' have been added, too. This fixes memory
+         leaks. Thanks to ``Admin'' for reporting these bugs.
+       * snmp plugin: Don't expect null-terminated strings from the Net-SNMP
+         library.
+       * tail plugin: Call `clearerr(3)' after reading an EOF. This fixes
+         problems with some `libc's. Thanks to Matthias Lay for reporting the
+         bug.
+
+2008-09-04, Version 4.5.0
+       * collectd: Added the ability to flush certain identifiers.
+       * collectd: The concept of `notification meta data' has been
+         introduced.
+       * filecount plugin: The new filecount plugin counts the number of
+         files in a directory and its subdirectories.
+       * ipmi plugin: Sensor names have been changed to ensure unique names.
+         Notifications upon added and removed sensors can now be generated.
+       * notify_desktop plugin: This new plugin sends notifications to the
+         X desktop using the structure defined in the `Desktop Notification
+         Specification'.
+       * notify_email plugin: This new plugin sends out notifications via
+         email, using the `esmtp' library.
+       * onewire plugin: The new experimental(!) onewire plugin reads values,
+         such as temperatures, from sensors connected to the computer via the
+         onewire bus.
+       * perl plugin: Improved synchronized access to internal data structures
+         and fixed a possible dead-lock.
+       * perl plugin: Added the ability to flush certain identifiers and marked
+         plugin_flush_all() and plugin_flush_one() as deprecated in favor of
+         plugin_flush().
+       * perl plugin: Added the ability to configure Perl plugins.
+       * postgresql plugin: The new postgresql plugin collects statistics
+         about or from a PostgreSQL database.
+       * processes plugin: The `ProcessMatch' option has been added.
+       * rrdtool plugin: Implement throttling of the `update queue' to lessen
+         IO load.
+       * tcpconns plugin: This plugin has been ported to OpenBSD.
+       * thermal plugin: The new thermal plugin collects system temperatures
+         using Linux ACPI thermal zone data.
+
+2009-01-02, Version 4.4.5
+       * build system: Check for `mysql.h' and `mysql/mysql.h', since the
+         file may be in both locations, especially when the database was
+         installed in a non-standard path. Thanks to Dusty Doris for
+         reporting this.
+       * build system: Handle the _POSIX_PTHREAD_SEMANTICS defined, needed by
+         Solaris, in the configure script automatically.
+       * collectd.conf(5): Various fixes and clarifications.
+       * apcups plugin: Include "collectd.h" before <stdlib.h>. This solves
+         portability problems, especially for Solaris.
+       * dns plugin: Fix a portability problem with NetBSD.
+       * network plugin: Fix the handling of `type' in the network protocol.
+         Due to a programming mistake, only 4 or 8 bytes would be copied to a
+         much larger buffer. This caused the `type' to be transferred much
+         more often than necessary. In some cases, e. g. the `cpu' and
+         `cpufreq' plugins being used at the same time, data may be corrupted
+         in those files. Thanks to Bruno Prémont for debugging and reporting
+         this issue.
+       * unixsock plugin: Make sure the initialization function is run only
+         once. This resolves a file descriptor leak under systems which run
+         the initialization more than once, such as Solaris.
+
+2008-10-16, Version 4.4.4
+       * build system: Change `--enable-<plugin>' to abort with an error if
+         dependencies are not met. Thanks to Bruno Prémont for the patch.
+         Also, the poisoning of various string functions has been restricted
+         to debug builds.
+       * collectd: Fix a memory leak in the global value cache. With every
+         *missing* value a couple of bytes would be leaked. Another memory
+         leak in the configuration handling code has been fixed. Thanks to
+         Niraj Tolia for reporting these issues.
+       * collectd: Fix an off-by-one error in the ignorelist functionality.
+         When using regular expressions, the last character would be missing,
+         possibly matching differently from what one would expect.
+       * collectdmon: Don't block SIGCHLD. This fixes a potential portability
+         problem.
+       * collectd-nagios: Fix handling of the `-d' option. Thanks to Fabian
+         Linzberger for reporting the bug.
+       * network plugin: Fix a memory leak in the configuration handling
+         code. Thanks to Niraj Tolia for reporting this issue.
+       * perl plugin: Log an error message if bootstrapping `Collectd' fails.
+       * tail plugin: Call `clearerr(3)' after reading an EOF. This fixes
+         problems with some `libc's. Thanks to Matthias Lay for reporting the
+         bug.
+
+2008-09-01, Version 4.4.3
+       * collectd: Fix a memory leak in the threshold checking code.
+       * memcached plugin: Fix a too short timeout and a related file
+         descriptor leak.
+       * memory plugin: A typo in the libstatgrab code has been fixed.
+       * snmp plugin: Fix a possible memory leak.
+
+2008-07-15, Version 4.4.2
+       * build system: Use pkg-config to detect the upsclient library.
+       * collectd: Try even harder to determine the endianess of the
+         architecture collectd is being built on.
+       * disk plugin: Fix for Linux 2.4: A wrong field was used as the name
+         of disks.
+       * dns plugin: Fix compilation errors with BIND versions 19991001
+         through 19991005.
+       * network plugin: Bugfix in the init routine: The init function
+         cleared a buffer regardless of its contents. This could lead to lost
+         values under Solaris.
+       * nginx plugin: Remove usage of the thread-unsafe `strtok' function.
+       * vserver plugin: Remove usage of the thread-unsafe `readdir'
+         function.
+       * wireless plugin: Work around incorrect noise and power values
+         returned by some broken drivers.
+
+2008-06-03, Version 4.4.1
+       * collectd: Fix the `DataSource' option within `Type' blocks. Thanks
+         to kyrone for reporting this.
+       * collectd: Fixed min/max output in notifications generated by
+         threshold checking.
+       * collectd-nagios: Fix the protocol used to communicate with the
+         daemon.
+       * perl plugin: Fail noisily, but don't shutdown the daemon, if
+         initialization has errors. An issue with Perl 5.10 has been fixed.
+       * teamspeak2 plugin: Fixed an out of bound array access. Thanks to
+         René Rebe and Siegmund Gorr for reporting this.
+
+2008-05-06, Version 4.4.0
+       * collectd: Internal code cleanups.
+       * collectd: Added support for a `Flush' command in the unixsock and
+         exec plugins. This command can be used to force a plugin (or all) to
+         flush its values to disk.
+       * collectd: Thresholds can now be configured to apply to one data
+         source only, making it possible to configure different thresholds
+         for each data source.
+       * apache, nginx plugins: Added the possibility to disable host and/or
+         peer verification.
+       * ascent plugin: The new ascent plugin reads and parses the statistics
+         page of an Ascent server.
+       * cpu plugin: Support for the statgrab library has been added.
+       * disk plugin: The possibility to ignore certain disks or collect only
+         specific disks has been added.
+       * disk plugin: Support for the statgrab library has been added.
+       * ipmi plugin: The new ipmi plugin uses the OpenIPMI library to read
+         sensor values via IPMI, the intelligent platform management
+         interface.
+       * iptables plugin: The iptc library that is used by the iptables
+         plugin has been added to the distribution, because it is not
+         provided by all distributions and removed from at least one.
+       * powerdns plugin: The new powerdns plugin reads statistics from an
+         authoritative or a recursing PowerDNS name server.
+       * rrdtool plugin: The size of the files generated with the default
+         configuration has been decreased.
+       * tail plugin: The new tail plugin can be used to gather statistics by
+         continuously reading from log files.
+       * teamspeak2 plugin: The new teamspeak2 plugin connects to a
+         TeamSpeak2 server and collects statistics about the number of users
+         and number of channels.
+       * users plugin: Support for the statgrab library has been added.
+       * vmem plugin: The new vmem plugin collects very detailed statistics
+         about the virtual memory subsystem of Linux.
+
+2008-08-30, Version 4.3.4
+       * Build system: Improved detection of and linking with the statgrab
+         library.
+       * collectd: Portability fixes, especially to determine endianess more
+         reliable.
+       * Various plugins: Fix format strings.
+       * disk plugin: A fix for giving disks under Linux 2.4 the right names
+         again has been applied.
+       * memcached plugin: Fix a too short timeout and a related file
+         descriptor leak.
+       * memory plugin: A typo in the libstatgrab code has been fixed.
+       * network plugin: A fix in the initialization function solves problems
+         under Solaris.
+       * nginx plugin: A thread-unsafe function has been replaced.
+       * vserver plugin: A thread-unsafe function has been replaced.
+       * wireless plugin: A work-around for broken wireless drivers has been
+         added.
+
+2008-04-22, Version 4.3.3
+       * build system: Improved detection of several libraries, especially if
+         they are in non-standard paths.
+       * build system: Portability fixes: Automatically define "_REENTRANT"
+         if the libc expects it.
+       * collectd: Error and warning messages have been improved.
+       * collectd: Check for the BYTE_ORDER and BIG_ENDIAN defines before
+         using them.
+       * apache plugin: Allocate new memory when reading a webpage instead of
+         using a buffer of static size.
+       * exec plugin: Close (almost) all filedescriptors before exec(2)ing
+         the program.
+       * hddtemp plugin: Error and warning messages have been improved.
+       * sensors plugin: Fix sensor collection for some chip types.
+
 2008-03-29, Version 4.3.2
        * collectd: Fix configuration of the `FailureMax', `WarningMax', and
          `Persist' threshold options.
 2008-03-29, Version 4.3.2
        * collectd: Fix configuration of the `FailureMax', `WarningMax', and
          `Persist' threshold options.
          physical server. Thanks to Richard Jones from Red Hat's Emerging
          Technology group for this plugin.
 
          physical server. Thanks to Richard Jones from Red Hat's Emerging
          Technology group for this plugin.
 
+2008-04-22, Version 4.2.7
+       * build system: Improved detection of several libraries, especially if
+         they are in non-standard paths.
+       * build system: Portability fixes: Automatically define "_REENTRANT"
+         if the libc expects it.
+       * collectd: Error and warning messages have been improved.
+       * collectd: Check for the BYTE_ORDER and BIG_ENDIAN defines before
+         using them.
+       * apache plugin: Allocate new memory when reading a webpage instead of
+         using a buffer of static size.
+       * exec plugin: Close (almost) all filedescriptors before exec(2)ing
+         the program.
+       * hddtemp plugin: Error and warning messages have been improved.
+       * sensors plugin: Fix sensor collection for some chip types.
+
 2008-03-29, Version 4.2.6
        * collectd: Improved error messages when parsing the configuration.
        * sensors plugin: Fix temperature collection with libsensors4.
 2008-03-29, Version 4.2.6
        * collectd: Improved error messages when parsing the configuration.
        * sensors plugin: Fix temperature collection with libsensors4.
          the data into text files rather than RRD files.
 
 2006-04-09, Version 3.8.4
          the data into text files rather than RRD files.
 
 2006-04-09, Version 3.8.4
-       * Applied patch by Vincent Stehlé which improves the disk-name
+       * Applied patch by Vincent Stehlé which improves the disk-name
          resolution in the `hddtemp' plugin for Linux systems.
 
 2006-04-02, Version 3.8.3
          resolution in the `hddtemp' plugin for Linux systems.
 
 2006-04-02, Version 3.8.3
 
 2005-10-16, Version 3.1.0 (Revision 194)
        * Added the `setsid' syscall to the startup code.
 
 2005-10-16, Version 3.1.0 (Revision 194)
        * Added the `setsid' syscall to the startup code.
-       * Support for hddtemp has been added (thanks to Vincent Stehlé)
+       * Support for hddtemp has been added (thanks to Vincent Stehlé)
 
 2005-09-30, Version 3.0.0 (Revision 184)
        * The ability to send/receive data to/from the network (think
 
 2005-09-30, Version 3.0.0 (Revision 184)
        * The ability to send/receive data to/from the network (think