News
Website Overhaul
June 11, 2026
The website is now built using Zensical, and the documentation has been split into four sections. This creates a place for documentation that doesn't fit into man pages.
Since Zensical does not support blogs, all news posts are now on a single page. The RSS feed is now generated with a different program, so posts might show up as duplicates in some feed readers.
Redirects have been added for URLs that have changed.
Released libzip 1.11.4
May 23, 2025
- Use separate cmake package files for library and programs.
- Improve documentation.
Download release:
Released libzip 1.11.3
January 20, 2025
- Report read error for corrupted encrypted file data.
- Avoid unnecessary seeks when writing archive.
- Don't hardcode
_Nullablesupport inzip.hto allow it to be used with different compilers. - Improve check for GetSecurityInformation availability on Windows.
Download release:
Released libzip 1.11.2
October 31, 2024
- Fix performance regression in
zip_statintroduced in 1.11.
Download release:
Released libzip 1.11.1
September 19, 2024
- Fix zipconf.h for version number with missing third component.
Download release:
Released libzip 1.11
September 19, 2024
- 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_ZIPfor files that start with a valid local header signature. zipcmp: add-Toption for comparing timestamps.zip_file_replacenow removes the target's extra field information.
Download release:
Released libzip 1.10.1
August 23, 2023
- Add
ZIP_LENGTH_TO_ENDandZIP_LENGTH_UNCHECKED. UnlessZIP_LENGTH_UNCHECKEDis used aslength, 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
June 23, 2023
- Make support for layered sources public.
- Add
zip_source_zip_fileandzip_source_zip_file_create, deprecatezip_source_zipandzip_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 Mbed TLS>=3.3.0.
- Support OpenSSL 3.
- Use ISO C secure library functions, if available.
Download release:
Released libzip 1.9.2
June 28, 2022
- Fix version number in header file.
Download release:
Released libzip 1.9.1
June 28, 2022
- Fix
zip_file_is_seekable().
Download release:
Released libzip 1.9.0
June 13, 2022
- Add
zip_file_is_seekable(). - Improve compatibility with WinAES.
- Fix encoding handling in
zip_name_locate(). - Add option to
zipcmpto output summary of changes. - Various bug fixes and documentation improvements.
Download release:
Released libzip 1.8.0
June 18, 2021
- Add support for zstd (Zstandard) compression.
- Add support for lzma (ID 14) compression.
- Add
zip_source_window_create(). - Add
zip_source_zip_create()variant tozip_source_zip(). - Allow method specific
comp_flagsinzip_set_file_compression(). - Allow
zip_source_tell()on sources that don't support seeking andzip_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(), andzip_set_default_password().
Download release:
Released libzip 1.7.3
July 15, 2020
- Support cmake < 3.17 again.
- Fix pkgconfig file (regression in 1.7.2).
Download release:
Released libzip 1.7.2
July 11, 2020
- Fixes for the CMake
find_project()files. - libzip moved to the CMake
libzip::NAMESPACE. - CMake usage best practice cleanups.
Download release:
Released libzip 1.7.1
June 13, 2020
- Restore
LIBZIP_VERSION_{MAJOR,MINOR,MICRO}symbols. - Fixes warnings reported by PVS-Studio.
- Add
LIBZIP_DO_INSTALLbuild setting to make it easier to use libzip as subproject.
Download release:
Released libzip 1.7.0
June 5, 2020
- Add support for encrypting using traditional PKWare encryption.
- Add
zip_compression_method_supported(). - Add
zip_encryption_method_supported(). - Add the
ZIP_SOURCE_GET_FILE_ATTRIBUTESsource command. - Refactor stdio file backend.
- Add CMake find_project() support.
Download release:
Released libzip 1.6.1
February 3, 2020
- Bugfix for double-free in
zipcmp(1)during cleanup.
Download release:
Released libzip 1.6.0
January 24, 2020
- 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:
Released libzip 1.5.2
March 12, 2019
- 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.
Download release:
Released libzip 1.5.1
April 11, 2018
- Choose format of installed documentation based on available tools.
- Fix visibility of symbols.
- Fix
zipcmpdirectory support. - Don't set RPATH on Linux.
- Use Libs.private for link dependencies in pkg-config file.
- Fix build with LibreSSL.
- Various bugfixes.
Download release:
Released libzip 1.5.0
March 11, 2018
- Use standard cryptographic library instead of custom AES implementation. This also simplifies the license.
- Use
clang-formatto format the source code. - More Windows improvements.
Download release:
Released libzip 1.4.0
December 29, 2017
- Improve build with cmake
- Retire autoconf/automake build system
- Add
zip_source_buffer_fragment(). - Add support to clone unchanged beginning of archive (instead of rewriting it). Supported for buffer sources and on Apple File System.
- Add support for Microsoft Universal Windows Platform.
Download release:
Official Repository Moved to GitHub
December 8, 2017
We have moved the libzip repository from our own Mercurial server to GitHub: nih-at/libzip.
This makes it easier to contribute to libzip. Feel free to use the issue tracker to report bugs, or submit fixes via pull requests. For questions or to propose possible enhancements, continue using the libzip-discuss mailing list.
hg.nih.at/libzip has been retired. If you have a Mercurial checkout, please check out a fresh copy of libzip from github:
Released libzip 1.3.2
November 20, 2017
- Fix bug introduced in last:
zip_twas erroneously freed ifzip_close()failed.
Download release:
Released libzip 1.3.1
November 19, 2017
- Install
zipconf.hinto${PREFIX}/include - Add
zip_libzip_version() - Fix AES tests on Linux
Download release:
Released libzip 1.3.0
September 2, 2017
- Support bzip2 compressed zip archives
- Improve file progress callback code
- Fix
zip_fdopen() - CVE-2017-12858: Fix double
free() - CVE-2017-14107: Improve EOCD64 parsing
Download release:
New Website
October 19, 2017
libzip has moved to its own site at libzip.org. We've used the opportunity to completely overhaul the layout and structure of the site.
URLs pointing to nih.at/libzip will be redirected to the corresponding page on the new site.
Released libzip 1.2.0
February 19, 2017
- Support for AES encryption (Winzip version), both encryption and decryption
- Support legacy zip files with >64k entries
- Fix seeking in
zip_source_fileifstart> 0 - Add
zip_fseek()for seeking in uncompressed data - Add
zip_ftell()for telling position in uncompressed data - Add
zip_register_progress_callback()for UI updates duringzip_close()
Download release:
Released libzip 1.1.3
May 28, 2016
- Fix build on Windows when using autoconf
Download release:
Released libzip 1.1.2
February 19, 2016
- Improve support for 3MF files
Download release:
Released libzip 1.1.1
February 7, 2016
- Build fixes for Linux
- Fix some warnings reported by PVS-Studio
Download release:
Released libzip 1.1.0
January 26, 2016
- ziptool(1): command line tool to modify zip archives
- Speedups for archives with many entries
- Coverity fixes
- Better APK support
- Support for running tests on Windows
- More build fixes for Windows
- Portability fixes
- Documentation improvements
Download release:
Released libzip 1.0.1
May 4, 2015
- Build fixes for Windows
Download release:
Released libzip 1.0
May 3, 2015
- Implemented an I/O abstraction layer
- Added support for native Windows API for files
- Added support for setting the last modification time for a file
- Added a new type zip_error_t for errors
- Added more typedefs for structs
- Torrentzip support was removed
- CVE-2015-2331 was fixed
- Addressed all Coverity CIDs
Download release:
Released libzip 0.11.2
December 19, 2013
- Support querying/setting operating system and external attributes
- For newly added files, set operating system to UNIX, permissions to 0666 (0777 for directories)
- Fix bug when writing zip archives containing files bigger than 4GB
Download release:
Released libzip 0.11.1
April 27, 2013
- Fix bugs in zip_set_file_compression()
- Include Xcode build infrastructure
Download release:
Released libzip 0.11
March 23, 2013
- Added Zip64 support (large file support)
- Added UTF-8 support for file names, file comments, and archive comments
- Changed API for name and comment related functions for UTF-8 support
- Added zip_discard()
- Added ZIP_TRUNCATE for zip_open()
- Added zip_set_file_compression()
- Added API for accessing and modifying extra fields
- Improved API type consistency
- Use gcc4's visibility attribute
- More changes for Windows support
- Additional test cases
Download release:
Released libzip 0.10.1
March 20, 2012
- Fixed CVE-2012-1162
- Fixed CVE-2012-1163
Download release:
Released libzip 0.10
March 18, 2010
- Added zip_get_num_entries(), deprecated zip_get_num_files()
- Better windows support
- Support for traditional PKWARE encryption added
- Fix opening archives with more than 65535 entries
- Fix some memory leaks
- Fix cmake build and installation
- Fix memory leak in error case in zip_open()
- Fixed CVE-2011-0421 (no security implications though)
- More documentation
Download release:
Released libzip 0.9.3
February 1, 2010
- Include m4/ directory in distribution; some packagers need it
Download release:
Released libzip 0.9.2
January 31, 2010
- Avoid passing uninitialized data to deflate()
- Fix memory leak when closing zip archives
Download release:
Mailing list of Commit Messages
April 1, 2009
Commits to the libzip repository are now also available via a mailing list. To subscribe, send a mail with the subject subscribe libzip-changes to minimalist at nih.at.
Released libzip 0.9.1
January 24, 2010
- Fix infinite loop on reading some broken files
- Optimization in time conversion (don't call localtime())
- Clear data descriptor flag in central directory, fixing Open Office files
- Allow more than 64k entries
Download release:
New libzip Mailing List
November 8, 2008
There is now a discussion mailing list for developers using libzip. You can subscribe to it by sending a mail with the subject subscribe libzip-discuss to minimalist at nih.at.
Major Webpage Overhaul
August 18, 2008
The web page has been improved and new features have been added:
The repository browser is now integrated into the website; mailing list archives have been added; and news, release announcements and commits are available as RSS feeds.
Released libzip 0.9
July 25, 2008
- on Windows, explicitly set dllimport/dllexport
- remove erroneous references to GPL
- add support for torrentzip
- new functions: zip_get_archive_flag, zip_set_archive_flag
- zip_source_zip: add flag to force recompression
- zip_sorce_file: only keep file open while reading from it
Download release:
Released libzip 0.8
June 6, 2007
- fix for zip archives larger than 2GiB
- fix zip_error_strerror to include libzip error string
- add support for reading streamed zip files
- new functions: zip_add_dir, zip_error_clear, zip_file_error_clear
- add basic support for building with CMake (incomplete)
Download release:
Released libzip 0.7.1
May 18, 2006
- bugfix for zip_close
Download release:
Released libzip 0.7
May 6, 2006
- struct zip_stat increased for future encryption support
- zip_add return value changed (now returns new index of added file)
- shared library major bump because of previous two
- added functions for reading and writing file and archive comments New functions: zip_get_archive_comment, zip_get_file_comment, zip_set_archive_comment, zip_set_file_comment, zip_unchange_archive
Download release:
Released libzip 0.6.1
July 14, 2005
- various bug fixes
Download release:
Released libzip 0.6
June 9, 2005
- first standalone release
- changed license to three-clause BSD
- overhauled API
- added man pages
- install zipcmp and zipmerge
Download release: