GNU cpio NEWS -- history of user-visible changes. 2024-01-14
Copyright (C) 2003-2024 Free Software Foundation, Inc.
See the end of file for copying conditions.

Please send cpio bug reports to <bug-cpio@gnu.org>.

Version 2.15 - Sergey Poznyakoff, 2024-01-14

* Fix operation of --no-absolute-filenames --make-directories
* Restore access and modification times of symlinks in copy-in
  and copy-pass modes.


Version 2.14 - Sergey Poznyakoff, 2023-05-01

* New option --ignore-dirnlink

Valid in copy-out mode, it instructs cpio to ignore the actual number
of links reported for each directory member and always store 2
instead.

* Changes in --reproducible option

The --reproducible option implies --ignore-dirlink.  In other words,
it is equivalent to --ignore-devno --ignore-dirnlink --renumber-inodes.

* Use GNU ls algorithm for deciding timestamp format in -tv mode

* Bugfixes

** Fix cpio header verification.

** Fix handling of device numbers on copy out.

** Fix calculation of CRC in copy-out mode.

** Rewrite the fix for CVE-2015-1197.

** Fix combination of --create --append --directory.

** Fix appending to archives bigger than 2G.


Version 2.13 - Sergey Poznyakoff, 2019-11-06

* Fix CVE-2015-1197
* Fix CVE-2016-2037
* Fix CVE-2019-14866

Version 2.12 - Sergey Poznyakoff, 2015-09-12

* Improved documentation.
* Manpages are installed by make install.
* New options for copy-out mode:

** --ignore-devno
Store 0 in the device number fields, instead of the actual device
number.

** --renumber-inodes
Renumber inodes when storing them in the archive.

** --device-independent or --reproducible
Create reproducible archives.  This is equivalent to
--ignore-devno --renumber-inodes.

Version 2.11 - Sergey Poznyakoff, 2010-03-10

* Fix mt build.
* In copy-in mode, if directory attributes do not permit writing to it,
setting them is delayed until the end of run. This allows to correctly
extract files in such directories.
* In copy-in mode, permissions of a directory are restored if it
appears in the file list after files in it (find . -depth). This fixes
debian bug #458079.
* Fix possible memory overflow in the rmt client code (CVE-2010-0624).


Version 2.10 - Sergey Poznyakoff, 2009-06-20

* Ensure record headers are properly packed (fix builds on ARM).
* Fix exit codes to reliably indicate success or failure of the operation.
* Fix large file support.
* Support MinGW builds (thanks to Robert Millan).
* Minor bugfixes.


Version 2.9 - Sergey Poznyakoff, 2007-06-28

* Licensed under the GPLv3.

* Bugfixes:
** Honor umask when creating intermediate directories, not specified
in the archive (debian bug #430053)


Version 2.8 - Sergey Poznyakoff, 2007-06-08

* Option --owner can be used in copy-out mode, allowing to uniformly override
ownership of the files being added to the archive.

* Bugfixes:

** Symlinks were handled incorrectly in copy-out mode.
** Fix handling of large files.
** Fix setting the file permissions in copy-out mode.
** Fix CAN-2005-1111


Version 2.7 - Sergey Poznyakoff, 2006-10-21

* Improved error checking and diagnostics

* Bugfixes
** Fixed CAN-1999-1572
** Allow to use --sparse in both copy-in and copy-pass.
** Fix bug that eventually caused copying out the same hard-linked
file several times to archive.
** Fix several LFS-related issues.
** Fix Debian bug 335580.


Version 2.6 - Sergey Poznyakoff, 2004-12-20

* Added NLS support

* Improved configure script

* Improved invocation consistency checking and help output

* Printing warning about truncation of inode numbers is suppressed by
default. See below.

* New option --warning (-W) controls the level of output warnings:

    -Wnone       Disables all warnings
    -Wtruncate   Enable warning about truncation of the inode number
    -Wall        Enables all warnings

  To disable a particular warning, prefix its name with 'no-', just
  like in gcc.

* New option --to-stdout extracts files to standard output.

* The output of `cpio --help' is largely improved.

* Bugfixes:
** If a file grew n bytes in copy-pass mode, these n bytes got prepended
to the contents of all subsequent files.
** Padding the archive with zero bytes upon truncation of the file being
archived was broken.


Major changes in version 2.5:

* bug fixes from Debian, Red Hat, and SuSE GNU/Linux Distribution patches
* --rsh-command option

Major changes in version 2.4:

* new texinfo documentation
* --sparse option to write sparse files
* --only-verify-crc option to verify a CRC format archive
* --no-absolute-paths option to ignore absolute paths
* --quiet option to supress printing number of blocks copied
* handle disk input errors more gracefully

Major changes in version 2.3:

* in newc and crc format archives, only store 1 copy of multiply linked files
* handle multiply linked devices properly
* handle multiply linked files with cpio -pl even when the source and
  destination are on different file systems
* support HPUX Context Dependent Files
* read and write HPUX cpio archives
* read System V.4 POSIX tar archives and HPUX POSIX tar archives
* use rmdir, instead of unlink, to delete existing directories

Major changes in version 2.2:

* handle link counts correctly when reading binary cpio archives
* configure checks for some libraries that SVR4 needs

Major changes in version 2.1:

* cpio can access remote non-device files as well as remote devices
* fix bugs in the MS-DOS port
* add --swap equivalent to -b option

Version 2.0 adds the following features:

Support for the SVR4 cpio formats, which can store inodes >65535, and
for traditional and POSIX tar archives.  Also adds these options:

-A --append		append to instead of replacing the archive
-V --dot		print a dot for each file processed
-H --format		select archive format
-C --io-size		select I/O block size in bytes
-M --message		print a message at end of media volumes
--no-preserve-owner	don't change files' owners when extracting
-R --owner		set files' owners when extracting
-E --pattern-file	list of shell filename patterns to process
-s --swap-bytes		handle byte-order differences when extracting files
-S --swap-halfwords	ditto
-b			like -sS
-I			input archive filename
-k			recognize corrupted archives (we alawys do it, though)
-O			output archive filename

Some options of previous versions have been renamed in 2.0:

--binary was replaced by --format=bin
--portability was replaced by --format=odc

Some options have changed meaning in 2.0, for SVR4 compatibility:

-O used to select the binary archive format, now selects the output file
-V used to print the version number, now prints a dot for each file

Version 2.0 also fixes several bugs in the handling of files with
multiple links and of multi-volume archives on floppy disks.

----------------------------------------------------------------------
Copyright information:

Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009,
2010, 2014 Free Software Foundation, Inc.

   Permission is granted to anyone to make or distribute verbatim copies
   of this document as received, in any medium, provided that the
   copyright notice and this permission notice are preserved,
   thus giving the recipient permission to redistribute in turn.

   Permission is granted to distribute modified versions
   of this document, or of portions of it,
   under the above conditions, provided also that they
   carry prominent notices stating who last changed them.

Local variables:
mode: outline
paragraph-separate: "[ 	]*$"
eval: (add-hook 'write-file-hooks 'time-stamp)
time-stamp-start: "changes. "
time-stamp-format: "%:y-%02m-%02d"
time-stamp-end: "\n"
end:
