Skip Navigation Links
Skip Navigation LinksHome > ZipArchive > History of Changes
History of Changes in the ZipArchive Library
Applies To: All

4.6.9 (2022-12-15)

Changes

4.6.8 (2022-06-01)

New Features

  • Added CZipFileHeader::GetFileTitle , CZipFileHeader::GetFileExtension (thanks to Andrew Truckle)
  • Added lpszFileInZip parameter to the CMultiActionsInfo::MultiActionsNext method (thanks to Andrew Truckle)
  • Added support and project files for Visual Studio 2022. They are now default project files for the ZipArchive Library.

Changes

  • The Zlib library updated to version 1.2.12; see the Zlib library change log for more information.
  • The bzlib library updated to version 1.0.8; see the bzlib library change log for more information.
  • Stopped support of Visual Studio versions older than 2017 as that became too troublesome to maintain on modern OSes with little benefit at the same time.

Bugs Fixed

4.6.7 (2019-04-17)

New Features

  • Added support and project files for Visual Studio 2019. They are now default project files for the ZipArchive Library.
  • Supporting reading of non-Zip64 archives with more than 65535 entries in the archive (thanks to Jeffrey Beckwith).

Bugs Fixed

  • Various code issue fixes reported by Visual Studio Static Code Analysis "Microsoft Native Recommended Rules" (thanks to Andrew for reporting it)

4.6.6 (2018-07-19)

New Features

Changes

Bugs Fixed

  • Eliminated Zip Slip vurnelability; see Zip Slip Vulnerability for more information (thanks to Ben Greenwald).

4.6.5 (2017-11-25)

New Features

  • Added support and project files for Visual Studio 2017. They are now default project files for the ZipArchive Library.

Changes

  • Eliminated Visual Studio Code Analysis warnings (thanks to Andrew for reporting it).

4.6.4 (2017-01-23)

New Features

  • Added x64 configurations to Visual Studio projects starting from Visual Studio 2005 projects up for ZipArchive and from Visual Studio 2010 for sample applications (thanks to Niels Dekker and Christoph Thien).

Changes

Bugs Fixed

  • Corrected compilation under MFC x64 (thanks to all that reported it).

4.6.3 (2017-01-05)

New Features

Changes

  • Replaced the call to GetTempFileName with _mktemp_s for more security (thanks to Joel Iwashige for the suggestion).
  • Replaced UINT with size_t in CZipMemFile for full 64-bit support (thanks to Axel Lehnert for poining this out).
  • The Zlib library updated to version 1.2.10; see the Zlib library change log for more information.

4.6.2 (2015-09-12)

New Features

  • Added project files for Visual Studio 2015. These are now default project files for the ZipArchive Library.

Changes

  • Under Windows the ZipPlatform::GetFileTimes method can now read file times when there are no permissions for listing files, but there are permissions for reading a file (thanks to Alexander).

Bugs Fixed

  • In certain archives directories were not properly detected under Linux/OS X version.
  • A workaround for invalid archives not adhering to Zip64 specifications.
  • Options dialog was not working in ZipArc when _ZIP_BZIP2 was not defined.
  • Under Windows the ZipPlatform::GetFileTimes method was not retrieving the Last Access Time (it was retrieving Last Write Time instead).
  • Fixed creation of the local header when Zip64 extensions are used to adhere to the specifications.
  • Added a workaround during archive creation for a Windows Compressed Folders problem that cannot read the Zip64 information under certain circumstances (thanks to Alexander for reporting this).
  • Avoided creation empty folders during extraction under certain situations (thanks to Alexander).
  • Some code cleanup.

4.6.1 (2014-07-26)

New Features

  • Added project files for Visual Studio 2013. These are now default project files for the ZipArchive Library.

Bugs Fixed

  • Better detection of folders in some invalid archives.
  • Fixed performance problems related to CZipString processing (thanks to Alfred Poon for the fix).
  • Fixed an issue when sorting of headers with invalid offsets could result in memory access violation (thanks to Alfred Poon for the fix).

4.6.0 (2013-12-15)

New Features

  • Added wide char support to Linux/OS X version (normalization is currently not supported).
  • Added CZipStorage::GetSplitVolumeName .
  • Added -tv switch to zippie.
  • Added better errors reporting while testing in zippie.

Changes

Bugs Fixed

  • Fixed the problem when canceling AddNewFiles compression with a callback resulted in handles not released (thanks to Sarfaraz for reporting it).
  • Eliminated runtime check fail with zlib library under Visual Studio (it was harmless, but the warning was nevertheless issued).

4.5.0 (2013-02-25)

New Features

Changes

Bugs Fixed

  • Fixed "Smaller Type Check" error under Visual Studio (thanks to Nigel Delaforce).
  • Fixed compilation errors under XCode 4.4.
  • Fixed compilation errors under gcc 4.7.
  • Fixed -af zippie switch (thanks to Ciro Ettorre).

