Archive-Tar

 view release on metacpan or  search on metacpan

CHANGES  view on Meta::CPAN

3.12  02/06/2026 (Stig Palmquist)
- Allow '..' links in secure extract in parent path for
  symlinks and hardlinks

3.10  25/05/2026 (Stig Palmquist)
- Added MAX_FILE_SIZE setting, defaulting to 1GB, for
  extracting files

3.08  22/05/2026 (Stig Palmquist)
- Validate symlink and hardlink linkname in SECURE MODE
  
3.06  10/05/2026
- Hardlinks not extracted by default, added EXTRACT_HARDLINK flag
- If hardlinks are extracted, they are now subject to the same rules
  as symlinks with regards to chown and chmod

3.04  25/02/2025 (Dan Church, Arne Johannessen && SISYPHUS)
- Fix handling filenames with trailing whitespace
- Allow --format=ustar option for ptar
- GH#21402 Symlink tests on Windows

3.02  13/04/2023 (Manfred Stock)
- Test block sizes up to (2**31 - 1) bytes only (fix for 32bit perls)
- Don't match on message from exception in symlink test
- Improve formatting of $Archive::Tar::RESOLVE_SYMLINK documentation

3.00  25/03/2023 (Chris Lindee, Reini Urban, Paul Bolle, Michiel Beijen, Paulo Custodio, Michael R. Davis && Manfred Stock)
- RT #119949: Correctly concat prefix on directories
- enabled t/90_symlink.t for all platforms with symlinks
- Fix pod typo 'Archive::Tar::Files'
- Update links under SEE ALSO
- Skip symlink tests on Windows/msys2
- Support extraction of large files

2.40  27/07/2021 (KHW && ATOOMIC)
- Generalize for EBCDIC
- Update GitHub workflow with deprecated add-path

2.38  25/06/2020 (ATOOMIC)
- Avoid indirect calls
- Add use warnings to bin/ptar*

2.36  02/02/2020
- Add xz test files to MANIFEST

2.34  01/02/2020 (HEANEY && SKAJI)
- Add xz support
- Use 4 digit year in Time::Local call

2.32  13/09/2018 (CBERRY)
- Fix absolute path handling on VMS

2.30  19/06/2018
- skip white_space test on MSWin32 as Windows will report that both
  files exist, which is obviously a 'feature'

