Improved --dirs/--no-dirs/--list-only option handling:
[rsync.git] / NEWS
1 NEWS for rsync 3.0.1 (UNRELEASED)
2 Protocol: 30 (unchanged)
3 Changes since 3.0.0:
4
5   NOTABLE CHANGES IN BEHAVIOR:
6
7     - Added the 'c'-flag to the itemizing of non-regular files so that the
8       itemized output doesn't get hidden if there were no attribute changes,
9       and also so that the itemizing of a --copy-links run will distinguish
10       between copying an identical non-regular file and the creation of a
11       revised version with a new value (e.g. a changed symlink referent, a
12       new device number, etc.).
13
14   BUG FIXES:
15
16     - Fixed a crash bug when a single-use rsync daemon (via remote shell) was
17       run without specifying a --config=FILE option.
18
19     - Fixed a crash when backing up a directory that has a default ACL.
20
21     - Fixed a bug in the handling of xattr values that could cause rsync to
22       not think that a file's extended attributes are up-to-date.
23
24     - Fixed the working of --fake-super with --link-dest and --xattrs.
25
26     - Fixed a hang when combining --dry-run with --remove-source-files.
27
28     - Fixed the building of the rounding.h file on systems that need custom
29       CPPFLAGS to be used.  Also improved the error reporting if the building
30       of rounding.h fails.
31
32     - Fixed the use of the --protect-args (-s) option when talking to a daemon.
33
34     - Fixed the --ignore-existing option's protection of files on the receiver
35       that are non-regular files on the sender (e.g. if a symlink or a dir on
36       the sender is trying to replace a file on the receiver).  The reverse
37       protection (protecting a dir/symlink/device from being replaced by a
38       file) was already working.
39
40     - Fixed an assert failure if --hard-links is combined with an option that
41       can skip a file in a set of hard-linked files (i.e. --ignore-existing,
42       --append, etc.), without skipping all the files in the set.
43
44     - Avoid setting the modify time on a directory that already has the right
45       modify time set.  This avoids tweaking the dir's ctime.
46
47     - Improved the daemon-exclude handling to do a better job of applying the
48       exclude rules to path entries.  It also sends the user an error just as
49       if the files were actually missing (instead of silently ignoring the
50       user's args).
51
52     - Fixed some glitches with the dry-run code's missing-directory
53       handling, including a problem when combined with --fuzzy.
54
55     - Fixed some glitches with the skipped-directory handling.
56
57     - Fixed the 'T'-flag itemizing of symlinks when --time isn't preserved.
58
59     - Fixed a glitch in the itemizing of permissions with the -E option.
60
61     - The --append option's restricting of transfers to those that add data no
62       longer prevents the updating of non-content changes to otherwise up-to-
63       date files (i.e. those with the same content but differing permissions,
64       ownership, xattrs, etc.).
65
66     - Don't allow --fake-super to be specified with -XX (double --xattrs)
67       because the options conflict.  If a daemon has "fake super" enabled,
68       it automatically downgrades a -XX request to -X.
69
70     - Fixed a couple bugs in the parsing of daemon-config excludes that could
71       make a floating exclude rule get treated as matching an absolute path.
72
73     - A daemon doesn't try to auto-refuse the "iconv" option if iconv-support
74       wasn't compiled in to the daemon (avoiding a warning in the logs).
75
76     - Fixed the support/rrsync script to work with the latest options that
77       rsync sends (including its flag-specifying use of -e to the server).
78
79   ENHANCEMENTS:
80
81     - Added the --old-dirs (--old-d) option to make it easier for a user to
82       ask for file-listings with older rsync versions (this is easier than
83       having to type "-r --exclude='/*/*'" manually).
84
85     - When getting an error while asking an older rsync daemon for a file
86       listing, rsync will try to notice if the error is a rejection of the
87       --dirs (-d) option and let the user know how to work around the issue.
88
89     - Added a few more --no-OPTION overrides.
90
91     - Improved the documentation of the --append option.
92
93     - Improved the documentation of the filter/exclude/include daemon
94       parameters.
95
96   INTERNAL:
97
98     - Fixed a couple minor bugs in the included popt library (ones which I
99       sent to the official popt project for inclusion in the 1.14 release).
100
101     - Fixed a stat() call that should have been do_stat() so that the proper
102       normal/64-bit stat() function gets called.  (Was in an area that should
103       not have caused problems, though.)
104
105     - Changed the file-glob code to do a directory scan without using the
106       "glob" and "glob.h".  This lets us do the globbing with less memory
107       churn, and also avoid adding daemon-excluded items to the returned
108       args.
109
110   DEVELOPER RELATED:
111
112     - The configure script tries to get the user's compiler to not warn about
113       unused function parameters if the build is not including one or more of
114       the ACL/xattrs/iconv features.
115
116     - The configure script now has better checks for figuring out if the
117       included popt code should be used or not.
118
119     - Fixed two testsuite glitches: avoid a failure if someone's "cd" command
120       outputs the current directory when cd-ing to a relative path, and made
121       the itemized test query how rsync was built to determine if it should
122       expect hard-linked symlinks or not.
123
124     - Updated the testsuite to verify that various bug fixes remain fixed.
125
126     - The RPM spec file was updated to have: (1) comments for how to use the
127       rsync-patch tar file, and (2) an /etc/xinetd.d/rsync file.
128
129     - Updated the build scripts to work with a revised FTP directory
130       structure.