# Info-ZIP

Info-ZIP is a set of open-source software to handle ZIP archives. It has been in circulation since 1989. It consists of 4 separately-installable packages: the Zip and UnZip command-line utilities; and WiZ and MacZip, which are graphical user interfaces for archiving programs in Microsoft Windows and classic Mac OS, respectively.
Info-ZIP's Zip and UnZip have been ported to dozens of computing platforms. The UnZip web page describes UnZip as "The Third Most Portable Program in the World", surpassed by Hello World, C-Kermit, and possibly the Linux kernel. The "zip" and "unzip" programs included with most Linux and Unix distributions are Info-ZIP's Zip and UnZip.
In addition to the Info-ZIP releases themselves, parts of Info-ZIP, including zlib, have been used in numerous other file archivers and other programs. Many Info-ZIP programmers have also been involved in other projects closely related to the DEFLATE compression algorithm, such as the PNG image format and the zlib software library.

## Features

The UnZip package also includes three additional utilities:
* fUnZip extracts a file in a ZIP or gzip file directly to output from archives or other piped input.
* UnZipSFX is software to make a ZIP file into an executable self-extracting archive.
* ZipInfo outputs, in a variety of formats, information about ZIP files and their contents.
The Zip package includes three additional utilities:
* ZipCloak adds or removes password encryption from file in a ZIP archive.
* ZipNote allows the modification of comment fields in ZIP archives.
* ZipSplit splits a ZIP archive into sections for separate disks or downloads.

## History
### UnZip

UnZip 1.0 (March 1989) was released by Samuel M. Smith. It was written in Pascal and C. Pascal was abandoned soon after.
UnZip 2.0 (September 1989) was released by Samuel M. Smith. It included support for the "unimploding" (method 6) introduced by PKZIP 1.01. George Sipe created Unix version.
UnZip 2.0a (December 1989) was released by Carl Mascott and John Cowan.
In Spring 1990, Info-ZIP was formed as a mailing list on SIMTEL20, and released
UnZip 3.0 (May 1990) became the first public release by Info-ZIP group.
UnZip 4.0 (December 1990) adds support of "central directory" within .ZIP archive.
UnZip 5.0 (August 1992) introduces support of DEFLATE (method 8) compression method, used in PKZIP 1.93a. Method 8 has become the de facto base standard for ZIP archives.
In 1994 and 1995 Info-ZIP turned a corner, and effectively became the de facto ZIP program on non-MS-DOS systems. A huge number of ports were released that year, including numerous minicomputers, mainframes and practically every microcomputer ever developed.
UnZip 5.41 (April 2000) was relicensed under Info-ZIP License.
UnZip 5.50 (February 2002) adds support of Deflate64 (method 9) decompression.
UnZip 6.0 adds support of "Zip64" .ZIP archive and bzip2 (method 12) decompression. Support for bzip2-style compression was also in Zip from 3.0f beta.

### Zip

Zip 1.9 (August 1992) introduces support of DEFLATE (method 8) compression method. Method 8 has become the de facto base standard for ZIP archives.
Zip 2.0 (September 1993) has many portability improvements.
Zip 2.1 (May 1996) added new "UNIX" time info to preserve file times across timezones and OSes.
Zip 2.3 (December 1999) was the first Info-ZIP archiver tool under the new BSD-like Info-ZIP License.
Zip 3.0 (2008-07-07) supports "Zip64" .ZIP archive, more than 65536 files per archive, multi-part archive, bzip2 compression, Unicode (UTF-8) filename and (partial) comment, Unix 32-bit UIDs/GIDs

### WiZ

WiZ 4.0 (November 1997) was released by Info-ZIP.
WiZ 5.01 (April 2000) was relicensed under Info-ZIP License.

### MacZip

MacZip 1.05 (July 2000) was released under Info-ZIP License.
MacZip 1.06 was released in February 2001. It was written by Dirk Hasse.

## Forks and patches

As a slowly-updated open software package, many patches have been written by various Linux distributions to improve info-zip tools. In addition, from 2015 to 2019, 14 unzip vulnerabilities have been published on the CVE list without version or website updates from info-zip. (Three CVEs from 2014 in oCERT-2014-011 are left out of most statistics; info-zip did provide patches on their now-defunct forum.)
Mark Adler has a set of patches for unzip 6.0 that detects zip bombs of the overlapping type. This issue has a CVE ID of CVE-2019-13232.
The Debian project provides various patches to correct typographical errors and security issues, including the 17 unzip CVEs. It also hardens against format string injection and other obvious security issues.
To deal with pre-UTF-8 Zip files created on other code pages, Giovanni Scafora created a patch that hooks unzip up with iconv for encoding conversion. A version of the patch combined with CVE mitigations are provided as a User Package in Arch Linux. The Gentoo project improves upon the hard-coded locales with an external libnatspec library. Similar approach for Ubuntu is being discussed.
The Fedora project (an upstream of Red Hat Enterprise Linux) applies Adler's patch, most of the Debian patches (or similar), as well as extra security patches like a stack non-execution patch to their unzip. The zip patches are similar to Debian patches.

### Official betas

Some official improvements to zip and unzip are stuck in beta-stage as zip 3.1c and unzip 6.10b from 2015. Among other things, both added support for PPMd8 and LZMA compressions in .zipx files, support for AES encryption, and included iconv-based Unicode improvements (based on unzip-iconv). A newer release candidate, Zip 3.1d, appeared on the official FTP site in 2015, but the SourceForge page was not updated. Partially due to the added compressors, the zipped file size increased from 1.4 MB (3.1c) to 2.9 MB (3.1d).
The antinode.info FTP site seems to be hosting an even more cutting-edge source of info-zip utilities. Individual revisions are organized into folders containing files differing from the previous revision, and zip archives for sources are occasionally released. As of May 2023, the site provides Unzip 6.10c (rev. 25, 21 Dec 2018) and a loose-file development version of Zip 3.1e (rev. 21, 14 Dec 2021). The owner of the site, Steven Schweda, maintains these versions. Schweda is a member of the original info-zip team.

### Replacements

FreeBSD has opted to replace info-zip utilities. It produces a command-line compatible version of unzip based on libarchive, which also supports zipx and AES.