- Fix performance regression in
zip_stat
introduced in 1.11.
- Fix zipconf.h for version number with missing third component.
- 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.
- Add
ZIP_LENGTH_TO_END
andZIP_LENGTH_UNCHECKED
. UnlessZIP_LENGTH_UNCHECKED
is 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.
- Make support for layered sources public.
- Add
zip_source_zip_file
andzip_source_zip_file_create
, deprecatezip_source_zip
andzip_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.
- Fix version number in header file.
- Fix
zip_file_is_seekable()
.
- Add
zip_file_is_seekable()
. - Improve compatibility with WinAES.
- Fix encoding handling in
zip_name_locate()
. - Add option to
zipcmp
to output summary of changes. - Various bug fixes and documentation improvements.
- 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_flags
inzip_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()
.
- Support cmake < 3.17 again.
- Fix pkgconfig file (regression in 1.7.2).
- Fixes for the CMake
find_project()
files. - libzip moved to the CMake
libzip::
NAMESPACE
. - CMake usage best practice cleanups.
- 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.
- 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.
- Bugfix for double-free in
zipcmp(1)
during cleanup.
- 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.
- 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.
- Choose format of installed documentation based on available tools.
- Fix visibility of symbols.
- Fix zipcmp directory support.
- Don't set RPATH on Linux.
- Use Libs.private for link dependencies in pkg-config file.
- Fix build with LibreSSL.
- Various bugfixes.
- Use standard cryptographic library instead of custom AES implementation. This also simplifies the license.
- Use
clang-format
to format the source code. - More Windows improvements.
- 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.
- Fix bug introduced in last: zip_t was erroneously freed if zip_close() failed.
- Install zipconf.h into ${PREFIX}/include
- Add zip_libzip_version()
- Fix AES tests on Linux
- 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
- Support for AES encryption (Winzip version), both encryption and decryption
- Support legacy zip files with >64k entries
- Fix seeking in zip_source_file if start > 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 during zip_close()
- Fix build on Windows when using autoconf
- Improve support for 3MF files
- Build fixes for Linux
- Fix some warnings reported by PVS-Studio
- 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
- Build fixes for Windows
- 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
- 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
- Fix bugs in zip_set_file_compression()
- Include Xcode build infrastructure
- 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
- Fixed CVE-2012-1162
- Fixed CVE-2012-1163
- 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
- Include m4/ directory in distribution; some packagers need it
- Avoid passing uninitialized data to deflate()
- Fix memory leak when closing zip archives
- 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
- 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
- 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)
- bugfix for zip_close
- 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
- various bug fixes
- first standalone release
- changed license to three-clause BSD
- overhauled API
- added man pages
- install zipcmp and zipmerge