Merge branch 'collectd-4.4' into collectd-4.5
[collectd.git] / ChangeLog
index 6797096..74a06cb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,215 @@
-yyyy-mm-dd, Version 4.3.0
+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.
+
+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 bounce 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.
+       * collectd: Fix handling of missing values in the global value cache.
+       * collectd: Improved error messages when parsing the configuration.
+       * sensors plugin: Fix temperature collection with libsensors4.
+       * unixsock plugin: Fix mixed input and output operation on streams.
+       * wireless plugin: Fix reading noise value.
+
+2008-03-05, Version 4.3.1
+       * exec plugin: Set supplementary group IDs.
+       * network plugin:
+         + Use `memcpy' when constructing/parsing a package to avoid
+           alignment problems on weird architectures, such as Sparc.
+         + Translate doubles to/from the x86 byte representation to ensure
+           cross-platform compatibility.
+       * ping plugin: Correct the handling of the `TTL' setting.
+       * swap plugin: Reapply a patch for Solaris.
+       * tcpconns plugin: Portability improvements.
+
+2008-02-18, Version 4.3.0
        * collectd: Notifications have been added to the daemon. Notifications
-         are status messages that may be associated with an data instance.
+         are status messages that may be associated with a data instance.
        * collectd: Threshold checking has been added to the daemon. This
          means that you can configure threshold values for each data
          instance. If this threshold is exceeded a notification will be
@@ -11,18 +220,24 @@ yyyy-mm-dd, Version 4.3.0
        * collectd: Support for more than one `TypesDB' file has been added.
          This is useful when one such file is included in a package but one
          wants to add custom type definitions.
+       * collectd: The `Include' config option has been expanded to handle
+         entire directories and shell wildcards.
        * collectdmon: The new `collectdmon' binary detects when collectd
          terminates and automatically restarts it again.
        * csv plugin: The CSV plugin is now able to store counter values as a
          rate, using the `StoreRates' configuration option.
-       * exec plugin: Handling of notifications has been added and a special
-         executable type for Nagios plugins has been implemented. Also, the
+       * exec plugin: Handling of notifications has been added and the
          ability to pass arguments to the executed programs has been added.
+       * hddtemp plugin: The new `TranslateDevicename' option lets you
+         disable the translation from device names to major-minor-numbers.
        * logfile plugin: Handling of notifications has been added.
        * ntpd plugin: The new `ReverseLookups' can be used to disable reverse
          domain name lookups in this plugin.
-       * perl plugin: The thread handling and API have been improved. The
-         plugin is no longer experimental.
+       * perl plugin: Many internal changes added support for handling multiple
+         threads making the plugin reasonably usable inside collectd. The API has
+         been extended to support notifications and export global variables to
+         Perl plugins; callbacks now have to be identified by name rather than a
+         pointer to a subroutine. The plugin is no longer experimental.
        * uuid plugin: The new UUID plugin sets the hostname to an unique
          identifier for this host. This is meant for setups where each client
          may migrate to another physical host, possibly going through one or
@@ -33,6 +248,44 @@ yyyy-mm-dd, Version 4.3.0
          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.
+       * unixsock plugin: Fix mixed input and output operation on streams.
+       * wireless plugin: Fix reading noise value.
+
+2008-03-04, Version 4.2.5
+       * apache plugin: Improved initialization and error messages.
+       * exec plugin: Set supplementary group IDs.
+       * network plugin:
+         + Create separate threads for reading from the socket and parsing
+           and dispatching incoming packets. Versions prior to this may have
+           problems in high-load situations, where the socket receive buffers
+           overflows, resulting in gaps in the data.
+         + Use `memcpy' when constructing/parsing a package to avoid
+           alignment problems on weird architectures, such as Sparc.
+         + Translate doubles to/from the x86 byte representation to ensure
+           cross-platform compatibility.
+       * ping plugin: Correct the handling of the `TTL' setting.
+       * rrdtool plugin: Ensure correct handling of the `RRATimespan' option.
+       * swap plugin: Reapply a patch for Solaris.
+       * tcpconns plugin: Portability improvements.
+
 2008-01-21, Version 4.2.4
        * unixsock plugin: A bug in the unixsock plugin caused it not to set
          the permission on the socket as documented in the manpage. Thanks to
@@ -90,7 +343,7 @@ yyyy-mm-dd, Version 4.3.0
        * collectd: The documentation has been improved.
 
 2007-12-27, Version 4.1.5
-       * rrdtool plugin: Fix a memory leak that only occured in very-low-
+       * rrdtool plugin: Fix a memory leak that only occurred in very-low-
          memory situations.
        * sensors plugin: Updated the plugin to build and work with version 3
          of the libsensors library.
@@ -422,7 +675,7 @@ yyyy-mm-dd, Version 4.3.0
          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
@@ -534,7 +787,7 @@ yyyy-mm-dd, Version 4.3.0
 
 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