15-10-2015: 2.1.6
	enhancement: Lsyncd now locks its pidfile
	enhancement: added ssh.identifyFile and ssh.options options
	enhancement: added rsync inplace option
	fix: ignore blank lines and rsync commenits in exclude files (David Reiss)
	fix: don't tread exclude lines with embedded "+" chars as inclusions (David Reiss)
	fix: crash when debugging inotify (Michael Ploujnikov)
	fix: fixed Finished/Retrying error messages being swapped around (Jun Saito)
	fix: properly encapsulate filenames on ssh mv commands to avoid shell command injections.
	fix: postcmd example (Timo Teräs)
	change: closes also on INT signals
	change: now removes its pidfile on INT and TERM signals
	change: changed build system from autotools to cmake

07-06-2013: 2.1.5
	enhancement: Added rsync options: bwlimit, timeout
	fix: Specifying ssh port no longer overwrites the last rsync option
	fix: rsync option password_file is now accepted
	fix: onAttrib is accepted again
	fix: -log Exec now prints now fully all arguments
	fix: configure script lua detection now includes math lib to workaround
	     wrongly created "needs COMPAT_ALL" messages.
	fix: repaired variable replacement for layer 3 scripts
	fix: config.delay is now checked to a number >= 0
	change: a2x is no longer checked by configure script.
			should not be needed when building from tarball

24-11-2012: 2.1.4
	fix: making ssh custom port changes work with ssh and rsync

23-11-2012: 2.1.3
	fix: fixed 2 crash conditions due to failure to read 'uSettings'

03-11-2012: 2.1.2
	fix: added excludeFrom to checkgauge (thx to DavidWittman)
	fix: fixed rsync option computation
	enhancement: added password_file file option to rsync

27-10-2012: 2.1.1
	fix: fix rsync.rsh, rsync.rsync_path, rsync.tmp_dir, rsync._extra parameters
		 thanks go to Birger Schmidt for this fix.

23-10-2012: 2.1.0
	fix: fail startup if settings.inist is false and one of the target hosts fails
	fix: in case of waiting for processes during restart only logs this state now once a minute
	     rather than filling the log crazy about it
	enhancement: rsyncOpts has been replaced by rsync = {...} parameter lists
	enhancement: default.rsyncssh has now a ssh = {...} parameter similar to default.rsync to
	             add option to ssh calls. Ditto for xargs = {...}
	enhancement: the default.* implementations have a checkgauge erroring on any unknown
	             parameters to the sync{} call
	enhancement: the delete parameter now takes: true, false, 'running' and 'startup'
	improvement: Dennis Schridde provided various improvements for Lsyncd's autoconf building
	change: Lsyncd is now Lua 5.2 compatible
	change: Lsyncd now exits with exitcode 143 on TERM signal
	change: settings is now be used as call like settings{...} instead of settings = {...}

04-04-2012: 2.0.7
	fix: closed a memory leak due to not correct configured weak tables
	fix: default.direct, do not use on OSX unrecognized option -t on modify
	fix: default.direct, typo leading to compile error
	fix: when using settings.inotifyMode = "Modify" events were longer ignored
	fix: layer 3 function generator was messed up.
	change: now uses a2x to generate the manpage (thus more compatible across distros)
	change: removed --with-default-runner since it was broken, and will be replaced by something
	        more generic in future

16-02-2012: 2.0.6
	fix: no longer stops syslogging on HUP signals
	fix: OSX event watcher no longer misses moves into and out of the watch tree
	fix: not refinding a relative path to the config file in case of HUP.
	fix: rsync doing error 13 and killing Lsyncd.
		see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=659941
	fix: no event creation during shutdown (might loop before)
	fix: no logging due to wrong log levels
	fix: without-inotify compile option now works to compile on OSX
	fix: in case of HUP-reset imply insist=true, since startup is known to be
		configured correctly.
	fix: a series of typos in comments, manpage etc.
	fix: moves to and from deleted directories (deleted when Lsyncd gets notified)
		were not correctly translated
	fix: added --ignore-errors to rsync when deleting files, so it will not miss a delete
		even when another part of the tree made an IO-error.
	fix: default.direct now not using -p for mkdir since if the dir is not there it should fail
	fix: default.direct now not using -t for cp since OSX binutils doesn't understand it
	fix: some files might have been missed in splitting move events (especially on tests on OSX)
	change: complain if any "rsyncOps" is given
	change: splitted the default configurations in their own files.
		more cleanly seperated from the Lsyncd runner, and highlights it are just
		Layer 1 configurations that happen to be provided by default.
	change: Beautified the code, no extra spaces at line end, ' instead of ",
		supposing 100 char width to view,
	change: Lsyncd now remembers the absolute path of its config file during HUPs
	enhancement: Defaults now respect a 'delete=false' flag when set as parameter to sync{}
		default.rsync:    does not add --delete to rsync
		default.rsyncssh: does not add --delete to rsync, and does not use rm via ssh tunnel
		default.direct:   does not add --delete to startup rsync and does not use rm

