PackageTrack
Sign in Get early access

wapmorgan/unified-archive

UnifiedArchive - an archive manager with unified interface of working with all popular archive formats (zip/7z/rar/gz/bz2/xz/cab/tar/tar.gz/tar.bz2/tar.x/tar.Z/...) for PHP with ability for listing, reading, extracting and creation + built-in console archive manager.

1.3.1 1.8M downloads/mo #3775 most downloaded on Packagist wapmorgan/UnifiedArchive

What this package is like to depend on

Last release 12 months ago

25 Aug 2025

Ships unpredictably

gaps range from 2 weeks to 2.0 years

Nearly every release is documented

notes for 33 of 33 stable releases

Nothing withdrawn

no release was ever pulled

12 years old

34 releases · first in 2014

0 releases in the last 12 months

see the full history below

Release timeline

34 releases · May 2014 to Aug 2025
2015 2017 2019 2021 2023 2025
Release Pre-release

Releases

latest 34
  1. 1.3.1 25 Aug 2025
    Release notes

    Fix php 8.5 deprecation (@cedric-anne)

    Open source →
  2. 1.3.0 29 Jul 2025
    Release notes

    Release for php 8.4 without deprecated-issues (#47 by @cedric-anne, #51)

    Open source →
    Release notes

    BC change: Increased minimal PHP version to 7.1.0! (#47)

    Open source →
  3. 1.2.1 27 Jun 2025
    Release notes
    • Fixed bugs in:
      • AlchemyZippy::getLastModifiedDate (#44 by @rotdrop)
      • LzwStreamWrapper (#46 by @cod3beat)
    • Enhancements:
      • Improved performance in one-file drivers extraction (gzip - #49, bzip - #50 by @iasjennen)
    • Docs:
      • Specified supported php versions: 5.5.0-8.3.x, deprecations in 8.4.x (#47 by @cedric-anne)
      • Fixed support status for xz in matrix: SevenZip does not support it (#45 by @rotdrop)
    Open source →
    Release notes
    • Fixed bugs in:
      • AlchemyZippy::getLastModifiedDate (#44 by @rotdrop)
      • LzwStreamWrapper (#46 by @cod3beat)
    • Enhancements:
      • Improved performance in one-file drivers extraction (gzip - #49, bzip - #50 by @iasjennen)
    • Docs:
      • Specified supported php versions: 5.5.0-8.3.x, deprecations in 8.4.x (#47 by @cedric-anne)
      • Fixed support status for xz in matrix: SevenZip does not support it (#45 by @rotdrop)
    Open source →
  4. 1.2.0 30 Jun 2023
    Release notes
    • Deprecate few functions:
      • Formats::checkFormatSupportAbility() marked deprecated, use can() instead.
      • UnifiedArchive: addFile() and addDirectory() marked deprecated, use add() instead.
    • Changed behaviour:
      • UnifiedArchive: add() and create() changed fileOrFiles handling: if passed string, then file/directory will be archived with full its original name (as opposed to relative name before).
      • Formats: detectArchiveFormat() and getFormatMimeType() returns null instead of false in case of failed type detection.
      • UnifiedArchive::getMimeType() returns null instead of false.
    • New:
      • Improved test() functionality - returns list of mismatched hashes.
    Open source →
    Release notes
    • Deprecate few functions:
      • Formats::checkFormatSupportAbility() marked deprecated, use can() instead.
      • UnifiedArchive: addFile() and addDirectory() marked deprecated, use add() instead.
    • Changed behaviour:
      • UnifiedArchive: add() and create() changed fileOrFiles handling: if passed string, then file/directory will be archived with full its original name (as opposed to relative name before).
      • Formats: detectArchiveFormat() and getFormatMimeType() returns null instead of false in case of failed type detection.
      • UnifiedArchive::getMimeType() returns null instead of false.
    • New:
      • Improved test() functionality - returns list of mismatched hashes.
    Open source →
  5. 1.1.10 17 Jan 2023
    Release notes
    • Fixed invalid initialization of TarByPear driver (from 1.1.8)
    Open source →
  6. 1.1.9 17 Jan 2023
    Release notes

    Fixed detection of archive format by it's content

    Open source →
    Release notes
    • Fixed archive type detection when filename is not lower-cased (#40)
    Open source →
  7. 1.1.8 20 Nov 2022
    Release notes

    Fixed:

    • Fixed opening an archive with password (#37)
    • Fixed UnifiedArchive->getComment() now returns null when comment is not supported by driver (#39)
    • Fixed UnifiedArchive->getFileData()->modificationTime is integer timestamp now in case of NelexaZip driver instead of DateTimeImmutable (#38)
    • Fixed PharData::create for zip-archives

    Deprecations:

    • Renamed methods of UnifiedArchive:
      • getFileNames => getFiles
      • extractFiles => extract
      • addFiles => add
      • deleteFiles => delete
      • archiveFiles => archive
      • canOpenArchive => canOpen
      • Old methods are marked as deprecated and will be deleted in future releases.
    • Marked as deprecated:
      • UnifiedArchive::detectArchiveType - use Formats::detectArchiveFormat instead
      • UnifiedArchive::archiveDirectory/archiveFile - use UnifiedArchive::archive instead
      • UnifiedArchive::canCreateType - Formats::canCreate

    New functions:

    • Added method to get file extension for format: Formats::getFormatExtension($archiveFormat)
    • Added method to get info about ready to archive files: UnifiedArchive->prepareForArchiving($fileOrFiles, $archiveName = null)
    • Added method to create archive in memory: UnifiedArchive::createInString() and BasicDriver::CREATE_IN_STRING ability constant
    • Added new pure driver for Zip/Tar(gz/bz2) - SplitbrainPhpArchive.
    Open source →
    Release notes

    Fixed:

    • Fixed opening an archive with password (#37)
    • Fixed UnifiedArchive->getComment() now returns null when comment is not supported by driver (#39)
    • Fixed UnifiedArchive->getFileData()->modificationTime is integer timestamp now in case of NelexaZip driver instead of DateTimeImmutable (#38)
    • Fixed PharData::create for zip-archives

    Deprecations:

    • Renamed methods of UnifiedArchive:
      • getFileNames => getFiles
      • extractFiles => extract
      • addFiles => add
      • deleteFiles => delete
      • archiveFiles => archive
      • canOpenArchive => canOpen
      • Old methods are marked as deprecated and will be deleted in future releases.
    • Marked as deprecated:
      • UnifiedArchive::detectArchiveType - use Formats::detectArchiveFormat instead
      • UnifiedArchive::archiveDirectory/archiveFile - use UnifiedArchive::archive instead
      • UnifiedArchive::canCreateType - Formats::canCreate

    New functions:

    • Added method to get file extension for format: Formats::getFormatExtension($archiveFormat)
    • Added method to get info about ready to archive files: UnifiedArchive->prepareForArchiving($fileOrFiles, $archiveName = null)
    • Added method to create archive in memory: UnifiedArchive::createInString() and BasicDriver::CREATE_IN_STRING ability constant
    • Added new pure driver for Zip/Tar(gz/bz2) - SplitbrainPhpArchive.
    Open source →
  8. 1.1.7 30 Jul 2022
    Release notes
    • open does not throw an Exception, it returns null
    • returned deleted methods in UnifiedArchive: canOpenArchive, canOpenType, canCreateType, getArchiveType, detectArchiveType, getFileResource, getArchiveFormat, isFileExists, getArchiveSize, countCompressedFilesSize, countUncompressedFilesSize.
    Open source →
    Release notes
    • open does not throw an Exception, it returns null
    • returned deleted methods in UnifiedArchive: canOpenArchive, canOpenType, canCreateType, getArchiveType, detectArchiveType, getFileResource, getArchiveFormat, isFileExists, getArchiveSize, countCompressedFilesSize, countUncompressedFilesSize.
    Open source →
  9. 1.1.6 30 Jul 2022
    Release notes

    BC-breaking changes:

    • Changed signature: UnifiedArchive::open($filename, string|null $password = null) => UnifiedArchive::open($filename, array $abilities = [], string|null $password = null). Right now if second argument is string, it will be treated as password (for BC-compatability).

    • open throws an Exception when format is not recognized or there's no driver that support requested abilities.

    • addFiles/deleteFiles/getComment/setComment throws an Exception when driver does not support this ability.

    • Deleted methods in UnifiedArchive: canOpenArchive, canOpenType, canCreateType, getArchiveType, detectArchiveType, getFileResource, getArchiveFormat, isFileExists, getArchiveSize, countCompressedFilesSize, countUncompressedFilesSize.

    New features:

    • Added passing needed abilities to UnifiedArchive::open() to select a better driver:
      use \wapmorgan\UnifiedArchive\Drivers\BasicDriver;
      
      # opens an array with driver, that supports content streaming and appending
      $archive = \wapmorgan\UnifiedArchive\UnifiedArchive::open('archive.7z', [BasicDriver::STREAM_CONTENT, BasicDriver::APPEND]);
      # if not specified, uses OPEN or OPEN_ENCRYPTED check, if password passed
    • Added UnifiedArchive::test($files = []) (and cam files:test command) to test archive contents (compare actual control sum with stored crc32).
    • More informative output in commands: system:drivers, system:formats, system:format, added command files:test.
    • Added driver abilities to select better driver.

    Driver changes:

    • Added NelexaZip pure-PHP driver.
    • Added Iso driver extraction ability.
    • Added commenting-ability for SevenZip driver (via descript.ion file in archive).
    Open source →
    Release notes

    BC-breaking changes:

    • Changed signature: UnifiedArchive::open($filename, string|null $password = null) => UnifiedArchive::open($filename, array $abilities = [], string|null $password = null). Right now if second argument is string, it will be treated as password (for BC-compatability).
    • open throws an Exception when format is not recognized or there's no driver that support requested abilities.
    • addFiles/deleteFiles/getComment/setComment throws an Exception when driver does not support this ability.
    • Deleted methods in UnifiedArchive: canOpenArchive, canOpenType, canCreateType, getArchiveType, detectArchiveType, getFileResource, getArchiveFormat, isFileExists, getArchiveSize, countCompressedFilesSize, countUncompressedFilesSize.

    New features:

    • Added passing needed abilities to UnifiedArchive::open() to select a better driver:
      use wapmorgan\UnifiedArchive\Abilities;use wapmorgan\UnifiedArchive\Drivers\Basic\BasicDriver;
      
      # opens an array with driver, that supports content streaming and appending
      $archive = \wapmorgan\UnifiedArchive\UnifiedArchive::open('archive.7z', [Abilities::STREAM_CONTENT, Abilities::APPEND]);
      # if not specified, uses OPEN or OPEN_ENCRYPTED check, if password passed
      
    • Added UnifiedArchive::test($files = []) (and cam files:test command) to test archive contents (compare actual control sum with stored crc32).
    • More informative output in commands: system:drivers, system:formats, system:format, added command files:test.
    • Added driver abilities to select better driver.

    Driver changes:

    • Added NelexaZip pure-PHP driver.
    • Added Iso driver extraction ability.
    • Added commenting-ability for SevenZip driver (via descript.ion file in archive).
    Open source →
  10. 1.1.5 28 Jun 2022
    Release notes

    New features:

    • Reimplemented cam (console utility) - now it's on symfony/console and supports all features and more functions (folders, types) of UA.
    • Added more detailed installation instructions (./vendor/bin/cam system:drivers) of specific drivers: AlchemyZippy, Cab, Iso, Lzma, Rar, SevenZip, TarByPear.
    • Added ability to track progress of archive creation - new argument ?callable $fileProgressCallable of UnifiedArchive::archiveFiles().
    • Added ability to pass few directories to be placed in one in-archive directory in archiving/appending (addFiles()/archiveFiles())
      [
          '' => ['./folder1', './folder2'],
          'README.md' => './subfolder/README.md'
      ] # Archive will have all folder1, folder2 contents in the root and README.md

    Fixed:

    • Fixed extract() and listContent() and their result of PclZip interface (UnifiedArchive::getPclZipInterface()) to correspond to original library (object => array).
    • Added tests on archiving, extraction and for PclZip-interface.

    Format changes:

    • Fixed counting of extracted files when extracting the whole archive in TarByPear, TarByPhar, Zip.
    • Fixed calculation archive entry compressed size (approximately) and modification time, implemented entry content streaming in TarByPhar.
    Open source →
    Release notes

    New features:

    • Reimplemented cam (console utility) - now it's on symfony/console and supports all features and more functions (folders, types) of UA.
    • Added more detailed installation instructions (./vendor/bin/cam system:drivers) of specific drivers: AlchemyZippy, Cab, Iso, Lzma, Rar, SevenZip, TarByPear.
    • Added ability to track progress of archive creation - new argument ?callable $fileProgressCallable of UnifiedArchive::archiveFiles().
    • Added ability to pass few directories to be placed in one in-archive directory in archiving/appending (addFiles()/archiveFiles())
      [
          '' => ['./folder1', './folder2'],
          'README.md' => './subfolder/README.md'
      ] # Archive will have all folder1, folder2 contents in the root and README.md
      

    Fixed:

    • Fixed extract() and listContent() and their result of PclZip interface (UnifiedArchive::getPclZipInterface()) to correspond to original library (object => array).
    • Added tests on archiving, extraction and for PclZip-interface.

    Format changes:

    • Fixed counting of extracted files when extracting the whole archive in TarByPear, TarByPhar, Zip.
    • Fixed calculation archive entry compressed size (approximately) and modification time, implemented entry content streaming in TarByPhar.
    Open source →
  11. 1.1.4 21 Dec 2021
    Release notes

    Disabled rar for SevenZip driver.

    Open source →
  12. 1.1.3 02 May 2021
    Release notes

    Changed format of $files in archiveFiles() and addFiles()

    [
        '/var/www/log.txt',                // will be "/var/www/log.txt"
        'log2.txt' => '/var/www/log2.txt', // will be "/log2.txt"
        '/var/www/site',                   // will be "/var/www/site"
        'site2' => '/var/www/site2',       // will be "/site2"
    ]
    

    Old format also works, but there can be a bad case. If you have /var/www/log2.txt and log2.txt (in current directory) and pass following:

    [
    '/var/www/log2.txt' => 'log2.txt',
    ]
    

    it will archive log2.txt as /var/www/log2.txt in an archive (new behaviour).

    New features:

    • Added Formats::canStream() to check if an archive files can be streamed.
    • Added ability to create archives, encrypted with password (only zip (Zip, SevenZip) and 7z (SevenZip)) - added nullable $password argument to:
      • UnifiedArchive::archiveFiles($fileOrFiles, $archiveName, $compressionLevel = BasicDriver::COMPRESSION_AVERAGE, $password = null)
      • UnifiedArchive::archiveFile($file, $archiveName, $compressionLevel = BasicDriver::COMPRESSION_AVERAGE, $password = null)
      • UnifiedArchive::archiveDirectory($directory, $archiveName, $compressionLevel = BasicDriver::COMPRESSION_AVERAGE, $password = null)
    • Added UnifiedArchive->getMimeType() to get mime type of archive.
    • Added UnifiedArchive->getComment() to get comment of an archive. Available only in Zip and Rar drivers, others return null.
    • Added UnifiedArchive->setComment(?string $comment) to set comment. Available only in Zip.
    • Added filter in UnifiedArcihve->getFileNames(). If works as fnmatch() does.
    • Added ability to iterate over archive and access files data as array:
    $a = \wapmorgan\UnifiedArchive\UnifiedArchive::open('tests/archives/fixtures.7z');
    foreach ($a as $file => $data) {
        echo $file.PHP_EOL;
     }
    
    $file_data = $a['filename'];
    

    Fixed:

    • Fixed SevenZip driver: disabled tar.gz, tar.bzip2 support as it isn't supported properly and described which formats driver can create, append, modify and encrypt.

    Methods renamed (old exist, but marked as deprecated):

    • UnifiedArchive->getArchiveFormat -> UnifiedArchive->getFormat.
    • UnifiedArchive->getArchiveSize -> UnifiedArchive->getSize.
    • UnifiedArchive->countCompressedFilesSize -> UnifiedArchive->getCompressedSize.
    • UnifiedArchive->countUncompressedFilesSize -> UnifiedArchive->getOriginalSize.
    • UnifiedArchive->getFileResource -> UnifiedArchive->getFileStream.
    • UnifiedArchive->isFileExists -> UnifiedArchive->hasFile.
    Open source →
  13. 1.1.2 01 Mar 2021
    Release notes

    Fixed calculation of tar's uncompressed size opened via TarByPear driver. Fixed working with tar.xz archives.

    Open source →
  14. 1.1.1 13 Feb 2021
    Release notes

    Cleaned package.

    Open source →
  15. 1.1.0 13 Feb 2021
    Release notes

    New features:

    • Added ability to open archives encrypted with password - added $password argument to UnifiedArchive::open($fileName, $password = null). Works only with: zip, rar, 7z.
    • Added ability to adjust compression level for new archives - added $compressionLevel argument (with default BasicDriver::COMPRESSION_AVERAGE level) to:
      • UnifiedArchive::archiveFiles($fileOrFiles, $archiveName, $compressionLevel = BasicDriver::COMPRESSION_AVERAGE)
      • UnifiedArchive::archiveFile($file, $archiveName, $compressionLevel = BasicDriver::COMPRESSION_AVERAGE)
      • UnifiedArchive::archiveDirectory($file, $archiveName, $compressionLevel = BasicDriver::COMPRESSION_AVERAGE) Works only with: zip, gzip.
    • Added ability to append the archive with a file from string - added addFileFromString method: UnifiedArchive->addFileFromString(string $inArchiveName, string $content).
    • Added tests for format support:
      • Formats::canOpen()
      • Formats::canCreate()
      • Formats::canAppend() - check if file can be added to an archive
      • Formats::canUpdate() - check if archive member can be removed
      • Formats::canEncrypt() - check if encrypted archive can be opened

    Format changes:

    • Extended SevenZip driver: now it supports a lot of formats (7z, zip, rar, iso, tar and so on).
    • Added AlchemyZippy driver: it works via command-line programs for zip, tar, tar.gz and tar.bz2.

    Methods renamed:

    • UnifiedArchive::canOpenType -> Formats::canOpen
    • UnifiedArchive::canOpenArchive -> UnifiedArchive::canOpen
    • UnifiedArchive::canCreateType -> Formats::canCreate
    • UnifiedArchive->getArchiveType -> UnifiedArchive->getArchiveFormat
    • Old methods exist, but marked as deprecated.
    Open source →
  16. 1.0.1 28 Nov 2020
    Release notes
    • Improved extendable for all classes - used late-static binding everywhere.

    Format specific:

    • gzip: improved detection of archive by content.
    Open source →
  17. 1.0.0 13 Jun 2020
    Release notes

    Format specific:

    • tar:
      • Fixed automatic opening of .tar.Z and .tar.xz.
    • rar:
      • Exclude directories from files list.
    Open source →
  18. 0.2.0 02 Feb 2020
    Release notes

    BC-breaking changes:

    • Deleted deprecated UnifiedArchive methods: extractNode, archiveNodes.
    • Functionality of preparing files list for archiving is moved from archiveFiles() to prepareForArchiving().
    • All mutable methods throws exceptions on errors now:
      • getFileData, getFileContent, getFileResource throws NonExistentArchiveFileException when file is not present in archive.
      • extractFiles throws:
        • EmptyFileListException
        • ArchiveExtractionException
      • deleteFiles, addFiles, addFile and addDirectory throws:
        • EmptyFileListException
        • UnsupportedOperationException
        • ArchiveModificationException
      • archiveFiles, archiveFile and archiveDirectory throws:
        • FileAlreadyExistsException
        • EmptyFileListException
        • UnsupportedOperationException
        • ArchiveCreationException
    Open source →
  19. 0.1.3 13 Jan 2020
    Release notes

    BC-breaking changes:

    • Minimal version is 5.5.0.

    Format specific:

    • zip: Fixed PclZip-interface
    • 7zip: Fixed 7z-archiving, when archiving files should be renamed in archive
    • lzw: Fixed check for availability (#15)

    New features:

    • Added canCreateType(): bool
    • Added canAddFiles(): bool
    • Added canDeleteFiles(): bool
    Open source →
  20. 0.1.2 03 Jan 2019
    Release notes

    BC-breaking changes:

    • PclZip-interface getter renamed to getPclZipInterface().
    • Make addFiles() return number of added files instead of total files number.

    Other changes:

    • Make addFiles() / deleteFiles() / archiveFiles() throw \Exceptions when any error occurred (and even when files list is empty).
    • Fixed usage of / always as directory separator in addFiles() and archiveFiles().

    Format-specific changes:

    • Divided format-specific code into separate components.
    • zip:
      • Excluded directories from files list (getFileNames()).
      • Fixed retrieving new list of files after addFiles() usage.
      • (#11) Fixed invalid "/" archive entry after archiveFiles() usage.
    • tar (TarArchive adapter):
      • Fixed number of added files of addFiles().
      • Fixed list of files after deleteFiles() usage.
      • Added checks for compressed tar's support in canOpenArchive() and canOpenType().
    • tar (PharData adapter):
      • Fixed list of files after addFiles()/deleteFiles() usage and path generation of archive in archiveFiles().
      • Fixed path of files in getFileNames() to use UNIX path separator ("/").
    • iso:
      • Excluded directories from files list (getFileNames()).
    • 7zip:
      • Fixed result of deleteFiles() and archiveFiles() in-archive paths.
      • Fixed calculation of compressed file size in getFileData().
      • (#10) Set infinite timeout of 7z system call (useful for big archives).
    • cab:
      • Fixed extractFiles() functionality.
    Open source →
  21. 0.1.1 18 Sep 2018
    Release notes

    API changes:

    • Changed algorithm of files list generation in archiveFiles() and addFiles():

      // 1. one file
      $archive->archiveFiles('/var/www/site/abc.log', 'archive.zip'); // => stored as 'abc.log'
      // 2. directory
      $archive->archiveFiles('/var/www/site/runtime/logs', 'archive.zip'); // => directory content stored in archive root
      // 3. list
      $archive->archiveFiles([
            '/var/www/site/abc.log' => 'abc.log', // stored as 'abc.log'
            '/var/www/site/abc.log', // stored as '/var/www/site/abc.log'
            '/var/www/site/runtime/logs' => 'logs', // directory content stored in 'logs' dir
            '/var/www/site/runtime/logs', // stored as '/var/www/site/runtime/logs'
      ], 'archive.zip');
      
    • Disabled paths expanding in extractFiles() and deleteFiles() by default.

      If you need to expand src/ path to all files within this directory in archive, set second argument $expandFilesList argument to true.

      $archive->extractFiles(__DIR__, 'src/', true);
      $archive->deleteFiles('tests/', true);
      
    • Added new element in archiveFiles() result in emulation mode. Now it returns an archive with 4 elements: new type element with archive type.

    Fixes:

    • Fixed LZW-stream (.tar.Z) wrapper (before it didn't work).
    • Fixed ISO archives reading (before archive size could be calculated wrong).
    • Fixed CAB archives extraction in getFileContent($file) (before it didn't work).
    • Improved extraction in getFileContent($file) for RAR archives by using streams (before it did extract file in temporarily folder, read it and then delete it).

    Improvements:

    • Added isFileExists($file): bool method for checking if archive has a file with specific name.
    • Added getFileResource($file): resource method for getting a file descriptor for reading all file content without full extraction in memory.
    • Added canOpenArchive($archiveFileName): bool and canOpenType($archiveFormat): bool static methods to check if specific archive or format can be opened.
    • Added detectArchiveType($fileName): string|false static method to detect (by filename or content) archive type.
    • Added addFile($file, $inArchiveName = null) / addDirectory($directory, $inArchivePath = null) to add one file or one directory, archiveFile($file, $archiveName) / archiveDirectory($directory, $archiveName) to archive one file or directory.

    Miscellaneous:

    • Added simple tests.
    • Added phar distribution.
    Open source →
  22. 0.1.0 01 Apr 2018
    Release notes

    API changes:

    • Renamed methods extractNode()extractFiles(), archiveNodes()archiveFiles(). Original method are still available with @deprecated status.
    • getFileData() now returns ArchiveEntry instance instead of stdClass. Original object fields are still available with @deprecated status.
    • addFiles() and deleteFiles() now return false when archive is not editable.

    Improvements:

    • Added checks of archive opening status in constructor: now an Exception will be throwed if archive file is not readable.
    • Some changes in archiveNodes() about handling directory names.
    • Fixed archive rescan in addFiles() and deleteFiles().

    Miscellaneous:

    • Removed example scripts (examples/).
    • Code changes: added comments.
    Open source →
  23. 0.1.0-alpha 25 Mar 2018 pre-release

    Nothing published for this version

  24. 0.0.11 19 Mar 2018
    Release notes
    • Cleaned up some old code.
    • Added ext-phar adapter for tar archives (if pear/archive_tar is not installed).
    Open source →
  25. 0.0.10 07 Aug 2017
    Release notes
    • Remove docopt from requirements. Now it's a suggestion.
    Open source →
  26. 0.0.9 20 Jul 2017
    Release notes
    • Added cam (Console Archive Manager) script.
    Open source →
  27. 0.0.8 24 Jan 2017
    Release notes
    • Added initial support for CAB archives without extracting.
    • Added handling of short names of tar archives (.tgz/.tbz2/...).
    • Removed external repository declaration.
    • Removed die() in source code.
    Open source →
  28. 0.0.7 14 Jan 2017
    Release notes
    • Fixed usage of ereg function for PHP >7.
    Open source →
  29. 0.0.6 09 Jan 2017
    Release notes
    • Added functionality for adding files in archive.
    • Added functionality for deleting files from archive.
    • Fixed discovering 7z archive number of files and creating new archive.
    Open source →
  30. 0.0.5 08 Jan 2017
    Release notes
    • Added support for 7z (by 7zip-cli) archives.
    Open source →
  31. 0.0.4 07 Jan 2017
    Release notes
    • Added support for single-file bz2 (bzip2) and xz (lzma2) archives.
    Open source →
  32. 0.0.3 18 Aug 2015
    Release notes
    • Removed archive_tar from required packages.
    Open source →
  33. 0.0.2 27 May 2014
    Release notes
    • Released under the MIT license
    Open source →
  34. 0.0.1 26 May 2014
    Release notes

    First version.

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive