Released libzip 1.11

  • Stop searching after finding acceptable central directory, even if it contains inconsistencies.
  • Only write Zip64 EOCD if fields don’t fit in normal EOCD. Previously libzip also wrote it when any directory entry required Zip64.
  • Allow bytes from 0x00-0x1F as UTF-8.
  • Add new error code ZIP_ER_TRUNCATED_ZIP for files that start with a valid local header signature.
  • zipcmp: add -T option for comparing timestamps.
  • zip_file_replace now removes the target’s extra field information.

Download release:

Released libzip 1.10.1

  • Add ZIP_LENGTH_TO_END and ZIP_LENGTH_UNCHECKED. Unless ZIP_LENGTH_UNCHECKED is used as length, it is an error for a file to shrink between the time when the source is created and when its data is read.
  • Fix test on Windows.

Download release:

Released libzip 1.10.0

  • Make support for layered sources public.
  • Add zip_source_zip_file and zip_source_zip_file_create, deprecate zip_source_zip and zip_source_zip_create.
  • Allow reading changed file data.
  • Fix handling of files of size 4294967295.
  • zipmerge: copy extra fields.
  • zipmerge: add option to keep files uncompressed.
  • Switch test framework to use nihtest instead of Perl.
  • Fix reading/writing compressed data with buffers > 4GiB.
  • Restore support for torrentzip.
  • Add warnings when using deprecated functions.
  • Allow keeping files for empty archives.
  • Support mbedTLS>=3.3.0.
  • Support OpenSSL 3.
  • Use ISO C secure library functions, if available.

Download release:

Released libzip 1.8.0

  • Add support for zstd (Zstandard) compression.
  • Add support for lzma (ID 14) compression.
  • Add zip_source_window_create().
  • Add zip_source_zip_create() variant to zip_source_zip().
  • Allow method specific comp_flags in zip_set_file_compression().
  • Allow zip_source_tell() on sources that don’t support seeking and zip_ftell() on compressed data.
  • Provide more details for consistency check errors.
  • Improve output of zipcmp.
  • In zipcmp, don’t ignore empty directories when comparing directory listing.
  • Treat empty string as no password given in zip_file_set_encryption(), zip_fopen_encrypted(), and zip_set_default_password().

Download release:

Released libzip 1.7.0

  • Add support for encrypting using traditional PKWare encryption.
  • Add zip_compression_method_supported().
  • Add zip_encryption_method_supported().
  • Add the ZIP_SOURCE_GET_FILE_ATTRIBUTES source command.
  • Refactor stdio file backend.
  • Add CMake find_project() support.

Download release:

Released libzip 1.6.0

  • Avoid using umask() since it’s not thread-safe.
  • Set close-on-exec flag when opening files.
  • Do not accept empty files as valid zip archives any longer.
  • Add support for XZ compressed files (using liblzma).
  • Add support for cancelling while closing zip archives.
  • Add support for setting the time in the on-disk format.

Download release: