libzip 1.8.0

libzip is a C library for reading, creating, and modifying zip archives. Files can be added from data buffers, files, or compressed data copied directly from other zip archives. Changes made without closing the archive can be reverted. The API is documented by man pages. It includes a tool to modify zip archives from the command line.

Tags c software development libraries archiving c++ cross-platform developers
License BSDL
State stable

Recent Releases

1.8.019 Jun 2021 03:15 minor feature: 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().
1.7.315 Jul 2020 08:11 minor bugfix: * Support cmake 3.17 again. * Fix pkgconfig file (regression in 1.7.2).
1.7.211 Jul 2020 09:16 minor bugfix: * Fixes for the CMake find_project() files. * libzip moved to the CMake libzip:: NAMESPACE. * CMake usage best practice cleanups.
1.7.113 Jun 2020 10:19 minor bugfix: * Restore `LIBZIP_VERSION_ MAJOR,MINOR,MICRO ` symbols. * Fixes warnings reported by PVS-Studio. * Add `LIBZIP_DO_INSTALL` build setting to make it easier to use libzip as subproject.
1.7.010 Jun 2020 06:30 minor bugfix: * 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.
1.6.110 Jun 2020 06:29 minor bugfix: Bugfix for double-free in `zipcmp(1)` during cleanup.
1.6.025 Jan 2020 22:29 minor bugfix: * 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.
1.5.223 Jul 2019 23:11 minor bugfix: * Fix bug in AES encryption affecting certain file sizes * Keep file permissions when modifying zip archives * Support systems with small stack size. * Support mbed TLS as crypto backend. * Add nullability annotations.
1.3.004 Sep 2017 12:45 major security: Support bzip2 compressed zip archives. Improve file progress callback code. zip_fdopen(). CVE-2017-12858: double free(). CVE-2017-14107: Improve EOCD64 parsing.
1.2.019 Feb 2017 21:34 major feature: This release adds support for AES encryption and decryption, and three new functions: zip_fseek and zip_ftell for seeking and telling the position in uncompressed data, and zip_register_progress_callback for easier UI updates during zip_close. It also fixes support for legacy zip files with 64k entries as well as other minor bugs.
1.1.219 Feb 2016 14:56 minor feature: This release improves the support for 3MF files. It also includes fixes for some warnings reported by PVS-Studio.
1.128 Jan 2016 09:06 major feature: This release adds a tool to modify zip archives from the command line. The code was sped up for the case of many entries in an archive. Support for APK files was improved, Coverity issues were addressed, and more work on Windows portability was done.
1.003 May 2015 10:55 major feature: This release adds an I/O abstraction layer. This allows better Windows backends, which are also added in this release. A function was added to set the last modification time for a file; more typedefs were added; torrentzip support was removed; CVE-2015-2331 is fixed and all current Coverity CIDs were addressed.
0.11.230 Jul 2014 05:21 minor feature: This release adds support for querying and setting operating system and external attributes. For newly added files, the operating system defaults to Unix and file permissions to 0666 (0777 for directories). This release also includes an important bug fix for files over 4GB.