Mention the latest bugfix.
[rsync/rsync.git] / NEWS
CommitLineData
60ef8ed1 1NEWS for rsync 2.6.9 (unreleased)
3ae6c187 2Protocol: 29 (unchanged)
60ef8ed1 3Changes since 2.6.8:
36f59b58 4
ac1541f4
WD
5 BUG FIXES:
6
eece5fe3
WD
7 - If rsync is interrupted via a handled signal (such as SIGINT), it will
8 once again clean-up its temp file from the destination dir.
9
5fdbb87d 10 - An rsync daemon that is receiving files with "use chroot = no" no longer
40f910c4
WD
11 sanitizes the symlink target strings (by default). This means that each
12 symlink's value will now be accepted (and thus returned) with its symlink
13 info intact. Also, in order to keep things safe, all arg paths and any
5bc933a2
WD
14 dereferenced symlinks (e.g. via --copy-links or --keep-dirlinks) are
15 manually verified to ensure that no symlinks try to escape past the top
16 of the module's path. These changes make a non-chroot daemon behave the
17 same way as a chroot daemon with regard to symlinks, and also avoids a
2220ec0a 18 potential problem where a pre-existing symlink could have escaped the
8adc22e3 19 module's hierarchy. See also the new "munge symlinks" daemon setting.
5fdbb87d 20
a17e119d
WD
21 - Fixed an overzealous sanitizing bug in the handling of the --link-dest,
22 --copy-dest, and --compare-dest options to a daemon without chroot: if
23 the copy's destination dir is deeper than the top of the module's path,
24 these options now accept a safe number of ../ (parent-dir) references
25 (since these options are relative to the destination dir). The old code
5fdbb87d 26 incorrectly chopped off all "../" prefixes for these options, no matter
45ba206a 27 how deep the destination directory was in the module's hierarchy.
d8bf7ea8 28
bdac7621
WD
29 - Fixed a bug where a deferred info/error/log message could get sent
30 directly to the sender instead of being handled by rwrite() in the
31 generator. This fixes an "unexpected tag 3" fatal error, and should
32 also fix a potential problem where a deferred info/error message from
33 the receiver might bypass the log file and get sent only to the client
34 process. (These problems could only affect an rsync daemon that was
35 receiving files.)
8ac47746 36
72d1b262
WD
37 - Fixed a bug in the %f logfile escape when receiving files: the
38 destination path is now included in the output (e.g. you can now tell
39 when a user specifies a subdir inside a module).
40
4c5a2da6
WD
41 - If the receiving side fails to create a directory, it will now skip
42 trying to update everything that is inside that directory.
43
d8bf7ea8 44 - Make sure that the --link-dest option can still do its job even when -I
a17e119d
WD
45 is specified.
46
47 - If --link-dest is specified with --checksum but without --times, rsync
48 will now allow a hard-link to be created to a matching link-dest file
eece5fe3 49 even when the file's modify-time doesn't match the server's file.
08c0cd8a 50
5fdbb87d 51 - The daemon now calls more timezone-using functions prior to doing a
45ba206a
WD
52 chroot. This should help some C libraries to generate proper timestamps
53 from inside a chrooted daemon (and to not try to access /etc/timezone
54 over and over again).
5fdbb87d 55
5bc933a2
WD
56 - Fixed a bug in the handling of an absolute --partial-dir=ABS_PATH option:
57 it now deletes an alternate basis file from the partial-dir that was used
58 to successfully update a destination file.
59
40f910c4
WD
60 - Fixed a bug in the handling of --delete-excluded when using a per-dir
61 merge file: the merge file is now honored on the receiving side, and
62 only its unqualified include/exclude commands are ignored (just as is
63 done for global include/excludes).
64
65 - Fixed a recent bug where --delete was not working when transferring from
66 the root (/) of the filesystem with --relative enabled.
67
68 - Fixed a recent bug where an --exclude='*' could affect the root (/) of
69 the filesystem with --relative enabled.
70
dde698c2
WD
71 - When --inplace creates a file, it is now created with owner read/write
72 permissions (0600) instead of no permissions at all. This avoids a
73 problem continuing a transfer that was interrupted (since --inplace
74 will not update a file that has no write permissions).
75
2edfe522
WD
76 - If either --remove-source-files or --remove-sent-files is enabled and we
77 are unable to remove the source file, rsync now outputs an error.
78
ed4b8da0
WD
79 - Fixed a bug in the daemon's "incoming chmod" rule: newly-created
80 directories no longer get the 'F' (file) rules applied to them.
81
ac1541f4
WD
82 ENHANCEMENTS:
83
051f5df5
WD
84 - Added the --log-file=FILE and --log-file-format=FORMAT options. These
85 can be used to tell any rsync to output what it is doing to a log file.
86 They work with a client rsync, a non-daemon server rsync (see the man
87 page for instructions), and also allows the overriding of rsyncd.conf
88 settings when starting a daemon.
89
90 - The --log-format option was renamed to be --out-format to avoid confusing
91 it with affecting the log-file output. (The old option remains as an
92 alias for the new to preserve backward compatibility.)
8b3e964d 93
d2ab094d
WD
94 - Made "log file" and "syslog facility" settable on a per-module basis in
95 the daemon's config file.
96
8adc22e3 97 - Added the "munge symlinks" daemon setting to enable the old-style
40f910c4
WD
98 tweaking of "unsafe" symlinks, but it can now be consistently applied
99 regardless of how "use chroot" is set.
100
c2b47e31
WD
101 - Added the --remove-source-files option as a replacement for the (now
102 deprecated) --remove-sent-files option. This new option removes all
103 non-dirs from the source directories, even if the file was already
104 up-to-date. This fixes a problem where interrupting an rsync that
105 was using --remove-sent-files and restarting it could leave behind
106 a file that the earlier rsync synchronized, but didn't get to remove.
107 (The deprecated --remove-sent-files is still understood for now, and
108 still behaves in the same way as before.)
109
40f910c4
WD
110 - Added a new environment variable to the pre-/post-xfer exec commands (in
111 the daemon's config file): RSYNC_PID. This value will be the same in
112 both the pre- and post-xfer commands, so it can be used if the pre-xfer
113 command wants to cache some arg/request info for the post-xfer command.
8adc22e3 114
7c329ec7
WD
115 DEVELOPER RELATED:
116
d8bf7ea8
WD
117 - The acls.diff and xattrs.diff patches have received a bunch of work to
118 make them much closer to being acceptable in the main distribution.
119
60ef8ed1 120 - Updated config.guess and config.sub to their 2006-02-23 version.
d8bf7ea8
WD
121
122 - Updated various files to include the latest FSF address and to have
123 consistent opening comments.