lsyncd/ChangeLog

320 lines
14 KiB
Plaintext
Raw Normal View History

2018-03-12 10:50:08 +00:00
????-??-??: 3.0.0
change: switched to systemd-style daemon (that is Lsyncd will no longer fork itself)
2018-03-12 11:07:57 +00:00
change: dropping /dev/fsevents hack (OSX support)
2018-03-13 14:07:30 +00:00
change: dropping exclude and excludeFrom (replaced by filter and filterFrom)
change: "insist" by default
change: removed _extra (if someone is hacky enough to really need it, they can hack Lsyncd itself)
2018-03-15 12:43:02 +00:00
change: user scripts run in each of their own global lua environment
2018-03-12 10:50:08 +00:00
2018-03-09 12:39:11 +00:00
2018-03-09: 2.2.3
2018-02-27 16:14:36 +00:00
enhaencement: supporting includes with new filter and filterFrom options
2018-03-09 10:07:53 +00:00
change: needing now at least Lua 5.2 (Lua 5.1 no longer supported, Lua5.3 supported)
2018-03-09 12:39:11 +00:00
change: if the target/targetdir ends with a ':' do not append
a trailing '/' to it, since that would change it from homedir to rootdir!
2018-02-27 09:14:57 +00:00
add: example for Amazon S3 Bucket (Daniel Miranda)
2018-03-09 09:04:48 +00:00
fix: setting stdout/stderr to linebuffer mode.
2018-03-09 09:42:10 +00:00
fix: Lua5.3 compatiblity, using load() instead of loadstring()
2018-03-09 09:27:41 +00:00
fix: cmake lua detection, will resort to "lua" and "luac" binaries only if
more specific suffixes (e.g. luac5.3) are not available
2018-03-09 10:07:53 +00:00
fix: test suit, Lua5.3 compatibility (table.unpack)
2017-02-16: 2.2.2
fix: checkgauge 'insist'
fix: no partial path exlusion tests
fix: write pid of forked process in pidfile
fix: crash on not reachable target
workaround:
changed back to filter style rsync calling
until https://bugzilla.samba.org/show_bug.cgi?id=12569
is fixed and released.
2017-01-09 10:14:23 +00:00
2017-01-05: 2.2.1
2017-01-05 09:37:43 +00:00
enhancement: now always using filter lists with rysnc
instead of include/exclude lists taking advantage of the new --delete-missing-args
parameter to delete files on target.
2018-03-09 09:03:08 +00:00
>>> Thus Lsyncd 2.2.1 needs rsync >= 3.1.0
2017-01-05 09:37:43 +00:00
change: added "tests" make target to run all the tests.
fix: crash due to typo in changed ^path, ^pathdir, ^pathname
2017-01-04 15:27:09 +00:00
2017-01-04: 2.2.0
2016-08-29 11:12:09 +00:00
enhancement: add rsync options:
2016-12-05 14:47:12 +00:00
"append",
"append_verify",
"backup",
"backup_dir",
2016-12-01 13:12:56 +00:00
"chmod",
2016-08-29 11:12:09 +00:00
"chown",
2016-12-01 11:35:02 +00:00
"copy_dirlinks",
2016-11-28 10:20:38 +00:00
"existing",
2016-12-05 14:25:58 +00:00
"groupmap",
2016-12-01 11:35:02 +00:00
"omit_dir_times",
"omit_link_times",
"suffix,"
2016-12-05 14:25:58 +00:00
"usermap",
enhancement: settings{ } now checks for unknown entries and errors if so.
2017-01-04 10:40:17 +00:00
change: Level3 scripts ^path,^pathdir and ^pathname now don't start with a slash.
change: Lsyncd now writes a startup log message before daemonizing
does in case logging fails, it is recognized before it cannot
message anything about it, since it deamonized
2016-11-24 14:44:08 +00:00
change: compatible with Lua5.3 (along with 5.1 and 5.2)
2016-05-03 08:45:22 +00:00
change: _verbatim forced for 'exitcodes' entry.
2016-11-25 14:09:27 +00:00
change: manpage is not rebuild by default.
it is provided precompiled.
change: faulty/deprecated config files that use settings = { ... }, with equal sign
are no longer worked around.
change: default.direct now calls copy with -p
fix: potential race conditions:
default.rsyncssh will now channel deletes also through rsync and treats moves
as blocking events.
fix: ']' is not escaped for rsync rules, since rsync only applies
doesn't applie pattern matching if no other pattern chars
are found.
2016-11-25 14:47:46 +00:00
fix: Shell injection hole close for default.direct on mv commands. (Marcin Szewczyk)
fix: Crash of default-direct when source doesn't exit (Michael Ploujnikov)
fix: fixed faulty event replacement,
a race condition noticed by extensive default.rsyncssh testing
changed Delays were not reflected in Events
2016-05-03 08:45:22 +00:00
2017-01-04 15:27:09 +00:00
2015-10-15: 2.1.6
2014-04-24 11:33:07 +00:00
enhancement: Lsyncd now locks its pidfile
2015-10-15 06:15:06 +00:00
enhancement: added ssh.identifyFile and ssh.options options
enhancement: added rsync inplace option
2015-10-14 12:30:02 +00:00
fix: ignore blank lines and rsync commenits in exclude files (David Reiss)
2014-04-24 11:33:07 +00:00
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)
2015-10-14 12:30:02 +00:00
fix: properly encapsulate filenames on ssh mv commands to avoid shell command injections.
2015-10-15 06:15:06 +00:00
fix: postcmd example (Timo Teräs)
2014-04-24 11:33:07 +00:00
change: closes also on INT signals
change: now removes its pidfile on INT and TERM signals
2015-10-15 06:15:06 +00:00
change: changed build system from autotools to cmake
2014-04-24 11:33:07 +00:00
2017-01-04 15:27:09 +00:00
2013-06-07: 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
2015-10-14 12:30:02 +00:00
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
2013-06-07 12:10:39 +00:00
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
2017-01-04 15:27:09 +00:00
2012-11-24: 2.1.4
2012-11-24 13:33:07 +00:00
fix: making ssh custom port changes work with ssh and rsync
2017-01-04 15:27:09 +00:00
2012-11-23: 2.1.3
fix: fixed 2 crash conditions due to failure to read 'uSettings'
2017-01-04 15:27:09 +00:00
2012-11-03: 2.1.2
2012-11-03 12:57:53 +00:00
fix: added excludeFrom to checkgauge (thx to DavidWittman)
fix: fixed rsync option computation
enhancement: added password_file file option to rsync
2017-01-04 15:27:09 +00:00
2012-10-27: 2.1.1
2012-10-27 19:25:32 +00:00
fix: fix rsync.rsh, rsync.rsync_path, rsync.tmp_dir, rsync._extra parameters
thanks go to Birger Schmidt for this fix.
2017-01-04 15:27:09 +00:00
2012-10-23: 2.1.0
2012-10-09 17:54:19 +00:00
fix: fail startup if settings.inist is false and one of the target hosts fails
2012-10-27 19:25:32 +00:00
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
2012-10-09 17:54:19 +00:00
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 = {...}
2017-01-04 15:27:09 +00:00
2012-04-04: 2.0.7
2012-04-04 11:54:13 +00:00
fix: closed a memory leak due to not correct configured weak tables
2012-03-16 15:33:13 +00:00
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
2012-03-23 09:02:28 +00:00
fix: layer 3 function generator was messed up.
2012-04-04 11:54:13 +00:00
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
2012-02-18 07:29:48 +00:00
2017-01-04 15:27:09 +00:00
2012-02-16: 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.
2012-02-16 13:16:39 +00:00
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
2012-02-16 16:37:57 +00:00
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
2017-01-04 15:27:09 +00:00
2011-08-25: 2.0.5
2012-01-31 11:12:30 +00:00
fix: Lsyncd will now terminate if it inotify watching exceeds
2011-08-25 11:34:44 +00:00
its preset limit.
2011-08-25 11:01:05 +00:00
fix: rsync error exit code 12 now results in retries.
2012-01-31 11:12:30 +00:00
fix: Lsyncd 2.0.5 should now compile better on a bit elder
2011-08-25 11:01:05 +00:00
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
2011-08-25 11:34:44 +00:00
of an inlet.
2012-01-31 11:12:30 +00:00
change: builtin Lua code is now loaded via a c-array.
2011-08-25 11:34:44 +00:00
Now more portable and correct memory flags are set.
2011-08-25 11:01:05 +00:00
change: Lsyncd will now bail on unknown error codes.
2012-01-31 11:12:30 +00:00
enhancement: settings.maxProcesses can now be set as a global limit
2011-08-25 11:34:44 +00:00
of childprocesses
enhancement: Lsyncd will refuse to start when any startup rsync
2012-01-31 11:12:30 +00:00
does not work cleanly and returns "again" unless settings.insist or
2011-08-25 11:34:44 +00:00
--insist is specified, then Lsyncd will keep retrying until it works.
2011-08-25 11:01:05 +00:00
enhancement: option "rsyncBinary" determines which rsync Lsyncd calls.
Default is "/usr/bin/rsync"
enhancement: fsevents ("inotify for OSX") fixed for Snowleopard.
2011-08-25 11:34:44 +00:00
and is available to configure by default.
2012-01-31 11:12:30 +00:00
enhancement: settings.inotifyMode: the actualy Modification event
2011-08-25 11:01:05 +00:00
Lsyncd reacts to can now be configured. Default is to react on
file closing in write mode.
2011-08-25 11:34:44 +00:00
enhancement: readdir(path) is available to userscripts, reads the contents
of a directory.
2011-08-25 11:01:05 +00:00
2017-01-04 15:27:09 +00:00
2011-03-27: 2.0.4
2011-03-27 08:25:56 +00:00
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
2017-01-04 15:27:09 +00:00
2011-02-25: 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.
2012-01-31 11:12:30 +00:00
2017-01-04 15:27:09 +00:00
2011-01-20: 2.0.2
2011-01-20 19:26:57 +00:00
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
2012-01-31 11:12:30 +00:00
fix: when matching exclusion to not add inotify use same
2011-01-20 19:26:57 +00:00
partial path than on syncs
fix: properly close pipes that needed more than one write.
2017-01-04 15:27:09 +00:00
2011-01-11: 2.0.1
2011-01-12 15:54:19 +00:00
fix: write pidfile after daemonize()
2012-01-31 11:12:30 +00:00
fix: fixed weak tables that allowed garbage collector to collect
2011-01-12 15:54:19 +00:00
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.
2017-01-04 15:27:09 +00:00
2010-12-02: 2.0.0
2010-12-02 12:14:07 +00:00
a complete recoding!
change: format of command line arguments changed completly.
improvement: the config files format is not LUA instead of XML
2012-01-31 11:12:30 +00:00
allowing a range from easy configuration up until
2010-12-02 12:14:07 +00:00
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.
2012-01-31 11:12:30 +00:00
improvement: There are now several debugging categories that can be
2010-12-02 12:14:07 +00:00
turned on individually.
change: manpage is now written in asciidoc
change: most more complex logic of Lsyncd is now written in Lua.
2010-11-16 21:33:11 +00:00
2017-01-04 15:27:09 +00:00
2010-10-04: 1.39
2010-11-16 21:33:11 +00:00
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
2012-01-31 11:12:30 +00:00
fix: when delay=0 a bug always called rsync file filter even when in
directory mode
2010-11-16 21:33:11 +00:00
2017-01-04 15:27:09 +00:00
2010-09-01: 1.38
2010-11-16 21:33:11 +00:00
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
2012-01-31 11:12:30 +00:00
being kill -HUPed
2010-11-16 21:33:11 +00:00
internal: printout the actual binary called when --debug specified
2017-01-04 15:27:09 +00:00
2010-08-05: 1.37
2010-11-16 21:33:11 +00:00
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
2017-01-04 15:27:09 +00:00
2010-07-11: 1.34
2010-11-16 21:33:11 +00:00
fix: logging segfault on 64bit systems
changed: man page location, spellings
2017-01-04 15:27:09 +00:00
2010-06-05: 1.33
2012-01-31 11:12:30 +00:00
fix: exlude file argument passing to rsync
2010-11-16 21:33:11 +00:00
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
2017-01-04 15:27:09 +00:00
2009-01-05: Release of lsyncd 1.26
2010-11-16 21:33:11 +00:00
fix: segfault on multitargets
2012-01-31 11:12:30 +00:00
changed meaning of "version" tag in lsyncd.conf.xml
2010-11-16 21:33:11 +00:00
2017-01-04 15:27:09 +00:00
2008-12-14: Release of lsyncd 1.25
2010-11-16 21:33:11 +00:00
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!
2017-01-04 15:27:09 +00:00
2007-12-05: Release of lsyncd 1.0
2010-11-16 21:33:11 +00:00