25-08-2011: 2.0.5
	fix: Lsyncd will now terminate if it inotify watching exceeds
		its preset limit.
	fix: rsync error exit code 12 now results in retries.
	fix: Lsyncd 2.0.5 should now compile better on a bit elder
		GNU/Linux versions.
	fix: examples are now installed in the configured document directory.
	fix: partial transfers during startup are considered ok. Lsyncd will
		rework the specified files anyway.
	change: Layer 1 interface init() now receives an "Init" event instead
		of an inlet.
	change: builtin Lua code is now loaded via a c-array.
		Now more portable and correct memory flags are set.
	change: Lsyncd will now bail on unknown error codes.
	enhancement: settings.maxProcesses can now be set as a global limit
		of childprocesses
	enhancement: Lsyncd will refuse to start when any startup rsync
		does not work cleanly and returns "again" unless settings.insist or
		--insist is specified, then Lsyncd will keep retrying until it works.
	enhancement: option "rsyncBinary" determines which rsync Lsyncd calls.
		 Default is "/usr/bin/rsync"
	enhancement: fsevents ("inotify for OSX") fixed for Snowleopard.
		and is available to configure by default.
	enhancement: settings.inotifyMode: the actualy Modification event
		Lsyncd reacts to can now be configured. Default is to react on
		file closing in write mode.
	enhancement: readdir(path) is available to userscripts, reads the contents
		of a directory.

27-03-2011: 2.0.4
	enhancement: new setting options logident, logfacility
	fix: moving filenames with spaces through ssh
	fix: excludes containing chars % $ ( ) . [ ] + -
	fix: various typos
	change: api, settings.statusInterval instead of settings.statusIntervall

25-02-2011: 2.0.3
	enhancement: new default target --direct using /bin/ binaries
	             to keep to local dirs in sync (and by default
				 not preserving ownership)
	example: added a new example how to remotely execute a command
	         after each rsync operations
	fix: possible crash with long rsyncOps table exceeding lua stack.
	fix: excludes now properly match relative and absolute paths
	fix: call to nil function when manually adding blanket delays
	fix: on ReiserFS not delivering proper dir stats and when encountering
	     a symlink, aquire the node stat for the symlink instead from
		 the linked node.
	change: leave lua apichecking enabled by default.


20-01-2011: 2.0.2
	fix: exclude rules not terminated with '/' now match a file
	     or dir named exactly the same not starting with.
	fix: pass exclude rules to the startup sync
	fix: when matching exclusion to not add inotify use same
	     partial path than on syncs
	fix: properly close pipes that needed more than one write.

11-01-2011: 2.0.1
	fix: write pidfile after daemonize()
	fix: fixed weak tables that allowed  garbage collector to collect
	     event lists too eraly.
	improvement: allow multiple arguments as table for rsyncOps
	change: added OSX fsevents interface, disabled in autoconf by default
	        since still very experimental and limited to OSX 10.5 only.

02-12-2010: 2.0.0
	a complete recoding!

	change:      format of command line arguments changed completly.
	improvement: the config files format is not LUA instead of XML
	             allowing a range from easy configuration up until
				 complete scripts
	enhancement: difference actions on different kind of events
	             effents are combined logically.
	enhancement: allow moves to moved on the target (rsyncssh)
	enhancement: excludes now allow simple file patterns (?, * and **)
	enhancement: optionally there is now a statusfile
	improvement: multiple target queues do not interfer with each other
	improvement: Lsyncd2 will no longer wait for child processes to return
	             the monitor queue is constantly empties as long Lsyncd runs
	improvement: Lsyncd2 can now retry operations on network failure and
	             queue events up.
	improvement: There are now several debugging categories that can be
	             turned on individually.
	change:      manpage is now written in asciidoc
	change:      most more complex logic of Lsyncd is now written in Lua.

04-10-2010:  1.39
	enhancement: call action for multiple targets simultanously
	fix: correctly accept <file-filter/> from config xml
	fix: correctly close and free the inotify file descriptor in case of restart
	     due to HUP signal or OVERFLOW condition
	fix: when delay=0 a bug always called rsync file filter even when in
	     directory mode

01-09-2010:  1.38
	enhancement: implemented file filters for singular operations
	enhancement: added --singular parameter for single file calls
	fix: fixed --dryrun messages
	improvement: now restarts on an inotify OVERFLOW message, just like if
	             being kill -HUPed
	internal: printout the actual binary called when --debug specified

05-08-2010:  1.37
	enhancement: react on HUP signals (interpreted as complete restart)
	enhancement: inotifies are configureable
	enhancement: --no-startup skips the startup calls
	fix : fixed delayed blocking handling.
	improvement: made logging output better readable
	internal: made all global variables local
	internal: renamed "tackles" to "delays"
	internal: removed the need of the "tosync" stack
	internal: use more pointers instead of indexes

11-07-2010:  1.34
	fix: logging segfault on 64bit systems
	changed: man page location, spellings

05-06-2010:  1.33
	fix: exlude file argument passing to rsync
	fix: allow exlude files specified for individual sources
	fix/enhancement: exlusions will be compared with extended
	                 path files allowing sub dirs to be excluded.
	enhancement: allow delays and call aggregation

05-01-2009:  Release of lsyncd 1.26
	fix: segfault on multitargets
	changed meaning of "version" tag in lsyncd.conf.xml

14-12-2008:  Release of lsyncd 1.25
	fix: mv dir and cp -r working
	fix: working with reiserfs
	enhancement: config files
	enhancement: multiple targets
	enhancement: pidfiles
	optimized: memory usage
	improved documentation
	lots of smaller stuff here and there ...
	Thanks to all contributers!

05-12-2007:  Release of lsyncd 1.0

