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 commmands strict
-- Dave Peticolas
* rrdgraph: fix problems with second %s in right-axis format -- tobi
* and many more: for full changelog http://oss.oetiker.ch/rrdtool/pub/CHANGES
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
to trigger/signal a rebuild for the transition 5.10.1 -> 5.12.1.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=..."), minus the packages updated after
the perl package update.
sno@ was right after all, obache@ kindly asked and he@ led the
way. Thanks!
Bugfixes:
* compile: multiple fixes isnan and isinf defines to make rrdtool compile
with gcc on solaris (with --disable-nls)
* handle gettext/libintl like any other feature, do not try to supply
our own ... rrdtool can work fine without it
* rrd_client: fix potential segfaults
* rrd_client: resolve synmlinks properly
* compile: fix libtool and libtoolize names for OSX compiles
* compile: fix for HAVE_BROKEN_MS_ASYNC (old linux kernels)
* rrd_xport: fix --daemon handling
* rrd_client: explicitly close connection on error
* rrd_update: fix memory leak for COMPUTE datasources
* rrd_daemon: fix segfault when specifying a relative path (-j option)
* compile: make rrdtool compile with gcc 4.5
* portability: use %lld (long long int) for time_t *printf
* compile: link pangocairo and not pango since we do use pangocairo actually
* 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
Enhancements:
* updated build files and instructions for win32 port by Chris Larsen
* legal: Relicense the RRDCacheD client interface under the MIT license
* legal: Updted FLOSS Exception for latest PHP license
* rrd_cached: better help output
- python bindings memory handling fix by Anders Hammarquist
(deb bug #529291)
- fix getopt_long integration on Solaris. Depending on the phase of
the moon this bug had caused rrdtool to crash reliably as soon as
it read its arguments. Especially when used in language bindings.
Thanks to Ihsan Dogan for helping with the debugging.
- rrd_restore used casting a bit to liberally this caused it to fail
horribly on 64bit platforms. Patch based in input provided by
poster of rrd bug #218.
- make ruby bindings compile with newer ruby versions. #217 patch
provided by rrd trac user
- Generate an error message when using RRDp with graph - this can
not work reliably. (Debian Bug#251701) patch by Sebastian Harl
The new release contains some rather influential changes.
* Holt-Winters rrds should see a drastic speedup.
* Front-ends relying on output from graph --lazy will work again
* updatev does not segfault on 32 bit platforms anymore.
* rrd_dump produces correct output with german locales.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
Features:
- a second axis can now be displayed in rrd_graph. look for
documentation on second-axis. feature was sponsored by VoltWerk.
- win32 port of the source. see WIN32-BUILD-TIPS.txt for details.
contributed by exitgames
Bugfixes:
- rrd_fetch: is more careful when seeking. it should not try to seek
outside the file anymore.
- rrd_restore: works on platforms where "NaN" is not represented as
"NaN" works now (HPUX)
- rrd_graph: label ordering in --full-size is correct now.
- ruby bindings: fix for last method
- perl bindings: fix for build on MacOSX
- rrd_update: make sure time stamp of rrd files get updated even on
platforms with broken MS_ASYNC implementations (osx and old linux)
- rrd_graph: CDEF:x= raises an error now and does not segfault
- Solaris isfinite portability improved
- rrd_graph: --font TITLE:12: problem fixed (affecting cacti)
to trigger/signal a rebuild for the transition 5.8.8 -> 5.10.0.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=...").
* detect short/truncated files on open (rrdtool used to crash later
on some platforms)
* stop rrd_resize from altering the original file (mmap side
effect)
* fix VDEF and SHIFT use. Now it returns correct data and does
not crash anymore.
* fix rrd_xport when used on datasources with different
resolutions. This has been broken from day 1 of this tools
exsitance.
* fixed default prefix for ruby install
* added rpath for perl bindings on bsd
* do not [fm]advise past the end of the file since this
causes crashes on sparc.
While 1.3.2 did fix the data corruption bug, and was much faster
with creating graphs, it did break badly when you tried to supply
your own font names and sizes. 1.3.3 fixes this regression.
* Do not crash when user tries to select a font in rrdgraph
* Another attempt at makeing it compile out-of-the box on solaris 8
MAJOR BUG-FIX:
* When running rrdtool update with multiple updates in one go and
MMAP enabled, there was a data corruption bug at wrap around.
See http://oss.oetiker.ch/rrdtool-trac/ticket/178 for details
Thanks to Kevin Brintnall
OTHER FIXES:
* Forward ported rra cur_row randomization patch from rrdtool
1.2.28 (it got lost in development).
* Contrary to the documentation imginfo did return the full path
of the image and not only the file name.
* Make --lazy mode work even when PRINT commands are present.
http://oss.oetiker.ch/rrdtool-trac/ticket/163
* Fix Ruby Bindings memory leak.
* Fix compilation on solaris 2.8
* Fix a ton of memory leaks in rrd_create and some in rrd_tool as
well. Based on valgrind analysis by Sven Engelhardt. Thanks!
* Fix handling of error conditions in rrd_tool.c (errno is not the
ideal indicator)
ENHANCEMENTS:
* Text Strings entered in the current locale will automatically be
transformed to utf8 for proper handling by Pango.
* Dramatically improved Pango Performance by introducing a static
fontmap. On my test system the persistent fontmap causes the
second graph with the same fonts in a single session to be
created about 0.18s faster than the first one. For a total graph
creation time of 0.21s this is a pretty substantial improvement.
With this patch, performance for the second graph is back to
1.2.x levels or even better.
* image size does get returned properly even with --lazy active
this broke a number of frontends which should work now.
* fix rrd_restore to be able to read rrd 1.0.x generated dumps again.
* several documetation fixes
* make rrdtool.spec work without php
* complain when someone tries to create an rrd file with step size zero.
* added filename to illegal updated interval error message.
* fix number of rows returned by python modules fetch implementation.
Local change warranting nb1 is to prefix some error messages from
rrdupdate with the name of the file the error relates to, carried
over from nb1 of 1.2.27.
Update loosely OKed by martti@
The announcement of 1.3.0 outlines the changes since 1.2.27:
NEW Fast file access methods (Bernhard Fischer / Tobi Oetiker)
----------------------------
* introduced file-accessor functions rrd_read/rrd_seek/rrd_write
* implemented full mmap-based file access with madvise hints for
improved scalability, much reduced memory-footprint and much less
blocking while accessing the disk
* implemented optional full file-descriptor access instead of FILE*
access
NEW Graphing (Tobi Oetiker)
------------
* libart has been replaced by cairo/pango
* pango markup is supported (--pango-markup)
* full grid fitting
* --graph-render-mode=mono for non anti aliased graphing
* --font-render-mode=mono for non anti aliased fonts
* fonts come through fontconfig, use the Pango font nameing scheme
-> 'Times 20' ... it is not possible to use truetype fonts
directly anymore.
* Tabs are position independent.
* TRENDNAN filter that ignores NAN values while calculating the
TREND data. (Timo Stripf)
* --full-size-mode to specify the outer border of the image and not
just of the graphing canvas (Matthew Chambers)
* TEXTALIGN command to alter default text alignment behavior
* C API in-memory graphing with rrd_graph_v (Evan Miller)
* draw dashed lines in graphs (Thomas Gutzler)
* new interface graphv which returns information using the rrd_info
interface (Tobi Oetiker and Mark Plaksin)
* improved horizontal grid. Have a bit more grid lines and y-axis
labels while keeping them far enough apart to not run into each
other.
NEW Forecasting (Evan Miller)
---------------
* the new MHWPREDICT consolidation function uses a variation of the
Holt-Winters method. It is a drop-in replacement for HWPREDICT,
and is better suited for data whose seasonal variations grow or
shrink in proportion to the average.
* If you create an RRD with the new MHWPREDICT function, the
resulting rrd file will be version 0004 and can only be used in
rrdtool 1.3.
Rewrites
--------
* rrd_restore now uses libxml for parsing which makes things much
more tolerant towards xml variations. The old code could mostly
just parse the XML as it was output by rrdtool dump. See also:
the note at the bottom of this document. (by Florian octo
Forster)
* rrd_update rewritten to make it more modular. Fixed two
longstanding HW bugs in the process (Evan Miller)
Internationalization (Takao Fujiwara and Tobi Oetiker)
--------------------
* The help output by rrdtool has been internationalized. There are
no real translations included with rrdtool yet, contributions are
welcome.
* The internationalization will only be compiled if libintl and
friends are available on your system. Use the configure option
--disable-libintl if you want to disable this feature
Language Bindings
-----------------
* ruby rrd_fetch will return step as a last property -- Mike Perham
RRDtool dump / restore incompatibility
--------------------------------------
* rrdtool dump 1.3 does emit completely legal XML. Basically this
means that it contains an XML header and a DOCTYPE definition.
Unfortunately this causes older versions of rrdtool restore to be
unhappy.
* To restore a new dump with an old rrdtool restore version, either
remove the XML header and the doctype by hand (both on the first
line of the dump) or use rrdtool dump --no-header.
error message, since rrdupdate may update more than one rrd database.
Submitted as a feature enhancement request upstream (#162).
Bump package revision.
Changes:
* doc/rrdcreate.pod, doc/rrdgraph.pod, doc/rrdgraph_graph.pod,
doc/rrdgraph_rpn.pod, doc/rrdtutorial.pod: fixes for better web
rendering
* COPYRIGHT: added ZPL 2.1 to floss exception
* src/rrd_graph.c, trunk/program/src/rrd_graph.c: fixed parsing of
fontnames with embeded spaces
* bindings/tcl/tclrrd.c, configure.ac, src/rrd_cgi.c: * fix fadvice
and madvice inclusion ... again * fix rrdcgi warning * fix
warnings in tcl bindings -- Peter Breitenlohner peb mppmu.mpg.de
* src/rrd_graph.c: weekday and time are too tight
* configure.ac: fixing the solaris build
* netware/Makefile, src/rrd_update.c, win32/Makefile: updates for
netware and mingw32 ... allows for crosscompilation
* src/rrd_update.c: make update compile for mingw32 3.4.5
* bindings/perl-shared/Makefile.PL, configure.ac, src/rrd_tool.h,
src/rrd_update.c: * improve portability of compile environment to
netbsd and solaris
* bindings/python/Makefile.am: libtool builds shared libraries
anyway, no need for extra LDFLAGS that bite non GNU ld versions
* src/rrd_tool.c: resolve snprintf overflow warning by using sizeof
The pwd command for server mode was added. Logarithmic graphs were revisited. GPRINT can now access the time component of VDEF values. DNAN and DINF are much faster through caching. Many bugs were killed.
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.
For example, "make show-buildlink3" in fonts/Xft2 displays:
zlib
fontconfig
iconv
zlib
freetype2
expat
freetype2
Xrender
renderproto
Restoring from 1.0.x format XML dumps was enabled.
The stability of rrdtool fetch results was fixed.
A new rrdtool graph and rrdcgi functions were added.
The pipe mode interface was improved. Many bugfixes were made.