Code

control: Updated standards-version to 3.9.5 -- no changes.
[pkg-rrdtool.git] / CHANGES
diff --git a/CHANGES b/CHANGES
index d18c59fea54b9564cf51dd0b49555c121997d16b..d4c6fd1efdd33e6ad185036c7bbbe5f2feaea62c 100644 (file)
--- a/CHANGES
+++ b/CHANGES
+RRDtool 1.4.8 - 2012-05-23
+==========================
+
+Highlights
+----------
+
+* rrd_graph now uses a map to lookup variable names causing graphs with many
+  items to be drawn magnitudes faster as the linear search of the variable
+  tables is gone now.
+
+* the optional argument :skipscale allows for a LINE or AREA instruction to be
+  excluded from having an effect on the scaling of the graph
+
+* TRENDNAN is now working properly and als not crashing anymore
+
+* Added a no-op string positioning combo "\." this allows to write
+  COMMENT:OS\2\. which would otherwise not be possible.
+
+* JSON output of xport is now actually json compilant by its keys
+  being properly quoted now.
+
+* The label positioner in rrd_graph is now properly ignoring the current
+  state of DST.
+
+* fixes and enhancements for Python, Ruby, TCL and Perl bindings
+
+* improved error reporting in rrd_graph
+
+* portability and cross compilation
+
+* code and bugtracker moved to https://github.com/oetiker/rrdtool-1.x
+
+Detail
+------
+
+* commit 3bbe02f924ec0e0342c5c728ee93a52e2ae1104f
+| Author: Trevor Bowen <trevor.bowen@adtran.com>
+| Date:   Mon May 13 16:47:29 2013 -0500
+| 
+|     Fixed failed IEEE check for cross-compile support.
+|  
+* commit 2948dde97fa8cef4f6c72e345601de566fc28e23
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Tue Apr 30 11:28:20 2013 +0200
+| 
+|     backport of the (C)DEF hash patch to accelerate processing of large (+100 statements) graph instructions.
+|  
+* commit fd4cfab7f2a05950b15292bacd8a00251fdaa1e4
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Tue Mar 19 07:17:23 2013 +0100
+| 
+|     fixed overflow probem with partial matching
+|  
+* commit a1768b2580bdd4451be66928e8bfc32a82c9ada9
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Sat Mar 16 18:09:38 2013 +0100
+| 
+|     raise an error if part of an CDEF is unparsable
+|  
+* commit f860a1c88ad1eb2d46b69c9b5fe9f357d2f9d28e
+| Author: Nick <nick@example.com>
+| Date:   Sat Feb 9 18:46:40 2013 +0000
+| 
+|     Added check for graph timespan overflowing if time_t is 32 bits.
+|       
+* commit 14eca7ff5e5f63e50274a2dc712b43f36d06d18e
+| Author: Nick <nick@example.com>
+| Date:   Sat Feb 9 16:38:17 2013 +0000
+| 
+|     Fixed overflow bug.
+|  
+* commit a234579cdf7eb99b3c93a4463dcf82b50f709785
+| Author: Max Khon <fjoe@samodelkin.net>
+| Date:   Wed Dec 12 13:48:23 2012 +0700
+| 
+|     Fix build when glib is in non-standard location (e.g. /opt).
+|  
+* commit 8b3d3f161169733cd46dc1d29293265d0a045a02
+| Author: Olivier Doucet <webmaster@ajeux.com>
+| Date:   Wed Jan 9 15:52:44 2013 +0100
+| 
+|     Updated rrdgraph_libdbi doc about MySQL performance issues
+|  
+* commit db4fe1aaf420d0f636c8bed37f7f7bc166a51016
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Mon Nov 19 09:17:55 2012 +0100
+| 
+|     fixed regression from renaming skipscale
+|  
+* commit 774e1aec924a48a6299033adc173387e104827bc
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Mon Nov 19 09:09:15 2012 +0100
+| 
+|     properly fix handling of time_t size in rrd_restore
+|  
+* commit 1591fffceb3878b785c358e4d8d884f6ebe707ba
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Wed Nov 14 17:48:32 2012 +0100
+| 
+|     use skipscale everywhere and not SKIPSCALE
+|  
+* commit cab7c3817687772ecd816a220703d04ce4d92a22
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Wed Nov 14 14:19:44 2012 +0100
+| 
+|     Normally the graphing function makes sure that the entire LINE or AREA
+|     is visible in the chart. The scaling of the chart will be modified
+|     accordingly if necessary. Any LINE or AREA can be excluded from this
+|     process by adding the option SKIPSCALE.
+|     
+|      LINE:x#f00::SKIPSCALE
+|  
+* commit 4c583ec30a4d7b37e49f930d5fe4d6afc9b81ccd
+| Author: Antony Dovgal <antony.dovgal@gmail.com>
+| Date:   Tue Nov 13 15:57:49 2012 +0100
+| 
+|     fix for first day of the week detection logic
+|    
+*   commit 6259d3ec4db96daa4839edcae0537ddedac58b12
+|\  Merge: f6d786d 743e34f
+| | Author: Tobias Oetiker <tobi@oetiker.ch>
+| | Date:   Sat Nov 10 17:49:20 2012 +0100
+| | 
+| |     Merge branch '1.4' of github.com:oetiker/rrdtool-1.x into 1.4
+| |     
+| *   commit 743e34f5d66ea41698ff2f499283de532137408b
+| |\  Merge: 57a8491 ec0f5d3
+| | | Author: Tobias Oetiker <tobi@oetiker.ch>
+| | | Date:   Fri Oct 19 13:47:25 2012 -0700
+| | | 
+| | |     Merge pull request #352 from tokkee/sh/build-issues
+| | |     
+| | |     ruby bindings: Fixed a few build issues.
+| | |    
+| | * commit ec0f5d31bb77f72dca926ca5f44ceec115a84226
+| | | Author: Sebastian Harl <sh@teamix.net>
+| | | Date:   Fri Oct 19 19:12:31 2012 +0200
+| | | 
+| | |     ruby/main: Fixed "format not a string literal and no format arguments" errors.
+| | |     
+| | |     These kind of errors are reported by current versions of GCC.
+| | |    
+| | * commit 3fef26354ee9c257a433f7296f73c760f96ccc15
+| |/  Author: Sebastian Harl <sh@teamix.net>
+| |   Date:   Fri Oct 19 19:11:30 2012 +0200
+| |   
+| |       ruby bindings: Fixed a miss-placed cast.
+| |   
+* | commit f6d786d9146d45234c32999adae6ae7286ea8701
+| | Author: Tobias Oetiker <tobi@oetiker.ch>
+| | Date:   Sat Nov 10 17:47:28 2012 +0100
+| | 
+| |     do not die when failing to add link
+| |   
+* | commit 8381c9b92283b576929a7317f982a23d0b3254f3
+|/  Author: Tobias Oetiker <tobi@oetiker.ch>
+|   Date:   Sat Nov 10 17:46:44 2012 +0100
+|   
+|       fix trendnan variable access
+|  
+* commit 57a84914e0bc7725ba1741e1a399153c8e44d407
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Tue Sep 11 14:33:08 2012 +0200
+| 
+|     add git notes
+|  
+* commit 35c423dff643bc4d9dcd2e259d4cbfe5c564b871
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Mon Sep 3 13:39:29 2012 +0000
+| 
+|     fix off by 1 error
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2305 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit 859873eaed82f0e1ab79e15cbd8db45659340ad0
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Wed Aug 22 09:57:33 2012 +0000
+| 
+|     fixed pango markup link
+|     
+|     
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2304 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit 4f18e03460e91cf6ec433a43d355d77cec364eb2
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Tue Aug 14 09:23:11 2012 +0000
+| 
+|     remove a bunch of variables which were set but never used as pointed out by gcc
+|     
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2303 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit d8b366750ef91e7f49ec1e826e91276c4a91110a
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Tue Aug 14 09:22:19 2012 +0000
+| 
+|     fix locations for installing the sample programs to make automake happy
+|     
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2302 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit 55231968de6715004cd821630d5737696566a148
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Mon Aug 13 14:04:15 2012 +0000
+| 
+|     integrate rrdinfo and rrdcreate into the rrdupdate binary - Sven-Göran Bergh
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2300 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit 9684a2680d57cd22434f8b226e3b6afab4f72bff
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Sun Aug 12 20:49:17 2012 +0000
+| 
+|     openbsd does not know EPROTO it seems
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2298 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit 6698fd7b3324f9887d8f5f920a8d18aad870b113
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Sun Aug 12 14:37:31 2012 +0000
+| 
+|     complete segfault fix for second axis %s format begun in r2123 (thanks Martin Pelikan for the hint)
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2297 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit 2f88a17bbe097d3ebf7ff17b57a9111a1bd4e0bb
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Tue Jul 31 12:43:45 2012 +0000
+| 
+|     RRDs.xs uses &PL_sv_undef to insert undefined values into arrays and hashes. This leads to all sorts of problems. For details, please see "AVs, HVs and undefined values" section in perlguts(1). -- patch by tobez+lars
+|     
+|     
+|     
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2296 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit afdc69a5a631fb7d2a18b2a82c8f0c3c4a439ba7
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Sat Jul 28 13:54:59 2012 +0000
+| 
+|     support for the xport command -- Jimmy Ngo
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2294 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit 17be83c4cb0ff16ec7020e97556dd662b8fba52c
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Mon May 7 07:31:28 2012 +0000
+| 
+|     fix warning: "__STRICT_ANSI__" is not defined warning patch by Gilles Esp
+|     
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2288 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit 37fd3455ee4517e80c4213b3407cb4871a4d2967
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Tue Apr 10 10:12:28 2012 +0000
+| 
+|     make sure the grid and label positioner does NOT take the dst state of the current time into account.
+|     
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2286 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit 649d79623f5170f3eab4a397a674600791dc57d4
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Mon Mar 12 10:47:21 2012 +0000
+| 
+|     fix rrdcached crash as reported in debian bug #663505 -- Witold Baryluk
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2285 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit f124f8b045a70c3859f67bd6b0745078c641514c
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Thu Mar 8 07:46:04 2012 +0000
+| 
+|     if the perl bindings are to be installed together with rrdtool, make sure INSTALL_BASE does not confuse things. Inspired by Mike Schilli.
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2284 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit ba19ea752c9d4bc364356ca768a2896cd1c3857d
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Mon Mar 5 16:49:01 2012 +0000
+| 
+|     fix flush race in rrdcached -- Christian Hitz
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2282 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit 9675fcbe69b95e527a9327e9fbe4ff86217af5f8
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Wed Feb 22 22:11:18 2012 +0000
+| 
+|     json requires keys to be proper strings and thus quoted ...
+|     
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2276 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit 2e8bfaf37b374e7c3814d42febe51f04da916710
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Thu Feb 2 15:39:54 2012 +0000
+| 
+|     remove duplicate code in rrd_open -- Richard Laager
+|     
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2271 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit 6618a475c42b0ec966d71f76b786bc4a871060ba
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Thu Feb 2 15:38:44 2012 +0000
+| 
+|     use  posix_fallocate when initialiying rrd files ... instead of filling them with yero explicitly -- Richard Laager
+|     
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2270 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit 2cbb285c19ec369db5eb1dcf584b09a1bd691ab6
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Thu Feb 2 15:35:24 2012 +0000
+| 
+|     fix for tcl bindings ... -- George Ross
+|     
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2269 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit c8ba4b3fd7e8815f615adcdc0dd52aabd9fed1cd
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Tue Jan 24 10:08:48 2012 +0000
+| 
+|     prepare for the release of rrdtool-1.4.7
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2267 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit aa25939a8aed3c86d5c4953b84140d916991b6d4
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Tue Jan 24 08:20:45 2012 +0000
+| 
+|     regression fix for r2265
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2266 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit c30daf7e738d6d17087a77eb99c19686107f8a8e
+| Author: Tobias Oetiker <tobi@oetiker.ch>
+| Date:   Tue Jan 24 08:18:37 2012 +0000
+| 
+|     test for tm.tm_gmtoff presence in configure.ac fix for #330
+|     
+|     git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2265 a5681a0c-68f1-0310-ab6d-d61299d08faa
+|  
+* commit eb7b462e9a6373653bd9b844a76245b8b100ebfa
+  Author: Tobias Oetiker <tobi@oetiker.ch>
+  Date:   Tue Jan 24 07:38:31 2012 +0000
+  
+      check in /usr/lib64 for tclConfig.sh too
+      
+      git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4/program@2264 a5681a0c-68f1-0310-ab6d-d61299d08faa
+
+RRDtool 1.4.7 - 2012-01-24
+==========================
+Bugfixes:
+
+* test for tm.tm_gmtoff presence in configure.ac fix for #330 (libdbi
+  compiles on solaris should now work too)
+
+* check in /usr/lib64 for tclConfig.sh too
+
+* fix shared library version number (regression from 1.4.6)
+
+* be clearer as to what VDEF LAST/FIRST do.
+
+* remove perl 5.004 compatibility hack and make RRDs compile with newer
+  perls.
+
+New Functionality:
+
+* added a nop control for string formating, so that strings ending in /x are
+  possible by entering \x\. fix for #331
+
+* added support for rrdgraph to use the yotta, zetta, zepto, yocto prefixes.
+  Fix for #333 (thanks Christoph)
+
+RRDtool 1.4.6 - 2012-01-16
+==========================
+Enhancements:
+ * Added --json option to xport with inspiration from Erik Kastner and
+   Michael Markstaller -- Tobi
+
+ * updated win32 port -- Larry Adams and the cacti team
+
+ * configure option to disable building rrd_graph: --disable-rrd_graph
+   With support from Ulf Zimmermann (OpenLane)
+
+Bugfixes:
+ * fixed segfault in rrdtool (xport, fetch, graph) when handling
+   error conditions. -- James Brown
+ * improve compilation robustness in finding pic flags
+ * fix warnings in ruby bindings
+ * fix horizontal alignment of AREAS and LINES in graph output
+ * improved grid-fitting in graph output
+ * simplified configure tests for libwrap and libdbi
+ * rpn compare operators CAN return unknown ... (#293)
+ * do not require gettext 0.18 (0.17 is sufficient)
+ * improved rpm spec file -- Bernard Li
+ * fix glib dependency for --disable-rrd_graph and update library versions
+   (#323)
+ * fix uninitialized variable in rrd_graph (#322)
+ * fix issues with logarithmic charts (#296) -- Christoph Biedl
+ * improved data reduction algorithm in graph: after fetching, data must be
+   reduced to at least chart resolution, else some data will not get plotted.
+   fix for #298
+ * properly handle the case where RRDCACHED_ADDRESS is an empty string
+ * the number of COMPUTE rpn nodes is architecture dependent. calculate the
+   right number and complain otherwise. Fix for #300.
+ * make rrd_mkdir_p work on bsd* Unixes too ... their dirname call works
+   differently ... #305 
+ * allow to restore XML files with zero row rras ... this is a degenerated
+   case that does not occur in the wild, as rrdtool prevents the creation
+   of such rrd files. But rrdtool restore 1.3 did allows to create them via
+   restore.  Now this is possible again. #310.
+ * the first TREND* value can be calculated earlier ... -- fredrick (#312)
+ * actually link with LIBINTL if we got it ... should make solaris happy
+ * dbi_result_get_datetime_idx() return timestamp in UTC, but time axis on
+   graph supposed to be in local time. #321
+ * fix ruby binding for rrd_xport #318
+ * free step_list on error. fix for #317
+ * fix buffer overflow for LONG lines in journal handling code for update
+   requests. #316
+ * fix alignment of centered items ... title and footer
+ * fix for the header size problem and its effects on rrd_resize
+ * refuse to build if troff and nroff are not around #302
+ * plug memory leak in lua bindings #301
+ * improve cross compiling -- Michael Olbrich
+ * fix rrd_create behaviour when mmapping on a full filesystem by actually
+   'filling' the file with zero. -- Francois-Xavier Bourlet
+ * with libwrap use 'rrdcached' as the name of our daemon and not just
+   rrdcache
+ * bring spacing around graph back in line with 1.2 goodness ... in
+   connection with no-legend and no title
+ * do not mistake "sqlxxabc.rrd" for a libdbi specification -- Peter Stamfest
+ * if rrd_cgi fails to parse stuff, do NOT try to fix up the mess ... it is bound to fail
+ * update timestamp continuity checks in rrd_cached ... allow sub-second
+   precision
+ * fix double free in rrd_resize
+ * do not close the file handle to the resize file of there was a problem
+   getting it in the first place.
+
+
+RRDtool 1.4.5 - 2010-12-26
+==========================
+Bugfixes:
+ * rrdcached: print \n at the end of log messages when running rrdcached in the
+   foreground -- Bernard Li
+ * rrdcached: Let the -s, -m and -P options affect the default socket as
+   well -- Sebastian Harl
+ * rrdgraph: font related memory leaks fixed #208 -- tobi
+ * rrdgraph-libdbi: print error message instead of dumping core on sql
+   problem -- Pavel Nikiforov
+ * rrdgraph-libdbi: properly allocated response buffer -- Pavel Nikiforov
+ * rrdtool: in remote mode, make argument count for remote commands strict
+   -- Dave Peticolas
+ * rrdgraph: fix problems with second %s in right-axis format -- tobi
+ * compilation: works on MSVC2008 now -- jkane mail.com
+ * everywhere: fix locale handling. locales were not properly reset after
+   calling set locale -- tobi
+ * rrd_cgi: windows compilation fix --  jkane mail.com
+ * rrdgraph: fix use of %s in strftime (G)PRINT commands #277 -- tobi
+ * ruby: fix bindings to be compatible with current ruby implementations #279
+ * rrdcached: Ensure that response_read() always calls fflush() or fclose() #278
+   -- kevin brintnall
+ * rrd_client: free addrinfo list after use ... -- Christian Magnusson
+ * rrdupdate: follow the normal code path for exiting rrd_update if there is a problem
+   with rrdc, plugging a memory leak on the way --  Christian Magnusson
+ * rrdgraph: make sure we do not try to draw points all that far outside the
+   drawing area since some versions of cairo seem to go unstable when this
+   happens. -- Peter Stamfest
+ * rrdgraph: fix an endles loop near 2^31 timestamp (32bit platform problem)
+   -- Peter Stamfest
+ * compilation: AIX does not like MAP_PRIVATE and -lW in LDFLAGS #216 -- tobi
+ * compliation: add extra space in LDFLAGS #284 -- dam at opencsw
+ * rrdcached:  Fix permissions of the default socket -- Florian Forster
+ * rrdgraph-libdbi: Fix sigma calculation --  Hans Jørgen Jakobsen
+ * rrdcreate: better checks for RRA arguments
+ * configure: make configure recognize tcl-site argument (#281)
+ * rrdgraph: if there is no right label, do not reserve any space for it --tobi
+Enhancements:
+ * rrdcached: add hosts_access support added -- Shaun Reitan
+ * rrdfetch/graph: introduce "epoch" as a new base time reference, meaning
+   timestamp 0: you can now write epoch+11111111s or epoch+19711205s
+   -- Peter Stamfest
+
+
+RRDtool 1.4.4 - 2010-07-05
+==========================
+Bugfixes:
+
+  * compile: multiple fixes isnan and isinf defines to make rrdtool compile
+    with gcc on solaris (with --disable-nls) -- Tobi
+  * handle gettext/libintl like any other feature, do not try to supply
+    our own ... rrdtool can work fine without it -- tobi
+  * rrd_client: fix potential segfaults -- Florian Forster
+  * rrd_client: resolve synmlinks properly -- Kevin Brintnall
+  * compile: fix libtool and libtoolize names for OSX compiles -- Antoine Musso
+  * compile: fix for HAVE_BROKEN_MS_ASYNC (old linux kernels)
+  * rrd_xport: fix --daemon handling
+  * rrd_client: explicitly close connection on error -- Thorsten von Eicken  
+  * rrd_update: fix memory leak for COMPUTE datasources -- Frederik Kriewitz
+  * rrd_daemon: fix segfault when specifying a relative path (-j option)  -- Adrian-Ioan Vasile
+  * compile: make rrdtool compile with gcc 4.5 -- anicka@suse.cz
+  * portability: use %lld (long long int) for time_t *printf
+  * compile: link pangocairo and not pango since we do use pangocairo actually -- Stephen S. Disbrow
+  * compile: re-integrate intl into compile dependency so that hosts with
+    old (or no) gettext can get access to the included copy.
+  * rrd_cached: exit with status !=0 on invalid cli -- Sebastian Harl
+    
+Enhancements:
+
+  * updated build files and instructions for win32 port by Chris Larsen
+  * legal: Relicense the RRDCacheD client interface under the MIT license -- Florian Forster  
+  * legal: Updted FLOSS Exception for latest PHP license
+  * rrd_cached: better help output -- Sebastian Harl
+  
+------------------------------------------------------------------------
+RRDtool 1.4.3 - 2010-03-22
+==========================
+New Features
+
+* rrdcached: Log to stderr (in addition to syslog) when running in foreground.
+  -- Sebastian Harl
+
+* rrdcached: Added -m command line option. This option may be used to specify
+  the file permissions of a UNIX socket. The option affects the following
+  sockets only, i.e., it's possible to specify different modes for different
+  sockets. -- Sebastian Harl
+
+* rrdcached: Added -s option so set group permissions of the UNIX domain
+  socket. Obviously this will only work if rrdcached is running as root which in
+  my case it has to be (as upstart can't currently monitor non-root
+  daemons). As you may have RRD data sources (data loggers) and RRD
+  consumers (e.g. CGI scripts) that both need to talk to the cache
+  daemon one solution is to set the group permissions of the socket.
+
+  This offer some flexibility over trying to get every RRD user/daemon
+  running under the same user context. -- Alex Bennee  ajb pitcairn.cambridgebroadband.com
+
+* rrdcached: Let -s affect the following sockets only. This way, it's possible
+  to specify different groups for different sockets. -- Sebastian Harl
+
+* rrd_create: added --no-overwrite option. It prevents rrdtool from
+  clobbering existing rrd files. -- Chris - LINX
+
+* ruby bindings: rb_rrd_xport function  -- Pavel Pachkovskij pavel.pachkovskij azati.com
+
+* use locale settings and _NL_TIME_WEEK_1STDAY to determine the first
+  day of the week. Works on Linux at least -- Tobi Oetiker
+
+* rrd_graph: \u to backup one line for special legend placement tricks 
+  -- tobi oetiker
+
+* rrd_update: new (better) checker for incoming COUNTER or DERIVED data. -- Florian
+
+Bug Fixes
+
+* rrdcached: Do not put any code in assert(). -- Sebastian Harl
+
+* add 'm' as a shortcut for 'zoom' in rrd_graph as it was in 1.3 
+  -- Sebastian Harl
+  
+* rrd_update: fix for max calculation ... the MAX value of the current
+  consolidation interval was pre-initialized with the MAX value from the
+  previous interval (an over optimization). -- Tobi Oetiker
+
+* build: additional dependencies on Makefile to make sure bindings makefiles
+  get rebuild after reconfig -- Tobi Oetiker
+
+* ruby bindings: reset rrd_state for grapv in ruby bindings -- Sven Engelhardt
+
+* rrd_cgi: make sure that (argv-1)[0] points to something sensible ... 
+  hack to undo the damage caused by a senseless optimization. see bug #251
+  -- tobi oetiker
+
+* rrd_graph: fix right aligned text -- tobi oetiker
+
+* python bindings: pass DESTDIR to setup.py as --root=<DESTDIR> iff a DESTDIR
+  was given. --- Bernhard Reutner-Fischer
+
+* rrd_graph: backward compatibility fix - only draw the new type of marker
+  in the graph legend when called with --dynamic-labels -- tobi oetiker
+
+* rrd_restore: portability fix - sizeof(time_t) is 4 byte not 32 bit -- tobi oetiker
+
+* rrd_xport: The end of the export range should not be adjusted DOWN but UP to hit the
+  next matching step interval or the response will be one row short. -- tobi oetiker
+
+* rrd_graph: the end time itself is not part of a time range ... this fixes the segfault
+  reported in #248 -- tobi oetiker
+
+* rrd_restore: teach rrd_restore to be able to read the #text value of <a></a> ... this
+  fixes problems with blank last_ds entries ... as reported in #247. -- tobi oetiker
+
+* rrd_update: be more diligent in checking the input arguments for rrdtool  update and
+  complain if they are wrong. fix for #243 (and more) -- tobi oetiker
+
+----- Older Changelog --------------------
+
+2009-11-15 11:54  oetiker
+
+       * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm,
+         configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c,
+         src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c,
+         src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c,
+         src/rrd_first.c, src/rrd_format.c, src/rrd_format.h,
+         src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c,
+         src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c,
+         src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c,
+         src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c,
+         src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h,
+         src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c,
+         src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c,
+         src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h,
+         src/rrdupdate.c: prepare for the release of rrdtool-1.4.2
+
+2009-11-15 11:53  oetiker
+
+       * doc/librrd.pod, doc/rrdcached.pod: fix pod syntax
+
+2009-11-15 10:51  oetiker
+
+       * branches/1.3/program/src/rrd_tool.c, src/rrd_tool.c: Switch
+         LC_NUMERIC to C prior to creating rrd_xport output. This makes
+         sure that numbers are always output with a . and not with a ,
+
+2009-10-30 22:49  oetiker
+
+       * src/rrd_daemon.c: clarify rrd_daemon code with JOURNAL_REPLAY
+         macro -- kevin
+
+2009-10-28 05:15  oetiker
+
+       * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm,
+         doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c, src/rrd.h,
+         src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c,
+         src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c,
+         src/rrd_first.c, src/rrd_format.c, src/rrd_format.h,
+         src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c,
+         src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c,
+         src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c,
+         src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c,
+         src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h,
+         src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c,
+         src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c,
+         src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h,
+         src/rrdupdate.c: prepare for the release of rrdtool-1.4.1
+
+2009-10-28 05:15  oetiker
+
+       * configure.ac: updated versions to account for rrd cached fix
+
+2009-10-28 05:14  oetiker
+
+       * src/rrd_daemon.c: Avoid unnecessary string handling for UPDATE
+         commands in rrd_deaemon for 20x speed increasse. Only copy as many
+         bytes as necessary. During journal replay, avoid unnecessary copy
+         (string is discarded). Bug reported by Thorsten von Eicken Patched
+         by kevin brintnall
+
+2009-10-27 21:44  oetiker
+
+       * src/rrd_tool.c: we have 2009 now
+
+2009-10-27 21:40  oetiker
+
+       * NEWS: added links to documentation
+
+2009-10-27 17:55  oetiker
+
+       * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm,
+         configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c,
+         src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c,
+         src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c,
+         src/rrd_first.c, src/rrd_format.c, src/rrd_format.h,
+         src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c,
+         src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c,
+         src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c,
+         src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c,
+         src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h,
+         src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c,
+         src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c,
+         src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h,
+         src/rrdupdate.c: set version to 1.4.0 for all files
+
+2009-10-27 17:51  oetiker
+
+       * rrdtool-1.3-release, rrdtool-1.4-release: create build script for
+         1.4 release
+
+2009-10-27 17:49  oetiker
+
+       * Makefile.am, configure.ac, src/rrd_client.c, src/rrd_graph.h,
+         src/rrd_restore.c: * remove intl from build process ... someone
+         who does actually need it should fix this ... * make the code work
+         on solaris 10 (tested on opencsw server farm. thanks!)
+
+2009-10-27 17:04  oetiker
+
+       * src/rrd_client.c, src/rrd_graph.h, src/rrd_restore.c: more solaris
+         10 portability changes ....
+
+2009-10-27 16:18  oetiker
+
+       * configure.ac, src/rrd_dump.c, src/rrd_graph.c, src/rrd_restore.c,
+         src/rrd_tool.c: remove HAVE_LOCALE_H and HAVE_TIME_H and
+         HAVE_SETLOCALE since they have not been used consistantly anyway
+
+2009-10-27 16:12  oetiker
+
+       * configure.ac: if we use HAVE_TIME_H we should have a check for
+         this in configure ...
+
+2009-10-27 13:57  oetiker
+
+       * NEWS: updated for 1.4 release
+
+2009-10-27 13:54  oetiker
+
+       * src/rrd_graph.c: simplify rrd_graph LC_NUMERIC fix so that all
+         call paramters are affected by it.
+
+2009-10-27 13:13  oetiker
+
+       * doc/rrdgraph.pod, src/rrd_graph.c: allow the grid on:off pattern
+         to be configured
+
+2009-10-27 13:07  oetiker
+
+       * src/rrd_restore.c: needs locale.h to compile
+
+2009-10-23 15:58  oetiker
+
+       * configure.ac, src: optional software is expected to live in /opt,
+         so lets follow this custom ... /usr/local is really old school.
+
+2009-10-22 23:22  oetiker
+
+       * src/rrd_tool.c: fix memory handling when argument separation in
+         pipe mode fails. fix for #230
+
+2009-10-20 19:23  oetiker
+
+       * src/rrd_restore.c: set locale to C while restoring
+
+2009-10-15 08:42  oetiker
+
+       * doc/rrdtutorial.pod: another typo fixed by Justin T Pryzby
+
+2009-10-15 04:47  oetiker
+
+       * src/Makefile.am: Removed left-over occurrence of LIB_LIBINTL --
+         sebastian
+
+2009-10-14 08:04  oetiker
+
+       * bindings/perl-piped/RRDp.pm, doc/rpntutorial.pod,
+         doc/rrd-beginners.pod, doc/rrdbuild.pod, doc/rrdcached.pod,
+         doc/rrdcreate.pod, doc/rrddump.pod, doc/rrdflushcached.pod,
+         doc/rrdgraph-old.pod, doc/rrdgraph.pod, doc/rrdgraph_data.pod,
+         doc/rrdgraph_graph.pod, doc/rrdgraph_libdbi.pod,
+         doc/rrdgraph_rpn.pod, doc/rrdpython.pod, doc/rrdruby.pod,
+         doc/rrdtool.pod, doc/rrdtutorial.pod: Fixed various typos in the
+         manpages. Debian bug #550919. -- Justin T. Pryzby
+
+2009-10-11 16:00  oetiker
+
+       * src/rrd_client.c, src/rrd_client.h: load rrd_config.h before
+         rrd_client.h since its content is expected to be present --
+         Florian Forster
+
+2009-10-04 21:16  oetiker
+
+       * src/rrd_flushcached.c: Fix potential memory leak in
+         rrd_flushcached during failure. -- kevin
+
+2009-10-04 12:18  oetiker
+
+       * CONTRIBUTORS: sebastian was missing from the contributors list
+
+2009-10-04 12:00  oetiker
+
+       * src/rrd_graph.c: Do not mess with the locale settings. The main
+         program takes care of that (rrd_tool.c calls setlocale(LC_ALL,"")
+         already. We do call setlocale on LC_NUMERIC a few times to get
+         predictable number formats when parsing strings into floats, but
+         apart from that the code is written in a portable manner and can
+         take whatever the local system supports.
+
+2009-10-04 11:48  oetiker
+
+       * src/rrd_tool.c: * comment on the reson for calling setlocale * to
+         not force the message encoding ... messages should be encoded in
+         the current locale
+
+2009-10-04 11:37  oetiker
+
+       * src/rrd_client.c, src/rrd_daemon.c: rrd_client, rrd_daemon: Do not
+         require hostnames to contain a dot. Non-FQDN (e.g. "localhost")
+         are now supported as well. Anything that does not start with '['
+         should be (and is now) treated as <name>[:<port>]. -- Sebastian
+         Harl
+
+2009-10-04 11:36  oetiker
+
+       * src/rrd_client.c: rrd_client: Improved error handling / reporting.
+         * Report getaddrinfo() errors using gai_strerror(). * Replaced
+         "Internal error" with a more verbose error message, if available.
+         -- Sebastian Harl
+
+2009-10-04 11:35  oetiker
+
+       * src/rrd_client.c: rrd_client: Do not rewrite path names when
+         accessing remote daemons. When talking to a local daemon (thru a
+         UNIX socket), relative path names are resolved to absolute path
+         names to allow for transparent integration into existing solutions
+         (as requested by Tobi). However, when talking to a remote daemon,
+         absolute path names are not allowed, since path name translation
+         is done by the server (relative to the base directory). --
+         Sebastian Harl
+
+2009-10-04 11:34  oetiker
+
+       * src/rrd_flushcached.c: rrdflushcached: Do not free 'opt_daemon'
+         before checking the connection. -- Sebastian Harl
+
+2009-10-04 11:33  oetiker
+
+       * src/rrd_fetch.c: rrdfetch: Print a usage summary if not enough
+         parameters have been given. -- Sebastian Harl
+
+2009-10-04 11:32  oetiker
+
+       * src/rrd_daemon.c: rrdcached: Handle journal replay in
+         socket_permission_check(). -- Sebastian Harl
+
+2009-10-04 11:30  oetiker
+
+       * src/rrd_daemon.c: rrdcached: Create the base directory on startup.
+         -- Sebastian Harl
+
+2009-10-04 11:29  oetiker
+
+       * src/rrd_daemon.c: rrdcached: Improved the "base-dir symlink
+         check". The daemon checks if the specified base directory contains
+         symlinks by comparing the canonicalized path name (by realpath())
+         with the path name specified on the command line. The GNU libc's
+         implementation of realpath() removed trailing slashes ('/') from
+         the pathname. Thus, specifying a base directory with a trailing
+         slash results in rrdcached aborting, complaining about an invalid
+         base directory, which is quite annoying imho. Now, trailing
+         slashes are removed before comparing the two path names. --
+         Sebastian Harl
+
+2009-10-04 11:28  oetiker
+
+       * src/rrd_daemon.c: rrdcached: Improved an error message. --
+         Sebastian Harl
+
+2009-10-04 11:27  oetiker
+
+       * src/rrd_daemon.c: rrdcached: Create the pidfile and (UNIX) socket
+         directories as well. Those files may be located in a subdirectory
+         of, e.g., /var/run/. To avoid the need to manually create (and
+         recreate, e.g. in case /var/run/ is on a tmpfs) that subdirectory,
+         let the daemon handle the creation of those directories. --
+         Sebastian Harl
+
+2009-10-01 18:54  oetiker
+
+       * src/rrd_fetch_libdbi.c, src/rrd_tool.h: rrd_fetch_libdbi: Fixed
+         some compiler warnings. While at it, declared some private helper
+         functions as static. -- Sebastian Harl
+
+2009-09-28 16:21  oetiker
+
+       * doc/librrd.pod: Moved rrd_dump_cb_r() to section "CORE FUNCTIONS"
+         since this is not a utility function but rather part of RRDtool's
+         core. -- Sebastian Harl
+
+2009-09-28 16:16  oetiker
+
+       * doc/Makefile.am: Moved the 'librrd' manpage to section 3 --
+         Sebastian Harl
+
+2009-09-28 16:16  oetiker
+
+       * doc/librrd.pod: documentation for rrd_mkdir_p added -- Sebastian
+         Harl
+
+2009-09-28 16:16  oetiker
+
+       * src/rrd_daemon.c: free config_pid_file after using it for the last
+         time ... Else, the daemon might either segfault or leave the PID
+         file around. -- Sebastian Harl
+
+2009-09-28 16:15  oetiker
+
+       * src/rrd_daemon.c: try to create missing journal directories rather
+         than abort with an error. -- Sebastian Harl
+
+2009-09-28 16:13  oetiker
+
+       * src/librrd.sym.in.in, src/rrd.h, src/rrd_utils.c: added
+         rrd_mkdir_p - This function may be used to recursively create some
+         directory, similar to "mkdir -p" on the command-line. -- Sebastian
+         Harl
+
+2009-09-24 19:21  oetiker
+
+       * src/rrd_restore.c: adjusted copyright wording according to
+         sebastians suggestions
+
+2009-09-15 12:21  oetiker
+
+       * trunk/tutorial/lisa2009/rrd-by-example/body.tex: adapted for 2009
+
+2009-09-15 12:20  oetiker
+
+       * trunk/tutorial/lisa2009/abstract-rrdexample.txt,
+         trunk/tutorial/lisa2009/abstract-rrdtut.txt: initial
+
+2009-09-15 12:17  oetiker
+
+       * trunk/tutorial/lisa2009, trunk/tutorial/lisa2009/rrd-intro.odp:
+         initial
+
+2009-09-01 08:49  oetiker
+
+       * NEWS, src/rrd_graph.c: show element type in legend
+
+2009-08-25 09:01  oetiker
+
+       * configure.ac, src/rrd_client.h, src/rrd_daemon.c: detect if
+         stdint.h is available. if not, use inttypes. this should fix #239
+         and make compilation on solaris 9 work.
+
+2009-08-24 12:04  oetiker
+
+       * debian/README, debian/README.Debian, debian/build_freetype.sh,
+         debian/changelog, debian/control, debian/copyright,
+         debian/librrd0-dev.files, debian/librrd0.files,
+         debian/librrd0.postinst, debian/librrd0.postrm,
+         debian/librrd0.shlibs, debian/librrdp-perl.files,
+         debian/librrds-perl.files, debian/rrdtool-tcl.files,
+         debian/rrdtool.files, debian/rules, debian/watch: replae with
+         pointer
+
+2009-08-24 12:02  oetiker
+
+       * src/rrd_config_bottom.h: call fpclass only once when replacing
+         isnan for solaris
+
+2009-08-22 22:03  oetiker
+
+       * MakeMakefile: remove misspellt keyword ...
+
+2009-08-21 05:03  oetiker
+
+       * m4/acinclude.m4, src/rrd_config_bottom.h: make sure all elements
+         required in the definition of isinf are defined in their turn
+
+2009-08-20 22:02  oetiker
+
+       * src/rrd_graph.c, src/rrd_tool.c: Trim trailing whitespace, reoder
+         getopt_long per shortopt char; Fix -D while at it -- Bernhard
+         Reutner-Fischer
+
+2009-08-19 15:24  oetiker
+
+       * NEWS, doc/rrdgraph.pod, src, src/rrd_graph.c, src/rrd_graph.h,
+         src/rrd_tool.c: The attached patch allows to $ rrdtool graph
+         --border=0 to disable the 3d border around the image. -- Bernhard
+         Reutner-Fischer rep.dot.nop gmail.com
+
+2009-08-19 07:44  oetiker
+
+       * src/rrd_graph.c: yes this should not matter, but I think it is the
+         right thing todo ...
+
+2009-08-17 21:34  oetiker
+
+       * src/rrd_dump.c, src/rrd_tune.c: added missing prototypes
+
+2009-08-17 21:31  oetiker
+
+       * CONTRIBUTORS, doc/librrd.pod, src/librrd.sym.in.in, src/rrd.h,
+         src/rrd_dump.c: Added a call back interface to rrd_dump to be able
+         to call the function from c. See librrd.pod for documentation. --
+         Benny Baumann BenBE geshi.org
+
+2009-08-16 22:22  oetiker
+
+       * doc/rrdcached.pod, src/rrd_daemon.c: From: Florian Forster
+         <octo@leeloo.lan.home.verplant.org> This patch introduces
+         per-socket, per-command permissions to the RRD caching daemon,
+         RRDCacheD. This allows administrators to limit access to the
+         daemon in a fine-grained manner. The patch removes the command
+         line option `-L' and introduces `-P' instead. The option must
+         appear *before* the `-l' option and the given permissions are set
+         for all following sockets or another `-P' option. For example:
+         rrdcached -P FLUSH,PENDING -l 10.2.3.4 -P UPDATE -l
+         unix:/some/path Allow `FLUSH' and `PENDING' commands to clients
+         connected via IPv4 networking and `UPDATE' to clients connected
+         via a UNIX domain socket only. There are a couple of exceptions: -
+         The commands `HELP' and `QUIT' are always allowed. - If the
+         command `BATCH' is allowed, the command `.' is automatically
+         allowed, too. By default, i. e. if no `-P' option is specified,
+         all commands will be allowed. As a shortcut to reset the behavior
+         to the default behavior, you can use the slightly hackish `-P ""'
+         syntax. Signed-off-by: Florian Forster
+         <octo@leeloo.lan.home.verplant.org>
+
+2009-08-16 22:05  oetiker
+
+       * configure.ac: with my Debian Testing box I had to apply the
+         following small changes to the `configure.ac' file in order to
+         make `autoconf' happy. Don't know what the problem precisely is ?
+         m4 and its square parenthesis is too high for me ;) -- Florian
+
+2009-08-16 22:00  oetiker
+
+       * autogen.sh: there is no config directory ... so lets not search
+         for it in autogen.sh
+
+2009-08-11 14:00  oetiker
+
+       * branches/1.3/program/src/rrd_restore.c, src/rrd_restore.c: fix
+         freeing order when generating error messages. found by Dmitry V.
+         Krivenok
+
+2009-08-10 11:47  oetiker
+
+       * m4/acinclude.m4: include math.h when testing IEEE
+
+2009-08-08 14:06  oetiker
+
+       * branches/1.3/program/doc/rrd-beginners.pod, doc/rrd-beginners.pod:
+         remove extra \ in perl example
+
+2009-08-08 09:38  oetiker
+
+       * src/rrd_daemon.c: The journal files are time-stamped and replayed
+         in order. This allows systems with 32-bit signed off_t to write
+         more than 2GB of journal entries per flush interval. --kevin
+
+2009-08-08 09:36  oetiker
+
+       * doc/rrdgraph.pod: add some shell proggramming advice ... Bernhard
+         Reutner-Fischer
+
+2009-08-08 09:34  oetiker
+
+       * src/rrd_daemon.c: Remove PID file later in the cleanup process
+         --kevin
+
+2009-08-08 09:29  oetiker
+
+       * src/rrd_daemon.c: Increment the DataSetsWritten counter before
+         freeing the RRD values. --kevin
+
+2009-08-08 09:28  oetiker
+
+       * src/rrd_daemon.c: The current method may have caused flushes (and
+         journal rotations) more often than necessary. The problem was
+         introduced in r1600. --kevin
+
+2009-08-08 09:27  oetiker
+
+       * src/rrd_daemon.c: Two-phase shutdown for rrdcached ensures that
+         values are flushed. Previously, it was possible for the queue
+         threads to exit before the flush thread completed queueing values.
+         If running with -F, rrdcached may have crashed due to assertion
+         failure before writing all values. -- kevin
+
+2009-08-07 06:04  oetiker
+
+       * branches/1.3/program/bindings/python/rrdtoolmodule.c,
+         bindings/python/rrdtoolmodule.c: include PACKAGE_VERSION as
+         version number for python module to fix #236
+
+2009-08-03 18:51  oetiker
+
+       * branches/1.3/program/src/rrd_info.c, src/rrd_info.c: in rrd > 1.3
+         it's called rrd_info_push ... and not just info_push ...
+
+2009-08-03 18:45  oetiker
+
+       * branches/1.2/program/src/rrd_info.c,
+         branches/1.3/program/src/rrd_info.c, src/rrd_info.c: Show the
+         index of each data source in the rrd_info output. Patch for #231
+         provided by Glenn Herteg, GroundWork Open Source, Inc.
+
+2009-07-30 07:57  oetiker
+
+       * NEWS: new news
+
+2009-07-30 07:56  oetiker
+
+       * src/rrd_tune.c: rrd_tune HW Update Allow to set the smoothing
+         window (alpha, beta, gamma) to zero. I'm using rrdtool 1.3.8 with
+         abberant behavior detection from the Brutlag method. I need to use
+         a week seasonality and no smoothing for the SEASONAL and
+         DEVSEASONAL. So I use rrdtune in order to set the smoothing window
+         to 0.0. This calls the set_hwarg(). But this method is also used
+         to tune the alpha, beta and gamma that can't be set to 0.0 So when
+         I tune my smoothing window size to 0.0, it returns -1 due to the
+         if(window<=0.0) then do nothing. I join here a small correction
+         with a differnent method used to set only the smoothing window
+         size and allowing it to be zero. -- sylvain.luiset gmail.com
+
+2009-07-28 16:49  oetiker
+
+       * configure.ac: update conditional silent-rules
+
+2009-07-14 12:00  oetiker
+
+       * src/rrd_daemon.c: Handle race condition for "UPDATE" with new
+         files. Problem found by Sebastian Harl. Patch by Kevin.
+
+2009-07-12 06:28  oetiker
+
+       * src/rrd_daemon.c: Do not trust cache tree pointers after releasing
+         the cache lock. It's possible that a "FORGET" was issued in the
+         mean time. -- kevin
+
+2009-07-10 05:52  oetiker
+
+       * src/rrd_daemon.c: destroy flush condition variable
+
+2009-07-10 05:51  oetiker
+
+       * src/rrd_graph.c: Move <libgen.h> include so we know whether we
+         HAVE_LIBGEN_H -- kevin
+
+2009-07-09 20:14  oetiker
+
+       * doc/Makefile.am, src/rrd_thread_safe.c: Silence automake
+         portability warnings caused by multiple inference rules. -- kevin
+         brintnall
+
+2009-07-05 08:41  oetiker
+
+       * configure.ac, src/rrd_restore.c, win32/rrd_config.h.msvc: check
+         for the size of time_t and behave accordingly
+
+2009-07-04 14:51  oetiker
+
+       * src/rrd_restore.c: be more careful when converting to string to
+         time_t ... test if time_t is long long
+
+2009-06-10 19:05  oetiker
+
+       * bindings/lua/compat-5.1r5/compat-5.1.c,
+         bindings/lua/compat-5.1r5/compat-5.1.h,
+         bindings/lua/compat-5.1r5/compat-5.1.lua: add the real license ...
+
+2009-06-10 12:17  oetiker
+
+       * branches/1.3/program/doc/bin_dec_hex.pod,
+         branches/1.3/program/doc/rrdtutorial.es.pod, doc/bin_dec_hex.pod,
+         doc/rrdtutorial.es.pod: fix bad pdf links
+
+2009-06-09 19:22  oetiker
+
+       * bindings/lua/compat-5.1r5/compat-5.1.c,
+         bindings/lua/compat-5.1r5/compat-5.1.h,
+         bindings/lua/compat-5.1r5/compat-5.1.lua: added compat 5.1 license
+         copied from website
+
+2009-06-08 05:12  oetiker
+
+       * branches/1.3/program/configure.ac, configure.ac: make config.h a
+         symlink to rrd_config.h so that intl/Makefile is happy
+
+2009-06-08 04:56  oetiker
+
+       * branches/1.3/program/MakeMakefile,
+         branches/1.3/program/configure.ac, MakeMakefile, configure.ac:
+         Relax automake requirements and make 1.11 features optional --
+         kevin brintnall
+
+2009-06-07 20:48  oetiker
+
+       * bindings/perl-shared/RRDs.xs, bindings/python/rrdtoolmodule.c,
+         bindings/ruby/main.c: fix some missing rrd_flushcached instances
+         -- kevin
+
+2009-06-07 14:46  oetiker
+
+       * bindings/tcl/tclrrd.c: switch to the rrd_flushcached interface
+
+2009-06-07 14:45  oetiker
+
+       * src/rrd_cgi.c: consider fgets return value
+
+2009-06-07 14:33  oetiker
+
+       * intl, po/Makefile.in.in: do not try to mess with autopoints files
+
+2009-06-07 14:27  oetiker
+
+       * src/rrd_open.c: check return value from write
+
+2009-06-07 14:19  oetiker
+
+       * src/rrd_daemon.c: check return values of dup and ftruncate
+
+2009-06-07 14:12  oetiker
+
+       * src/rrd_fetch.c, src/rrd_flushcached.c, src/rrd_info.c: fix some
+         warnings
+
+2009-06-07 13:57  oetiker
+
+       * intl, intl/Makefile.in: added a copy to svn since it is changed
+         from the original
+
+2009-06-07 13:53  oetiker
+
+       * po/Makefile.in.in: changed from original version, so include it
+         ...
+
+2009-06-07 13:42  oetiker
+
+       * Makefile.am, autogen.sh: include libtool with the distro
+
+2009-06-07 11:36  oetiker
+
+       * configure.ac: another ID tag
+
+2009-06-07 11:35  oetiker
+
+       * Makefile.am, README: more id tags added
+
+2009-06-07 11:34  oetiker
+
+       * COPYRIGHT: updated for release
+
+2009-06-07 11:34  oetiker
+
+       * COPYRIGHT, TODO: updated for release
+
+2009-06-07 11:20  oetiker
+
+       * CONTRIBUTORS: added $Id:$
+
+2009-06-07 11:16  oetiker
+
+       * NEWS: initial news
+
+2009-06-02 13:55  oetiker
+
+       * branches/1.3/program/doc/rrdupdate.pod, doc/rrdupdate.pod: Mention
+         that negative time values should be separated by '--' in
+         rrdupdate.pod -- Sebastian Harl
+
+2009-06-02 05:55  oetiker
+
+       * trunk/talks/op5-09, trunk/talks/op5-09/3days-solar-graph.pdf,
+         trunk/talks/op5-09/active-acache-management.pdf,
+         trunk/talks/op5-09/active-acache-management.xar,
+         trunk/talks/op5-09/beamercolorthemetobi.sty,
+         trunk/talks/op5-09/body.tex, trunk/talks/op5-09/cache-flow.pdf,
+         trunk/talks/op5-09/cache-flow.xar,
+         trunk/talks/op5-09/cache-importance.pdf,
+         trunk/talks/op5-09/cache-importance.xar,
+         trunk/talks/op5-09/charles.png,
+         trunk/talks/op5-09/energy_graph.png,
+         trunk/talks/op5-09/handouts.tex,
+         trunk/talks/op5-09/n20e-daily.png,
+         trunk/talks/op5-09/nmn09_200.jpg, trunk/talks/op5-09/pings.png,
+         trunk/talks/op5-09/presentation.tex,
+         trunk/talks/op5-09/readahead-fix.pdf,
+         trunk/talks/op5-09/readahead-fix.xar,
+         trunk/talks/op5-09/systembelastung.png,
+         trunk/talks/op5-09/update-schematics.pdf,
+         trunk/talks/op5-09/update-schematics.xar: initial
+
+2009-06-01 14:01  oetiker
+
+       * branches/1.3/program/m4/acinclude.m4, m4/acinclude.m4: Make
+         rrdtool compile on GNU/kFreeBSD. Fix for Debian bug 494874. Patch
+         by Petr Salinger.
+
+2009-06-01 13:58  oetiker
+
+       * branches/1.3/program/src/rrd_update.c, src/rrd_update.c: make
+         negative update times work as diescribed in the documentation (-5
+         is NOW-5seconds) this takes care of debian bug 332766
+
+2009-05-28 05:25  oetiker
+
+       * src/rrd_open.c: madvise hints may not be ORed since they are
+         enumerated ... #224
+
+2009-05-27 16:23  oetiker
+
+       * configure.ac: back to 0.14.4
+
+2009-05-27 16:21  oetiker
+
+       * Makefile.am, configure.ac: get the latest gettext
+
+2009-05-27 16:03  oetiker
+
+       * src/Makefile.am: added gettext.h to dist
+
+2009-05-27 15:00  oetiker
+
+       * src/gettext.h: added missing gettext.h
+
+2009-05-27 14:59  oetiker
+
+       * po/LINGUAS, po/de.po: we don't have any translations ... so do not
+         pretend
+
+2009-05-27 14:31  oetiker
+
+       * autogen.sh, configure.ac: reduce gettext version requirements
+
+2009-05-27 14:14  oetiker
+
+       * MakeMakefile: fix path
+
+2009-05-27 13:39  oetiker
+
+       * MakeMakefile, Makefile.am, acinclude.m4, autogen.sh,
+         bindings/Makefile.am, configure.ac, doc/Makefile.am,
+         m4/acinclude.m4, po/ChangeLog, po/Makevars, src/Makefile.am,
+         src/rrd_i18n.h: the get ready for 1.4rc patch * updated to
+         automake 1.11 with silet build, with this warnings stand out much
+         better in the build process. use make V=1 to see all as before *
+         switched from intltoolize to autopoint for gettext support * moved
+         m4 bits into their own subdirectory --tobi
+
+2009-05-27 13:11  oetiker
+
+       * src/rrd_graph.c, src/rrd_graph.h: Only include libgen.h when we
+         have it. use pbbasename if we do not. Also fixes #223.
+
+2009-05-26 15:25  oetiker
+
+       * doc/rrdtool.pod: update flush to flushcached
+
+2009-05-26 15:24  oetiker
+
+       * bindings/lua/rrdlua.c, bindings/perl-shared/RRDs.pm,
+         bindings/perl-shared/RRDs.xs, bindings/python/rrdtoolmodule.c,
+         bindings/ruby/main.c, bindings/tcl/tclrrd.c: bindings should
+         invoke new rrd_flushcached (instead of rrd_cmd_flush) -- kevin
+
+2009-05-26 15:20  oetiker
+
+       * src/rrd_restore.c: "ulong" is not portable. must be unsigned long
+         -- kevin
+
+2009-05-26 08:55  oetiker
+
+       * doc/Makefile.am: update flush document name
+
+2009-05-26 07:14  oetiker
+
+       * src/Makefile.am: rename rrd_flush.c to rrd_flushcached.c in
+         Makefile.am
+
+2009-05-26 07:13  oetiker
+
+       * doc/rrdflush.pod, doc/rrdflushcached.pod, src/librrd.sym.in.in,
+         src/rrd.h, src/rrd_flush.c, src/rrd_flushcached.c, src/rrd_open.c,
+         src/rrd_tool.c: resolve the "flush inconsistency": * rrd_flush (a
+         leftover from when rrdtool was using stream based io) is turned
+         into a no-op but still exported to preserve library compatibility.
+         * rrd_cmd_flush (the implementation of "rrdtool flush") is renamed
+         to rrd_flushcached along with its command line invocation which is
+         now rrdtool flushcached --tobi
+
+2009-05-25 22:23  oetiker
+
+       * src/rrd_restore.c: While restoring, rrd_restore uses between 30
+         and 40 times as much memory as the size of the rrd file to be
+         restored. This is due to the use of libxml2 for parsing the the
+         whole file prior to turning it into rrd structs. This patch
+         switches rrd_restore to using the xmlTextReader interface for
+         incremental consumtion of xml files. This reduces the memory
+         requirements to about twice the size of the rrd file which should
+         be quite manageable for most cases. The parsing is about 25% less
+         efficient than with the original libxml2 version of rrd_restore.
+         This could be in part due to the more liberal use of malloced
+         memory. Optimizing this is for another day though. --tobi
+
+2009-05-25 06:05  oetiker
+
+       * branches/1.3/program/src/rrd_open.c, src/rrd_open.c: only include
+         utime.h when necessary
+
+2009-05-24 10:31  oetiker
+
+       * branches/1.3/program/configure.ac,
+         branches/1.3/program/src/rrd_info.c,
+         branches/1.3/program/src/rrd_open.c,
+         branches/1.3/program/src/rrd_update.c, configure.ac,
+         src/rrd_info.c, src/rrd_open.c, src/rrd_update.c: * in 1.3:
+         Changed types used in rrd_file_t from off_t to size_t to prevent:
+         warning: comparison between signed and unsigned * Misc other off_t
+         -> size_t changes to prevent signed warning * in 1.3: Added
+         rrd_dump_opt_r declaration to prevent undef warning * Explicit
+         cast to time_t of check in rrd_fetch to prevent signed warning *
+         Added vasprintf path to sprintf_alloc to prevent excessive
+         mallocing * in 1.3: fixed STRERROR_R_CHAR_P undef warning patch by
+         Steven Hartland killing multiplay.co.uk
+
+2009-05-22 14:54  oetiker
+
+       * src/rrd_update.c: reset errno right befor the call I want to test
+
+2009-05-22 13:55  oetiker
+
+       * src/rrd_update.c: inline is something for the compiler to figure
+         ...
+
+2009-05-22 11:32  oetiker
+
+       * branches/1.3/program/src/rrd_update.c, src/rrd_update.c: fix error
+         messages on the road to fix #222
+
+2009-05-21 05:20  oetiker
+
+       * doc/rrdgraph.pod: fix text organisation
+
+2009-05-18 14:23  oetiker
+
+       * branches/1.3/program/bindings/python/rrdtoolmodule.c,
+         bindings/python/rrdtoolmodule.c: integrated fix for debian bug
+         #529291 as supplied by Anders Hammarquist
+
+2009-05-11 21:25  oetiker
+
+       * branches/1.3/program/configure.ac,
+         branches/1.3/program/src/rrd_getopt.c, configure.ac,
+         src/rrd_getopt.c: fix rrd_getops use of external variables (optarg
+         and friends) ... most prominently is kills a segfault when using
+         rrdtool perl bindings on solaris ... thanks to Ihsan Dogan for
+         helping with tracking this down and providing access to sparc
+         solaris boxes.
+
+2009-04-29 06:52  oetiker
+
+       * branches/1.3/program/CONTRIBUTORS,
+         branches/1.3/program/doc/rrdgraph_data.pod, CONTRIBUTORS,
+         doc/rrdgraph_data.pod: added some remarks on CDEF versus VDEF to
+         the docs -- Pablo Sanchez
+
+2009-04-20 06:48  oetiker
+
+       * doc/Makefile.am, doc/librrd.pod, src/librrd.sym.in.in, src/rrd.h,
+         src/rrd_daemon.c, src/rrd_utils.c: This patch includes utility
+         functions to support dynamically sized arrays. This simplifies the
+         code that manages some of the dynamic structures inside rrdcached.
+         A few data types have been changed to size_t. -- kevin
+
+2009-04-20 06:46  oetiker
+
+       * doc/rrdinfo.pod, src/rrd_format.c, src/rrd_info.c, src/rrd_open.c,
+         src/rrd_tool.h: introduced header_property in info output --
+         Daniel.Pocock barclayscapital.com
+
+2009-04-17 09:53  oetiker
+
+       * branches/1.3/program/src/rrd_tool.c, src/rrd_tool.c: add
+         documentation for graph-render-mode
+
+2009-04-15 07:05  oetiker
+
+       * branches/1.3/program/src/rrd_restore.c, src/rrd_restore.c: fix
+         comments and error messages in rrd_restore patch
+
+2009-04-15 07:02  oetiker
+
+       * branches/1.3/program/src/rrd_restore.c, src/rrd_restore.c: Fix
+         casting issues in rrd_restore. The bug manifested when compiled on
+         sparc v9 as explained in #218. Patch based in input provided by
+         poster of #218.
+
+2009-04-14 13:55  oetiker
+
+       * branches/1.2/program/bindings/ruby/main.c,
+         branches/1.3/program/bindings/ruby/main.c, bindings/ruby/main.c:
+         make ruby bindings compile with newer ruby versions ... fix for
+         #217 patch provided by rrd trac user.
+
+2009-04-14 07:51  oetiker
+
+       * branches/1.3/program/bindings/perl-piped/RRDp.pm,
+         bindings/perl-piped/RRDp.pm: Generate an error message when using
+         RRDp with graph - this can not work reliably. (Debian Bug#251701)
+         -- Sebastian Harl
+
+2009-04-14 06:10  oetiker
+
+       * src/Makefile.am, src/librrd.sym.in.in, src/rrd.h,
+         src/rrd_daemon.c, src/rrd_open.c, src/rrd_restore.c,
+         src/rrd_utils.c: rrd_random() is a wrapper around random() that
+         ensures the PRNG is seeded exactly ONCE per process. rrd_utils.c
+         is introduced for functions that do not have a better home.
+         --kevin
+
+2009-04-10 08:52  oetiker
+
+       * src/rrd_daemon.c: This patch consolidates several aspects of the
+         command handling in rrdcached: * all commands, help, and context
+         information is reduced to a single data structure. * all checks
+         for command validity (context and permission) are handled in the
+         main dispatch routine This removes duplicate help/syntax text, and
+         long if..elseif..else chains. It facilitates the addition of new
+         commands. -- kevin
+
+2009-04-09 15:07  oetiker
+
+       * src/rrd_daemon.c: The bookkeeping of all threads is not necessary,
+         since we cannot pthread_join() them anyway. We only need to know
+         when the last one has exited. -- kevin
+
+2009-04-09 15:05  oetiker
+
+       * doc/rrdcached.pod: added missing docs -- kevin
+
+2009-04-09 15:04  oetiker
+
+       * branches/1.3/program/doc/rrdtutorial.pod, doc/rrdtutorial.pod:
+         added missing newline -- by sebastian harl
+
+2009-04-07 17:33  oetiker
+
+       * trunk/talks/swinog18/body.tex,
+         trunk/talks/swinog18/presentation.tex: minor adjustments
+
+2009-04-07 07:23  oetiker
+
+       * m4: make sure an empty m4 is in the checkout
+
+2009-04-07 06:37  oetiker
+
+       * branches/1.3/program/doc/rrdgraph.pod,
+         branches/1.3/program/src/rrd_graph.c, NEWS, doc/rrdgraph.pod,
+         src/rrd_graph.c: fix for #213 restore old behaviour of --lazy.
+         Even in lazy mode all the data calculation elements are run. The
+         main time saving comes from the fact that the graph is not being
+         drawn and the image does not have to be compressed.
+
+2009-04-07 06:03  oetiker
+
+       * branches/1.3/program/src/rrd_dump.c, src/rrd_dump.c: make sure
+         rrd_dump outputs numbers with C locale so that . does not suddenly
+         become , this fixes #212
+
+2009-04-06 14:49  oetiker
+
+       * CONTRIBUTORS, bindings/python/rrdtoolmodule.c, doc/rrdpython.pod:
+         I thought that it would be nice to be able to pass parameters to
+         python bindings as a list (array) of strings. -- Vytautas
+         Zdanavicius vytaszd at yahoo.com
+
+2009-04-06 14:14  oetiker
+
+       * src/rrd_dump.c: use %lld with (long long) conversion when printing
+         time.
+
+2009-04-06 14:12  oetiker
+
+       * branches/1.3/program/src/rrd_update.c, src/rrd_update.c: printf
+         for time_t with %lli can easily cause a segfault since on many
+         platforms time_t is only 32bit ... by adding (long long) to the
+         time value this gets fixed.
+
+2009-04-06 14:08  oetiker
+
+       * src/rrd_graph.c: lets have an error message when creating the
+         graph fails
+
+2009-04-06 12:02  oetiker
+
+       * trunk/talks/goopen-09/active-acache-management.pdf,
+         trunk/talks/goopen-09/active-acache-management.xar,
+         trunk/talks/goopen-09/beamercolorthemetobi.sty,
+         trunk/talks/goopen-09/body.tex,
+         trunk/talks/goopen-09/cache-flow.pdf,
+         trunk/talks/goopen-09/cache-flow.xar,
+         trunk/talks/goopen-09/cache-importance.pdf,
+         trunk/talks/goopen-09/cache-importance.xar,
+         trunk/talks/goopen-09/charles.png,
+         trunk/talks/goopen-09/energy_graph.png,
+         trunk/talks/goopen-09/handouts.tex,
+         trunk/talks/goopen-09/n20e-daily.png,
+         trunk/talks/goopen-09/pings.png,
+         trunk/talks/goopen-09/presentation.tex,
+         trunk/talks/goopen-09/readahead-fix.pdf,
+         trunk/talks/goopen-09/readahead-fix.xar,
+         trunk/talks/goopen-09/systembelastung.png,
+         trunk/talks/goopen-09/update-schematics.pdf,
+         trunk/talks/goopen-09/update-schematics.xar: go open presentation
+         checkin
+
+2009-03-30 18:33  oetiker
+
+       * trunk/talks/swinog18/active-acache-management.xar: sync xara file
+
+2009-03-30 18:31  oetiker
+
+       * trunk/talks/swinog18,
+         trunk/talks/swinog18/active-acache-management.pdf,
+         trunk/talks/swinog18/active-acache-management.xar,
+         trunk/talks/swinog18/beamercolorthemetobi.sty,
+         trunk/talks/swinog18/body.tex,
+         trunk/talks/swinog18/cache-flow.pdf,
+         trunk/talks/swinog18/cache-flow.xar,
+         trunk/talks/swinog18/cache-importance.pdf,
+         trunk/talks/swinog18/cache-importance.xar,
+         trunk/talks/swinog18/handouts.tex,
+         trunk/talks/swinog18/presentation.tex,
+         trunk/talks/swinog18/readahead-fix.pdf,
+         trunk/talks/swinog18/readahead-fix.xar,
+         trunk/talks/swinog18/update-schematics.pdf,
+         trunk/talks/swinog18/update-schematics.xar: initial
+
+2009-03-21 10:45  oetiker
+
+       * src/rrd_hw.c: remove excess flush calls ...
+
+2009-03-21 09:56  oetiker
+
+       * src/librrd.sym.in.in, src/rrd.h: remove flush symbol
+
+2009-03-21 09:53  oetiker
+
+       * src/rrd_hw.c, src/rrd_open.c: the call to rrd_flush has appeared
+         when rrd_open was fleshed out. It used to be an fflush call which
+         is something entirely different than the current rrd_flush
+         implementation with fdatasync was ... we can safely drop this and
+         gain performance for holt winters in the process ... -- tobi
+
+2009-03-18 17:12  oetiker
+
+       * CONTRIBUTORS, NEWS, doc/rrdgraph.pod, src/rrd_graph.c,
+         src/rrd_graph.h: New rrd_graph functions for legend placement
+         control added -- Patch by Melchior Rabe rrdtool mrab.de
+
+2009-03-08 11:12  oetiker
+
+       * src/rrd_flush.c: rrd_flush.c: Provide a more useful error message.
+         by Sebastian Harl
+
+2009-03-08 08:02  oetiker
+
+       * branches/1.2/program/WIN32-BUILD-TIPS.txt,
+         branches/1.2/program/bindings/Makefile.am,
+         branches/1.2/program/bindings/perl-shared/MANIFEST,
+         branches/1.2/program/bindings/perl-shared/ntmake-build,
+         branches/1.2/program/bindings/perl-shared/ntmake.PL,
+         branches/1.3/program/WIN32-BUILD-TIPS.txt,
+         branches/1.3/program/bindings/Makefile.am,
+         branches/1.3/program/bindings/perl-shared/MANIFEST,
+         branches/1.3/program/bindings/perl-shared/ntmake-build,
+         branches/1.3/program/bindings/perl-shared/ntmake.PL,
+         WIN32-BUILD-TIPS.txt, bindings/Makefile.am,
+         bindings/perl-shared/MANIFEST, bindings/perl-shared/ntmake-build,
+         bindings/perl-shared/ntmake.PL: Renaming ntmake.pl to ntmake.PL
+         (r1742) had unforseen side effects. At least on freebsd ntmake.PL
+         gets called automatically during build. This is not desired. I
+         renamed the file to ntmake-build sinc it gets called explicilty on
+         windows anyway. Reported by Kevin modified by Tobi
+
+2009-03-07 10:31  oetiker
+
+       * NEWS, bindings/lua/rrdlua.c, bindings/perl-shared/RRDs.pm,
+         bindings/perl-shared/RRDs.xs, bindings/python/rrdtoolmodule.c,
+         bindings/ruby/main.c, bindings/tcl/tclrrd.c, doc/rrdflush.pod,
+         src/rrd_flush.c: This 2-patch series exposes 'flush' methods to
+         the various language bindings.
+
+2009-03-06 17:30  oetiker
+
+       * trunk/talks/goopen-09, trunk/talks/goopen-09/abstract.txt,
+         trunk/talks/goopen-09/bio.txt: initial
+
+2009-03-06 05:51  oetiker
+
+       * branches/1.3/program/src/rrd_xport.c, src/rrd_xport.c: there were
+         two lines of debug info printed by rrd_xport, messing up the xml
+         code. Fix by Alejandro Galue.
+
+2009-03-06 05:39  oetiker
+
+       * configure.ac, src/rrd_thread_safe.c: Even though POSIX/XSI
+         requires "strerror_r" to return an "int", some systems (e.g. the
+         GNU libc) return a "char *" _and_ ignore the second argument (user
+         provided buffer). The configure script now checks for that
+         behavior using AC_FUNC_STRERROR_R. rrd_strerror() in
+         rrd_thread_safe.c has been updated to (hopefully) handle all
+         possible cases. Previously, rrd_strerror() would have returned
+         "strerror_r failed. sorry!" in mostly any cases when using glibc,
+         since "if (strerror_r())" had been used to check for errors which
+         evaluates to true if a (non-NULL) pointer was returned. Now, we,
+         at least, return the error number in case anything else fails.
+         Thanks to Alessandro Iurlano for reporting this issue after
+         spotting it in collectd <http://collectd.org>. patch by Sebastian
+         Harl
+
+2009-03-06 05:30  oetiker
+
+       * src/rrd_daemon.c: Make sure we use correct sizes for vsnprintf
+         (sizeof) and strncpy (sizeof-1). -- kevin
+
+2009-02-21 09:43  oetiker
+
+       * branches/1.2/program/doc/bin_dec_hex.pod,
+         branches/1.2/program/doc/cdeftutorial.pod,
+         branches/1.2/program/doc/rrdgraph.pod,
+         branches/1.2/program/doc/rrdgraph_data.pod,
+         branches/1.2/program/doc/rrdgraph_examples.pod,
+         branches/1.2/program/doc/rrdgraph_graph.pod,
+         branches/1.2/program/doc/rrdgraph_rpn.pod,
+         branches/1.2/program/doc/rrdresize.pod,
+         branches/1.2/program/doc/rrdtutorial.es.pod,
+         branches/1.2/program/doc/rrdtutorial.pod,
+         branches/1.3/program/doc/bin_dec_hex.pod,
+         branches/1.3/program/doc/cdeftutorial.pod,
+         branches/1.3/program/doc/rrdgraph.pod,
+         branches/1.3/program/doc/rrdgraph_data.pod,
+         branches/1.3/program/doc/rrdgraph_examples.pod,
+         branches/1.3/program/doc/rrdgraph_graph.pod,
+         branches/1.3/program/doc/rrdgraph_rpn.pod,
+         branches/1.3/program/doc/rrdresize.pod,
+         branches/1.3/program/doc/rrdtutorial.es.pod,
+         branches/1.3/program/doc/rrdtutorial.pod, doc/bin_dec_hex.pod,
+         doc/cdeftutorial.pod, doc/rrdgraph.pod, doc/rrdgraph_data.pod,
+         doc/rrdgraph_examples.pod, doc/rrdgraph_graph.pod,
+         doc/rrdgraph_rpn.pod, doc/rrdresize.pod, doc/rrdtutorial.es.pod,
+         doc/rrdtutorial.pod: Misc documentation fixes by Alex van den
+         Bogaerdt
+
+2009-02-21 09:23  oetiker
+
+       * doc/rrdgraph.pod, doc/rrdgraph_rpn.pod: Documentation fixes by
+         Bernhard Reutner-Fischer
+
+2009-01-25 22:39  oetiker
+
+       * branches/1.3/program/doc/rrdgraph.pod, doc/rrdgraph.pod: added doc
+         on new graphv graph_start und graph_end info variables
+
+2009-01-25 22:02  oetiker
+
+       * branches/1.2/program/src/rrd_dump.c,
+         branches/1.2/program/src/rrd_first.c,
+         branches/1.3/program/src/rrd_dump.c,
+         branches/1.3/program/src/rrd_first.c,
+         branches/1.3/program/src/rrd_graph.c, src/rrd_dump.c,
+         src/rrd_first.c, src/rrd_graph.c: fix type conversion error (on
+         windows) unsigned/signed affecting timestamps on rrd_dump.
+
+2009-01-25 21:52  oetiker
+
+       * branches/1.2/program/bindings/Makefile.am,
+         branches/1.2/program/bindings/perl-shared/ntmake.PL,
+         branches/1.2/program/bindings/perl-shared/ntmake.pl,
+         branches/1.3/program/bindings/Makefile.am,
+         branches/1.3/program/bindings/perl-shared/ntmake.PL,
+         branches/1.3/program/bindings/perl-shared/ntmake.pl,
+         bindings/Makefile.am, bindings/perl-shared/ntmake.PL,
+         bindings/perl-shared/ntmake.pl: rename ntmake.pl to ntmake.PL so
+         that it does not get installed
+
+2009-01-25 18:38  oetiker
+
+       * src/rrd_tool.c: define cwd where we need it and not outside
+
+2009-01-14 08:14  oetiker
+
+       * branches/1.3/program/src/rrd_graph.c, src/rrd_graph.c: In
+         rrd_graph: the width/height values are written into
+         rrd_infoval_t's u_cnt but read out of u_int (u_long vs. int). This
+         breaks on LP64BE. Patch by Rafal Boni rafal pobox.com
+
+2009-01-14 07:22  oetiker
+
+       * NEWS, doc/rrdgraph_rpn.pod, src/rrd_graph.c, src/rrd_graph.h:
+         added percentnan (VDEF PERCENT variant that ignores NAN) -- patch
+         by Martin Sperl
+
+2009-01-13 07:37  oetiker
+
+       * trunk/talks/opentuesday/rrd-intro.odp: make the talk ready
+
+2009-01-09 15:42  oetiker
+
+       * trunk/status2: seems to wrok
+
+2009-01-09 15:41  oetiker
+
+       * trunk/status2: test
+
+2009-01-09 15:40  oetiker
+
+       * trunk/status/x: test
+
+2009-01-06 16:32  oetiker
+
+       * branches/1.3/program/src/rrd_resize.c, src/rrd_resize.c: with MMAP
+         enabled rrd resize GROW was broken ... this fixes it ...
+
+2009-01-06 15:45  oetiker
+
+       * branches/1.2/program/src/rrd_graph.c,
+         branches/1.3/program/src/rrd_graph.c, src/rrd_graph.c: TICK with
+         negative numbers should 'start from the top of the graph' looking
+         down ... now it does.
+
+2009-01-06 14:54  oetiker
+
+       * branches/1.2/program/src/rrd_cgi.c,
+         branches/1.3/program/src/rrd_cgi.c, src/rrd_cgi.c: fix for
+         segfault in rrd_cgi: caused by freeing a invalid address when
+         printing an error message.
+
+2008-12-26 08:05  oetiker
+
+       * branches/1.3/program/configure.ac,
+         branches/1.3/program/src/rrd_graph.h, configure.ac,
+         src/rrd_graph.h: Include libgen.h to get prototype for basename in
+         a POSIX conformant way. Fix for #202.
+
+2008-12-26 08:03  oetiker
+
+       * branches/1.3/program/doc/rrdbuild.pod, doc/rrdbuild.pod:
+         improvements for build docs by Zorzoli, Pablo
+
+2008-12-22 21:23  oetiker
+
+       * branches/1.3/program/src/rrd_fetch.c, src/rrd_fetch.c: should free
+         memory after a successful fetch too ...
+
+2008-12-22 21:23  oetiker
+
+       * branches/1.3/program/bindings/perl-shared/RRDs.pm,
+         bindings/perl-shared/RRDs.pm: documentation fixes
+
+2008-12-22 07:21  oetiker
+
+       * branches/1.3/program/doc/rrdgraph.pod, doc/rrdgraph.pod: Fix for
+         POD error by Sebasian Harl
+
+2008-12-22 07:20  oetiker
+
+       * branches/1.3/program/doc/bin_dec_hex.pod,
+         branches/1.3/program/doc/rpntutorial.pod,
+         branches/1.3/program/doc/rrdbuild.pod,
+         branches/1.3/program/doc/rrdcgi.pod,
+         branches/1.3/program/doc/rrdgraph-old.pod,
+         branches/1.3/program/doc/rrdgraph.pod,
+         branches/1.3/program/doc/rrdgraph_data.pod,
+         branches/1.3/program/doc/rrdgraph_examples.pod,
+         branches/1.3/program/doc/rrdgraph_graph.pod,
+         branches/1.3/program/doc/rrdtool.pod,
+         branches/1.3/program/doc/rrdtutorial.pod, doc/bin_dec_hex.pod,
+         doc/rpntutorial.pod, doc/rrdbuild.pod, doc/rrdcgi.pod,
+         doc/rrdgraph-old.pod, doc/rrdgraph.pod, doc/rrdgraph_data.pod,
+         doc/rrdgraph_examples.pod, doc/rrdgraph_graph.pod,
+         doc/rrdgraph_libdbi.pod, doc/rrdtool.pod, doc/rrdtutorial.pod:
+         Fixes some typos by Sebastian Harl.
+
+2008-12-19 14:26  oetiker
+
+       * branches/1.3/program/src/Makefile.am,
+         branches/1.3/program/src/plbasename.c,
+         branches/1.3/program/src/plbasename.h,
+         branches/1.3/program/src/rrd_graph.c,
+         branches/1.3/program/src/rrd_update.c,
+         branches/1.3/program/win32/rrdlib.vcproj, src/Makefile.am,
+         src/plbasename.c, src/plbasename.h, src/rrd_graph.c,
+         src/rrd_update.c, win32/rrdlib.vcproj: win32 fixes by Stefan .
+         Ludewig . exitgames . com * added portable plbasename since
+         basename is not available on stock win32 * rrd_update was using %d
+         to show a timestamp ... %lli is better since it also will show
+         64bit time_t correctly.
+
+2008-12-18 23:56  oetiker
+
+       * branches/1.3/program/Makefile.am, Makefile.am: fix extra dist to
+         include missing win32 files
+
+2008-12-11 14:31  oetiker
+
+       * branches/1.2/program/src/rrd_fetch.c,
+         branches/1.3/program/src/rrd_fetch.c, src/rrd_fetch.c: fixed
+         another seek issue ...
+
+2008-12-11 10:01  oetiker
+
+       * branches/1.2/program/rrdtool.spec,
+         branches/1.3/program/rrdtool.spec, rrdtool.spec: The spec file for
+         building the rrdtool as an RPM that comes with the release is not
+         "friendly" to older versions of RHEL and derivatives. -- Martin
+         Sperl <rrdtool@martin.sperl.org>
+
+2008-12-11 09:59  oetiker
+
+       * doc/Makefile.am: include luapod into distro
+
+2008-12-10 13:18  oetiker
+
+       * branches/1.3/program/src/rrd_restore.c, src/rrd_restore.c: On some
+         architectures, strtod does not turn "NaN" into 'Not A Number
+         (NAN)' se we better provide our own code here.
+
+2008-12-10 12:42  oetiker
+
+       * NEWS, doc/rrddump.pod, src/rrd_dump.c: rrdtool dump is now
+         backward compatible with rrdtool 1.3 dump again. Default is
+         --header=dtd and --no-header is an alias for --header=none
+
+2008-12-10 08:29  oetiker
+
+       * NEWS: minichange
+
+2008-12-09 18:30  oetiker
+
+       * branches/1.3/program/doc/rrdgraph.pod,
+         branches/1.3/program/src/rrd_graph.c,
+         branches/1.3/program/src/rrd_graph.h,
+         branches/1.3/program/src/rrd_tool.c, doc/rrdgraph.pod,
+         src/rrd_graph.c, src/rrd_graph.h, src/rrd_tool.c: * forward ported
+         right axis patch from 1.2 branche * fixed --full-size-mode sizing
+         issue when used in combination with --title the work in the axis
+         patch has been sponsored by VoltWerk.
+
+2008-12-08 16:07  oetiker
+
+       * branches/1.3/program/bindings/ruby/main.c,
+         branches/1.3/program/bindings/ruby/test.rb, bindings/ruby/main.c,
+         bindings/ruby/test.rb: Fix for last method in ruby bindings --
+         Hiroyuki Ikezoe
+
+2008-12-05 15:39  oetiker
+
+       * branches/1.3/program/bindings/perl-shared/Makefile.PL,
+         bindings/perl-shared/Makefile.PL: integrate osx build hints as
+         indicated in #192
+
+2008-12-05 15:23  oetiker
+
+       * src/rrd_open.c: deleted a bit much from rrd_open ... merged back
+         in
+
+2008-12-05 15:18  oetiker
+
+       * branches/1.3/program/acinclude.m4,
+         branches/1.3/program/configure.ac,
+         branches/1.3/program/src/rrd_open.c, acinclude.m4, configure.ac,
+         src/rrd_open.c: check for broken implementations of msync /
+         MS_ASYNC where the mtime does not get updated. warn and explicitly
+         call utime in rrd_open when a file is opened rw.
+
+2008-12-05 10:23  oetiker
+
+       * examples/rrdcached/Makefile.am: added rrdcached examples to
+         extra_dist to make sure they get distributed
+
+2008-12-04 16:01  oetiker
+
+       * branches/1.3/program/src/rrd_graph.c, src/rrd_graph.c: Legends
+         should NOT be placed in reverse order when using --full-size-mode
+         ... this fixed #198.
+
+2008-12-04 15:49  oetiker
+
+       * src/rrd_fetch.c: add de-referencing to step in fetch check
+
+2008-12-04 15:48  oetiker
+
+       * src/rrd.h: fix merg error with win32 port
+
+2008-12-04 09:03  oetiker
+
+       * branches/1.2/program/src/rrd_graph_helper.c,
+         branches/1.3/program/src/rrd_graph_helper.c,
+         src/rrd_graph_helper.c: Catch CDEF:tot= and raise and error to fix
+         #199. Thanks to Jeron Massar for reporting this.
+
+2008-12-04 07:02  oetiker
+
+       * branches/1.3/program/CONTRIBUTORS,
+         branches/1.3/program/WIN32-BUILD-TIPS.txt,
+         branches/1.3/program/src/rrd_tool.c,
+         branches/1.3/program/win32/rrd.sln,
+         branches/1.3/program/win32/rrdtool.vcproj, CONTRIBUTORS,
+         WIN32-BUILD-TIPS.txt, src/rrd_tool.c, win32/rrd.sln,
+         win32/rrdtool.vcproj: Update to WIN32-BUILD-TIPS.txt and VC
+         project files so that the rrdtool.exe can be built too. -- Stefan
+         Ludewig Stefan.Ludewig exitgames.com
+
+2008-12-03 11:08  oetiker
+
+       * branches/1.2/program/src/rrd_fetch.c,
+         branches/1.3/program/src/rrd_fetch.c, src/rrd_fetch.c: When
+         fetching data from 'past' an rra, rrd_fetch was seeking past the
+         rrd file. This did cause seek errors in some setups. Fixed. Thanks
+         to Daniel Pocock for finding the problem.
+
+2008-12-03 09:54  oetiker
+
+       * configure.ac, examples/Makefile.am,
+         examples/rrdcached/Makefile.am: integrated rrdcached examples into
+         build process
+
+2008-12-03 08:47  oetiker
+
+       * examples/rrdcached, examples/rrdcached/RRDCached.pm,
+         examples/rrdcached/rrdcached-size.pl: add rrdcached examples --
+         kevin
+
+2008-12-02 12:35  oetiker
+
+       * branches/1.2/program/doc/rrdbuild.pod,
+         branches/1.3/program/doc/rrdbuild.pod, doc/rrdbuild.pod: fixed
+         solaris build instructions
+
+2008-12-01 11:05  oetiker
+
+       * doc/Makefile.am: added libdbi doc to extradist
+
+2008-11-24 16:08  oetiker
+
+       * trunk/status/2008-11-24.txt: updates by fritz
+
+2008-11-24 14:20  oetiker
+
+       * trunk/status/2008-11-24.txt: slightly revised
+
+2008-11-24 14:00  oetiker
+
+       * trunk/status/2008-11-24.txt: initial
+
+2008-11-20 13:04  oetiker
+
+       * doc/rrdgraph_libdbi.pod, src/rrd_fetch_libdbi.c: Attached a patch
+         for the rrd-tool LIBDBI integration with the following
+         improvements: a) correct error handling in case of libdbi being
+         unable to load the driver was producing segmentation faults. b)
+         better parsing of datasources * until now timestamp fields had to
+         be integer and had to contain a unix timestamp - now you can now
+         also use DateTime fields (you still need to specify it, as the
+         time-range needs to be defined correctly) * data fields are now no
+         longer limited to (var)char or DOUBLE fields - FLOAT, INTEGER,...
+         are now also supported. c) there is a bug with at least LIBDBI
+         0.8.1 in conjunction with mysql that can result in segmentation
+         faults when BINARY/BLOB fields are accessed - rrdtool will now
+         tell you about this fact before dying ;) d) also the value of
+         rrdderivemaxstep only gets applied if derive has been selected
+         correctly. e) "GROUP BY timestamp" has been removed from SQL
+         statement. f) "ORDER BY timestamp" will be added only in the case
+         of fetching "derived" data. -- Martin Sperl
+
+2008-11-18 17:19  oetiker
+
+       * CONTRIBUTORS, src/rrd.h, src/rrd_client.h, src/rrd_create.c,
+         src/rrd_daemon.c, src/rrd_diff.c, src/rrd_error.c,
+         src/rrd_fetch.c, src/rrd_first.c, src/rrd_format.c,
+         src/rrd_getopt.c, src/rrd_getopt.h, src/rrd_getopt1.c,
+         src/rrd_graph.c, src/rrd_graph.h, src/rrd_hw.c, src/rrd_hw_math.c,
+         src/rrd_hw_update.c, src/rrd_info.c, src/rrd_open.c,
+         src/rrd_parsetime.c, src/rrd_resize.c, src/rrd_restore.c,
+         src/rrd_rpncalc.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c,
+         src/rrd_tune.c, src/rrd_update.c, src/rrd_xport.c, win32/config.h,
+         win32/rrdlib.vcproj: win32 portability patch and
+         win32/rrdlib.vcproj file for the source -- christof wegmann
+         Christof.Wegmann with exitgames.com some fixes to make the result
+         work on unix again ...
+
+2008-11-18 08:37  oetiker
+
+       * trunk/contrib/php4/rrdtool.c: added patch suggested by Lars
+         Johannesen
+
+2008-11-18 07:14  oetiker
+
+       * configure.ac: missing , added to help string
+
+2008-11-17 16:21  oetiker
+
+       * doc/Makefile.am: added build instruction for libdbi docu
+
+2008-11-16 22:24  oetiker
+
+       * doc/RRDp.pod, doc/RRDs.pod, doc/rrdgraph_libdbi.pod: missing pod
+         files
+
+2008-11-15 14:35  oetiker
+
+       * configure.ac: switch tu using AS_HELP_STRING for formatting ...
+
+2008-11-15 14:15  oetiker
+
+       * src/rrd_daemon.c: fix typo in handle_request_help --kevin
+
+2008-11-15 14:14  oetiker
+
+       * doc/rrdcached.pod: doc fixups for rrdcacehd * documented the -p
+         option * added nbsp between option and argument * layout one
+         option per line --kevin
+
+2008-11-11 16:36  oetiker
+
+       * src/rrd_graph.c: make basename work
+
+2008-11-11 16:36  oetiker
+
+       * doc/rrdcached.pod, src/rrd_daemon.c: This patch allows for
+         multiple RRD writer threads to service the queue. Now, rrdcached
+         can have more simultaneous I/O requests into the kernel. This may
+         allow the kernel to re-order disk writes, resulting in better disk
+         throughput. In practice, throughput is increased by 2-3x. The
+         flush (-f) timer maintenance has been moved from queue_thread_main
+         into its own thread. Be more careful about when to use
+         pthread_cond_signal vs _broadcast, since multiple threads may be
+         waiting on &queue_cond. --kevin
+
+2008-11-10 16:41  oetiker
+
+       * trunk/tutorial/lisa2008/rrd-intro.odp: added 1.4 notes
+
+2008-11-09 19:19  oetiker
+
+       * branches/1.3/program/configure.ac, configure.ac: be even more
+         liberal with NOT using isfinite on solaris2.8
+
+2008-11-09 00:00  oetiker
+
+       * branches/1.2/program/src/rrd_graph.c,
+         branches/1.2/program/src/rrd_graph.h,
+         branches/1.3/program/src/rrd_graph.c, src/rrd_graph.c: use
+         basename to determine filename for imginfo as suggested by
+         sebastian
+
+2008-11-08 22:57  oetiker
+
+       * src/rrd_daemon.c: rrdcached: move queue length decrement into
+         remove_from_queue -- kevin
+
+2008-11-08 22:57  oetiker
+
+       * doc/rrdcached.pod, src/rrd_daemon.c: rrdcached: examine the
+         current queue with the "QUEUE" command -- kevin
+
+2008-11-08 22:50  oetiker
+
+       * src/rrd_daemon.c: This helps with portability on platforms where
+         realloc doesn't handle NULL. -- kevin
+
+2008-11-08 18:01  oetiker
+
+       * doc/rrdcached.pod, src/rrd_daemon.c: document the "QUIT" command
+         -- kevin
+
+2008-11-08 18:01  oetiker
+
+       * src/rrd_daemon.c: rrdcached: journal_replay default failure
+         reason, just in case avoids a "may be used uninitialized" warning
+         -- kevin
+
+2008-11-08 18:00  oetiker
+
+       * src/rrd_daemon.c: added "quit" command -- kevin
+
+2008-11-08 17:57  oetiker
+
+       * src/rrd_daemon.c: rrdcached now frees all of its resources
+         correctly. This facilitates memory debugging. g_tree now knows how
+         to free the nodes when it removes them. Also, use g_tree_replace
+         instead of g_tree_insert. This fixes a bug triggered when the same
+         file was simultaneously inserted by two clients. --kevin
+
+2008-11-08 17:56  oetiker
+
+       * configure.ac: do not quit when libdbi is missing
+
+2008-11-07 22:46  oetiker
+
+       * branches/1.2/program/src/rrd_graph.c,
+         branches/1.3/program/src/rrd_graph.c, src/rrd_graph.c: fixed
+         --font TITLE:12: problem -- tobi
+
+2008-11-07 22:23  oetiker
+
+       * src/rrd_fetch_libdbi.c: fix scaling issue -- Martin
+
+2008-11-07 14:09  oetiker
+
+       * src/rrd_fetch_libdbi.c: extra file to make libdbi patch work
+
+2008-11-07 14:07  oetiker
+
+       * CONTRIBUTORS, configure.ac, src/Makefile.am, src/rrd_fetch.c,
+         src/rrd_tool.h: As some of you may know that I have created a
+         patch for rrdtool 1.2 a few years ago, so that a database could be
+         queried for values for graphing. The patch has been mostly
+         rewritten and the following changes have been made: * high
+         dependency on mysql has been reduced by avoiding the temporary
+         tables (which was bad for mysql replication) * The number of
+         executed SQL-Statements for one CDEF has been reduced to 1
+         compared to 11 SQLs (including CREATE TEMPORARY TABLE) - for patch
+         against version 1.2 * All consolidation is done in rrdtool itself
+         (MIN,MAX,AVERAGE) * Additional consolidation functions are COUNT
+         and SIGMA, which give information on statistics on a per
+         "time-bin" basis. * All these consolidation values are always
+         returned as separate columns, that are returned by RRD and the
+         consolidation function given as Argument is ignored. Main reason
+         is that this way there is only one call to rrd_fetcht and thus the
+         database even if we need to fetch for example min, avg and max.
+         Compare this to 3 calls in case of different consolidation
+         functions - and if you want to get SIGMA and COUNT as well it is
+         still only one call to the backend and the database. * Some
+         previous existing features have been taken out at the moment to
+         allow for this reduced set of SQL queries. o prediction using the
+         values from the last X days at the same time o the corresponding
+         sigma calculation * The idea is to create generic CDEF's that will
+         do the same thing, but that is also available when using RRD-files
+         (similar to TREND, but with another scope) This will get posted as
+         a separate patch. * Overall performance should be much better and
+         the patch as a whole simpler. * The patch also includes
+         modifications to the configuration infrastructure, to make libdbi
+         support optional. -- Martin Sperl
+
+2008-11-07 14:02  oetiker
+
+       * CONTRIBUTORS, doc/rrdgraph_rpn.pod, src/rrd_rpncalc.c,
+         src/rrd_rpncalc.h: new CDEF functions for predictions PREDICT and
+         PREDICTSIGMA -- Martin Sperl
+
+2008-11-07 13:51  oetiker
+
+       * src/rrd_daemon.c: Much simpler handling of timestamp errors.
+         Return an error to the user when any of the time stamp values are
+         invalid. This is similar to RRDTool's normal behavior. Removed the
+         complex logic previously used to return error codes to the user.
+         This solves a bug where non-advancing timestamps could have
+         produced incorrect error output during "BATCH" mode. The bug was
+         cause by using the sock->wbuf pointer for the error output. --
+         kevin brintnall
+
+2008-11-07 13:45  oetiker
+
+       * src/rrd_daemon.c: rrdcached: pull in rrd_config.h so we can use
+         its defines ... particularly HAVE_VSNPRINTF -- kevin brintnall
+
+2008-11-04 07:12  oetiker
+
+       * bindings/Makefile.am, bindings/lua/Makefile.am, doc/Makefile.am: I
+         realize now that the problem is the line test -f lua/Makefile &&
+         cd lua && $(MAKE) install || true in the target
+         "install-data-local", in bindings/Makefile.am. It forces execution
+         of bindings/lua/Makefile independently of lua being found or not.
+         I added that line in my first patch, following perl, python and
+         ruby build style, but it's not needed after I switched to
+         automake. The make recursion is controlled by SUBDIRS, which will
+         only contain "lua" if BUILD_LUA is true. -- Fidelis Assis
+
+2008-11-02 17:25  oetiker
+
+       * bindings/lua/Makefile.am: fix build process for systems without
+         lua
+
+2008-11-02 17:09  oetiker
+
+       * src/rrd_daemon.c: PTHREAD_COND_INITIALIZER may only be used to
+         initialize static cond variables. -- Sebastian Harl
+
+2008-11-02 15:25  oetiker
+
+       * configure.ac: reverting non build makefile patch ... we need to
+         lua makefile for building the ditribution
+
+2008-11-01 09:09  oetiker
+
+       * configure.ac: do not create the lua makefile if lua is not to be
+         compiled.
+
+2008-10-30 14:32  oetiker
+
+       * doc/cdeftutorial.pod: fix from alex
+
+2008-10-28 08:57  oetiker
+
+       * NEWS, doc/rrddump.pod, doc/rrdtool-dump.xsd, src/rrd_dump.c,
+         src/rrd_tool.c: - remove the spaccing between the elements - add
+         xsd support to dump output - change the argument
+         "[--no-header|-n]" to [--header|-h {xsd,dtd}] -- tobias.lindenmann
+         1und1.de
+
+2008-10-28 08:47  oetiker
+
+       * trunk/website/rrdtool-dump.xsd: xsd for rrdtool
+
+2008-10-26 15:18  oetiker
+
+       * configure.ac, src/Makefile.am, src/librrd.sym.in,
+         src/librrd.sym.in.in: make compilation on older OSX versios work
+         by removing the # from the librrd.sym file
+
+2008-10-24 07:59  oetiker
+
+       * trunk/talks/opentuesday/rrd-intro.odp: added talk
+
+2008-10-24 06:20  oetiker
+
+       * branches/1.2/program/doc/rrdpython.pod,
+         branches/1.3/program/doc/rrdpython.pod, doc/rrdpython.pod: fixed
+         typo ... GAUGE not GUAGE
+
+2008-10-22 20:41  oetiker
+
+       * src/rrd_daemon.c: The previous code relied on the assumption that
+         pthread_cond_init(&cond) was equivalent to memset(&cond,0). This
+         may not be true on all platforms. -- kevin
+
+2008-10-22 06:02  oetiker
+
+       * src/rrd_daemon.c: remove_cache_item() did not check whether a file
+         was in queue before modifying the cache head/tail pointers.
+         Therefore, the process of flushing old files may perturb the
+         cache_queue_head pointer. This caused some nodes with
+         CI_FLAGS_IN_QUEUE to be un-linked from the queue list. Thereafter,
+         they would not be flushed by any periodic process (although they
+         could be revived with FLUSH or UPDATE). This caused a slow memory
+         leak for files that are no longer updated. Pending updates for
+         these "abandoned" files would remain in memory ad infinitum. With
+         this patch, remove_from_queue() will check that the item is queued
+         before modifying the head/tail pointers. This restores the
+         intended behavior. --kevin
+
+2008-10-22 05:08  oetiker
+
+       * bindings/lua/Makefile.lua.in: this was replaced by Makefile.am
+
+2008-10-21 06:10  oetiker
+
+       * bindings/lua/Makefile.am: guess one needs that in svn too for
+         luabindings to work
+
+2008-10-21 05:42  oetiker
+
+       * src/rrd_daemon.c: * Open all listen sockets in daemonize(), while
+         we still have stderr. Changed open_listen_socket_* routines to
+         complain to stderr. Now, any errors in binding to the listen
+         sockets are much more obvious. * Simplified exit of parent after
+         fork() * PID file will be correctly cleaned up if there is a
+         failure in daemonize(). * unlink the unix socket before trying to
+         bind() (after we're sure we have the PID file) -- kevin
+
+2008-10-20 11:46  oetiker
+
+       * src/rrd.h, src/rrd_create.c, src/rrd_open.c, src/rrd_update.c:
+         rrd_notify_row patch: - Delegate choice of starting row for newly
+         created RRD files to the rrd_open.c API. - Introduce the
+         rrd_notify_row() function so that an implementation can choose to
+         align the rows of new RRDs with existing RRDs, if desirable. -
+         Maintain the existing behaviour (random starting row) by default.
+         -- Daniel.Pocock
+
+2008-10-20 06:06  oetiker
+
+       * bindings/Makefile.am, bindings/lua/README,
+         bindings/lua/compat-5.1r5, bindings/lua/compat-5.1r5/compat-5.1.c,
+         bindings/lua/compat-5.1r5/compat-5.1.h,
+         bindings/lua/compat-5.1r5/compat-5.1.lua, bindings/lua/rrdlua.c,
+         bindings/lua/test.lua, bindings/lua/test.lua.bottom, configure.ac:
+         - Lua module build and install process rewritten using
+         automake+libtool - improved check for compat-5.1 availability --
+         Fidelis Assis
+
+2008-10-18 22:32  oetiker
+
+       * src/rrd_open.c: rrd_open should not create files with restrictive
+         masks Removed unnecessary "mode" varaible. The mode is only used
+         when O_CREAT is specified, where we want to use 0666 (as
+         rrd_create_fn did r<=1612). --kevin
+
+2008-10-18 15:50  oetiker
+
+       * src/rrd.h, src/rrd_open.c: - encapsulate fd and mmap related
+         variables within a private data structure - rrd_file_t keeps a
+         pointer to the private data structure of type void*, so that other
+         block storage implementations can store their internal data with
+         rrd_file_t -- Daniel.Pocock
+
+2008-10-17 05:50  oetiker
+
+       * src/rrd_client.c: rrdc_flush_if_daemon should not clobber error
+         message -- kevin (as suggested by Sebastian)
+
+2008-10-17 05:44  oetiker
+
+       * branches/1.3/program/src/rrd_graph.c, src/rrd_graph.c: use double
+         for legend positioning to fight wiggle
+
+2008-10-16 21:33  oetiker
+
+       * doc/rrdbuild.pod: fix version numbers in compile instructions tobi
+
+2008-10-16 21:30  oetiker
+
+       * src/rrd_client.c: In almost all cases where rrdc_flush can fail,
+         it will leave a more descriptive error message anyway.. better not
+         overwrite it. -- kevin
+
+2008-10-16 21:12  oetiker
+
+       * src/rrd.h, src/rrd_create.c, src/rrd_dump.c, src/rrd_fetch.c,
+         src/rrd_first.c, src/rrd_info.c, src/rrd_last.c,
+         src/rrd_lastupdate.c, src/rrd_open.c, src/rrd_resize.c,
+         src/rrd_tune.c, src/rrd_update.c: - rrd_open() calculates file
+         size for new files and calls mmap once for the whole file -
+         rrd_resize() cleaned up, no longer passing a size through the
+         cookie argument - rrd_init(&my_rrd) must be called before
+         rrd_open() - if people are calling rrd_open directly from
+         application code, this might be troublesome. Alternative
+         solutions: creating an additional function, rrd_open_create(), or
+         adding an extra argument to rrd_open() for setting the file size
+         -- Daniel Pocock
+
+2008-10-16 21:05  oetiker
+
+       * src/rrd_open.c, src/rrd_update.c: move rrd_lock into rrd_open
+         where the general rrd_file ops are located. -- Daniel Pocock
+
+2008-10-16 06:11  oetiker
+
+       * src/rrd_daemon.c: error reporting caused crash in journal replay
+
+2008-10-16 06:11  oetiker
+
+       * doc/rrdbuild.pod: better build docs
+
+2008-10-15 05:29  oetiker
+
+       * src/rrd.h, src/rrd_create.c, src/rrd_open.c, src/rrd_resize.c,
+         src/rrd_tool.h, src/rrd_update.c: reverted r1601 and r1606 since
+         r1601 introduced a non portable mremap and r1606 has a dependency
+         on r1601.
+
+2008-10-14 20:14  oetiker
+
+       * src/rrd.h, src/rrd_create.c, src/rrd_open.c, src/rrd_update.c:
+         This moves selection of the initial RRA row into the rrd_open.c
+         API The current implementation (random row) is used by default.
+         However, it now provides an opportunity for alternative
+         implementations to integrate with rrdtool in a single place. Maybe
+         there are other places in rrdtool where I should insert calls to
+         the function rrd_notify_row()? This has been tested with rrdtool
+         create and rrdtool info to verify that random rows are selected by
+         default (existing behaviour preserved). -- Daniel Pocock
+
+2008-10-14 19:23  oetiker
+
+       * src/rrd_daemon.c: Under most circumstances, rrdcached can detect a
+         stale pid file. If the process in the pid file does not exist, or
+         cannot be signalled by the rrdcached owner, then rrdcached will
+         replace the pid file and start normally. Otherwise, it will
+         complain verbosely to STDERR. --kevin
+
+2008-10-14 19:08  oetiker
+
+       * src/rrd_client.c: * this preserves principle of least surprise
+         when dealing with files that are reachable via many path strings.
+         i.e. when $PWD=/base/dir the following files are the same:
+         /base/dir/x.rrd x.rrd ../dir/x.rrd * for performance, absolute
+         paths (starting with '/') are not resolved. this reduces the
+         number of stat(2) system calls.
+
+2008-10-14 19:08  oetiker
+
+       * doc/rrdcached.pod, src/rrd_daemon.c: Now, the daemon will check
+         that a base directory is NOT reached via symbolic link.
+         Documentation added to illustrate the restriction. This allows
+         several simplifying (and performance-enhancing) assumptions to be
+         made elsewhere in the code: * it ensures that paths resolved in
+         the client via realpath() will match our data structure keys *
+         it's possible to generate the correct absolute path when given a
+         relative path by simply prepending the base directory * it's not
+         necessary to resolve paths that begin with '/' -- kevin
+
+2008-10-14 19:08  oetiker
+
+       * CONTRIBUTORS, src/rrd_daemon.c: rrdcached treats relative and
+         absolute paths the same -- kevin
+
+2008-10-14 11:33  oetiker
+
+       * src/rrd_create.c, src/rrd_open.c, src/rrd_resize.c,
+         src/rrd_tool.h: Some observations I made while implementing this:
+         - In rrd_open(), the call to rrd_init() clobbers values already
+         populated in rrd_create.c - The logic for newfile_size in
+         rrd_open() wasn't really able to cope with the logic for a file
+         starting with size 0 I've tried to deal with these issues, but
+         maybe there is a more elegant solution. -- Daniel Pocock
+
+2008-10-14 06:37  oetiker
+
+       * src/rrd_daemon.c: clearer way of advancing the flush time -- kevin
+
+2008-10-13 22:07  oetiker
+
+       * src/rrd_daemon.c: This patch reduces the number of
+         time()/gettimeofday() system calls when doing high volume
+         processing. This enables about 25% speed increase during journal
+         replay and "BATCH" processing. (this is a function of syscall
+         overhead). * note when "BATCH" processing or journal replay
+         starts, use that timestamp for all commands * use the batch start
+         time to detect when we're in batch mode. no longer need a separate
+         boolean. * pass the time_t into handle_request * pass the time_t
+         through to the commands that need it -- kevin brintnall
+
+2008-10-13 18:41  oetiker
+
+       * src/rrd_daemon.c: fixed bad folding marker (on
+         handle_request_flush) -- kevin
+
+2008-10-11 09:53  oetiker
+
+       * src/rrd_daemon.c: this ensures that the response is
+         protocol-compliant even if additional info has been added to the
+         write buffer during processing. -- kevin brintnall
+
+2008-10-11 09:37  oetiker
+
+       * doc/rrdcached.pod, src/rrd_daemon.c: This patch introduces a
+         feature whereby rrdcached will disallow updates that do not
+         advance the update time. This prevents the updates from being
+         discarded later by rrd_update_r. This patch attempts to make the
+         most of the protocol's limited ability to return error text when
+         using a -1 return code. -- kevin brintnall
+
+2008-10-10 05:21  oetiker
+
+       * etc/rrdcached-init: This patch ensures that when rrdcached is
+         stopped, it cleans up the pid file. Apparently this is necessary
+         if RRDCACHED_USER is not the default "rrdcached". -- Bernard Li
+
+2008-10-10 05:21  oetiker
+
+       * rrdtool.spec: The patch I submitted for rrdtool.spec introduced a
+         bug where there are two ldconfig calls in the %postun section.
+         This patch fixes that. -- Bernard Li
+
+2008-10-10 05:19  oetiker
+
+       * etc/rrdcached-default, etc/rrdcached-init: This patch does two
+         things: - remove the --pidfile check, for compatibility with older
+         RHEL/Centos systems - update the username used by the init script,
+         to remain consistent with Bernard's changes to the spec file --
+         Daniel.Pocock
+
+2008-10-08 20:47  oetiker
+
+       * rrdtool.spec: Split-out rrd-cached subpackage -- Bernard Li
+
+2008-10-08 05:49  oetiker
+
+       * rrdtool.spec: This patch updates the spec file and includes the
+         librrd.pc file in the -devel subpackage so that you can build the
+         RPM again. -- Bernard
+
+2008-10-08 05:47  oetiker
+
+       * src/rrd_daemon.c: fix crash reported by Bernard Li -
+         connection_thread_main: avoid double calls to close_connection --
+         kevin
+
+2008-10-08 05:46  oetiker
+
+       * doc/rrdcached.pod: fixed typo
+
+2008-10-07 21:10  oetiker
+
+       * doc/rrdcached.pod, src/rrd_daemon.c: This patch introduces two new
+         commands for cache management: PENDING: shows any un-written
+         updates for a file FORGET : remove a file completely from cache --
+         kevin brintnall
+
+2008-10-07 21:08  oetiker
+
+       * src/rrd_daemon.c: This patch moves the permission handling code
+         around a bit. * moved privilege checks into the command handler
+         functions (possible now that we pass the sock data structures
+         around) * on UPDATE, delay journal_write until after
+         check_file_access(). previously, it was possible for a high-priv
+         socket to introduce commands into the journal that could be
+         replayed if they were still in the journal at next startup. *
+         moved has_privilege() further up in the file to avoid need for
+         prototype. -- kevin brintnall
+
+2008-10-07 16:28  oetiker
+
+       * src/rrd_daemon.c: This patch introduces some extra safety checks
+         in journal processing, and cleans up the code a little bit. *
+         moved journal initialization to its own function; main() is
+         cleaner * any time we process a file, log the results (previous
+         code only loggded if there was a valid entry) * After reading
+         journals at startup, only trigger full flush out to disk if the
+         user specified -F. Avoids unnecessary IO on startup unless the
+         user also wants unnecessary IO on shutdown. * journal_replay is
+         much more careful about files it will open * must be a regular
+         file * must be owned by daemon user * must not be group/other
+         writable * Ensure that the journal gets created with the right
+         permissions. ... even when the daemon is invoked with a permissive
+         umask. equivalent to "chmod a-x,go-w" -- kevin
+
+2008-10-07 15:37  oetiker
+
+       * src/rrd_open.c: aniel Pocock reported that the argument may be
+         NULL in low-diskspace situations, so check for that here to
+         prevent a segmentation fault. -- Florian Forster
+
+2008-10-06 19:14  oetiker
+
+       * bindings/lua/Makefile.lua: Makefile.lua is now generated
+
+2008-10-06 19:13  oetiker
+
+       * bindings/lua/Makefile.lua.in: added missing file from lua 5.0
+         integration patch
+
+2008-10-06 19:05  oetiker
+
+       * doc/rrdcached.pod, src/rrd_daemon.c: This patch introduces "BATCH"
+         mode. In this mode, a client can feed multiple commands to
+         rrdcached without waiting for acknowledgement. This permits
+         multiple commands to be sent for each read()/write(). This can
+         dramatically increase the command throughput by increasing the
+         amount of work done per system call. It enables over 100k
+         updates/second with no CPU utilization due to the reduced system
+         calls. -- kevin brintnall
+
+2008-10-06 19:04  oetiker
+
+       * src/rrd_daemon.c: This patch introduces buffered I/O to rrdcached.
+         Now, rrdcached can interpret as many commands as arrive in a
+         single read(), and it will use fewer write()s when there are
+         multiple output lines. All routines now pass around
+         listen_socket_t objects instead of file descriptors. All I/O is
+         now contained in two routines. It's no longer necessary to specify
+         the line count in multi-line outputs, since that is calculated
+         automatically. This is the foundation for accepting batched
+         commands. -- kevin brintnall
+
+2008-10-06 05:05  oetiker
+
+       * CONTRIBUTORS, bindings/Makefile.am, bindings/lua/Makefile.lua,
+         bindings/lua/README, bindings/lua/rrdlua.c, configure.ac,
+         doc/rrdlua.pod: Support to Lua 5.0 -- Fidelis Assis
+
+2008-10-04 22:35  oetiker
+
+       * trunk/tutorial/lisa2008/rrd-by-example/body.tex,
+         trunk/tutorial/lisa2008/rrd-by-example/ex/v-interfaces.pl,
+         trunk/tutorial/lisa2008/rrd-by-example/ex/v-interfaces.txt: added
+         v-interface example
+
+2008-10-04 16:05  oetiker
+
+       * configure.ac, src/Makefile.am, src/librrd.pc.in: initial librrd
+         file added ... this will need more love since it does not pick up
+         any -rpath settings
+
+2008-10-04 14:09  oetiker
+
+       * trunk/tutorial/lisa2008/rrd-by-example/body.tex,
+         trunk/tutorial/lisa2008/rrd-by-example/ex/graph-examples.pl: added
+         graditents
+
+2008-10-04 13:34  oetiker
+
+       * branches/1.3/program/src/rrd_resize.c, src/rrd_resize.c,
+         trunk/tutorial/lisa2008/rrd-by-example/ex/hw-demo.pl: * rrd_resize
+         fixed so that it does NOT alter the original file (mmap side
+         effect) * rrd_resize can can deal with version 4 files, so let it
+
+2008-10-03 22:53  oetiker
+
+       * branches/1.3/program/src/rrd_open.c, src/rrd_open.c: The patch
+         fixs rrdtools behaviour when presented with trunkated rrd files. *
+         Make sure that we do not extend past the end of the file when
+         reading the header. * Makes sure that the data portion of the file
+         is large enough, based on the ds_cnt and the total number of RRA
+         rows -- kevin brintnall
+
+2008-10-03 12:24  oetiker
+
+       * trunk/tutorial/lisa2008/rrd-by-example/body.tex,
+         trunk/tutorial/lisa2008/rrd-intro.odp: updates for lisa
+
+2008-10-03 06:13  zaucker
+
+       * trunk/talks/opentuesday/intro.txt: Ergaenzt.
+
+2008-10-02 19:17  oetiker
+
+       * src/rrd_daemon.c: folding fix
+
+2008-10-02 19:08  oetiker
+
+       * bindings/ruby/extconf.rb: missing spaces in extconf.rb caused
+         compile failure -- kevin
+
+2008-10-02 17:17  oetiker
+
+       * etc/rrdcached-default: permission fix for rrdcached socket --
+         Daniel.Pocock
+
+2008-10-02 11:03  oetiker
+
+       * trunk/talks/opentuesday/intro.txt: initial
+
+2008-10-02 11:03  oetiker
+
+       * trunk/talks/opentuesday: initial
+
+2008-10-02 06:21  oetiker
+
+       * trunk/tutorial/lisa2008/rrd-by-example/body.tex,
+         trunk/tutorial/lisa2008/rrd-by-example/ex/graph-examples.pl,
+         trunk/tutorial/lisa2008/rrd-by-example/traffic/index.cgi: minor
+         layout adjustments
+
+2008-10-01 20:58  oetiker
+
+       * trunk/tutorial/lisa2008/rrd-by-example/body.tex,
+         trunk/tutorial/lisa2008/rrd-intro.odp: read for lisa2008
+
+2008-10-01 20:25  oetiker
+
+       * trunk/tutorial/lisa2008/rrd-by-example/ex/catch-fetch.sh,
+         trunk/tutorial/lisa2008/rrd-by-example/ex/create-first.sh,
+         trunk/tutorial/lisa2008/rrd-by-example/ex/update-real.sh: export
+         is not required
+
+2008-10-01 20:22  oetiker
+
+       * src/Makefile.am: since rrdcached uses pthread functions, use the
+         threadsafe version of librrd as well. This will also reasolve
+         build problems on boxes there the ptherad functions must be linked
+         explicitly.
+
+2008-10-01 20:04  oetiker
+
+       * doc/rrdcached.pod: Clearer explanation on which paths are
+         permitted when -B is supplied -- kevin
+
+2008-10-01 20:01  oetiker
+
+       * bindings/lua/Makefile.lua, bindings/ruby/extconf.rb,
+         bindings/ruby/main.c, bindings/tcl/Makefile.am,
+         bindings/tcl/tclrrd.c, configure.ac, src/Makefile.am,
+         src/rrd_client.c, src/rrd_dump.c, src/rrd_gfx.c, src/rrd_open.c,
+         src/rrd_xport.c: Fixes for the following compiler warnings: -
+         unused variable - unused parameter - assignment / argument
+         discards qualifiers from pointer target type - comparison between
+         signed and unsigned - too many arguments to function - assignment
+         makes pointer from integer without a cast - incompatible pointer
+         type - differ in signedness - implicit declaration of function -
+         enumeration value not handled in switch - value computed is not
+         used Most notably, a possible segfault in the Rrd_Lastupdate()
+         code of the TCL bindings has been fixed. Also, -Wundef (warn if an
+         undefined identifier is evaluated in an #if directive) has been
+         removed from CFLAGS. I don't see any problem with letting
+         undefined identifiers evaluate to "false" in rrdtool. Keeping that
+         option would produce a lot of (imho unnecessary) errors which
+         would need to be fixed using ugly preprocessor statements like
+         '#if defined(FOO) && FOO'. -- Sebastian Harl
+
+2008-10-01 19:48  oetiker
+
+       * Makefile.am, etc, etc/rrdcached-default, etc/rrdcached-init,
+         rrdtool.spec: I've adapted an init script for rrdcached, and also
+         incorporated it into the spec file so that it is deployed with the
+         RPM. There are also some other changes to the spec file so that I
+         could build an RPM successfully from trunk. I'm happy to tidy up
+         the spec file some more if no one else wants to mandate the best
+         way to do it. By default, rrdcached runs as nobody. I've tested
+         this on a server running Ganglia gmetad. Regards, Daniel
+
+2008-10-01 19:44  oetiker
+
+       * doc/rrdcached.pod, src/rrd_daemon.c: Now, moving a value to the
+         head of the queue is O(1). Before it was O(queue size). This
+         improves performance of individual flushes when there is a large
+         number of files in the queue. As a result, we don't hold the
+         cache_lock as much. Revamped enqueue_cache_item to take advantage
+         of the new structure. Renamed _wipe_ci_values to look nicer with
+         other code. --kevin
+
+2008-10-01 17:16  oetiker
+
+       * trunk/tutorial/lisa2008/rrd-by-example/body.tex,
+         trunk/tutorial/lisa2008/rrd-by-example/ex/hw-demo.data,
+         trunk/tutorial/lisa2008/rrd-by-example/traffic,
+         trunk/tutorial/lisa2008/rrd-by-example/traffic/codewalk.png,
+         trunk/tutorial/lisa2008/rrd-by-example/traffic/graph.inc,
+         trunk/tutorial/lisa2008/rrd-by-example/traffic/ifbyteget.sh,
+         trunk/tutorial/lisa2008/rrd-by-example/traffic/index.cgi: added
+         example code and working presentation
+
+2008-10-01 17:15  oetiker
+
+       * trunk/tutorial/lisa2008/rrd-by-example/ex/biggraph.pl,
+         trunk/tutorial/lisa2008/rrd-by-example/ex/graph-examples.pl,
+         trunk/tutorial/lisa2008/rrd-by-example/ex/hw-demo.pl,
+         trunk/tutorial/lisa2008/rrd-by-example/ex/hw-example.pl: more
+         examples
+
+2008-10-01 16:53  oetiker
+
+       * src/rrd_graph.c: lcd is actually gcd!
+
+2008-09-30 18:44  oetiker
+
+       * doc/rrdcached.pod, src/rrd_daemon.c: When -B is specified, the
+         daemon will only operate on files within the base directory.
+         Symlink detection is omitted for performance reasons (if a user
+         can create a symlink, they can probably overwrite the RRDs
+         anyway). -- kevin
+
+2008-09-30 18:43  oetiker
+
+       * src/rrd_daemon.c: check permissions before writing to journal --
+         kevin
+
+2008-09-30 18:42  oetiker
+
+       * src/rrd_daemon.c: The daemon should behave the same way w/r/t
+         files whether we "-g" or not. -- kevin
+
+2008-09-29 20:00  oetiker
+
+       * src/rrd_daemon.c: This bug caused the last line in each journal
+         file to be processed a second time. Since it had been modified due
+         to tokenizing, it failed syntax check. The daemon would always
+         record one failed line at end-of-journal as a result. No data loss
+         incurred by this bug. -- kevin
+
+2008-09-29 19:58  oetiker
+
+       * doc/rrdcached.pod, src/rrd_daemon.c: This patch introduces the
+         concept of socket privilege levels. "UPDATE" and "FLUSHALL"
+         commands are restricted to high-privilege sockets. "FLUSH"
+         commands can be executed on any socket. This is ideal for
+         multi-user installations where only certain users need write
+         access to the RRD files. Now, nearly all socket information is
+         passed around the daemon in listen_socket_t data structures. In
+         case there is other per-socket state (i.e. if we add
+         authentication) we can put it there. Also, I created a new
+         "open_listen_socket_network" and removed the network setup from
+         "open_listen_socket". -- kevin
+
+2008-09-29 19:56  oetiker
+
+       * src/rrd_client.c, src/rrd_update.c: This patch provides better
+         error messages to the client when something goes wrong with the
+         daemon. When possible, the daemon error message is passed through
+         to rrd_set_error() on the client. Prior to this patch, most error
+         conditions would result in "Internal error", which is not very
+         helpful. -- kevin brintnall
+
+2008-09-29 14:38  oetiker
+
+       * trunk/tutorial/lisa2008/rrd-by-example/ex/catch-fetch.sh: initial
+
+2008-09-29 06:45  oetiker
+
+       * trunk/tutorial/lisa2008/rrd-by-example,
+         trunk/tutorial/lisa2008/rrd-by-example/beamercolorthemetobi.sty,
+         trunk/tutorial/lisa2008/rrd-by-example/body.tex,
+         trunk/tutorial/lisa2008/rrd-by-example/ex,
+         trunk/tutorial/lisa2008/rrd-by-example/ex/create-first.sh,
+         trunk/tutorial/lisa2008/rrd-by-example/ex/create-first.xml,
+         trunk/tutorial/lisa2008/rrd-by-example/ex/graph-examples.pl,
+         trunk/tutorial/lisa2008/rrd-by-example/ex/rrd-size.pl,
+         trunk/tutorial/lisa2008/rrd-by-example/ex/rrd-size.txt,
+         trunk/tutorial/lisa2008/rrd-by-example/ex/update-real.sh,
+         trunk/tutorial/lisa2008/rrd-by-example/ex/update-real.txt,
+         trunk/tutorial/lisa2008/rrd-by-example/handouts.tex,
+         trunk/tutorial/lisa2008/rrd-by-example/presentation.tex: added
+         examples
+
+2008-09-28 21:37  oetiker
+
+       * doc/rrdcached.pod: spelling fix -- kevin
+
+2008-09-28 21:36  oetiker
+
+       * doc/rrdcached.pod, src/rrd_daemon.c: This patch removes an extra
+         "SIGNALS" section in the rrdcached.pod and merges "[BUG] fixed
+         hang in flush_file() introduced by per-file flush condition". --
+         kevin brintnall
+
+2008-09-28 19:27  oetiker
+
+       * src/rrd_daemon.c: a few missing {{{ folding }}} markers added --
+         kevin brintnall
+
+2008-09-28 19:26  oetiker
+
+       * doc/rrdcached.pod, src/rrd_daemon.c: This patch introduces "fast
+         shutdown" mode and two new signals. -- kevin brintnall
+
+2008-09-28 19:25  oetiker
+
+       * doc/rrdcached.pod, src/rrd_daemon.c: Moved signal handler setup
+         out of daemonize(). Coalesced common code in preparation for new
+         signals. Documented behavior of existing signals. -- kevin
+         brintnall
+
+2008-09-28 19:23  oetiker
+
+       * MakeMakefile: Attached is a patch to lower the version
+         requirements of libtool and automake. I have tested this on CentOS
+         4.x with the specified versions of libtool and automake and was
+         able to build RRDTool fine. I did *not* test building with PHP,
+         tcl, ruby or Python though. I also abstracted the version numbers
+         of all the dependencies such that editing them in the future will
+         be easier. -- Bernard Li
+
+2008-09-28 19:12  oetiker
+
+       * doc/rrdcached.pod, src/rrd_daemon.c: added support for FLUSHALL
+         command -- kevin brintnall
+
+2008-09-28 19:10  oetiker
+
+       * src/rrd_daemon.c: move cache broadcast into enqueue_cache_item --
+         kevin brintnall
+
+2008-09-28 19:10  oetiker
+
+       * src/rrd_daemon.c: When -z <jitter> is specified, some updates may
+         be timestamped up to <jitter> seconcds in the future. Therefore, a
+         timeout of now+1 may not be sufficient. Set abs_timeout past the
+         point where any updates are currently specified. -- kevin
+         brintnall
+
+2008-09-28 19:09  oetiker
+
+       * src/rrd_daemon.c: The PID file is created with open() in the
+         parent process, while we still have STDERR open. If it cannot be
+         created, it complains verbosely to stderr. The PID file is written
+         in the child process. The only way the fdopen() will fail on a fd
+         that is already open is if you're completely out of memory. As in
+         other places in the code, I didn't consider this a case that
+         required a very verbose message. (Search for "strdup failed"). If
+         you still think a more verbose message is called for, please
+         suggest one. The attached patch corrects the error message to
+         complain about fdopen() vs fopen(). I hadn't noticed that until
+         you brought it up. -- kevin brintnall
+
+2008-09-28 19:08  oetiker
+
+       * src/librrd.sym.in, src/rrd.h: rrd.h, librrd.sym: Define and export
+         rrd_info_r() -- Sebastian Harl
+
+2008-09-28 15:01  oetiker
+
+       * branches/1.2/program/src/rrd_graph.c,
+         branches/1.3/program/src/rrd_graph.c,
+         branches/1.3/program/src/rrd_tool.c, src/rrd_graph.c,
+         src/rrd_tool.c: vdef calc was using end_orig to determine for
+         which range it should do its calculations which is odd, since orig
+         is only the requested range as invocation time and not the data
+         range deliverd by fetch. It does fall completely flat when
+         shifting since shifting does not affect the original data. Bug
+         #177 reported by hokiel
+
+2008-09-27 11:44  oetiker
+
+       * branches/1.2/program/src/rrd_xport.c,
+         branches/1.3/program/src/rrd_xport.c, src/rrd_xport.c: rrdxport
+         was completely broken for exporting datasources that did not have
+         a uniform step size. Thanks to Peter Valdemar Mørch for finding
+         this.
+
+2008-09-26 05:11  oetiker
+
+       * src/rrd_daemon.c: create the pid file before forking, so we can
+         complain to stderr -- kevin brintnall
+
+2008-09-26 05:10  oetiker
+
+       * doc/rrdcached.pod, doc/rrdflush.pod, src/rrd_daemon.c: This patch
+         ensures that the "FLUSH" command will write the updates out to RRD
+         before returning to the user. Before, it returned when the update
+         was "dequeued"; updates were not necessarily on disk. Also, for
+         new nodes, the cache_lock is not held while we are setting up the
+         new node. We don't want to be holding the lock if the stat()
+         blocks. -- kevin brintnal
+
+2008-09-25 21:07  oetiker
+
+       * src/rrd_client.c: Use the same IPv6/IPv4 as for the client as
+         Florian did for the server -- kevin brintnall
+
+2008-09-25 20:31  oetiker
+
+       * src/rrd_daemon.c: This fixes a couple problems when exiting due to
+         signal: * connection threads exit without closing client socket
+         (so client blocks waiting for response that never comes) *
+         listen_queue_thread blocks on poll() until a new connection comes
+         in (because no poll timeout specified) -- kevin brintnall
+
+2008-09-25 20:11  oetiker
+
+       * src/rrd_daemon.c: set SO_REUSEADDR on the listen socket -- kevin
+         brintnall
+
+2008-09-25 20:10  oetiker
+
+       * doc/rrdcached.pod, src/rrd_daemon.c: Support for IPv6 has been
+         broken with revision 1522: Because IPv6-addresses contain colons,
+         simply checking for a colon and using everything after it does
+         destroy correctly formatted IPv6-addresses. This patch checks for
+         dots '.' in the address. If the address contains at least one dot,
+         it is considered to be a hostname or an IPv4-address and a simple
+         search for a colon is done. If no dot is found, the code will
+         check for an opening square bracket '[' at the beginning of the
+         address. If one if found, the format [address]:port is assumed. If
+         neither applies, the default port will be used. -- Florian Forster
+
+2008-09-25 15:25  oetiker
+
+       * doc/rrdcached.pod, doc/rrddump.pod, doc/rrdfetch.pod,
+         doc/rrdflush.pod, doc/rrdgraph.pod, doc/rrdinfo.pod,
+         doc/rrdlast.pod, doc/rrdlastupdate.pod, doc/rrdupdate.pod,
+         doc/rrdxport.pod, src/rrd_client.c: This adds support for
+         <address>:<port> in the rrd client library. Obviously this is
+         required to take advantage of the server's ability to bind to a
+         non-standard port -- kevin brintnall
+
+2008-09-24 22:21  oetiker
+
+       * doc/rrdcached.pod, src/rrd_daemon.c: Allow ports to be specified
+         with -l addr:port also. -- kevin brintnall
+
+2008-09-24 22:07  oetiker
+
+       * bindings/Makefile.am: the rrdlua.pod is in the doc directory
+
+2008-09-24 06:04  oetiker
+
+       * doc/rrdcached.pod: added section on error reporting -- Florian
+         Forster
+
+2008-09-22 06:35  oetiker
+
+       * MakeMakefile, bindings/Makefile.am, bindings/lua,
+         bindings/lua/Makefile.lua, bindings/lua/README,
+         bindings/lua/rrdlua.c, bindings/lua/test.lua, configure.ac,
+         doc/Makefile.am, doc/rrdlua.pod: I finally finished the first
+         version of the patch (attached) -- Fidelis Assis fidelis pobox.com
+         (this does not seem to quite work yet at least not in my hardy
+         setup)
+
+2008-09-22 05:38  oetiker
+
+       * branches/1.2/program/configure.ac,
+         branches/1.3/program/configure.ac, configure.ac: use default
+         prefix for ruby install if no user defined prefix is available
+
+2008-09-19 20:34  oetiker
+
+       * branches/1.3/program/bindings/perl-shared/Makefile.PL,
+         bindings/perl-shared/Makefile.PL: Bsd lirary path switch added to
+         perl bindings makefile -- as suggested by Kevin Brintnall
+
+2008-09-18 13:30  oetiker
+
+       * branches/1.3/program/src/rrd_open.c, src/rrd_open.c: Fix for
+         debian bug 498183 ... never *advise after the end of the file. On
+         sparc this causes a segfault. Thanks to Sebastian Harl and Jurij
+         Smakov for finding this.
+
+2008-09-14 15:30  oetiker
+
+       * src/rrd_daemon.c: fix RRDCacheD documentation -- Florian Forster
+
+2008-09-14 15:28  oetiker
+
+       * src/rrd_client.c: The previous code was broken: The response was
+         read using `read(2)'. If the server wasn't sending fast enough,
+         the client would stop reading before the entire message had been
+         read. This patch changes the communication code to use the (line
+         based) `fgets' function rather than the lower level `read'
+         function. After reading the first line (which contains the total
+         number of line to be expected), this precise number of lines is
+         read - blocking if necessary. Also, the missing four new statistic
+         values have been added to `rrdc_stats_get'. --Folorian Forester
+
+2008-09-14 10:35  oetiker
+
+       * CONTRIBUTORS, doc/rrdcached.pod, doc/rrdflush.pod,
+         src/librrd.sym.in, src/rrd_client.c, src/rrd_client.h,
+         src/rrd_daemon.c, src/rrd_dump.c, src/rrd_fetch.c,
+         src/rrd_flush.c, src/rrd_graph.c, src/rrd_graph.h, src/rrd_info.c,
+         src/rrd_last.c, src/rrd_lastupdate.c, src/rrd_tool.h,
+         src/rrd_update.c, src/rrd_xport.c: did not pick up all the changes
+         for rrdcached in the first round ... so here is the second batch.
+
+2008-09-14 09:49  oetiker
+
+       * CONTRIBUTORS, configure.ac, doc/Makefile.am, doc/rrdcached.pod,
+         doc/rrddump.pod, doc/rrdfetch.pod, doc/rrdgraph.pod,
+         doc/rrdinfo.pod, doc/rrdlast.pod, doc/rrdlastupdate.pod,
+         doc/rrdtool.pod, doc/rrdupdate.pod, doc/rrdxport.pod,
+         src/Makefile.am, src/librrd.sym.in, src/rrd.h, src/rrd_client.c,
+         src/rrd_client.h, src/rrd_daemon.c, src/rrd_dump.c,
+         src/rrd_fetch.c, src/rrd_graph.c, src/rrd_graph.h, src/rrd_info.c,
+         src/rrd_last.c, src/rrd_lastupdate.c, src/rrd_tool.c,
+         src/rrd_tool.h, src/rrd_update.c, src/rrd_xport.c: RRDcached
+         patch. This implements an infrastructure, where rrd updates can be
+         sent to a daemon which caches them prior to bulk-updateing rrd
+         files. See the rrdcached manual page. -- Created by Florian
+         Forster with some help from Kevin Brintnall.
+
+2008-09-13 11:42  oetiker
+
+       * configure.ac, src/Makefile.am, src/rrd_config_bottom.h: regarding
+         #183: * move part of rrd_config.h out to a separate file, so that
+         autoconf is not confused by the more complex expressions. * fix
+         configure variable name to allow caching * another attemt at
+         fixing solaris 2.8 compile so that it works out of the box.
+
+2008-09-13 10:56  oetiker
+
+       * doc/rrdgraph.pod: fix graph docs
+
+2008-09-11 20:27  oetiker
+
+       * src/rrd_graph.c: fixed processing of custom fonts René GARCIA
+         <rene@margar.fr>
+
+2008-09-11 07:01  oetiker
+
+       * src/rrd_format.h: no , on the last member in C
+
+2008-09-08 22:12  oetiker
+
+       * trunk/website/award-white.png,
+         trunk/website/bin/pod2wml.classic.sh, trunk/website/forum.wml,
+         trunk/website/inc/favicon.ico, trunk/website/inc/happy-tobi.png,
+         trunk/website/inc/rrdtool-gold.png,
+         trunk/website/oscon-120x60.gif, trunk/website/stream-pop.png:
+         missing bits atted
+
+2008-09-08 22:09  oetiker
+
+       * trunk/website/.wmkrc, trunk/website/.wmlrc: and they too
+
+2008-09-07 10:22  oetiker
+
+       * trunk/website/index.wml, trunk/website/navbar.inc,
+         trunk/website/support.wml: sync befor branching
+
+2008-09-07 07:19  oetiker
+
+       * src/rrd_update.c: The attached patch eliminates the many places
+         where the rra_current pointer was maintained; the existing
+         write/seek mechanisms update rrd_file->pos correctly. Also, the
+         seek at the front of process_arg is not necessary; write_to_rras
+         will now take care to correct the file position at every update
+         cycle. This eliminates unnecessary rrd_seek() calls when MMAP is
+         not enabled. -- kevin brintnall kbrint rufus.net
+
+2008-09-06 15:50  oetiker
+
+       * trunk/website/index.wml: added note on 1.3.2
+
+2008-09-06 15:48  oetiker
+
+       * trunk/website/bin/pod2wml.sh, trunk/website/inc/template.inc,
+         trunk/website/index.wml, trunk/website/prog/build.sh,
+         trunk/website/rrdworld/gbrrdgraphix.xml,
+         trunk/website/rrdworld/index.wml: improve html generation
+
+2008-09-06 14:24  oetiker
+
+       * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm,
+         doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c, src/rrd.h,
+         src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c,
+         src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c,
+         src/rrd_first.c, src/rrd_format.c, src/rrd_format.h,
+         src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c,
+         src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c,
+         src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c,
+         src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c,
+         src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h,
+         src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c,
+         src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c,
+         src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h,
+         src/rrdupdate.c: prepare for the release of rrdtool-1.3.2
+
+2008-09-06 11:46  oetiker
+
+       * src/rrd_tool.h: we need rrd_format.h here for things to compile
+         properly
+
+2008-09-06 11:43  oetiker
+
+       * doc/rrdbuild.pod: updated opensolaris build instructions
+
+2008-09-06 10:43  oetiker
+
+       * bindings/perl-piped/RRDp.pm, configure.ac, src/Makefile.am,
+         src/librrd.sym, src/librrd.sym.in, src/rrd_tool.h: only link build
+         and use rrd_getopt if there is no getopt_long provided by by the
+         os ... this should also fix problems for solaris 2.8 and other non
+         getopt_long oses who were not taken care of anymore after the
+         intriduction of librrd.sym
+
+2008-09-06 10:39  oetiker
+
+       * src/rrd_update.c: fix for multi update - data corruption bug as
+         reported (and patched) in #178 by kevin brintnall
+
+2008-09-06 10:32  oetiker
+
+       * doc/cdeftutorial.pod, doc/rrdgraph.pod, doc/rrdgraph_graph.pod,
+         doc/rrdtool.pod: make pod checker happy
+
+2008-09-06 08:58  oetiker
+
+       * src/rrd_open.c: inline functions are not supported in c99 ... lets
+         remove this. the compiler will foture it out if they are
+         important.
+
+2008-09-04 21:45  oetiker
+
+       * src/rrd_graph.c: introduced a persistant fontmap ... this makes
+         our pango rendering 6 times faster starting from the second graph
+         we draw.
+
+2008-08-31 23:42  oetiker
+
+       * src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph.h: now the results
+         actually look as they did with the old code only things are FASTER
+
+2008-08-31 22:53  oetiker
+
+       * src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph.h,
+         src/rrd_graph_helper.c: Improve performance by keeping multiple
+         pango font descriptions. For the first invocation we are about 20%
+         times as fast for the second one about 4-5 times faster ...
+
+2008-08-31 10:55  oetiker
+
+       * src/rrd_gfx.c: trying to improve the pango performance I added
+         facilities to cache layout,context and more in between invocations
+         of the text function, unfortunately it does not seem to help all
+         that much.
+
+2008-08-31 10:52  oetiker
+
+       * bindings/perl-shared/RRDs.xs, bindings/ruby/main.c: use the
+         standart info free function
+
+2008-08-28 05:49  oetiker
+
+       * src/rrd_tool.c: fix handling of error conditions in rrd_tool.c ...
+         errno is not for detection, only for information AFTER detection.
+
+2008-08-28 04:13  oetiker
+
+       * src/rrd_tool.c: free the linebuffer if you don't return it!
+
+2008-08-27 22:06  oetiker
+
+       * src/rrd_gfx.c: some more leak plugging
+
+2008-08-27 21:48  oetiker
+
+       * src/rrd_graph.c: drop the dummy surface prior to creating the real
+         one
+
+2008-08-27 21:46  oetiker
+
+       * src/rrd_tool.c: added some freeing for error conditions
+
+2008-08-27 21:25  oetiker
+
+       * src/rrd.h, src/rrd_gfx.c, src/rrd_graph.c, src/rrd_open.c,
+         src/rrd_update.c: fixed indentation ... gnu indent results are not
+         realy beautifl. I might switch to uncrustify.
+
+2008-08-27 21:25  oetiker
+
+       * src/rrd_create.c: Many rrd_create memory leaks patched ... based
+         on valgrind analysis by Sven Engelhardt. Thanks!
+
+2008-08-27 21:18  oetiker
+
+       * src/rrd_restore.c: fix indentation
+
+2008-08-27 06:52  oetiker
+
+       * configure.ac: added sparc-sun-solaris2.8 to list of broken
+         isfinite implementations
+
+2008-08-22 22:04  oetiker
+
+       * bindings/ruby/main.c: it is rb_rrd_infocall not rrd_infocall ...
+
+2008-08-16 07:13  oetiker
+
+       * doc/rrdgraph.pod, src/rrd_graph.c: When in lazy mode, and the
+         graph does not get regenerated, then there are no results from
+         PRINT either. Fix for #163.
+
+2008-08-16 07:11  oetiker
+
+       * bindings/perl-shared/RRDs.pm: documentation updates
+
+2008-08-12 06:48  oetiker
+
+       * src/rrd_graph.c: make sure imageinfo only reports the filename and
+         not the whole path. This is a regression from 1.2.x where this was
+         implemented properly.
+
+2008-08-09 15:22  oetiker
+
+       * trunk/website/gallery/index.en.html,
+         trunk/website/gallery/index.wml,
+         trunk/website/gallery/systembelastung.png,
+         trunk/website/gallery/systembelastung.xml: added systembelastung
+
+2008-08-04 20:35  oetiker
+
+       * src/rrd_gfx.c: The attached patch converts the given string to
+         UTF-8 using glib's g_locale_to_utf8() function. This function
+         expects the string to be encoded as specified by the locale
+         settings, so this will fail if e.g. you're using some script which
+         is encoded in some way incompatible to the locale settings. In
+         this case, the patch falls back to use the original string as
+         provided by the user as there is no way to tell how to interpret
+         that string. So, in this case, you will still get the old behavior
+         (that pango warning and messed up strings in the graph). However,
+         imho this is perfectly fine since it should be up to the user to
+         take care of a sane environment. -- Sebastian Harl
+
+2008-07-29 14:42  oetiker
+
+       * bindings/perl-shared/RRDs.xs: newer perlapi docu suggests to use
+         SV * instead of void for managed returns
+
+2008-07-29 05:08  oetiker
+
+       * src/rrd_gfx.c, src/rrd_hw_update.c: fixed some c++ style lines --
+         David Masterson
+
+2008-07-28 07:23  oetiker
+
+       * doc/rrdgraph_data.pod: spelling fix
+
+2008-07-23 15:03  oetiker
+
+       * src/rrd_restore.c: forward ported patch for rra cur_row
+         randomization in rrd_restore from 1.2.28 to 1.3.1
+
+2008-07-23 13:02  oetiker
+
+       * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm,
+         configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c,
+         src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c,
+         src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c,
+         src/rrd_first.c, src/rrd_format.c, src/rrd_format.h,
+         src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c,
+         src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c,
+         src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c,
+         src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c,
+         src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h,
+         src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c,
+         src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c,
+         src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h,
+         src/rrdupdate.c: prepare for the release of rrdtool-1.3.1
+
+2008-07-23 12:45  oetiker
+
+       * src/rrd_restore.c: added support for restoring rrdtool 1.0.x files
+         ... removed support for old HW patched rrd format created by an
+         early patched version of 1.0.x
+
+2008-07-22 15:15  oetiker
+
+       * branches/1.2/program/src/rrd_create.c, src/rrd_create.c: Fix for
+         #167 - rrdcreate is arguably missing a check for 'step>=1' for
+         RRAs with AVERAGE as a CF. I ran into this when specifying 0.6 as
+         a step value, assuming floats were also accepted. Patch attached
+         here. -- Bogdan
+
+2008-07-01 06:35  oetiker
+
+       * doc/rrdbuild.pod: header-fix
+
+2008-07-01 06:34  oetiker
+
+       * doc/rrdbuild.pod: improve layout
+
+2008-06-29 16:23  oetiker
+
+       * src/rrd_update.c: added rrd filename to illegal update message --
+         he at uninett.no
+
+2008-06-29 14:08  oetiker
+
+       * rrdtool.spec: rrdtool.spec fix by Anton Blanchard to build without
+         php patch
+
+2008-06-29 13:57  oetiker
+
+       * doc/rrdgraph.pod, src/rrd_graph.c: make sure image-with and
+         image-height get returned even when rrdtool is called with --lazy
+         as reported in bug #163
+
+2008-06-27 06:08  zaucker
+
+       * trunk/tutorial/lisa2008/abstract-rrdexample.txt,
+         trunk/tutorial/lisa2008/abstract-rrdtut.txt: Etwas ueberarbeitet
+
+2008-06-24 15:05  oetiker
+
+       * trunk/tutorial/lisa2008,
+         trunk/tutorial/lisa2008/abstract-rrdexample.txt,
+         trunk/tutorial/lisa2008/abstract-rrdtut.txt: intial
+
+2008-06-19 13:18  oetiker
+
+       * branches/1.2/program/bindings/python/rrdtoolmodule.c,
+         bindings/python/rrdtoolmodule.c: rrdtool.fetch is returning an
+         extra, bogus, data point. Attached is a patch to correct this. -
+         Gilad Raphaelli. Fix for #161
+
+2008-06-12 13:54  oetiker
+
+       * doc/rrdgraph_graph.pod: added note on %S
+
+2008-06-11 15:49  oetiker
+
+       * NEWS: made news the same as the announcement
+
+2008-06-10 23:12  oetiker
+
+       * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm,
+         doc/rrdbuild.pod, doc/rrdcreate.pod, doc/rrdgraph.pod,
+         doc/rrdgraph_graph.pod, rrdtool.spec, src/pngsize.c, src/rrd.h,
+         src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c,
+         src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c,
+         src/rrd_first.c, src/rrd_format.c, src/rrd_format.h,
+         src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c,
+         src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c,
+         src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c,
+         src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c,
+         src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h,
+         src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c,
+         src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c,
+         src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h,
+         src/rrdupdate.c: prepare for the release of rrdtool-1.3.0
+
+2008-06-10 23:11  oetiker
+
+       * trunk/website/bin/htmlfix.sh, trunk/website/gallery/index.en.html,
+         trunk/website/index.wml: updated website online
+
+2008-06-10 16:41  oetiker
+
+       * branches/1.2/website/index.wml, trunk/website, trunk/website/bin,
+         trunk/website/download.wml, trunk/website/gallery,
+         trunk/website/inc, trunk/website/index.wml,
+         trunk/website/license.wml, trunk/website/logos,
+         trunk/website/newbanner250x60.gif, trunk/website/rrdtool.dtd,
+         trunk/website/rrdworld, trunk/website/sponsor.wml,
+         trunk/website/tut: added website to trunk
+
+2008-06-10 16:38  oetiker
+
+       * trunk/website: using the 1.2 website as a basis for the new 1.3
+         website
+
+2008-06-10 16:38  oetiker
+
+       * configure.ac: oops it is 1.3.0 not 1.4.0 yet
+
+2008-06-10 16:37  oetiker
+
+       * 00README, CONTRIBUTORS, PROJECTS, TODO, configure.ac,
+         rrdtool-1.3-release: preparing for 1.3
+
+2008-06-10 16:32  oetiker
+
+       * src/Makefile.am, src/rrd.h, src/rrd_format.h, src/rrd_hw_math.c,
+         src/rrd_hw_update.c, src/rrd_tool.h: document the 'internal'
+         functions in rrd.h but mark them as deprecated, so that anyone
+         using them will see that they should not be doing it.
+
+2008-06-10 11:16  oetiker
+
+       * src/rrd_create.c: flip check for row_count with setting for better
+         code logic
+
+2008-06-10 09:35  oetiker
+
+       * doc/rrdcreate.pod, src/rrd_create.c: check row count in RRAs to be
+         > 0 ... by Sebastian Harl
+
+2008-06-10 07:18  oetiker
+
+       * src/rrd_create.c, src/rrd_open.c: for windows we must open files
+         in O_BINARY mode
+
+2008-06-09 16:10  oetiker
+
+       * src/rrd.h, src/rrd_tool.h: do NOT export lowlevel functions, since
+         I have no intention supporting these interfaces across versions.
+         The symbols are in the library, so if someone WANTS to code to
+         them, they are free todo so, but they will have to use our
+         internal header files.
+
+2008-06-09 15:49  oetiker
+
+       * src/librrd.sym, src/rrd.h, src/rrd_tool.h: add all lowlevel file
+         access functions from the rrd_open interface to the export list.
+
+2008-06-09 05:12  oetiker
+
+       * bindings/python/rrdtoolmodule.c, src/pngsize.c, src/rrd.h,
+         src/rrd_error.c, src/rrd_graph.h, src/rrd_info.c, src/rrd_open.c,
+         src/rrd_parsetime.c, src/rrd_tool.c, src/rrd_update.c: fixed
+         indenting
+
+2008-06-09 05:11  oetiker
+
+       * rrdtool.spec: update to rpm spec from Jarod Wilson
+
+2008-06-08 21:15  oetiker
+
+       * src/librrd.sym: export some more symbols from librrd
+
+2008-06-08 21:06  oetiker
+
+       * win32/config.h: windows should use a windows font
+
+2008-06-08 21:05  oetiker
+
+       * src/rrd_graph.c: drop special case windows font code ... it makes
+         no sense with the new setup
+
+2008-06-08 17:08  oetiker
+
+       * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm,
+         configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c,
+         src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c,
+         src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c,
+         src/rrd_first.c, src/rrd_format.c, src/rrd_format.h,
+         src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c,
+         src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c,
+         src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c,
+         src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c,
+         src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h,
+         src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c,
+         src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c,
+         src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h,
+         src/rrdupdate.c: prepare for the release of rrdtool-1.3rc9
+
+2008-06-08 17:08  oetiker
+
+       * src/rrd_gfx.c, src/rrd_graph.c: fixed pango markup switch ... we
+         still want the text to show even if no markup is enabled
+
+2008-06-08 16:47  oetiker
+
+       * bindings/python/rrdtoolmodule.c, bindings/ruby/main.c,
+         src/librrd.sym: rrd_freemem has to be exported as well ...
+
+2008-06-08 16:23  oetiker
+
+       * branches/1.2/program/src/pngsize.c, src/pngsize.c: fix for ticket
+         #121 jmpbuf on aix is a problem it seems, maybe this makes it
+         better.
+
+2008-06-08 15:59  oetiker
+
+       * src/Makefile.am: prepare for the release of rrdtool-1.3rc8
+
+2008-06-08 15:55  oetiker
+
+       * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm,
+         configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c,
+         src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c,
+         src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c,
+         src/rrd_first.c, src/rrd_format.c, src/rrd_format.h,
+         src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c,
+         src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c,
+         src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c,
+         src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c,
+         src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h,
+         src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c,
+         src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c,
+         src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h,
+         src/rrdupdate.c: prepare for the release of rrdtool-1.3rc8
+
+2008-06-08 15:55  oetiker
+
+       * bindings/perl-shared/RRDs.xs, bindings/python/rrdtoolmodule.c,
+         bindings/ruby/main.c, bindings/tcl/tclrrd.c, doc/rrdthreads.pod,
+         netware/Makefile, src/Makefile.am, src/librrd.sym,
+         src/parsetime.c, src/parsetime.h, src/rrd.h, src/rrd_cgi.c,
+         src/rrd_create.c, src/rrd_error.c, src/rrd_fetch.c,
+         src/rrd_graph.c, src/rrd_graph.h, src/rrd_graph_helper.c,
+         src/rrd_info.c, src/rrd_nan_inf.c, src/rrd_not_thread_safe.c,
+         src/rrd_open.c, src/rrd_parsetime.c, src/rrd_parsetime.h,
+         src/rrd_resize.c, src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c,
+         src/rrd_tool.c, src/rrd_tool.h, src/rrd_update.c, src/rrd_xport.c,
+         win32/rrd.dsp, win32/rrd.vcproj: From: Sebastian Harl sh
+         tokkee.org Date: Sun, 8 Jun 2008 15:01:05 +0200 Subject: [PATCH]
+         Cleanup the symbols exported by librrd. Up to know librrd exported
+         a lot of symbols, most of which are to be regarded as private
+         symbols. This somewhat pollutes the API as the symbols could, in
+         theory, be used by external software and, more importantly, makes
+         symbol based dependencies (as recently introduced in e.g. Debian)
+         somewhat harder to implement. This patch does a somewhat
+         large-scale cleanup of the exported symbols: * Introduced a
+         librrd.sym file which contains all symbols that are to be
+         exported. This file is then passed to libtool using the
+         -export-symbols option which tells the linker to export the given
+         symbols only (note: according to the libtool manual, this has no
+         effect on some architectures - however, I assume that most
+         architectures in use today do support it). librrd.sym contains all
+         symbols originally defined in rrd.h sans LockRRD() (which has been
+         moved to rrd_tool.h). The following functions have been added to
+         rrd.h and the list of exported symbols (some of them have been
+         renamed, see below): - rrd_info() - rrd_info_free() -
+         rrd_info_print() - rrd_info_push() - rrd_lastupdate() -
+         rrd_update_v() - rrd_strerror() * Prefixed all public functions
+         and types with "rrd_" to avoid name clashes with other libraries.
+         Also, while I was at it, I introduced typedefs for all custom
+         types and prefixed the time names with "_t" to improve
+         consistency: - enum info_type -> rrd_info_type_t - enum timetype
+         -> rrd_timetype_t - union infoval -> rrd_infoval_t - struct info_t
+         -> rrd_info_t - struct rrd_context -> rrd_context_t - struct
+         rrd_time_value -> rrd_time_value_t - info_free() ->
+         rrd_info_free() - info_free() -> rrd_info_free() - info_print() ->
+         rrd_info_print() - info_push() -> rrd_info_push() - LockRRD() ->
+         rrd_lock() (not public though) - parsetime() -> rrd_parsetime()
+         (and: src/parsetime.c -> src/rrd_parsetime.c) - proc_start_end()
+         -> rrd_proc_start_end() - set_to_DINF() -> rrd_set_to_DINF() -
+         set_to_DNAN() -> rrd_set_to_DNAN() * Moved readfile() from
+         rrd_open.c to rrd_cgi.c and declared it static. This function is
+         used in rrd_cgi.c only. * rrd_lock() (f.k.a. LockRRD()) now
+         accepts a rrd_file_t pointer instead of an integer to increase
+         encapsulation.
+
+2008-06-07 14:35  oetiker
+
+       * src/rrd_open.c: don't bother with don't need when there is neither
+         madvise not fadvise calls
+
+2008-06-06 16:38  oetiker
+
+       * branches/1.2/program/src/rrd_graph.c, src/rrd_graph.c: fix for
+         --font bug (font names wer not being picked up at all). Bug
+         reported by Dmitry B. Bigunayk
+
+2008-06-05 20:56  oetiker
+
+       * NEWS: added pango markup name
+
+2008-06-05 19:59  oetiker
+
+       * src/rrd.h, src/rrd_error.c, src/rrd_format.h, src/rrd_gfx.c,
+         src/rrd_info.c, src/rrd_open.c, src/rrd_update.c: fixed indenting
+
+2008-06-05 19:59  oetiker
+
+       * src/rrd_graph.c: disable pango markup by default. added
+         --pango-markup option for explicit enablement.
+
+2008-06-05 19:58  oetiker
+
+       * doc/rrdgraph.pod, src/rrd_graph.h: disable pango markup by
+         default. added --pango-markup option for explicit enablement.
+
+2008-06-05 19:57  oetiker
+
+       * bindings/python/rrdtoolmodule.c: fixed indenting
+
+2008-06-04 16:18  oetiker
+
+       * bindings/tcl/Makefile.am, configure.ac: enable new building for
+         newer tcl versions
+
+2008-06-02 06:46  oetiker
+
+       * configure.ac: updated documentation of library versioning system
+
+2008-06-02 06:43  oetiker
+
+       * configure.ac: Had to reset the interface version number due to the
+         change in the rrd_context implementation.
+
+2008-06-02 06:21  oetiker
+
+       * src/rrd_restore.c: use DNAN instead of NAN since there seem to be
+         issues with gcc on solaris and the NAN experession (and we use
+         DNAN everywhere else anyway).
+
+2008-06-01 21:12  oetiker
+
+       * doc/rrdbuild.pod: integrated gentoo bits and spell fixes by Peter
+         Volkov
+
+2008-06-01 20:44  oetiker
+
+       * src/rrd.h, src/rrd_error.c, src/rrd_not_thread_safe.c,
+         src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c: Patch for
+         rrd_context system by sebastian harl, making it simpler and less
+         error prone. Removing one buffer overflow in the process.
+
+2008-05-31 15:58  oetiker
+
+       * doc/rrdbuild.pod: prepare for the release of rrdtool-1.3rc7
+
+2008-05-31 15:57  oetiker
+
+       * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm,
+         configure.ac, doc/rrdbuild.pod, rrdtool.spec, src/pngsize.c,
+         src/rrd.h, src/rrd_cgi.c, src/rrd_create.c, src/rrd_datalang.c,
+         src/rrd_diff.c, src/rrd_dump.c, src/rrd_error.c, src/rrd_fetch.c,
+         src/rrd_first.c, src/rrd_format.c, src/rrd_format.h,
+         src/rrd_gfx.c, src/rrd_graph.c, src/rrd_graph_helper.c,
+         src/rrd_hw.c, src/rrd_hw.h, src/rrd_i18n.h, src/rrd_info.c,
+         src/rrd_is_thread_safe.h, src/rrd_last.c, src/rrd_lastupdate.c,
+         src/rrd_not_thread_safe.c, src/rrd_open.c, src/rrd_resize.c,
+         src/rrd_restore.c, src/rrd_rpncalc.c, src/rrd_rpncalc.h,
+         src/rrd_thread_safe.c, src/rrd_thread_safe_nt.c, src/rrd_tool.c,
+         src/rrd_tool.h, src/rrd_tune.c, src/rrd_update.c,
+         src/rrd_version.c, src/rrd_xport.c, src/rrd_xport.h,
+         src/rrdupdate.c: prepare for the release of rrdtool-1.3rc7
+
+2008-05-31 15:56  oetiker
+
+       * doc/rrdbuild.pod: added pkgconfig build instructions
+
+2008-05-31 12:28  oetiker
+
+       * branches/1.2/program/src/rrd_graph.c, src/rrd_graph.c: make sure
+         vdef calcs only calc as far as originally requested.
+
+2008-05-27 22:24  oetiker
+
+       * src/rrd_info.c: fixed maxlength for sprintf_alloc 50 was not
+         enough ... 1024+strlen(fmt) is much better. This makes imginfo
+         work even when there are long image paths.
+
+2008-05-26 16:39  oetiker
+
+       * trunk/talks/nordic-nagios-08/talk.odp: initial talk slides
+
+2008-05-26 11:45  oetiker
+
+       * TODO: updated todo list
+
 2008-05-26 08:56  oetiker
 
        * bindings/perl-piped/RRDp.pm, bindings/perl-shared/RRDs.pm,
 2001-02-25 15:29  
 
        * branches, tags, trunk: New repository initialized by cvs2svn.
-