Changed a "for" loop into a "do ... while" loop.
[rsync.git] / OLDNEWS
1 NEWS for rsync 2.6.2 (30 Apr 2004)
2 Protocol: 28 (unchanged)
3 Changes since 2.6.1:
4
5   BUG FIXES:
6
7     - Fixed a major bug in the sorting of the filenames when --relative
8       is used for some sources (just sources such as "/" and "/*" were
9       affected).  This fix ensures that we ask for the right file-list
10       item when requesting changes from the sender.
11
12     - Rsync now checks the return value of the close() function to
13       better report disk-full problems on an NFS file system.
14
15     - Restored the old daemon-server behavior of logging error messages
16       rather than returning them to the user.  (A better long-term fix
17       will be sought in the future.)
18
19     - An obscure uninitialized-variable bug was fixed in the uid/gid
20       code.  (This bug probably had no ill effects.)
21
22   BUILD CHANGES:
23
24     - Got rid of the configure check for sys/sysctl.h (it wasn't used
25       and was causing a problem on some systems).  Also improved the
26       broken-largefile-locking test to try to avoid failure due to an
27       NFS build-dir.
28
29     - Fixed a compile problem on systems that don't define
30       AI_NUMERICHOST.
31
32     - Fixed a compile problem in the popt source for compilers that
33       don't support __attribute__.
34
35   DEVELOPER RELATED:
36
37     - Improved the testsuite's "merge" test to work on OSF1.
38
39     - Two new diffs were added to the patches dir.
40
41 \f
42 NEWS for rsync 2.6.1 (26 Apr 2004)
43 Protocol: 28 (changed)
44 Changes since 2.6.0:
45
46   SECURITY FIXES:
47
48     - Paths sent to an rsync daemon are more thoroughly sanitized when
49       chroot is not used.  If you're running a non-read-only rsync
50       daemon with chroot disabled, *please upgrade*, ESPECIALLY if the
51       user privs you run rsync under is anything above "nobody".
52
53   ENHANCEMENTS:
54
55     - Lower memory use, more optimal transfer of data over the socket,
56       and lower CPU usage (see the INTERNAL section for details).
57
58     - The RSYNC_PROXY environment variable can now contain a
59       "USER:PASS@" prefix before the "HOST:PORT" information.
60       (Bardur Arantsson)
61
62     - The --progress output now mentions how far along in the transfer
63       we are, including both a count of files transferred and a
64       percentage of the total file-count that we've processed.  It also
65       shows better current-rate-of-transfer and remaining-transfer-time
66       values.
67
68     - Documentation changes now attempt to describe some often mis-
69       understood features more clearly.
70
71   BUG FIXES:
72
73     - When -x (--one-file-system) is combined with -L (--copy-links) or
74       --copy-unsafe-links, no symlinked files are skipped, even if the
75       referent file is on a different filesystem.
76
77     - The --link-dest code now works properly for a non-root user when
78       (1) the UIDs of the source and destination differ and -o was
79       specified, or (2) when the group of the source can't be used on
80       the destination and -g was specified.
81
82     - Fixed a bug in the handling of -H (hard-links) that might cause
83       the expanded PATH/NAME value of the current item to get
84       overwritten (due to an expanded-name caching bug).
85       
86     - We now reset the "new data has been sent" flag at the start of
87       each file we send.  This makes sure that an interrupted transfer
88       with the --partial option set doesn't keep a shorter temp file
89       than the current basis file when no new data has been transfered
90       over the wire for that file.
91
92     - Fixed a byte-order problem in --batch-mode on big-endian machines.
93       (Jay Fenlason)
94
95     - When using --cvs-exclude, the exclude items we get from a
96       per-directory's .cvsignore file once again only affect that one
97       directory (not all following directories too).  The items are also
98       now properly word-split and parsed without any +/- prefix parsing.
99
100     - When specifying the USER@HOST: prefix for a file, the USER part
101       can now contain an '@', if needed (i.e. the last '@' is used to
102       find the HOST, not the first).
103
104     - Fixed some bugs in the handling of group IDs for non-root users:
105       (1) It properly handles a group that the sender didn't have a name
106       for (it would previously skip changing the group on any files in
107       that group).  (2) If --numeric-ids is used, rsync no longer
108       attempts to set groups that the user doesn't have the permission
109       to set.
110
111     - Fixed the "refuse options" setting in the rsyncd.conf file.
112
113     - Improved the -x (--one-file-system) flag's handling of any mount-
114       point directories we encounter.  It is both more optimal (in that
115       it no longer does a useless scan of the contents of the mount-
116       point dirs) and also fixes a bug where a remapped mount of the
117       original filesystem could get discovered in a subdir we should be
118       ignoring.
119
120     - Rsync no longer discards a double-slash at the start of a filename
121       when trying to open the file.  It also no longer constructs names
122       that start with a double slash (unless the user supplied them).
123
124     - Path-specifying options to a daemon should now work the same with
125       or without chroot turned on.  Previously, such a option (such as
126       --link-dest) would get its absolute path munged into a relative
127       one if chroot was not on, making that setting fairly useless.
128       Rsync now transforms the path into one that is based on the
129       module's base dir when chroot is not enabled.
130
131     - Fixed a compatibility problem interacting with older rsync
132       versions that might send us an empty --suffix value without
133       telling us that --backup-dir was specified.
134
135     - The "hosts allow" option for a daemon-over-remote-shell process
136       now has improved support for IPv6 addresses and a fix for systems
137       that have a length field in their socket structs.
138
139     - Fixed the ability to request an empty backup --suffix when sending
140       files to an rsync daemon.
141
142   INTERNAL:
143
144     - Most of the I/O is now buffered, which results in a pretty large
145       speedup when running under MS Windows.  (Craig Barratt)
146
147     - Optimizations to the name-handling/comparing code have made some
148       significant reductions in user-CPU time for large file sets.
149
150     - Some cleanup of the variable types make the code more consistent.
151
152     - Reduced memory requirements of hard link preservation.
153       (J.W. Schultz)
154
155     - Implemented a new algorithm for hard-link handling that speeds up
156       the code significantly.  (J.W. Schultz and Wayne Davison)
157
158     - The --hard-link option now uses the first existing file in the
159       group of linked files as the basis for the transfer.  This
160       prevents the sub-optimal transfer of a file's data when a new
161       hardlink is added on the sending side and it sorts alphabetically
162       earlier in the list than the files that are already present on the
163       receiving side.
164
165     - Dropped support for protocol versions less than 20 (2.3.0 released
166       15 Mar 1999) and activated warnings for protocols less than 25
167       (2.5.0 released 23 Aug 2001). (Wayne Davison and J.W. Schultz,
168       severally)
169
170     - More optimal data transmission for --hard-links (protocol 28).
171
172     - More optimal data transmission for --checksum (protocol 28).
173
174     - Less memory is used when --checksum is specified.
175
176     - Less memory is used in the file list (a per-file savings).
177
178     - The generator is now better about not modifying the file list
179       during the transfer in order to avoid a copy-on-write memory
180       bifurcation (on systems where fork() uses shared memory).
181       Previously, rsync's shared memory would slowly become unshared,
182       resulting in real memory usage nearly doubling on the receiving
183       side by the end of the transfer.  Now, as long as permissions
184       are being preserved, the shared memory should remain that way
185       for the entire transfer.
186
187     - Changed hardlink info and file_struct + strings to use allocation
188       pools.  This reduces memory use for large file-sets and permits
189       freeing memory to the OS.  (J.W. Schultz) 
190
191     - The 2 pipes used between the receiver and generator processes
192       (which are forked on the same machine) were reduced to 1 pipe and
193       the protocol improved so that (1) it is now impossible to have the
194       "redo" pipe fill up and hang rsync, and (2) trailing messages from
195       the receiver don't get lost on their way through the generator
196       over to the sender (which mainly affected hard-link messages and
197       verbose --stats output).
198
199     - Improved the internal uid/gid code to be more portable and a
200       little more optimized.
201
202     - The device numbers sent when using --devices are now sent as
203       separate major/minor values with 32-bit accuracy (protocol 28).
204       Previously, the copied devices were sent as a single 32-bit
205       number.  This will make inter-operation of 64-bit binaries more
206       compatible with their 32-bit brethren (with both ends of the
207       connection are using protocol 28).  Note that optimizations in the
208       binary protocol for sending the device numbers often results in
209       fewer bytes being used than before, even though more precision is
210       now available.
211
212     - Some cleanup of the exclude/include structures and its code made
213       things clearer (internally), simpler, and more efficient.
214
215     - The reading & writing of the file-list in batch-mode is now
216       handled by the same code that sends & receives the list over the
217       wire.  This makes it much easier to maintain.  (Note that the
218       batch code is still considered to be experimental.)
219
220   BUILD CHANGES:
221
222     - The configure script now accepts --with-rsyncd-conf=PATH to
223       override the default value of the /etc/rsyncd.conf file.
224
225     - Fixed configure bug when running "./configure --disable-ipv6".
226
227     - Fixed compilation problem on Tru64 Unix (having to do with
228       sockaddr.sa_len and sockaddr.sin_len).
229
230   DEVELOPER RELATED:
231
232     - Fixed "make test" bug when build dir is not the source dir.
233
234     - Added a couple extra diffs in the "patches" dir, removed the ones
235       that got applied, and rebuilt the rest.
236
237 \f
238 NEWS for rsync 2.6.0 (1 Jan 2004)
239 Protocol: 27 (changed)
240 Changes since 2.5.7:
241
242   ENHANCEMENTS:
243
244     * "ssh" is now the default remote shell for rsync.  If you want to
245       change this, configure like this:  "./configure --with-rsh=rsh".
246
247     * Added --files-from, --no-relative, --no-implied-dirs, and --from0.
248       Note that --from0 affects the line-ending character for all the
249       files read by the --*-from options. (Wayne Davison)
250
251     * Length of csum2 is now per-file starting with protocol version
252       27. (J.W. Schultz)
253
254     * Per-file dynamic block size is now sqrt(file length).  The
255       per-file checksum size is determined according to an algorithm
256       provided by Donovan Baarda which reduces the probability of rsync
257       algorithm corrupting data and falling back using the whole md4
258       checksums. (J.W. Schultz, Donovan Baarda)
259
260     * The --stats option no longer includes the (debug) malloc summary
261       unless the verbose option was specified at least twice.
262
263     * Added a new error/warning code for when files vanish from the
264       sending side.  Made vanished source files not interfere with the
265       file-deletion pass when --delete-after was specified.
266
267     * Various trailing-info sections are now preceded by a newline.
268
269   BUG FIXES:
270
271     * Fixed several exclude/include matching bugs when using wild-cards.
272       This has a several user-visible effects, all of which make the
273       matching more consistent and intuitive.  This should hopefully not
274       cause anyone problems since it makes the matching work more like
275       what people are expecting. (Wayne Davison)
276
277       - A pattern with a "**" no longer causes a "*" to match slashes.
278         For example, with "/*/foo/**", "foo" must be 2 levels deep.
279         [If your string has BOTH "*" and "**" wildcards, changing the
280         "*" wildcards to "**" will provide the old behavior in all
281         versions.]
282
283       - "**/foo" now matches at the base of the transfer (like /foo
284         does).  [Use "/**/foo" to get the old behavior in all versions.]
285
286       - A non-anchored wildcard term floats to match beyond the base of
287         the transfer.  E.g. "CVS/R*" matches at the end of the path,
288         just like the non-wildcard term "CVS/Root" does. [Use "/CVS/R*"
289         to get the old behavior in all versions.]
290
291       - Including a "**" in the match term causes it to be matched
292         against the entire path, not just the name portion, even if
293         there aren't any interior slashes in the term.  E.g. "foo**bar"
294         would exclude "/path/foo-bar" (just like before) as well as
295         "/foo-path/baz-bar" (unlike before).  [Use "foo*bar" to get the
296         old behavior in all versions.]
297
298     * The exclude list specified in the daemon's config file is now
299       properly applied to the pulled items no matter how deep the
300       user's file-args are in the source tree.  (Wayne Davison)
301
302     * For protocol version >= 27, mdfour_tail() is called when the
303       block size (including checksum_seed) is a multiple of 64.
304       Previously it was not called, giving the wrong MD4 checksum.
305       (Craig Barratt)
306
307     * For protocol version >= 27, a 64 bit bit counter is used in
308       mdfour.c as required by the RFC.  Previously only a 32 bit bit
309       counter was used, causing incorrect MD4 file checksums for
310       file sizes >= 512MB - 4.  (Craig Barratt)
311
312     * Fixed a crash bug when interacting with older rsync versions and
313       multiple files of the same name are destined for the same dir.
314       (Wayne Davison)
315
316     * Keep tmp names from overflowing MAXPATHLEN.
317
318     * Make --link-dest honor the absence of -p, -o, and -g.
319
320     * Made rsync treat a trailing slash in the destination in a more
321       consistent manner.
322
323     * Fixed file I/O error detection.  (John Van Essen)
324
325     * Fixed bogus "malformed address {hostname}" message in rsyncd log
326       when checking IP address against hostnames from "hosts allow"
327       and "hosts deny" parameters in config file.
328
329     * Print heap statistics when verbose >= 2 instead of when >= 1.
330
331     * Fixed a compression (-z) bug when syncing a mostly-matching file
332       that contains already-compressed data.  (Yasuoka Masahiko and
333       Wayne Davison)
334
335     * Fixed a bug in the --backup code that could cause deleted files
336       to not get backed up.
337
338     * When the backup code makes new directories, create them with mode
339       0700 instead of 0755 (since the directory permissions in the
340       backup tree are not yet copied from the main tree).
341
342     * Call setgroups() in a more portable manner.
343
344     * Improved file-related error messages to better indicate exactly
345       what pathname failed. (Wayne Davison)
346
347     * Fixed some bugs in the handling of --delete and --exclude when
348       using the --relative (-R) option. (Wayne Davison)
349
350     * Fixed bug that prevented regular files from replacing
351       special files and caused a directory in --link-dest or
352       --compare-dest to block the creation of a file with the
353       same path.  A directory still cannot be replaced by a
354       regular file unless --delete specified.  (J.W. Schultz)
355
356     * Detect and report when open or opendir succeed but read and
357       readdir fail caused by network filesystem issues and truncated
358       files.  (David Norwood, Michael Brown, J.W. Schultz)
359
360     * Added a fix that should give ssh time to restore the tty settings
361       if the user presses Ctrl-C at an ssh password prompt.
362
363   INTERNAL:
364
365     * Eliminated vestigial support for old versions that we stopped
366       supporting. (J.W. Schultz)
367
368     * Simplified some of the option-parsing code. (Wayne Davison)
369
370     * Some cleanup made to the exclude code, as well as some new
371       defines added to enhance readability. (Wayne Davison)
372
373     * Changed the protocol-version code so that it can interact at a
374       lower protocol level than the maximum supported by both sides.
375       Added an undocumented option, --protocol=N, to force the value
376       we advertise to the other side (primarily for testing purposes).
377       (Wayne Davison)
378
379 \f
380 NEWS for rsync 2.5.7 (4 Dec 2003)
381 Protocol: 26 (unchanged)
382 Changes since 2.5.6:
383
384   SECURITY FIXES:
385
386     * Fix buffer handling bugs.  (Andrew Tridgell, Martin Pool, Paul
387       Russell, Andrea Barisani)
388
389 \f
390 NEWS for rsync 2.5.6, aka "the dwd-between-jobs release" (26 Jan 2003)
391 Protocol: 26 (unchanged)
392 Changes since 2.5.5:
393
394   ENHANCEMENTS:
395
396     * The --delete-after option now implies --delete.  (Wayne Davison)
397
398     * The --suffix option can now be used with --backup-dir.  (Michael
399       Zimmerman)
400
401     * Combining "::" syntax with the -rsh/-e option now uses the
402       specified remote-shell as a transport to talk to a (newly-spawned)
403       server-daemon.  This allows someone to use daemon features, such
404       as modules, over a secure protocol, such as ssh.  (JD Paul)
405
406     * The rsync:// syntax for daemon connections is now accepted in the
407       destination field.
408
409     * If the file name given to --include-from or --exclude-from is "-",
410       rsync will read from standard input.  (J.W. Schultz)
411
412     * New option --link-dest which is like --compare-dest except that
413       unchanged files are hard-linked in to the destination directory.
414       (J.W. Schultz)
415
416     * Don't report an error if an excluded file disappears during an
417       rsync run.  (Eugene Chupriyanov and Bo Kersey)
418
419     * Added .svn to --cvs-exclude list to support subversion.  (Jon
420       Middleton)
421
422     * Properly support IPv6 addresses in the rsyncd.conf "hosts allow"
423       and "hosts deny" fields.  (Hideaki Yoshifuji)
424
425     * Changed exclude file handling to permit DOS or MAC style line
426       terminations.  (J.W. Schultz)
427
428     * Ignore errors from chmod when -p/-a/--preserve-perms is not set.
429       (Dave Dykstra)
430
431   BUG FIXES:
432
433     * Fix "forward name lookup failed" errors on AIX 4.3.3.  (John
434       L. Allen, Martin Pool)
435
436     * Generate each file's rolling-checksum data as we send it, not
437       in a separate (memory-eating) pass before hand.  This prevents
438       timeout errors on really large files. (Stefan Nehlsen)
439
440     * Fix compilation on Tru64.  (Albert Chin, Zoong Pham)
441
442     * Better handling of some client-server errors.  (Martin Pool)
443
444     * Fixed a crash that would occur when sending a list of files that
445       contains a duplicate name (if it sorts to the end of the file
446       list) and using --delete.  (Wayne Davison)
447
448     * Fixed the file-name duplicate-removal code when dealing with multiple
449       dups in a row. (Wayne Davison)
450
451     * Fixed a bug that caused rsync to lose the exit status of its child
452       processes and sometimes return an exit code of 0 instead of showing
453       an error.  (David R. Staples, Dave Dykstra)
454
455     * Fixed bug in --copy-unsafe-links that caused it to be completely
456       broken.  (Dave Dykstra)
457
458     * Prevent infinite recursion in cleanup code under certain circumstances.
459       (Sviatoslav Sviridov and Marc Espie)
460
461     * Fixed a bug that prevented rsync from creating intervening directories
462       when --relative-paths/-R is set.  (Craig Barratt)
463
464     * Prevent "Connection reset by peer" messages from Cygwin. (Randy O'Meara)
465
466   INTERNAL:
467
468     * Many code cleanups and improved internal documentation.  (Martin
469       Pool, Nelson Beebe)
470
471     * Portability fixes. (Dave Dykstra and Wayne Davison)
472
473     * More test cases.  (Martin Pool)
474
475     * Some test-case fixes.  (Brian Poole, Wayne Davison)
476
477     * Updated included popt to the latest vendor drop, version 1.6.4.
478       (Jos Backus)
479
480     * Updated config.guess and config.sub to latest versions; this
481       means rsync should build on more platforms.  (Paul Green)
482
483 \f
484 NEWS for rsync 2.5.5, aka Snowy River (2 Apr 2002)
485 Protocol: 26 (unchanged)
486 Changes since 2.5.4:
487
488   ENHANCEMENTS:
489
490     * With --progress, when a transfer is complete show the time taken;
491       otherwise show expected time to complete. (Cameron Simpson)
492
493     * Make "make install-strip" works properly, and "make install"
494       accepts a DESTDIR variable for help in building binary packages.
495       (Peter Breitenlohner, Greg Louis)
496
497     * If configured with --enable-maintainer-mode, then on receipt of
498       a fatal signal rsync will try to open an xterm running gdb,
499       similarly to Samba's "panic action" or GNOME's bug-buddy.
500       (Martin Pool)
501
502
503   BUG FIXES:
504
505     * Fix situation where failure to fork (e.g. because out of process
506       slots) would cause rsync to kill all processes owned by the
507       current user.  Yes, really!  (Paul Haas, Martin Pool)
508
509     * Fix test suite on Solaris.  (Jos Backus, Martin Pool)
510
511     * Fix minor memory leak in socket code.  (Dave Dykstra, Martin
512       Pool.)
513
514     * Fix --whole-file problem that caused it to be the default even
515       for remote connections.  (Martin Pool, Frank Schulz)
516
517     * Work around bug in Mac OS X mkdir(2), which cannot handle
518       trailing slashes.
519       <http://www.opensource.apple.com/bugs/X/BSD%20Kernel/2734739.html>
520       (Martin Pool)
521
522     * Improved network error handling.  (Greg A. Woods)
523
524 \f
525 NEWS for rsync 2.5.4, aka "Imitation lizard skin" (13 Mar 2002)
526 Protocol: 26 (unchanged)
527 Changes since 2.5.3:
528
529   BUG FIXES:
530
531     * Additional fix for zlib double-free bug.  (Martin Pool, Andrew
532       Tridgell) (CVE CAN-2002-0059)
533
534   ENHANCEMENTS:
535
536     * Merge in changes from zlib 1.1.3 to zlib 1.1.4.  (Jos Backus)
537       (Note that rsync still uses a custom version of zlib; you can
538       not just link against a system library.  See zlib/README.rsync)
539
540     * Additional test cases for --compress.  (Martin Pool)
541
542 \f
543 NEWS for rsync 2.5.3, aka "Happy 26" (11 Mar 2002)
544 Protocol: 26 (unchanged)
545 Changes since 2.5.2:
546
547   SECURITY FIXES:
548
549     * Make sure that supplementary groups are removed from a server
550       process after changing uid and gid. (Ethan Benson) (Debian bug
551       #132272, CVE CAN-2002-0080)
552
553   BUG FIXES:
554
555     * Fix zlib double-free bug.  (Owen Taylor, Mark J Cox) (CVE
556       CAN-2002-0059)
557
558     * Fixed problem that in many cases caused the error message
559         unexpected read size of 0 in map_ptr
560       and resulted in the wrong data being copied.
561
562     * Fixed compilation errors on some systems caused by the use of
563       "unsigned int64" in rsync.h.
564
565     * Fixed problem on systems such as Sunos4 that do not support realloc
566       on a NULL pointer; error was "out of memory in flist_expand".
567
568     * Fix for rsync server processes hanging around after the client
569       unexpectedly disconnects.  (Colin Walters) (Debian bug #128632)
570
571     * Cope with BSD systems on which mkdir() will not accept a trailing
572       slash.
573
574   ENHANCEMENTS:
575
576     * Merge in changes from zlib 1.1.2 to zlib 1.1.3.  (Note that
577       rsync still uses a custom version of zlib; you can not just link
578       against a system library.  See zlib/README.rsync)
579
580     * Command to initiate connections is only shown with -vv, rather
581       than -v as in 2.5.2.  Output from plain -v is more similar to
582       what was historically used so as not to break scripts that try
583       to parse the output.
584
585     * Added --no-whole-file and --no-blocking-io options (Dave Dykstra)
586
587     * Made the --write-batch and --read-batch options actually work
588       and added documentation in the man page (Jos Backus)
589
590     * If the daemon is unable to fork a child to accept a connection,
591       print an error message.  (Colin Walters)
592
593 \f
594 NEWS for rsync 2.5.2 (26 Jan 2002)
595 Protocol: 26 (changed)
596 Changes since 2.5.1:
597
598   SECURITY FIXES:
599
600     * Signedness security patch from Sebastian Krahmer
601       <krahmer@suse.de> -- in some cases we were not sufficiently
602       careful about reading integers from the network.
603
604   BUG FIXES:
605
606     * Fix possible string mangling in log files.
607
608     * Fix for setting local address of outgoing sockets.
609
610     * Better handling of hardlinks and devices on platforms with
611       64-bit dev_t or ino_t.
612
613     * Name resolution on machines supporting IPv6 is improved.
614
615     * Fix for device nodes.  (dann frazier)   (Debian #129135)
616
617   ENHANCEMENTS:
618
619     * With -v, rsync now shows the command used to initiate an ssh/rsh
620       connection.
621
622     * --statistics now shows memory heap usage on platforms that
623       support mallinfo().
624
625     * "The Ted T'so school of program optimization": make progress
626       visible and people will think it's faster.  (With --progress,
627       rsync will show you how many files it has seen as it builds the
628       file_list, giving some indication that it has not hung.)
629
630     * Improvements to batch mode support.  This is still experimental
631       but testing would be welcome.   (Jos Backus)
632
633     * New --ignore-existing option, patch previously distributed with
634       Vipul's Razor.  (Debian #124286)
635
636 \f
637 NEWS for rsync 2.5.1 (3 Jan 2002)
638 Protocol: 25 (unchanged)
639 Changes since 2.5.0:
640
641   BUG FIXES:
642
643     * Fix for segfault in --daemon mode configuration parser.  (Paul
644       Mackerras)
645
646     * Correct string<->address parsing for both IPv4 and 6.
647       (YOSHIFUJI Hideaki, SUMIKAWA Munechika and Jun-ichiro "itojun"
648       Hagino)
649
650     * Various fixes for IPv6 support.  (Dave Dykstra)
651
652     * rsync.1 typo fix.  (Matt Kraai)
653
654     * Test suite typo fixes.  (Tom Schmidt)
655
656     * rsync.1 grammar and clarity improvements.  (Edward
657       Welbourne)
658
659     * Correction to ./configure tests for inet_ntop.  (Jeff Garzik)
660
661   ENHANCEMENTS:
662
663     * --progress and -P now show estimated data transfer rate (in a
664       multiple of bytes/s) and estimated time to completion.  (Rik
665       Faith)
666
667     * --no-detach option, required to run as a W32 service and also
668       useful when running on Unix under daemontools, AIX's SRC, or a
669       debugger.  (Max Bowsher, Jos Backus)
670
671     * Clearer error messages for some conditions.
672
673 \f
674 NEWS for rsync 2.5.0 (30 Nov 2001)
675 Protocol: 25 (changed)
676 Changes since 2.4.6:
677
678   ANNOUNCEMENTS
679
680     * Martin Pool <mbp@samba.org> is now a co-maintainer.
681
682   NEW FEATURES
683
684     * Support for LSB-compliant packaging <http://www.linuxbase.org/>
685
686     * Shell wildcards are allowed in "auth users" lines.
687
688     * Merged UNC rsync+ patch to support creation of standalone patch
689       sets.  By Bert J. Dempsey and Debra Weiss, updated by Jos
690       Backus.  <http://www.ils.unc.edu/i2dsi/unc_rsync+.html>
691
692     * IPv6 support based on a patch from KAME.net, on systems
693       including modern versions of Linux, Solaris, and HP-UX.  Also
694       includes IPv6 compatibility functions for old OSs by the
695       Internet Software Consortium, Paul Vixie, the OpenSSH
696       portability project, and OpenBSD.
697
698   ENHANCEMENTS
699
700     * Include/exclude cluestick: with -vv, print out whether files are
701       included or excluded and why.
702
703     * Many error messages have more friendly explanations and more
704       details.
705
706     * Manual page improvements plus scanty protocol documentation.
707
708     * When running as --daemon in the background and using a "log
709       file" rsyncd.conf directive, close the log file every time it is
710       open when going to sleep on the socket.  This allows the log
711       file to get cleaned out by another process.
712
713     * Change to using libpopt rather than getopt for processing
714       options.  This makes the code cleaner and the behaviour more
715       consistent across platforms.  popt is included and built if not
716       installed on the platform.
717
718     * More details in --version, including note about whether 64-bit
719       files, symlinks and hardlinks are supported.
720
721     * MD4 code may use less CPU cycles.
722
723     * Use mkstemp on systems where it is secure.  If we use mktemp,
724       explain that we do it in a secure way.
725
726     * --whole-file is the default when source and target are on the
727         local machine.
728
729   BUG FIXES:
730
731     * Fix for various bugs causing rsync to hang.
732
733     * Attempt to fix Large File Summit support on AIX.
734
735     * Attempt to fix error handling lockup bug.
736
737     * Give a non-0 exit code if *any* of the files we have been asked
738       to transfer fail to transfer.
739
740     * For log messages containing ridiculously long strings that might
741       overflow a buffer rsync no longer aborts, but rather prints an
742       ellipsis at the end of the string.  (Patch from Ed Santiago.)
743
744   PLATFORMS:
745
746     * Improved support for UNICOS (tested on Cray T3E and Cray SV1)
747
748     * autoconf2.52 (or later) is now required to rebuild the autoconf
749       scripts.  It is not required to simply build rsync.
750
751     * Platforms thought to work in this release:
752
753                 Cray SV1 UNICOS 10.0.0.8 cc
754                 Debian Linux 2.2 UltraSparc gcc
755                 Debian Linux testing/unstable ARM gcc
756                 FreeBSD 3.3-RELEASE i386 cc
757                 FreeBSD 4.1.1-RELEASE i386 cc
758                 FreeBSD 4.3-STABLE i386 cc
759                 HP PA-RISC HP-UX 10.20 gcc
760                 HP PA-RISC HP-UX 11.11 cc
761                 IRIX 6.5 MIPS cc
762                 IRIX 6.5 MIPS gcc
763                 Mac OS X PPC (--disable-ipv6) cc
764                 NetBSD 1.5 i386 gcc
765                 NetBSD Current i386 cc
766                 OpenBSD 2.5 Sparc gcc
767                 OpenBSD 2.9 i386 cc
768                 OpenBSD Current i386 cc
769                 RedHat 6.2 i386 gcc
770                 RedHat 6.2 i386 insure++
771                 RedHat 7.0 i386 gcc
772                 RedHat 7.1 i386 (Kernel 2.4.10) gcc
773                 Slackware 8.0 i686 (Kernel 2.4.10)
774                 Solaris 8 UltraSparc cc
775                 Solaris 8 UltraSparc gcc
776                 Solaris 8 i386 gcc
777                 SuSE 7.1 i386 gcc2.95.2
778                 SuSE 7.1 ppc gcc2.95.2
779                 i386-pc-sco3.2v5.0.5 cc
780                 i386-pc-sco3.2v5.0.5 gcc
781                 powerpc-ibm-aix4.3.3.0 cc
782                 i686-unknown-sysv5UnixWare7.1.0 gcc
783                 i686-unknown-sysv5UnixWare7.1.0 cc
784
785   TESTING:
786
787     * The existing test.sh script by Phil Hands has been merged into a
788       test framework that works from both "make check" and the Samba
789       build farm.
790 \f
791 Partial Protocol History
792         RELEASE DATE    VER.    DATE OF COMMIT  PROTOCOL
793         30 Apr 2004     2.6.2                   28
794         26 Apr 2004     2.6.1   08 Jan 2004     28
795         01 Jan 2004     2.6.0   10 Apr 2003     27 (MAX=40)
796         04 Dec 2003     2.5.7                   26
797         26 Jan 2003     2.5.6                   26
798         02 Apr 2002     2.5.5                   26
799         13 Mar 2002     2.5.4                   26
800         11 Mar 2002     2.5.3                   26
801         26 Jan 2002     2.5.2   11 Jan 2002     26
802         03 Jan 2002     2.5.1                   25
803         30 Nov 2001     2.5.0   23 Aug 2001     25
804         06 Sep 2000     2.4.6                   24
805         19 Aug 2000     2.4.5                   24
806         29 Jul 2000     2.4.4                   24
807         09 Apr 2000     2.4.3                   24
808         30 Mar 2000     2.4.2                   24
809         30 Jan 2000     2.4.1   29 Jan 2000     24
810         29 Jan 2000     2.4.0   28 Jan 2000     23
811         25 Jan 2000     2.3.3   23 Jan 2000     22
812         08 Nov 1999     2.3.2   26 Jun 1999     21
813         06 Apr 1999     2.3.1                   20
814         15 Mar 1999     2.3.0   15 Mar 1999     20
815         25 Nov 1998     2.2.1                   19
816         03 Nov 1998     2.2.0                   19
817         09 Sep 1998     2.1.1                   19
818         20 Jul 1998     2.1.0                   19
819         17 Jul 1998     2.0.19                  19
820         18 Jun 1998     2.0.17                  19
821         01 Jun 1998     2.0.16                  19
822         27 May 1998     2.0.13  27 May 1998     19
823         26 May 1998     2.0.12                  18
824         22 May 1998     2.0.11                  18
825         18 May 1998     2.0.9   18 May 1998     18
826         17 May 1998     2.0.8                   17
827         15 May 1998     2.0.1                   17
828         14 May 1998     2.0.0                   17
829         17 Apr 1998     1.7.4                   17
830         13 Apr 1998     1.7.3                   17
831         05 Apr 1998     1.7.2                   17
832         26 Mar 1998     1.7.1                   17
833         26 Mar 1998     1.7.0   26 Mar 1998     17 (MAX=30)
834         13 Jan 1998     1.6.9   13 Jan 1998     15 (MAX=20)
835
836 * DATE OF COMMIT is the date the protocol change was committed to CVS.