]> Dogcows Code - chaz/tar/blobdiff - NEWS
* NEWS: Document --no-check-device and --check-device.
[chaz/tar] / NEWS
diff --git a/NEWS b/NEWS
index 25dc012026ec0ea1508909976639bd82de5aac8f..c1b4fa7bf1fbd28b410bfd3a6b627bd4ab7b4282 100644 (file)
--- a/NEWS
+++ b/NEWS
-GNU tar NEWS - User visible changes.
-Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003,
-2004, 2005, 2006
-Free Software Foundation, Inc.
-See the end for copying conditions.
-
+GNU tar NEWS - User visible changes. 2008-03-27
 Please send GNU tar bug reports to <bug-tar@gnu.org>
+
+\f
+version 1.19.90 (CVS)
+
+* New option --auto-compress (-a)
+
+With --create, selects compression algorithm basing on the suffix
+of the archive file name.
+
+* New option --lzma
+
+Selects LZMA compression algorithm
+
+* New option --hard-dereference
+
+During archive creation, dereferences hard links and stores the files
+they refer to, instead of creating usual hard link members (type '1').
+
+* New option --checkpoint-action
+
+This action allows to specify an action to be executed upon hitting a
+checkpoint.  Recognized actions are: dot, echo (the default),
+echo=string, ttyout=string, exec=cmdline, and sleep=value.  Any number
+of `--checkpoint-action' options can be specified, the actions will be
+executed in order of their appearance in the command line.  See
+chapter 3.8 "Checkpoints" for a complete description.
+
+* New options --no-check-device, --check-device.
+
+The `--no-check-device' option disables comparing device numbers during
+preparatory stage of an incremental dump.  This allows to avoid
+creating full dumps if the device numbers change (e.g. when using an
+LVM snapshot).
+
+The `--check-device' option enables comparing device numbers.  This is
+the default.  This option is provided to undo the effect of the previous
+`--no-check-device' option, e.g. if it was set in TAR_OPTIONS
+environment variable.
+
+* The --transform option.
+
+Any number of `--transform' options can be given in the command line.
+The specified transformations will be applied in turn.
+
+The argument to `--transform' option can be a list of replace
+expressions, separated by a semicolon (as in `sed').
+
+Filename transformations are applied to symbolic link targets
+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". 
+
+* Info (end-of-volume) scripts
+
+The value of the blocking factor is made available to info and
+checkpoint scripts via environment variable TAR_BLOCKING_FACTOR.
+
+* Bugfixes.
+** Fix bug introduced in version 1.19: tar refused to update non-existing
+archives.
+
+\f
+version 1.19 - Sergey Poznyakoff, 2007-10-10
+
+* New option --exclude-vcs
+
+Excludes directories and files, created by several widely used version
+control systems, e.g. "CVS/", ".svn/", etc.
+
+* --exclude-tag and --exclude-cache options
+
+The following options now work with incremental archives as well:
+
+  --exclude-caches       
+  --exclude-caches-all   
+  --exclude-tag
+  --exclude-tag-all
+  --exclude-tag-under
+
+* Fix handling of renamed files in listed incremental archives.
+
+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:
+'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 '/.'.
+
+* Fix file padding in case of truncation of the input file to zero size.
+
+\f
+version 1.18 - Sergey Poznyakoff, 2007-06-29
+
+* Licensed under the GPLv3
+
+* Fixed several bugs in the testsuite
+
+\f
+version 1.17 - Sergey Poznyakoff, 2007-06-08
+
+* Fix archivation of sparse files in posix mode.  Previous versions padded
+  sparse members with spurious zero blocks.
+
+* Fix operation of --verify --listed-incremental.  Version 1.16.1 produced
+  a full dump when both options were given.
+
+* Fix --occurrence.  In previous versions it continued scanning the archive
+  even though all requested members has already been extracted.
+
+* Scope of --transform and --strip-components options.
+
+In addition to affecting regular archive members, the --transform
+option affects hard and soft link targets and the --strip-components
+option affects hard link targets as well.
+
+* End-of-volume script can send the new volume name to tar by writing
+  it to the file descriptor stored in the environment variable `TAR_FD'.
+
+\f
+version 1.16.1 - Sergey Poznyakoff, 2006-12-09
+
+* New option --exclude-tag allows to specify "exclusion tag files", i.e.
+  files whose presence in a directory means that the directory should not
+  be archived.
+
+* The --exclude-cache option excludes directories that contain the
+  CACHEDIR.TAG file from being archived.  Previous versions excluded
+  directory contents only, while the directories themselves were
+  still added to the archive.
+
+* Support for reading ustar type 'N' header logical records has been removed.
+  This GNU extension was generated only by very old versions of GNU 'tar'.
+  Unfortunately its implementation had security holes; see
+  <http://archives.neohapsis.com/archives/fulldisclosure/2006-11/0344.html>.
+  We don't expect that any tar archives in practical use have type 'N'
+  records, but if you have one and you trust its contents, you can
+  decode it with GNU tar 1.16 or earlier.
+
+* Race conditions have been fixed that in some cases briefly allowed
+  files extracted by 'tar -x --same-owner' (or plain 'tar -x', when
+  running as root) to be accessed by users that they shouldn't have been.
+
 \f
-version 1.15.2 (CVS version -- unreleased)
+version 1.16 - Sergey Poznyakoff, 2006-10-21
+
+* After creating an archive, tar exits with code 1 if some files were
+changed while being read.  Previous versions exited with code 2 (fatal
+error), and only if some files were truncated while being archived.
+
+* New option --mtime allows to set modification times for all archive
+members during creation.
+
+* Bug fixes
+** Avoid running off file descriptors when using multiple -C options.
+** tar --index-file=FILE --file=- sent the archive to FILE, and
+the listing to stderr.
+
+\f
+version 1.15.91 - Sergey Poznyakoff, 2006-06-16
+
+* Incompatible changes
+
+** Globbing
+
+Previous versions of GNU tar assumed shell-style globbing when
+extracting from or listing an archive.  For example:
+
+  tar xf foo.tar '*.c'
+
+would extract all files whose names end in '.c'.  This behavior
+was not documented and was incompatible with traditional tar
+implementations.  Therefore, starting from this version, GNU tar
+no longer uses globbing by default.  For example, the above invocation
+is now interpreted as a request to extract from the archive the file
+named '*.c'.
+
+To treat member names as globbing patterns, use --wildcards option.
+If you wish tar to mimic the behavior of versions up to 1.15.90,
+add --wildcards to the value of the environment variable TAR_OPTIONS.
+
+The exact way in which tar interprets member names is controlled by the
+following command line options:
+
+     --wildcards              use wildcards
+     --anchored               patterns match file name start
+     --ignore-case            ignore case
+     --wildcards-match-slash  wildcards match `/'
+
+Each of these options has a '--no-' counterpart that disables its
+effect (e.g. --no-wildcards).
+
+These options affect both the interpretation of member names from
+command line and that of the exclusion patterns (given with --exclude
+and --exclude-from options). The defaults are:
+
+ 1. For member names: --no-wildcards --anchored
+ 2. For exclusion patterns: --wildcards --no-anchored --wildcards-match-slash
+
+The options can appear multiple times in the command line, thereby
+changing the way command line arguments are interpreted.  For example,
+to use case-insensitive matching in exclude patterns and to revert to
+case-sensitive matching for the rest of command line, one could write:
+
+  tar xf foo.tar --ignore-case --exclude-from=FILE --no-ignore-case file.name
+
+** Short option -l is now an alias of --check-links option, which complies
+with UNIX98.  This ends the transition period started with version 1.14.
+
+* New features
+
+** New option --transform allows to transform file names before storing them
+in the archive or member names before extracting.  The option takes a
+sed replace expression as its argument.  For example,
+
+  tar cf foo.tar --transform 's,^,prefix/,'
+
+will add 'prefix/' to all file names stored in foo.tar.
+
+** --strip-components option works when deleting and comparing.  In previous
+versions it worked only with --extract.
+
+** New option --show-transformed-names enables display of transformed file
+or archive.   It generalizes --show-stored-names option, introduced in
+1.15.90.  In particular, when creating an archive in verbose mode, it lists
+member names as stored in the archive, i.e., with any eventual prefixes
+removed and file name transformations applied.  The option is useful,
+for example, while comparing `tar cv' and `tar tv' outputs.
+
+** New incremental snapshot file format keeps information about file names
+as well as that about directories.
+
+** The --checkpoint option takes an optional argument specifying the number
+of records between the two successive checkpoints.   Optional dot
+starting the argument intructs tar to print dots instead of textual
+checkpoints.
+
+** The --totals option can be used with any tar operation (previous versions
+understood it only with --create).  If an argument to this option is
+given, it specifies the signal upon delivery of which the statistics
+is to be printed.  Both forms of this option (with and without
+argument) can be given to in a single invocation of tar.
+
+* Bug fixes
+** Detect attempts to update compressed archives.
+
+\f
+version 1.15.90 - Sergey Poznyakoff, 2006-02-19
 
 * New features
 
-* Any number of -T (--files-from) options may be used in the command line.
+** Any number of -T (--files-from) options may be used in the command line.
 The file specified with -T may include any valid `tar' options,
 including another -T option.
 Compatibility note: older versions of tar would only recognize -C
@@ -18,14 +269,14 @@ as an option name within the file list file.  Now any file whose name
 starts with - is handled as an option.  To insert file names starting with
 dash, use the --add-file option.
 
-* List files containing null-separated file names are detected and processed
+** List files containing null-separated file names are detected and processed
 automatically.  It is no longer necessary to give the --null option.
 
-* New option --no-unquote disables the unquoting of input file names.
+** New option --no-unquote disables the unquoting of input file names.
 This is useful for processing output from `find dir -print0'.
 An orthogonal option --unquote is provided as well.
 
-* New option --test-label tests the archive volume label.
+** New option --test-label tests the archive volume label.
 If an argument is specified, the label is compared against its value.
 Tar exits with code 0 if the two strings match, and with code 2 if
 they do not.
@@ -33,28 +284,28 @@ they do not.
 If no argument is given, the --verbose option is implied.  In this case,
 tar prints the label name if present and exits with code 0.
 
-* New option --show-stored-names.  When creating an archive in verbose mode,
+** New option --show-stored-names.  When creating an archive in verbose mode,
 it lists member names as stored in the archive, i.e., with any eventual
 prefixes removed.  The option is useful, for example, while comparing
 `tar cv' and `tar tv' outputs.
 
-* New option --to-command pipes the contents of archive members to the
+** New option --to-command pipes the contents of archive members to the
 specified command.
 
-* New option --atime-preserve=system, which uses the O_NOATIME feature
+** New option --atime-preserve=system, which uses the O_NOATIME feature
 of recent Linux kernels to avoid some problems when preserving file
 access times.
 
-* New option --delay-directory-restore delays restoring modification times
+** New option --delay-directory-restore delays restoring modification times
 and permissions of extracted directories until the end of extraction.
 This is necessary for restoring from archives with unusual member
 ordering (in particular, those created with --no-recursion option).
 This option is implied when restoring from incremental archives.
 
-* New option --restrict prohibits use of some potentially harmful tar
+** New option --restrict prohibits use of some potentially harmful tar
 options.  Currently it disables '!' escape in multi-volume name menu.
 
-* New options --quoting-style and --quote-chars control the way tar
+** New options --quoting-style and --quote-chars control the way tar
 quotes member names on output. The --quoting-style takes an argument
 specifying the quoting style to use (literal, shell, shell-always,
 c, escape, locale, clocale). The argument to --quote-chars is a string
@@ -62,17 +313,17 @@ specifying characters to quote, even if the selected quoting style
 would not quote them otherwise. The option --no-quote-chars is
 provided to disable quoting certain characters.
 
-* The end-of-volume script (introduced with --info-script option) can
+** The end-of-volume script (introduced with --info-script option) can
 get current archive name from the environment variable TAR_ARCHIVE and
 the volume number from the variable TAR_VOLUME.  It can alter the
 archive name by writing new name to the file descriptor 3.
 
-* Better support for full-resolution time stamps.  Tar cannot restore
+** Better support for full-resolution time stamps.  Tar cannot restore
 time stamps to full nanosecond resolution, though, until the kernel
 guys get their act together and give us a system call to set file time
 stamps to nanosecond resolution.
 
-* The -v option now prints time stamps only to 1-minute resolution,
+** The -v option now prints time stamps only to 1-minute resolution,
 not full resolution, to avoid using up too many output columns.
 Nanosecond resolution is now supported, but that would be too much.
 
@@ -86,12 +337,17 @@ Consequently, the file pointer was set off and the next member
 was not processed correctly.
 ** Previous version created invalid archives when files shrink
 during reading.
-** Compare mode (tar d) hanged when trying to compare file contents.
+** Compare mode (tar d) hung when trying to compare file contents.
 ** Previous versions in certain cases failed to restore directory
 modification times.
 ** When creating an archive, do not attempt to store files whose
 meta-data cannot be stored in the header due to format limitations
 (for ustar and v7 formats).
+** The --version option now also outputs information about copyright,
+license, and credits.  This reverts to the behavior of tar 1.14 and
+earlier, and conforms to the GNU coding standards.  The --license (-L)
+option introduced in tar 1.15 has been removed, since it's no longer
+needed.
 
 \f
 version 1.15.1 - Sergey Poznyakoff, 2004-12-21
@@ -737,14 +993,14 @@ Versions 1.07 back to 1.00 by Jay Fenlason.
 
 \f
 
-Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003
-Free Software Foundation, Inc.
+Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003,
+2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 
 This file is part of GNU tar.
 
 GNU tar is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
+the Free Software Foundation; either version 3, or (at your option)
 any later version.
 
 GNU tar is distributed in the hope that it will be useful,
@@ -760,4 +1016,8 @@ Boston, MA 02110-1301, USA.
 Local variables:
 mode: outline
 paragraph-separate: "[ \f]*$"
+eval: (add-hook 'write-file-hooks 'time-stamp)
+time-stamp-start: "changes. "
+time-stamp-format: "%:y-%02m-%02d"
+time-stamp-end: "\n"
 end:
This page took 0.030288 seconds and 4 git commands to generate.