2.28  08/06/2018 (madroach, ARC, OCBNET, ppisar)
- fix creating file with trailing whitespace on filename - fixes 103279
- allow archiving with absolute pathnames - fixes 97748
- small POD fix
- Speed up extract when archive contains lots of files
- CVE-2018-12015 directory traversal vulnerability [RT#125523]

2.26  12/05/2017
- '0' is a valid name for an archive, change 'iter' to check definedness

2.24  16/12/2016 (SREZIC)
- Handle tarballs compressed with pbzip2 (RT #119262)

2.22  16/12/2016 (MANWAR)
- Add missing strict/warnings pragma to Constants.pm

2.20  15/12/2016 (AGRUNDMA)
- Check for gzip/bzip2 before round tripping gz/bz2 files in tests

2.18  07/11/2016 (JHI)
- Capture also the STDERR when checking tar exe

2.16  01/11/2016 (JHI && CBERRY)
- Make roundtrip tar exe finding robust for crappy tars

2.14  20/10/2016
- Fix roundtrip test when tar executable is absent

2.12  16/10/2016 (KHW && JKEENAN)
- Fix pod in bin/ptar
- Distinguish between archives with/without directory entries

2.10  27/07/2016 (TONYC)
- CVE-2016-1238: avoid loading optional modules from default .

2.08  12/05/2016
- Add the roundtrip test to MANIFEST

2.06  24/04/2016 (ISHIGAKI && BOOK)
- changed some of the "A"s in the UNPACK constant to "a"
  to allow trailing whitespaces in an archived filename
- roundtrip tests

2.04  14/12/2014
- RT#100903 enable ptargrep.t to work on VMS

2.02  14/09/2014
- Tests should now be able to be run in parallel

2.00  15/06/2014 (TINITA)
- Fix ptargrep for problems on MSWin32

1.98  14/06/2014 (TINITA)
- ptardiff and ptargrep should use prefix if defined

1.96  24/10/2013
- integrate Package::Constants into Constant module
  and remove requirement on it.

1.94  24/10/2013
- install into site if >= 5.012

1.93_02 22/10/2013 (XLAT)
- [rt.cpan.org #78030] symlinks resolution on MSWin32

1.92 18/09/2013 (David Steinbrunner)
- typo fixes

1.90 05/09/2012 (Tom Jones)
- documentation fixes

1.88 01/06/2012 (Markus Prosch)
- resolved chown won't work on symlinks

1.86 24/05/2012 (Mark Allen)
- don't use tell on IO::Zlib handles RT#64339

1.84 02/03/2012 (HMBRAND)
- ptar now supports -T option [rt#75473]
- ptar now supports dashless options [rt#75475]
- auto-encode filenames marked as UTF-8 [rt#75474]

1.82 21/11/2011 (CDRAKE)
- Adjustments to handle files >8gb (>0777777777777 octal)
- Feature to return the MD5SUM of files in the archive

1.80 13/10/2011
- patch from Rocky Bernstein to add file chown() method [rt#71221]

1.78 08/09/2011
- patch from Rocky Bernstein to add chown() method [rt#70623]
- blead patch from Alexandr Ciornii to resolve [perl#78708]

1.76 07/01/2011
- upstream blead patches from Peter Acklam

1.74 18/12/2010
- Skip extracting pax extended headers, reported as
  RT #64038

1.72 18/11/2010
- Apply patch from Grant McLean to update docs for
  ptargrep

1.70 15/11/2010
- Add ptargrep utility courtesy of Grant McLean

1.68 17/08/2010
- Apply a patch from Colin Newell that checks whether long files can be created or
  not in 02_methods.t. Hopefully resolves RT #57312 and RT #56163

1.66 26/07/2010
- Applied a patch from Alexandr Ciornii [RT#59699] to Makefile.PL which produces better META.yml
- Apply a patch from Alexandr Ciornii to ptar [RT#59700]:

    Adds option -C to allow archives created with ptar to be uploaded to
    PAUSE in case of Windows or world +w permissions on unix.

1.64 09/07/2010
- Removed the PERL_CORE specific chdir from all the tests
- Apply a patch from David Muir Sharnoff RT #58916,
  "skip files via a callback and limit memory use when skipping files"
- Apply a patch from Daphne Pfister RT #59150
  "Assumes all references filename are IO::Handle's instead of trying to stringify."

1.62 28/06/2010
- Apply part of patch from https://bugzilla.redhat.com/attachment.cgi?id=426194
  reported by Martin Cermak in RT #58636 relating to a Redhat ticket
  https://bugzilla.redhat.com/show_bug.cgi?id=606813

1.60 23/04/2010
- Apply patch from Darrell K. [RT #54850] that makes write() and create_archive() close only handles
  they opened.

    When you pass a filehandle to Archive::Tar::write() or create_archive(),
    it closes the filehandle after writing to it. I think it makes more
    sense not to close a handle that A::T didn't open, since the application
    may need to write additional data to it. (Consider sockets, package
    files containing encapsulated tar archives, etc.)

    Example:

    $ perl -e 'use Archive::Tar; open(PKG, ">mypkg") or die "open: $!"; my
    $tar = Archive::Tar->new; $tar->add_data("foo.txt","hello");
    $tar->write(\*PKG); print PKG "more data" or die "print: $!";'
    print: Bad file descriptor at -e line 1.

- Fool the installer into replacing our scripts that were installed by core with versiononly set.

1.58 17/02/2010
- Apply a patch from toddr@null.net that addreses RT #54714

CHANGES  view on Meta::CPAN


1.22 21/11/2004:

This release holds only bugfixes.
-   Make list_files() also return full_path() rather than name(),
    as that would ignore the prefix field. This was found to break
    PPM (bug #8537)

1.21 9/11/2004:

This release holds only bugfixes.
-   Make the size of symlinks be 0 in tar headers, so the next entry
    is not interpreted as contents of the symlink (bug #7937)
-   Strip high bits from the mode of the file, as they are stored
    differently in the tar header
-   Make Archive::Tar be kinder to archives that contain garbage,
    proceeding anyway as long as that's possible.

1.20 8/11/2004:

This release holds mostly bugfixes, in the form of a rewrite of
the handling of the 'prefix' header field.
-   Rewrote 02_methods.t to be more independant
-   Rewrote the way 'prefix' headers are dealt with
-   Require IO::String now to do archive stringification
-   Add new method 'full_path' to A::T::Item objects
    - this is used to fix bug 6938
-   A::T->new now accepts both a class and an object to be friendlier
    to users
-   On tar read errors, binary chunks are no longer dumped to STDOUT,
    but instead the error offset is reported

1.09 22/5/2004:

This release holds some bugfixes and also the return of bin/ptar
-   Make new() comply with the documentation and return undef on
    a read() failure.
-   Re-adds bin/ptar, which disappeared from this distribution after
    0.22 (sorry about that).
-   Makes 'IO::Zlib' a default prerequisite. You can still disable
    this by supplying the -n option to 'perl Makefile.PL'.

1.08 5/1/2004:

This release holds some bugfixes and extra tests over the 1.07 release:
-   Fix a file renaming bug that forgot to carry over path info
-   Fix a bug where adding dirs on win32 gave 'permission denied'
-   Fix some documentation typos
-   Add extra tests explicilty for Archive::Tar::File
-   Move completely from FileHandle to IO::File

1.07 17/10/2003:

This release holds some bugfixes over the 1.06 release:
-   Quell some annoying warnings about binmode on unopened filehandles
-   Add tests for binary files included in a tarball

1.06 15/10/2003:

This release holds some bugfixes and new features over the 1.05 release.
-   The chown() code somehow didn't make it into the 1.05 release
-   Patch _get_handle() to treat all IO::File handles as binary.
    This should make win32 users happy

New feature added:
-   A method called 'contains_file' that will tell you if a certain file
    is already in the archive.

1.05 23/8/2003:

This release holds some bugfixes and new features over the 1.04 release.
-   The Test::Harness that came with perl 5.6.0 was buggy, require
    a higher version in the Makefile.PL
-   Add a global variable $CHOWN that controls whether Archive::Tar
    should attempt to chown() files or not when it can.

1.04 27/7/2003:

This release hold a bugfix over the 1.03 release:
-   NULL-byte padding was done also on files that had no real content,
    like symlinks, thus ending up with a number of bytes not dividable
    by 512.

1.03 26/6/2003:

This release holds some bugfixes over the 1.02 release, mainly these:
-   Always do a readlink on the full path, never just the file
-   Make Archive::Tar write proper headers when dealing with symlinks
    For this $Archive::Tar::FOLLOW_SYMLINKS is introduced

1.02 12/6/2003:

This release holds some bugfixes over the 1.01 release, mainly these:
-   Silly thinko fix in File.pm
-   Quell some warnings if files are empty
-   The cache of previously added files was not being emptied

Also, some new features are added:

-   Archive::Tar::File objects now have a C<has_content> method.

1.01 5/6/2003:

This release holds some bugfixes over the 1.00 release, mainly these:

-   Silence some warnings when writing directories to disk.
-   A { } inside a map was interpreted as a block rather than a hashref
    constructor -- now fixed.
-   Fix write() to work again as advertised when passed no arguments.
-   This also means glob support to write is now definitely not
    available.
-   Silly thinko of where splitpath() instead of splitdir() was used.

Some new features/changes:

-   Add a new method 'has_content' to Archive::Tar::File.
-   Cygwin's tests will now also use the 'short' files, since cygwin
    is built on top of an Win32 filesystem.

1.00 31/5/2003:

This release marks the new development track as 'stable'. Version got
upped to '1.00'. Not many changes, merely lots of successful test
reports constitute this version. However, a tiny fix regarding the
reserved string 'VERSION' has been applied, as well as a few more FAQ
entries have been added.

0.99_06 5/5/2003:

This release only entails a bug fix on 0.99_05 -- C<extract_archive>
was dealing wrongly with special files such as hardlinks etc. This
is now fixed.

0.99_05 30/4/2003:



( run in 0.600 second using v1.01-cache-2.11-cpan-5511b514fd6 )