Skip to content

Latest commit

 

History

History
347 lines (224 loc) · 9.42 KB

NEWS.md

File metadata and controls

347 lines (224 loc) · 9.42 KB

1.11.2 [2024-10-31]

  • Fix performance regression in zip_stat introduced in 1.11.

1.11.1 [2024-09-19]

  • Fix zipconf.h for version number with missing third component.

1.11 [2024-09-19]

  • 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.

1.10.1 [2023-08-23]

  • 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.

1.10.0 [2023-06-23]

  • 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.

1.9.2 [2022-06-28]

  • Fix version number in header file.

1.9.1 [2022-06-28]

  • Fix zip_file_is_seekable().

1.9.0 [2022-06-13]

  • 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.

1.8.0 [2021-06-18]

  • 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.3 [2020-07-15]

  • Support cmake < 3.17 again.
  • Fix pkgconfig file (regression in 1.7.2).

1.7.2 [2020-07-11]

  • Fixes for the CMake find_project() files.
  • libzip moved to the CMake libzip:: NAMESPACE.
  • CMake usage best practice cleanups.

1.7.1 [2020-06-13]

  • 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.0 [2020-06-05]

  • 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.1 [2020-02-03]

  • Bugfix for double-free in zipcmp(1) during cleanup.

1.6.0 [2020-01-24]

  • 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.2 [2019-03-12]

  • 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.5.1 [2018-04-11]

  • 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.

1.5.0 [2018-03-11]

  • 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.

1.4.0 [2017-12-29]

  • 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.

1.3.2 [2017-11-20]

  • Fix bug introduced in last: zip_t was erroneously freed if zip_close() failed.

1.3.1 [2017-11-19]

  • Install zipconf.h into ${PREFIX}/include
  • Add zip_libzip_version()
  • Fix AES tests on Linux

1.3.0 [2017-09-02]

  • 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

1.2.0 [2017-02-19]

  • 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()

1.1.3 [2016-05-28]

  • Fix build on Windows when using autoconf

1.1.2 [2016-02-19]

  • Improve support for 3MF files

1.1.1 [2016-02-07]

  • Build fixes for Linux
  • Fix some warnings reported by PVS-Studio

1.1 [2016-01-26]

  • 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

1.0.1 [2015-05-04]

  • Build fixes for Windows

1.0 [2015-05-03]

  • 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

0.11.2 [2013-12-19]

  • 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

0.11.1 [2013-04-27]

  • Fix bugs in zip_set_file_compression()
  • Include Xcode build infrastructure

0.11 [2013-03-23]

  • 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

0.10.1 [2012-03-20]

  • Fixed CVE-2012-1162
  • Fixed CVE-2012-1163

0.10 [2010-03-18]

  • 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

0.9.3 [2010-02-01]

  • Include m4/ directory in distribution; some packagers need it

0.9.2 [2010-01-31]

  • Avoid passing uninitialized data to deflate()
  • Fix memory leak when closing zip archives

0.9.1 [2010-01-24]

  • 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

0.9 [2008-07-25]

  • 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

0.8 [2007-06-06]

  • 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)

0.7.1 [2006-05-18]

  • bugfix for zip_close

0.7 [2006-05-06]

  • 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

0.6.1 [2005-07-14]

  • various bug fixes

0.6 [2005-06-09]

  • first standalone release
  • changed license to three-clause BSD
  • overhauled API
  • added man pages
  • install zipcmp and zipmerge