Improved the use of the "remaining" var in readfd_unbuffered() to
[rsync/rsync.git] / NEWS
... / ...
CommitLineData
1NEWS for rsync 2.6.5 (UNRELEASED)
2Protocol: 29 (unchanged)
3Changes since 2.6.4:
4
5 OUTPUT CHANGES:
6
7 - Non-printable chars in filenames are now output using backslash-
8 escaped characters rather than '?'s. Any non-printable character is
9 output using 3 digits of octal (e.g. "\n" -> "\012"), and a backslash
10 is now output as "\\". Rsync also uses your locale setting, which
11 can make it treat fewer high-bit characters as non-printable.
12
13 - If rsync received an empty file list when pulling files, it would
14 output a "nothing to do" message and exit with a 0 (success) exit
15 status, even if the remote rsync returned an error (it did not do
16 this under the same conditions when pushing files). This was changed
17 to make the pulling behavior the same as the pushing behavior: we
18 now do the normal end-of-run outputting (depending on options) and
19 exit with the appropriate exit status.
20
21 BUG FIXES:
22
23 - A crash bug was fixed when a daemon had its "path" set to "/", did
24 not have chroot enabled, and used some anchored excludes in the
25 rsyncd.conf file.
26
27 - Fixed a bug in the transfer of a single file when -H is specified
28 that might have caused an infinite loop or perhaps a crash.
29
30 - Fixed a case where the generator might try to tweak the write
31 permissions of a read-only directory in list-only mode.
32
33 - If --compare-dest or --link-dest uses a locally-copied file as the
34 basis for an updated version, log this better when --verbose or -i
35 is in effect.
36
37 - Fixed the accidental disabling of --backup during the --delete-after
38 processing.
39
40 - Restored the ability to use the --address option in client mode (in
41 addition to its use in daemon mode).
42
43 - Make sure that some temporary progress information from the delete
44 processing does not get left on the screen when it is followed by a
45 newline.
46
47 - When --existing skips a directory with extra verbosity, refer to it
48 as a "directory", not a "file".
49
50 - When transferring a single file to a different-named file, any
51 generator messages that are source-file related no longer refer to
52 the file by the destination filename.
53
54 - Fixed a bug where hard-linking a group of files might fail if the
55 generator hasn't created a needed destination directory yet.
56
57 - Fixed a bug where a hard-linked group of files that is newly-linked
58 to a file in a --link-dest dir doesn't link the files from the rest
59 of the cluster.
60
61 - When deleting files with the --one-file-system (-x) option set, rsync
62 no longer tries to remove files from inside a mount-point on the
63 receiving side.
64
65 - Fixed a compatibility problem when using --cvs-ignore (-C) and
66 sending files to an older rsync without using --delete.
67
68 - Make sure that a "- !" or "+ !" include/exclude pattern does not
69 trigger the list-clearing action that is reserved for "!".
70
71 - Avoid a timeout in the generator when the sender/receiver aren't
72 handling the generator's checksum output quickly enough.
73
74 - Fixed the ommission of some directories in the delete processing when
75 --relative (-R) was combined with a source path that had a trailing
76 slash.
77
78 - Make sure that --max-size doesn't affect a device or a symlink.
79
80 - Make sure that a system with a really small MAXPATHLEN does not cause
81 the buffers in readfd_unbuffered() to be too small to receive normal
82 messages. (This mainly affected Cygwin.)
83
84 ENHANCEMENTS:
85
86 - Added the --only-write-batch=FILE option that may be used (instead
87 of --write-batch=FILE) to create a batch file without doing any
88 actual updating of the destination. This allows you to divert all
89 the file-updating data away from a slow data link (as long as you
90 are pushing the data to the remote server when creating the batch).
91
92 - When the generator is taking a long time to fill up its output buffer
93 (e.g. if the transferred files are few, small, or missing), it now
94 periodically flushes the output buffer so that the sender/receiver
95 can get started on the files sooner rather than later.
96
97 - Improved the auth-errors that are logged by the daemon to include
98 some information on why the authorization failed (wrong user,
99 password mismatch, etc.). (The client-visible message is unchanged.)
100
101 - Improved the client's handling of an "@ERROR" from a daemon so that
102 it does not complain about an unexpectedly closed socket (since we
103 really did expect the socket to close).
104
105 - If the daemon can't open the log-file specified in rsyncd.conf, fall
106 back to using syslog (and log an appropriate warning). This is
107 better than what was typically a totally silent failure (since a
108 daemon is not usually run with the --no-detach option that was
109 necessary to see the error on stderr).
110
111 - The man pages now consistently refer to an rsync daemon as a "daemon"
112 to distinguish it from a server in a non-daemon transfer.
113
114 - Made a small change to the rrsync script (restricted rsync -- in the
115 support dir) to make a read-only server reject all --remove-* options
116 when sending files (to future-proof it against the possibility of
117 other similar options being added at some point).
118
119 INTERNAL:
120
121 - Rsync now calls setlocale(LC_CTYPE, "") to enable isprint() to better
122 discern which filename characters need to be escaped in messages.
123
124 - Improved the naming of the log-file open/reopen/close functions.
125
126 - Removed some protocol compatibility code that was only needed to help
127 someone running a pre-release of 2.6.4.
128
129 BUILD CHANGES:
130
131 - Fixed a bug in the SUPPORT{,_HARD}_LINKS defines which prevented
132 rsync from being built without symlink or hard-link support.
133
134 - You can use --disable-locale to turn off any use of setlocale().
135
136 - Configure now disables the use of mkstemp() under HP-UX (since they
137 refuse to fix its broken handling of large files).
138
139 - Configure now explicitly checks for the lseek64() function so that
140 the code can use HAVE_LSEEK64 instead of inferring lseek64()'s
141 presence based on the presence of the off64_t type.
142
143 - Some minor enhancements to the test scripts.
144
145 - Added a couple new diffs to the patches dir.