4.1.2 (2012-03-03)

Changes

  • Zlib library updated to 1.2.6

Bugs Fixed

  • An archive was corrupted if replacing a file in the archive with a file that is locked by another process.
  • Fixed the situation where removing all files in an archive with self-extract stub resulted in overwriting the stub.
  • Recovery from extracting a split archive with missing parts was not possible without a callback.
  • Zippie extraction problems with split archives.

4.1.1 (2011-06-27)

New Features

Changes

  • CZipString in the STL version no longer derives from std::basic_string<TCHAR> , but uses the STL string as a variable. This is changed because of Visual Studio 2010 having problems with linking it (thanks to Christian Khoukaz for providing the fix).

Bugs Fixed

  • Fixed a crash caused by lack of initialization when using Recycle Bin ( ZipPlatform::dfmRecycleBin ) for files removal.
  • Fixed a crash when reading extra fields from certain corrupted archives.
  • Setting a file modification time after file extraction under Windows could fail when it was locked by a file system notification hook (thanks to Dengg Helmut).
  • When CZipArchive is throwing an exception related to an external file (when e.g. adding a non-existing file), it includes now this external file path information in the exception instead of the zip archive path information (thanks to Miroslav Bonchev).
  • Fixed trial versions.

4.1.0 (2010-10-31)

New Features

  • Added project files for Visual Studio 2010. These are now default project files for the ZipArchive Library.
  • Added the possibility to controls overwriting of files during extraction in the CZipArchive::ExtractFile(ZIP_INDEX_TYPE, LPCTSTR) method.
  • Added CZipAbstractFile::HasFilePath() method to allow properly using custom file implementations that have no physical paths. That includes using abstract files with the CZipArchive::OpenFrom() method.
  • Added the CZipArchive::GetLastIndexAdded() method.
  • Very long paths support under Windows is now automatic. There is no need to prefix paths with \\?\ when extracting.

Changes

  • Zlib library updated to 1.2.5
  • bzip2 library updated to 1.0.6
  • Leading path separators are removed from filenames stored in archives.
  • When a trailing path separator is added to a file name, this file will be added as a folder.
  • File names with trailing path separators in archive and with size 0 are always treated as folders.
  • Removed the CZipArchive::SetExhaustiveRead method. Use the CZipArchive::SetSpecialFlags() method instead.
  • Removed the CZipArchive::GetExhaustiveRead method. Use the CZipArchive::GetSpecialFlags() method instead.
  • The CZipMemFile class derives now from CFile in MFC compilation (but not under Visual Studio 6.0 with _ZIP_FILE_IMPLEMENTATION set to ZIP_ZFI_WIN ).

Bugs Fixed

  • Fixed attributes conversion from NTFS system to others.
  • When a hidden file was compressed under Windows it received no read permissions when extracted under Linux/OS X. Now it has read permissions for the user.
  • When using CZipArchive::umExtra unicode characters were not correctly preserved under some conditions.
  • When renaming a file or a directory, problems could occur when FindFast was enabled.
  • Fixed a problem when removing files in large archives using Visual Studio 6.0 (thanks to Alexandr Novy).
  • Fixed a problem with AES encryption under x64.
  • Fixed an issue when extracting archives having Zip64 EoCD locator written when not needed.
  • Fixed path separators conversion when using Unicode extra headers (thanks to Miroslav Bonchev for reporting it).
  • Fixed an issue when CZipArchive::GetFromArchive() method copied a CRC encrypted file without the data descriptor.

4.0.1 (2009-04-24)

Changes

  • Allowed using precompiled headers by correcting the stdafx.h inclusion order.
  • Projects for Visual Studio 2010/2008/2005/2003 use now a precompiled header.

Bugs Fixed

  • Fixed problem with decompressing spanned archives (thanks to Miroslav Bonchev for reporting it).
  • CZipFile::Seek() in the STL version didn't seek on files larger than 2GB when Zip64 was disabled.
  • Opening an archive that was not a split archive, was throwing exception when closing an archive even if the iAfterException parameter was set to CZipArchive::afAfterException (thanks to Dragan Milic for reporting it).
  • Opening a binary split archive could throw an exception sometimes (thanks to Dragan Milic for the fix).
  • Extracting a binary split archive could throw exception with some archives (thanks to Dragan Milic for reporting it).
  • Fixed run-time check failure under Visual Studio (a cast to a smaller data type has caused a loss of data) - thanks to James Grocholl for the fix.
  • Fixed custom Unicode compilation issues in the Open Source version (thanks to Ralph Valeriote for reporting it).

4.0.0 (2009-03-24)

New Features

Changes

Previous History

To see the history of previous versions, please visit Archived History of Changes in the ZipArchive Library
Article ID: history
Back To Top Up