72572e527342cb9dee7117b51e26dd896ab12c52
[matthijs/upstream/backupninja.git] / ChangeLog
1 version 0.9.4 -- unreleased
2     backupninja changes
3          . Fixed bug in toint(), and thus isnow(), which caused it
4            to not work when run from cron.
5          . Recursively ignore subdirs in /etc/backup.d (Closes: #361102)
6          . Add admingroup option to configuration to allow a group that can
7            read/write configurations (instead of only allowing root). Checks
8            and complains about group-readable files only when the group differs
9            from the one in the configuration file (default is root as before). 
10            Thanks to Martin Krafft for the patch (Closes: #370396).
11          . When determining which backup actions to make, find now follows
12            symlinks for $configdirectory
13          . Changed order of -s to mail for compatibility
14          . fixed permission stat call so it uses the --format supported by
15            coreutils (Closes: #382747)
16          . Added disk space report option (thanks Adam Kosmin)
17     handler changes
18         Added tar handler:
19          . create tarballs
20         Added rsnap handler:
21          . rotated rsync snapshops
22          . code from paulv@bikkel.org
23         Added rub handler: 
24          . alternative to rsnap
25          . code from rhatto@riseup.net
26         mysql:
27          . Fixed improper use of $vuserhome (Closes: #351083)
28          . Fixed erroneous removal of tmpfile when it didn't exit
29          . Fixed inversed vsname emptiness check
30          . Fixed su quote usage to be more posixy
31          . Compress for sqldumps now happens in-line to save some disk space (Closes: #370778)
32          . Fixed --defaults-file now as --defaults-extra-file (thanks rhatto)
33         pgsql:
34          . Fixed inversed vsname emptiness check
35          . Fixed su quote usage to be more posixy
36          . Fixed shell expansion, thanks Thomas Kotzian (Closes: #363297)
37          . postgres user UID is now the one from inside the vserver if necessary
38          . Compress now happens in-line to save some disk space (Closes: #370778)
39          . $PGSQLUSER is used instead of hardcoding user 'postgres' (although this is the default) 
40         svn:
41          . Fixed inversed vsname emptiness check
42         rdiff:
43          . Symlink and globbing support in include/exclude/vsinclude
44            clarification: globbing is fully supported again, whereas no attempt
45            is done to dereference symlinks anymore, due to incompatibilities
46            between various readlink versions in this field.
47          . Removed overzealous vsnames check
48          . Now works if testconnect=no and if $test is not defined.
49          . add $sshoptions config parameter in [dest] section of config so
50            connections to ports other than 22 can be made by adding the
51            following to the top of the handler config:
52            options = --remote-schema 'ssh -p REMOTE-PORT -C %s rdiff-backup
53            --server'
54         dup:
55          . Symlink and globbing support in include/exclude/vsinclude
56            clarification: globbing is fully supported again, whereas no attempt
57            is done to dereference symlinks anymore, due to incompatibilities
58            between various readlink versions in this field.
59          . Removed over zealous vsnames check
60          . Does not pretend anymore that duplicity can work without
61            any passphrase
62          . Support duplicity 0.4.2 (with Debian patches applied; upstream's
63            0.4.3 will integrate them); documented how to write sftp-compatible
64            sshoptions (Closes: #388543)
65          . Now forbid to (try to) include /.
66         sys:
67          . Many more system checks were added, (thanks to Petr Klíma)
68          . Added warning if no devices were found (thanks Ranier Zocholl)
69          . Enhanced debian package selections to include purged packages (thanks Tom Hoover)
70          . Removed warning about vserver not running (thanks anarcat)
71         ldap:
72          . Compress now happens in-line to save some disk space (Closes: #370778)
73         makecd:
74          . Added nicelevel option (thanks rhatto)
75         trac:
76          . fixed problem when src was set to the trac repo directly (Closes: #382737)
77     lib changes
78         vserver:
79          . init_vservers: fixed Debian bug #351083 (improper readlink syntax)
80          . found_vservers: escaped special grep repetition character +
81          . forced mktemp to use a template with a name to be more compatible with 
82            different versions of mktemp, thanks anarcat
83     ninjahelper changes
84          . Recursively ignore subdirs in /etc/backup.d (Closes: #361102)
85          . Fix configdirectory error that forced you to use /etc/backup.d, thanks anarcat
86          . When determining which backup actions to list, find now follows
87            symlinks for $configdirectory
88          . Stop checking helpers perms: both "make install" and distros packages
89            install them with appropriate permissions, it's overzealous to check
90            this at runtime, and is more complicated to do with current
91            admingroup option.
92         dup.helper:
93          . Fix: signing was enabled with symmetric encryption.
94     changed cron permissions to 644
95     minor documentation fixes
96     improved RPM build process allowing 'make rpm-package' and 'make
97     srpm-package' targets, also fixes permissions on man directories, 
98     cleans up RPM-related files during distclean, and adds default
99     EDITOR for "autogen.sh -f" if none is set. (thanks Robert Napier)
100
101 version 0.9.3 -- February 1st, 2006
102     autotools fixes
103     backupninja changes
104         backupninja.conf
105          . added (commented out) the various default paths to
106            programs such as PGSQLDUMP, so that users can figure
107            out more easily they can customize them
108         code refactor:
109          . now uses vservers lib to initialize vservers support
110     handler changes
111         duplicity, mysql, pgsql, rdiff, svn, sys: start to use (at different
112            degrees) new lib/vserver functionality
113         mysql:
114          . fixed no user defaults file processing
115         duplicity:
116          . fixed (again...) globbing in include and exclude options (Debian bug
117            #348022, follow-up to #338796)
118          . warn if vsnames or vsinclude is enabled while vservers support is
119            disabled in backupninja.conf
120          . now works when multiple vservers names are given (separated by space)
121            in vsnames config variable
122         rdiff
123          . fixed globbing bug in include, exclude and vsinclude options
124          . it's now possible to choose exactly which vservers should be
125            backed-up, as it already was with duplicity handler, with the
126            "vsnames" configuration setting
127     ninjahelper changes
128         rdiff.helper:
129          . fixed errors in create remote dir
130          . code formatting cleanup (three spaces indent)
131          . fixed bug which caused only first include/exclude dir to
132            have "include = "
133          . fixed globbing bug with exclude
134         ninjahelper:
135          . now reports error if the helper script has a syntax error or bombs out.
136          . code formatting cleanup (three spaces indent)
137     lib changes
138         vserver:
139          . init_vservers: improved VROOTDIR detection
140          . init_vservers: test in a stricter way the real vservers availability
141          . init_vservers: canonicalize VROOTDIR (since duplicity et al.
142            don't follow symlinks)
143          . init_vservers: warn if vservers are enabled but no vserver is found
144          . new function: vservers_exist
145     known bugs:
146         easydialog: 
147          . formDisplay does not return exit status.
148
149 version 0.9.2 -- December 29, 2005
150     backupninja changes
151         fixed broken toint() which caused when "everyday" problems
152         backupninja.conf.5 updated to include "when" and "vservers"
153         code refactor:
154             . moved to lib/ some code that has to be shared between
155               backupninja and ninjahelper
156     handler changes
157         trac:
158             . mkdir subdirectory problem fixed
159         duplicity:
160             . globbing support fixed in include and exclude options 
161             . different signing and encrypting key support added
162             . fixed erroneous comments in example.dup about the way
163               GnuPG-related options are used
164         mysql:
165             . handler vserver bugs fixed and debug output enhanced
166     ninjahelper(s) changes
167         vserver-related functions added to lib/vservers.in
168         added man/ninjahelper.1 man page
169         makecd:
170             . was missing in Makefile.am/.in
171         rdiff-backup:
172             . used to expand '*' in default source directories
173             . the "Cancel" buttons used to have a weird behaviour
174             . updated to include Vserver selection 
175         pgsql:
176             . forbid the user to choose an empty database set 
177             . "Cancel" button now does what it is meant to do
178         mysql:
179             . enhanced for vserver support 
180             . now able to select databases and dump directory
181         duplicity:
182             . new handler added (with Vserver support)
183
184 version 0.9.1 -- November 05 2005
185     rearranged source so that it is relocatable with autotools
186         (thanks to Petr Klíma petr.klima@madeta-group.cz)
187     fixed many bugs in rdiff helper
188     rdiff handler does not require 'label' (for real this time?)
189     added makecd ninjahelper
190         (thanks to Stefani stefani@riseup.net)
191     made ninjahelper create files with mode 600 rather than 000
192     changed subversion handler to use svnadmin hotcopy instead of
193             the unsupported hot-copy.py script, which was moved in Debian
194     update rdiff ninjahelper
195             now detects and auto-install rdiff-backup on the remote 
196             machine if possible, also tests the remote backup directory
197             and offers to create it if it doesn't exist
198
199 version 0.9 -- October 19 2005
200     *** IMPORTANT CHANGE, UPGRADE AT ONCE ***
201      fixed insecure temporary file creation 
202     *****************************************
203     removed erroneous magic file marker in pgsql handler
204     fixed incorrect find positional
205     changed direct grep of /etc/passwd to getent passwd.
206     rdiff helper has much better information on failed ssh attempt
207         (patch from cmccallum@thecsl.org).
208     rdiff handler now supports remote source and local dest. 
209         (patch from cmccallum@thecsl.org).
210     man pages are greatly improved.
211
212 version 0.8 -- September 15 2005
213     added pgsql (PostgreSQL) handler, with vservers support.
214     added vservers support to duplicity handler
215         Note: the configuration is a bit different than the rdiff
216         handler's one, but the default behavior is the same:
217         have a look at example.dup.
218     improved README
219     documented .disabled method.
220     corrected VROOTDIR default value.
221     added ninjahelper to the install instructions.
222     improved rdiff, dup and sys handlers' vservers support
223         prevent vserver-debiantools' $VROOTDIR/ARCHIVES directory
224         to be seen as a vserver
225     changes to sys handler
226         make use of configurable $VSERVERINFO instead of hard-coded vserver-info.
227         fixed dpkg existence test inside vserver.
228         fixed $nodpkg use.
229     changes to pgsql handler
230         now checks if the specified vserver is running.
231         now checks if $PGSQLDUMP/$PGSQLDUMPALL are available where needed.
232         now checks if "postgres" user exists on the host/vserver.
233     changes to ninjahelper
234         check_perms() does not die anymore on group/world readable
235         helper scripts (now consistent with the "helper scripts
236         must not be group or world writable!" error msg).
237     xedit action now tries $EDITOR, then /etc/alternatives/editor,
238         then nano, vim and vi, and aborts if none of these exists.
239     added helper for pgsql handler.
240     rdiff handler now does not require 'label'
241     changes to mysql and svn handlers' vservers support
242         these handlers now check if the source vserver is running
243     added 'ignores' for mysql handler. (thanks Daniel.Bonniot@inria.fr)
244
245 version 0.7 -- July 26 2005
246     added ninjahelper: a dialog based wizard for creating backupninja configs.
247     considerably improved and changed the log file output.
248     you can now disable actions with .disabled (this is new preferred method).
249     added makecd handler and example.makecd for backing up to cd/dvd (thanks stef).
250     fixed bug when specifying multiple 'when' options.
251
252 version 0.6 -- June 16 2005
253     ldap handler has new options: backup method to use (ldapsearch or
254         slapcat), restart, passwordfile and binddn. Default backup method
255         is set to ldapsearch as this is safer
256     ******************************************************************
257     NOTE: to get the previous default behavior with the ldap handler, 
258     you must set "method = slapcat". The new default is ldapsearch.
259     ******************************************************************
260     implemented fix so that the main script will echo fatal errors rather
261         than being silent about them, this means an error message every hour
262         if there is a major configuration problem (not a handler problem)
263     added vserver support to main script and to the handlers: mysql, svn, sys, rdiff
264     changes to duplicity handler (thanks intrigeri!):
265         "keep = yes" now disables file cleaning on desthost
266         added "sign" option for backups signing
267         added "encryptkey" option to specify the gpg key to use
268         split config into [source], [gpg] and [dest] sections
269         added "nicelevel" option
270         added "testconnect" option
271         added "sshoptions" option (will be passed to ssh/scp)
272         added "bandwidthlimit" option
273     example.dup example config file for duplicity handler 
274     added trac (http://trac.edgewall.com/) environment handler (thanks Charles Lepple!)
275     added configfile option to mysql handler
276         the default is /etc/mysql/debian.cnf. with this, 
277         sqldump doesn't need dbusername. (hotcopy still does).
278     fixed bug in mysql handler which caused some passwords to not work.
279         (.my.cnf files now have double quotes around password)
280     can now pass options to hwinfo and sfdisk in sys handler.
281
282 version 0.5 -- April 12 2005
283     rdiff handler works when remote sshd has a banner
284     rdiff handler supports local dest 
285     logfile is created if it doesn't exist
286     added "when = hourly" 
287     added optional 'nicelevel' to rdiff handler
288     fixed bug where actions were not run in numeric order.
289     improved 'when' parsing.
290
291 version 0.4.4 -- March 18 2005
292     results of handlers are now read line by line. 
293     changes to rdiff handler: added "options", and "keep" is
294         not necessarily days now (ie, it will pass straight through to
295         rdiff-backup if the keep has a unit on it, otherwise it adds the 'D').
296     added dup handler (still pretty beta)
297     added maildir handler (very specialized handler)
298     added --run option (runs the specified action file)
299     improved sys handler, now uses hwinfo
300     added subversion hotbackup handler, svn. 
301     added PATH to cron.d file, which fixes file not found errors.
302
303 version 0.4.2 -- Jan 6 2005
304     fixed bug which caused a report email to be sent even if no actions were run.
305     fixed bug where multiple handler status messages were ignored
306     added status in the subject line of report emails
307
308 version 0.4.1 -- Jan 3 2005
309     added $usecolors and now more conservative about when colors are echoed.
310     fixed major bug, 'when' actually works now.
311     replaced debug function with debug, info, warning, error, fatal.
312     added --now option to force all actions to be performed now.
313     
314 version 0.4 -- Dec 26 2004
315     added "when" option, so that all configs can specify when
316         they are to be run.
317     added reportsuccess and reportwarning config options
318     added .sys handler (hardware, packages, partitions).
319
320 version 0.3.4 -- Dec 8 2004
321     fixed numerical variable quoting compatibility with older wc    
322     fixed stderr redirect bug
323     some comments in example.rdiff
324
325 version 0.3.3 -- Nov 10 2004
326     '*' (asterisk) works now in rdiff config files
327     works now with gawk as well as mawk
328     many bug fixes to ldap handler
329     paths to helper scripts can be configured in global config
330     does not require /usr/bin/stat
331
332 version 0.3.2 -- Sept 29 2004
333     handler scripts are no longer executable (to comply with debian policy)
334     handler error and warning messages are sent with the notify email
335
336 version 0.3.1 -- Sept 5 2004
337     added ldap handler
338     moved sh support to a handler script
339     add test mode, where no action is taken.
340     added --help
341     force only root can read /etc/backup.d/*
342     fixed missing equals symbols in example.rdiff
343     changed backupninja executable to be /usr/sbin rather than /usr/bin
344     
345 version 0.3 -- Oct 20 2004
346     ** IMPORTANT ** all config files are now ini style, not apache style
347     rewrote all scripts in bash for portability
348     added drop-in backupninja lib directory (/usr/share/backupninja)
349     all scripts are now run as root
350
351 version 0.2 -- Oct 14 2004
352     move distribution folder ./cron.d to ./etc/cron.d
353     fixed bug: removed printr of excludes (!)
354     added support for changing the user/group in rdiff sources.
355     added support for .mysql config files.
356     
357 version 0.1 -- Oct 8 2004
358     initial release 
359