123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333 |
- What's New
- Last updated 1 July 2008
- This file is the full list of new features and major changes for Zip 3.0
- by beta release. See the announcement file zip30.ann for a quick summary
- of all features and changes in Zip 3.0. Also see the file README for
- release information, INSTALL for installation procedures, and the manual
- pages zip.txt, zipsplit.txt, zipcloak.txt, and zipnote.txt for how to use
- the new features. The file CHANGES has all the day-to-day changes made
- during development.
- Below are some of the more significant items on the list for Zip 3.1
- (see ToDo for a more complete list):
- - AES encryption.
- - Extended attributes for Windows, Linux, and Mac OS X.
- - Support -d@ for deleting list of files.
- - Decide if -R, -i and -x should use external rather than internal patterns.
- - Though Unicode paths have been implemented and tested, Unicode comments
- are not yet supported (except for comments on UTF-8 native systems which
- are supported).
- - Verbose mode -v may still need work.
- - When pattern is directory add end / automatically.
- - Add C# example for Zip 3.0 (need to be converted to new DLLs) - original
- C# example added with note.
- - Path Prefix maybe, so entries added to an archive can have a directory
- path string prepended to each path.
- - UNC path support maybe.
- - Support for other languages maybe.
- - Send in your suggestions.
- - ...
- MAJOR CHANGES BY BETA VERSION
- -----------------------------
- New things in Zip 3.0 since Zip 3.0h:
- - Unicode fixes.
- - Test and fix various ports as needed.
- - Update Win32 resource to support more Windows ports.
- - Add djgpp 2.x makefile that includes bzip2.
- - Add Win32 version resource to Win32 executable.
- - Bug fixes.
- - Documentation updates.
- - Package for release.
- New things in Zip 3.0h
- - Allow -@ and -x to work together.
- - Unicode code cleanup.
- - Allow forcing use of UTF-8 storage in standard path and comment.
- - Update symbolic link checks.
- - Add support for storing 32-bit UIDs/GIDs using new extra field.
- Backward compatible support for the old 16-bit UID/GID extra field
- remains if Zip is compiled on an OS that has 16-bit UID/GID
- storage.
- - Update VMS notes.
- - Directory scan using -AS (include only files with Windows archive
- bit set) now ignores archive bit on directories to include all files
- with archive bit set in all directories. Also, to avoid empty
- directories being created, -AS now does not store directory
- entries.
- - Add Unix IBM support.
- - Change -W to -ws to free -W for later use.
- - Fix large file support for MinGW.
- - Fix large file support for bzip2.
- - Fix compile error in ZipCloak when UNICODE_SUPPORT is not enabled.
- - Fix Unicode bug in ZipCloak involving Unicode paths.
- - Long Unicode escapes changed from #Lxxxxxxxx to #Lxxxxxx to shorten
- paths with escaped Unicode.
- - Bug fixes.
- New things in Zip 3.0g
- - Add split support to VB project for Zip64.
- - Disable reading of Unix FIFOs unless new -FI option used to avoid an
- archiving operation stopping when it hits an active unfed FIFO.
- - The "[list]" wildcard expression (regular expression matching of any
- character or range of characters in list) is now disabled on DOS and
- Windows as it has caused confusion when filenames have [ and ] in
- them. The new -RE option reenables it.
- - Add negation to many display options such as -dc and -db.
- - Allow -FF to read and fix archives having local entries that appear
- after central directory entries.
- - Bug fixes.
- New things in Zip 3.0f
- - bzip2 - The bzip2 compression method looks supported for at least
- Windows, Unix, and VMS using the bzip2 library. A new option, -Z cm,
- selects the compression method.
- - Split archives - Can now use -s to create a split archive. The
- default is to update split files as the archive is being written,
- which requires all splits to remain open until the archive is done.
- This should be no problem when writing the archive to a hard drive,
- for example, and this approach creates archives that should be
- supported by all unzips that support splits. Adding the -sp option
- enables split pause mode that instead writes splits that do not
- need updating and pauses Zip after each split. This allows splits
- to be written directly to removable media, however -sp archives
- may not be as universally compatible.
- - Unicode support - Zip now stores Unicode paths that should be more
- portable across character sets and languages. The unzip must have
- Unicode support enabled or the Unicode paths are ignored. If
- reading an archive with Unicode paths, unsupported characters are
- replaced by #Uxxxx and #Lxxxxxxxx escapes in the file name. Option
- -UN controls how Unicode is handled. Also, on systems where the
- current character set is UTF-8, preliminary support for the new
- General Purpose Bit Flag, bit 11, UTF-8 flag, that indicates UTF-8
- is stored in the path and comment fields is implemented for paths.
- - Unicode on Win32 - On WIN32 systems that support the wide character
- calls (mainly NT and later systems using NTFS), when UNICODE SUPPORT
- is enabled Zip will now do directory scans using Unicode and convert
- the Unicode paths to the local character set for storage in the standard
- path field and store UTF-8 in the Unicode extra field. This allows
- directory scans to complete successfully regardless of the character
- set the path is in. On Win9x systems wide character scans are not
- generally supported and Zip automatically uses a local character scan
- instead.
- - Keep extra fields option - The default operation has been, and continues
- to be, to read then strip old extra fields when reading entries from an
- existing archive and then recreate the extra fields that Zip knows about.
- Extra fields specific to each operating system get added by default also.
- The new option -X- (negated -X) keeps any old extra fields, copying
- them to the updated archive unchanged (unless Zip has updated them).
- The unnegated -X still strips most all extra fields except Zip64,
- Unicode, and UT time.
- - License - minor updates to the license.
- - Windows OEM - When compiled with WIN32_OEM (the default for WIN32),
- Zip on WIN32 now stores OEM paths, which should be more compatible
- with other zips and should fix some character set problems.
- - Windows Archive Bit support - On Windows can now use new -AS
- (include if archive bit set) option to select files with the DOS
- archive bit set and use new -AC (clear archive bits) option to clear
- the archive bits on files after the archive has been created.
- But -DF is probably better.
- - Difference mode - A new option -DF (--dif) creates an output archive
- that includes only files changed or new since the input archive was
- created. Can use to create incremental backups.
- - File Sync - The new option -FS enables File Sync, a new mode that
- synchronizes the entries in an archive with the files on the file
- system, adding updating, and deleting entries as needed. This
- should create the same results as creating a new archive, but
- since existing entries are copied, may be much faster.
- - Copy Mode - A new --out option allows creating a new archive with a
- different name than the input archive, leaving the input archive
- unchanged. This allows updating split archives. It also allows
- for a new copy mode to select entries in one archive and copy them
- directly to a new archive.
- - Empty archives - Now an empty archive is created when -i or -i@ is used
- and the file patterns given do not match anything. This has been
- requested to support scripts.
- - Global dots - A new -dg option now displays progress dots as -dd does,
- but instead of displaying them for each file, the dots track the total
- bytes read for the archive. The -dg option also works when -q is used
- to disable most output, which allows for something like zip -qdgds 100m
- to be used to not display specific files but display a dot every 100 MB
- as a global status.
- - Date range - Can now use -t and -tt to set a date range
- - Fix options - Option -F redone and can recover files from an archive
- with a mostly complete central directory more reliably, but no longer
- can handle truncated archives. Option -FF redone and now can salvage
- files from slightly more damaged archives, including truncated archives.
- In some ways -F is less powerful but more stable than it was and -FF will
- be needed where -F in Zip 2.32 was enough. One big change is -F and -FF
- both now support split archives.
- - Console writing - Updates to how messages are written to the console have
- been made including more consistent handling of line breaks.
- - Show Files options - Option -sf lists the files that would be operated
- on. This option can be used alone to list the files in an archive.
- Also see options -su and -sU for showing Unicode paths.
- - UnZip Check - Now check that UnZip 6.00 or later is being used for
- unzip if testing a Zip64 archive. A new option -TT can be used to set
- the unzip to use with the -T check. Currently UnZip does not support
- split archives so split archives can't be tested by UnZip.
- - Streaming - Directories are now handled better when streaming.
- - Case matching - Normally all matching against archive entries is case
- sensitive, so *.BAR will not match or find foo.bar in an archive
- when deleting, copying, or freshening entries (deleting and copying
- only on VMS). New option -ic (--ignore-case) enables case insensitive
- matching. Currently -ic is only implemented on WIN32 and VMS.
- - Delete date bug fixed - Bug when using -d to delete files while
- using -t or -tt to select the files based on date is fixed
- - Large file encryption bug fixed - Fix for bug that very rarely
- results in bad data being stored when deflating and encrypting
- uncompressable data and resulting in CRC errors when extracting,
- but the chance of error increases with file size (thanks to
- WinZip for finding this bug). See CHANGES for details.
- New things in Zip 3.0e
- - Bugs described in Debian patches 004 (unix configure script update) and
- 005 (large path bug) fixed
- - Various fixes
- - Add optional running stats and also end stats if not all files could
- be read
- - Options -l and -ll now do quick binary check on first buffer and skip
- formatting if first buffer has binary - still check at end to note
- if formatting was done on file that was later determined to be binary,
- but now potential file corruption is generally avoided
- - Main binary check now uses new algorithm that should also treat UTF-8 and
- other similar encodings as text, allowing proper line end translation
- for UTF-8 files
- - When output is not updatable by seeking back and Zip64 is enabled, output
- is forced to Zip64 to avoid possible later need for Zip64 when not enabled
- - More work on splits, but still not usable
- - Fixes for djgpp
- - Add log file capability to save all errors and optionally messages
- - Add code to test for a Zip64 archive when compiled without Zip64 support
- - New VC6 projects for Win32 and WinDLL
- - Updates to extended help
- - Changes to force-zip64 option
- - ZE_BIG error now given also for files too big to read or write
- - Fix file delete bug
- - Update license
- - Update export documentation
- - Add VMS extended filename support
- - Add directory traversal improvements, some for Win32 ports and some for
- all ports, that can result in a 10 times increase in speed in some cases
- New things in Zip 3.0d
- - Some large file crypt fixes
- - Some updates to support WiZ
- - On VMS, changed -V (/VMS) processing to truncate file at EOF, allowing
- greater compatability with non-VMS systems. New -VV (/VMS=ALL) option
- saves all allocated blocks in a file. (Previously, -V did neither.)
- - On VMS, pushed 2GB file size limit with -V out to 4GB
- - On VMS (recent, non-VAX), with SET PROCESS /PARSE = EXTEND,
- command-line case is preserved. This obviates quoting upper-case
- options, like -V, when enabled
- - On VMS, fixed problems with mixed-case directory names. Also changed
- to keep ODS5 extended file name escape characters ("^") out of the
- archived names in simple cases
- - Changes to the display dots
- - Option -W should now force wildcard matching to not cross directory
- separators. For example, a/b*r/d will match a/bar/d but not a/ba/r/d
- - Option -nw should turn off all wildcard matching so foo[bar] is matched
- literally and [bar] is not considered a regular expression
- - Atheos port
- - Debugging of Unix and VMS large file ports. Most features may work now
- on these ports for large files. Still need to fix 2 GB to 4 GB when not
- compiled with large file support
- - On VMS, added an open callback function which (where supported) senses
- the process RMS_DEFAULT values for file extend quantity (deq)
- multi-block count (mbc), and multi-buffer count (mbf), and sets the
- FAB/RAB parameters accordingly. The default deq is now much larger
- than before (16384 blocks, was none), and the default mbc is now 127
- (up from 64), speeding creation of a large archive file. The "-v"
- option shows some of the activity. On old VMS versions, RMS_DEFAULT
- sensing (GETJPI) fails (silently, without "-v"), and no changes will
- be made. Even there, (DCL) SET RMS /EXTEND = <big> can help
- performance. RMS_DEFAULT values override built-in default values.
- New things in Zip 3.0c
- - Converted to using 64-bit file environment instead of transitional functions
- like fseeko64 for ports that support it
- - Added "--" argument to read all following arguments as paths
- - Second help page added
- - Binary detection adjusted from 20% binary is binary to 2%
- - When -R and -i used together now -i has precedence over -R
- - Archive names with spaces can now be tested on MSDOS and Win32
- New things in Zip 3.0b
- - Fixed ifdefs so can test base code by compiling with NO_LARGE_FILE_SUPPORT, then
- compiling with NO_ZIP64_SUPPORT to test 64-bit file calls (if port enables) but
- otherwise use base code, and compiling normally to enable Zip64 code
- - Unix Zip64 fixes - should now be able to create and read large files
- - WinDLL changes to support Zip64. Zip 3.0 dll named Zip32z64.dll
- - New VB example to show use of Zip32z64.dll
- - New options -sc (show final command line and exit) and -sd (show each
- step zip is doing, a little different than verbose which is still there) added
- to help debug but both or at least -sd might go away in the release
- - Some minor posted bugs fixed (see Changes)
- New things in Zip 3.0a
- - Initial Zip64 support allowing large files and large numbers of files
- - New command line processor
- - Other changes, see file Changes
- Note: Zip 2.4 was never released. That code was the start of the Zip 3.0
- effort above.
- New things in Zip 2.3
- - IBM OS/390 port (Unix like, but EBCDIC) by Paul von Behren
- - Apple Macintosh (MACOS) port by Dirk Haase
- - Theos port by Jean-Michel Dubois
- - Multibyte characterset support by Yoshioka Tsuneo
- - Support for ISO 8601 date format with -t and -tt options
- - Info-ZIP license
- New things in Zip 2.2
- - BEOS port by Chris Herborth
- - QDOS port by Jonathan Hudson
- - TANDEM port by Dave Smith
- - WINDLL port (16-bit Win 3.x and 32-bit WinNT/Win95) by Mike White
- - SYSV packages support by John Bush
- - zip -P SeCrEt encrypts entries in the zip file with password SeCrEt
- (WARNING: THIS IS INSECURE, use at your own risk)
- - zip -R recurses into subdirectories of current dir like "PKZIP -rP"
- - zip -x@exclude.lst excludes files specified in the file exclude.lst
- - zip -i@include.lst includes files specified in the file include.lst
- - zip -@ only handles one filename per line, but supports whitespace in names
- - zip -t mmddyyyy, 4 digit year number for uniqueness of years beyond 2000
- - zip -tt mmddyyyy only includes files before a specified date
|