cpan Archive-Zip 1.66

latest releases: 1.68, 1.67
4 years ago
  • Refactored low-level methods for reading and writing zip files
    in zip64 format. Added new parameters and return values to
    most of these. Extended constants in Archive::Zip to cover
    zip64 formats and lengths.
  • Added public APIs
    Archive::Zip::Archive::zip64
    Archive::Zip::Archive::desiredZip64Mode
    Archive::Zip::Archive::versionMadeBy
    Archive::Zip::Archive::versionNeededToExtract
    Archive::Zip::Member::zip64
    Archive::Zip::Member::desiredZip64Mode
    and constants
    Archive::Zip::ZIP64_AS_NEEDED
    Archive::Zip::ZIP64_EOCD
    Archive::Zip::ZIP64_HEADERS
    plus POD on these.
  • Added tests for zip64 format in t/21_zip64.t and more test zip
    files below t/data. Extended tests in t/02_main.t to perform
    all existing tests in all possible desired zip64 modes.
  • Extended methods
    Archive::Zip::Member::localExtraField
    Archive::Zip::Member::cdExtraField
    to perform format checks when called as setters and to reject
    any zip64 extended information extra fields passed by the user.
    Extended POD and tests in t/02_main.t accordingly.
  • Setting {'compressedSize'} after writing central directory
    header.
  • Added new optional parameter $noFormatError to method
    Archive::Zip::_readSignature to silence any format errros when
    testing for signatures.
  • Added error handling for potentially failed object conversion
    after calling method Archive::Zip::Member::_become. Factored
    in method Archive::Zip::Member::_becomeDirectoryIfNecessary
    into caller.
  • Changed methods
    Archive::Zip::Archive::contents
    Archive::Zip::Member::contents
    (and all inheriting from these) to consistently return a pair
    ($contents, $status) when called in list context and a scalar
    $contents when called in scalar context. Extended tests in
    t/02_main.t accordingly.
  • Changed method Archive::Zip::Member::extractToFileHandle to
    accept a file name instead of a file handle when extracting
    symbolic links. Changed lower-level and higher-level methods
    to use that feature. Cleaned up code related to the handling
    of symbolic links. Added creation of intermediate directories
    in method Archive::Zip::Member::extractToFileNamed for symbolic
    links as well. Reporting errors from symlink call as AZ-error.
    Added POD and test zip file t/data/symlink.zip and tests in
    t/26_symlinks.t for these changes.
  • Cleaned up code and added comment related to that highly
    dubious (?) {'wasWritten'} logic.

Don't miss a new Archive-Zip release

NewReleases is sending notifications on new releases.