-GNU tar NEWS - User visible changes.
+GNU tar NEWS - User visible changes. 2007-09-26
Please send GNU tar bug reports to <bug-tar@gnu.org>
+
+\f
+version 1.18.1 (CVS)
+
+* New option --exclude-vcs
+
+Excludes directories and files, internal to some 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 --version output.
+
+* Recognition of broken archive.
+
+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 '/.'.
+
+\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.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, (CVS version)
+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 incremental snapshot file format keeps information about file names
+** 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
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
\f
Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003,
-2004, 2005, 2006 Free Software Foundation, Inc.
+2004, 2005, 2006, 2007 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,
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: