X-Git-Url: https://git.cworth.org/git?p=tar;a=blobdiff_plain;f=NEWS;h=66d9c880e0b0ea34190298582858f0517503e645;hp=41b30ea9214dc16cc49feb9933d43ea8fb950e7e;hb=HEAD;hpb=cf7169a2ede9bb08b71de68fe0c8bbecf827abe6 diff --git a/NEWS b/NEWS index 41b30ea..66d9c88 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,233 @@ -GNU tar NEWS - User visible changes. 2008-12-27 +GNU tar NEWS - User visible changes. 2010-10-24 Please send GNU tar bug reports to + +version 1.24 - Sergey Poznyakoff, 2010-10-24 + +* The --full-time option. + +New command line option `--full-time' instructs tar to output file +time stamps to the full resolution. + +* Bugfixes. + +** More reliable directory traversal when creating archives + +Tar now checks for inconsistencies caused when a file system is +modified while tar is creating an archive. In the new approach, tar +maintains a cache of file descriptors to directories, so it uses more +file descriptors than before, but it adjusts to system limits on +the number of file descriptors. Tar also takes more care when +a file system is modified while tar is extracting from an archive. + +The new checks are implemented via the openat and related calls +standardized by POSIX.1-2008. On an older system where these calls do +not exist or do not return useful results, tar emulates the calls at +some cost in efficiency and reliability. + +** Symbolic link attributes + +When extracting symbolic links, tar now restores attributes such as +last-modified time and link permissions, if the operating system +supports this. For example, recent versions of the Linux kernel +support setting times on symlinks, and some BSD kernels also support +symlink permissions. + +** --dereference consistency + +The --dereference (-h) option now applies to files that are copied +into or out of archives, independently of other options. For example, +if F is a symbolic link and archive.tar contains a regular-file member +also named F, "tar --overwrite -x -f archive.tar F" now overwrites F +itself, rather than the file that F points to. (To overwrite the file +that F points to, add the --dereference (-h) option.) Formerly, +--dereference was intended to apply only when using the -c option, but +the implementation was not consistent. + +Also, the --dereference option no longer affects accesses to other +files, such as archives and time stamp files. Symbolic links to these +files are always followed. Previously, the links were usually but not +always followed. + +** Spurious error diagnostics on broken pipe. + +When receiving SIGPIPE, tar would exit with error status and +"write error" diagnostics. In particular, this occurred if +invoked as in the example below: + + tar tf archive.tar | head -n 1 + +** --remove-files + +`Tar --remove-files' failed to remove a directory which contained +symlinks to another files within that directory. + +** --test-label behavior + +In case of a mismatch, `tar --test-label LABEL' exits with code 1, +not 2 as it did in previous versions. + +The `--verbose' option used with `--test-label' provides additional +diagnostics. + +Several volume labels may be specified in a command line, e.g.: + + tar --test-label -f archive 'My volume' 'New volume' 'Test volume' + +In this case, tar exits with code 0 if any one of the arguments +matches the actual volume label. + +** --label used with --update + +The `--label' option can be used with `--update' to prevent accidental +update of an archive: + + tar -rf archive --label 'My volume' . + +This did not work in previous versions, in spite of what the docs said. + +** --record-size and --tape-length (-L) options + +Usual size suffixes are allowed for these options. For example, +-L10k stands for a 10 kilobyte tape length. + +** Fix dead loop on extracting existing symlinks with the -k option. + + +version 1.23 - Sergey Poznyakoff, 2010-03-10 + +* Record size autodetection + +When listing or extracting archives, the actual record size is +reported only if the archive is read from a device (as opposed +to regular files and pipes). + +* Seekable archives + +When a read-only operation (e.g. --list or --extract) is requested +on a regular file, tar attemtps to speed up accesses by using lseek. + +* New command line option `--warning' + +The `--warning' command line option allows to suppress or enable +particular warning messages during `tar' run. It takes a single +argument (a `keyword'), identifying the class of warning messages +to affect. If the argument is prefixed with `no-', such warning +messages are suppressed. For example, + + tar --warning=no-alone-zero-block -x -f archive + +suppresses the output of `A lone zero block' diagnostics, which is +normally issued if `archive' ends with a single block of zeros. + +See Tar Manual, section 3.9 "Controlling Warning Messages", for a +detailed discussion. + +* New command line option `--level' + +The `--level=N' option sets the incremental dump level N. It +is valid when used in conjunction with the -c and --listed-incremental +options. So far the only meaningful value for N is 0. The +`--level=0' option forces creating the level 0 dump, by truncating +the snapshot file if it exists. + +* Files removed during incremental dumps + +If a file or directory is removed while incremental dump is +in progress, tar exact actions depend on whether this file +was explicitly listed in the command line, or was found +during file system scan. + +If the file was explicitly listed in the command line, tar +issues error message and exits with the code 2, meaning +fatal error. + +Otherwise, if the file was found during the file system scan, +tar issues a warning, saying "File removed before we read it", +and sets exit code to 1, which means "some files differ". +If the --warning=no-file-removed option is given, no warning +is issued and exit code remains 0. + +* Modification times of PAX extended headers. + +Modification times in ustar header blocks of extended headers +are set to mtimes of the corresponding archive members. This +can be overridden by the + + --pax-opion='exthdr.mtime=STRING' + +command line option. The STRING is either number of seconds since +the Epoch or a `Time reference' (see below). + +Modification times in ustar header blocks of global extended +headers are set to the time when tar was invoked. + +This can be overridden by the + + --pax-opion='globexthdr.mtime=STRING' + +command line option. The STRING is either number of seconds since +the Epoch or a `Time reference' (see below). + +* Time references in --pax-option argument. + +Any value from the --pax-option argument that is enclosed in a pair +of curly braces represents a time reference. The string between the +braces is understood either as a textual time representation, as described in +chapter 7, "Date input formats", of the Tar manual, or as a name of +an existing file, starting with `/' or `.'. In the latter +case, it is replaced with the modification time of that file. + +* Environment of --to-command script. + +The environment passed to the --to-command script is extended with +the following variables: + + TAR_VERSION GNU tar version number + TAR_ARCHIVE The name of the archive + TAR_VOLUME Ordinal number of the volume + TAR_FORMAT Format of the archive + TAR_BLOCKING_FACTOR Current blocking factor + +* Bugfixes +** Fix handling of hard link targets by -c --transform. +** Fix hard links recognition with -c --remove-files. +** Fix restoring files from backup (debian bug #508199). +** Correctly restore modes and permissions on existing directories. +** The --remove-files option removes files only if they were +succesfully stored in the archive. +** Fix storing and listing of the volume labels in POSIX format. +** Improve algorithm for splitting long file names (ustar +format). +** Fix possible memory overflow in the rmt client code (CVE-2010-0624). + + +version 1.22 - Sergey Poznyakoff, 2009-03-05 + +* Support for xz compression + +Tar uses xz for compression if one of the following conditions is met: + + 1. The option --xz or -J (see below) is used. + 2. The xz binary is set as compressor using --use-compress-program option. + 3. The file name of the archive being created ends in `.xz' and + auto-compress option (-a) is used. + +Xz is used for decompression if one of the following conditions is met: + + 1. The option --xz or -J is used. + 2. The xz binary is set as compressor using --use-compress-program option. + 3. The file is recognized as xz compressed stream data. + +* Short option -J reassigned as a short equivalent of --xz + +* New option -I + +The -I option is assigned as a short equivalent for +--use-compress-program. + +* The --no-recursive option works in incremental mode. + version 1.21 - Sergey Poznyakoff, 2008-12-27 @@ -39,7 +266,7 @@ control type of archive members affected by them. The flags are: - s Apply transformation to symbolic link targets. - - h + - h Apply transformation to hard link targets. Corresponding upper-case letters negate the meaning, so that @@ -61,10 +288,10 @@ can be changed using `flags=' statement before the expressions, e.g.: ** The --null option disabled handling of tar options in list files. This is fixed. -** Fixed record size autodetection. If detected record size differs from -the expected value (either default, or set on the command line), tar -always prints a warning if verbosity level is set to 1 or greater, -i.e. if either -t or -v option is given. +** Fixed record size autodetection. If the detected record size differs from +the expected value (either default one, or the one set from the +command line), tar always prints a warning if verbosity level is set +to 1 or greater, i.e. if either -t or -v option is given. @@ -118,7 +345,7 @@ during both creation and extraction. Tar 1.19 used them only during extraction. For a detailed description, see chapter 6.7 "Modifying File and Member -Names". +Names". * Info (end-of-volume) scripts @@ -145,8 +372,8 @@ control systems, e.g. "CVS/", ".svn/", etc. The following options now work with incremental archives as well: - --exclude-caches - --exclude-caches-all + --exclude-caches + --exclude-caches-all --exclude-tag --exclude-tag-all --exclude-tag-under @@ -157,14 +384,14 @@ Previous versions always stored absolute file names in rename records, even if -P was not used. This is fixed: rename records contain file names processed in accordance with the command line settings. - + * Fix --version output. * Recognition of broken archives. When supplied an archive smaller than 512 bytes in reading mode (-x, -t), the previous version of tar silently ignored it, exiting with -code 0. It is fixed. Tar now issues the following diagnostic message: +code 0. It is fixed. Tar now issues the following diagnostic message: 'This does not look like a tar archive', and exits with code 2. * Fix double-dot recognition in archive member names in case of duplicate '/.'. @@ -1064,7 +1291,7 @@ Versions 1.07 back to 1.00 by Jay Fenlason. Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003, -2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. +2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This file is part of GNU tar.