WHATSNEW 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  1. What's New
  2. Last updated 1 July 2008
  3. This file is the full list of new features and major changes for Zip 3.0
  4. by beta release. See the announcement file zip30.ann for a quick summary
  5. of all features and changes in Zip 3.0. Also see the file README for
  6. release information, INSTALL for installation procedures, and the manual
  7. pages zip.txt, zipsplit.txt, zipcloak.txt, and zipnote.txt for how to use
  8. the new features. The file CHANGES has all the day-to-day changes made
  9. during development.
  10. Below are some of the more significant items on the list for Zip 3.1
  11. (see ToDo for a more complete list):
  12. - AES encryption.
  13. - Extended attributes for Windows, Linux, and Mac OS X.
  14. - Support -d@ for deleting list of files.
  15. - Decide if -R, -i and -x should use external rather than internal patterns.
  16. - Though Unicode paths have been implemented and tested, Unicode comments
  17. are not yet supported (except for comments on UTF-8 native systems which
  18. are supported).
  19. - Verbose mode -v may still need work.
  20. - When pattern is directory add end / automatically.
  21. - Add C# example for Zip 3.0 (need to be converted to new DLLs) - original
  22. C# example added with note.
  23. - Path Prefix maybe, so entries added to an archive can have a directory
  24. path string prepended to each path.
  25. - UNC path support maybe.
  26. - Support for other languages maybe.
  27. - Send in your suggestions.
  28. - ...
  29. MAJOR CHANGES BY BETA VERSION
  30. -----------------------------
  31. New things in Zip 3.0 since Zip 3.0h:
  32. - Unicode fixes.
  33. - Test and fix various ports as needed.
  34. - Update Win32 resource to support more Windows ports.
  35. - Add djgpp 2.x makefile that includes bzip2.
  36. - Add Win32 version resource to Win32 executable.
  37. - Bug fixes.
  38. - Documentation updates.
  39. - Package for release.
  40. New things in Zip 3.0h
  41. - Allow -@ and -x to work together.
  42. - Unicode code cleanup.
  43. - Allow forcing use of UTF-8 storage in standard path and comment.
  44. - Update symbolic link checks.
  45. - Add support for storing 32-bit UIDs/GIDs using new extra field.
  46. Backward compatible support for the old 16-bit UID/GID extra field
  47. remains if Zip is compiled on an OS that has 16-bit UID/GID
  48. storage.
  49. - Update VMS notes.
  50. - Directory scan using -AS (include only files with Windows archive
  51. bit set) now ignores archive bit on directories to include all files
  52. with archive bit set in all directories. Also, to avoid empty
  53. directories being created, -AS now does not store directory
  54. entries.
  55. - Add Unix IBM support.
  56. - Change -W to -ws to free -W for later use.
  57. - Fix large file support for MinGW.
  58. - Fix large file support for bzip2.
  59. - Fix compile error in ZipCloak when UNICODE_SUPPORT is not enabled.
  60. - Fix Unicode bug in ZipCloak involving Unicode paths.
  61. - Long Unicode escapes changed from #Lxxxxxxxx to #Lxxxxxx to shorten
  62. paths with escaped Unicode.
  63. - Bug fixes.
  64. New things in Zip 3.0g
  65. - Add split support to VB project for Zip64.
  66. - Disable reading of Unix FIFOs unless new -FI option used to avoid an
  67. archiving operation stopping when it hits an active unfed FIFO.
  68. - The "[list]" wildcard expression (regular expression matching of any
  69. character or range of characters in list) is now disabled on DOS and
  70. Windows as it has caused confusion when filenames have [ and ] in
  71. them. The new -RE option reenables it.
  72. - Add negation to many display options such as -dc and -db.
  73. - Allow -FF to read and fix archives having local entries that appear
  74. after central directory entries.
  75. - Bug fixes.
  76. New things in Zip 3.0f
  77. - bzip2 - The bzip2 compression method looks supported for at least
  78. Windows, Unix, and VMS using the bzip2 library. A new option, -Z cm,
  79. selects the compression method.
  80. - Split archives - Can now use -s to create a split archive. The
  81. default is to update split files as the archive is being written,
  82. which requires all splits to remain open until the archive is done.
  83. This should be no problem when writing the archive to a hard drive,
  84. for example, and this approach creates archives that should be
  85. supported by all unzips that support splits. Adding the -sp option
  86. enables split pause mode that instead writes splits that do not
  87. need updating and pauses Zip after each split. This allows splits
  88. to be written directly to removable media, however -sp archives
  89. may not be as universally compatible.
  90. - Unicode support - Zip now stores Unicode paths that should be more
  91. portable across character sets and languages. The unzip must have
  92. Unicode support enabled or the Unicode paths are ignored. If
  93. reading an archive with Unicode paths, unsupported characters are
  94. replaced by #Uxxxx and #Lxxxxxxxx escapes in the file name. Option
  95. -UN controls how Unicode is handled. Also, on systems where the
  96. current character set is UTF-8, preliminary support for the new
  97. General Purpose Bit Flag, bit 11, UTF-8 flag, that indicates UTF-8
  98. is stored in the path and comment fields is implemented for paths.
  99. - Unicode on Win32 - On WIN32 systems that support the wide character
  100. calls (mainly NT and later systems using NTFS), when UNICODE SUPPORT
  101. is enabled Zip will now do directory scans using Unicode and convert
  102. the Unicode paths to the local character set for storage in the standard
  103. path field and store UTF-8 in the Unicode extra field. This allows
  104. directory scans to complete successfully regardless of the character
  105. set the path is in. On Win9x systems wide character scans are not
  106. generally supported and Zip automatically uses a local character scan
  107. instead.
  108. - Keep extra fields option - The default operation has been, and continues
  109. to be, to read then strip old extra fields when reading entries from an
  110. existing archive and then recreate the extra fields that Zip knows about.
  111. Extra fields specific to each operating system get added by default also.
  112. The new option -X- (negated -X) keeps any old extra fields, copying
  113. them to the updated archive unchanged (unless Zip has updated them).
  114. The unnegated -X still strips most all extra fields except Zip64,
  115. Unicode, and UT time.
  116. - License - minor updates to the license.
  117. - Windows OEM - When compiled with WIN32_OEM (the default for WIN32),
  118. Zip on WIN32 now stores OEM paths, which should be more compatible
  119. with other zips and should fix some character set problems.
  120. - Windows Archive Bit support - On Windows can now use new -AS
  121. (include if archive bit set) option to select files with the DOS
  122. archive bit set and use new -AC (clear archive bits) option to clear
  123. the archive bits on files after the archive has been created.
  124. But -DF is probably better.
  125. - Difference mode - A new option -DF (--dif) creates an output archive
  126. that includes only files changed or new since the input archive was
  127. created. Can use to create incremental backups.
  128. - File Sync - The new option -FS enables File Sync, a new mode that
  129. synchronizes the entries in an archive with the files on the file
  130. system, adding updating, and deleting entries as needed. This
  131. should create the same results as creating a new archive, but
  132. since existing entries are copied, may be much faster.
  133. - Copy Mode - A new --out option allows creating a new archive with a
  134. different name than the input archive, leaving the input archive
  135. unchanged. This allows updating split archives. It also allows
  136. for a new copy mode to select entries in one archive and copy them
  137. directly to a new archive.
  138. - Empty archives - Now an empty archive is created when -i or -i@ is used
  139. and the file patterns given do not match anything. This has been
  140. requested to support scripts.
  141. - Global dots - A new -dg option now displays progress dots as -dd does,
  142. but instead of displaying them for each file, the dots track the total
  143. bytes read for the archive. The -dg option also works when -q is used
  144. to disable most output, which allows for something like zip -qdgds 100m
  145. to be used to not display specific files but display a dot every 100 MB
  146. as a global status.
  147. - Date range - Can now use -t and -tt to set a date range
  148. - Fix options - Option -F redone and can recover files from an archive
  149. with a mostly complete central directory more reliably, but no longer
  150. can handle truncated archives. Option -FF redone and now can salvage
  151. files from slightly more damaged archives, including truncated archives.
  152. In some ways -F is less powerful but more stable than it was and -FF will
  153. be needed where -F in Zip 2.32 was enough. One big change is -F and -FF
  154. both now support split archives.
  155. - Console writing - Updates to how messages are written to the console have
  156. been made including more consistent handling of line breaks.
  157. - Show Files options - Option -sf lists the files that would be operated
  158. on. This option can be used alone to list the files in an archive.
  159. Also see options -su and -sU for showing Unicode paths.
  160. - UnZip Check - Now check that UnZip 6.00 or later is being used for
  161. unzip if testing a Zip64 archive. A new option -TT can be used to set
  162. the unzip to use with the -T check. Currently UnZip does not support
  163. split archives so split archives can't be tested by UnZip.
  164. - Streaming - Directories are now handled better when streaming.
  165. - Case matching - Normally all matching against archive entries is case
  166. sensitive, so *.BAR will not match or find foo.bar in an archive
  167. when deleting, copying, or freshening entries (deleting and copying
  168. only on VMS). New option -ic (--ignore-case) enables case insensitive
  169. matching. Currently -ic is only implemented on WIN32 and VMS.
  170. - Delete date bug fixed - Bug when using -d to delete files while
  171. using -t or -tt to select the files based on date is fixed
  172. - Large file encryption bug fixed - Fix for bug that very rarely
  173. results in bad data being stored when deflating and encrypting
  174. uncompressable data and resulting in CRC errors when extracting,
  175. but the chance of error increases with file size (thanks to
  176. WinZip for finding this bug). See CHANGES for details.
  177. New things in Zip 3.0e
  178. - Bugs described in Debian patches 004 (unix configure script update) and
  179. 005 (large path bug) fixed
  180. - Various fixes
  181. - Add optional running stats and also end stats if not all files could
  182. be read
  183. - Options -l and -ll now do quick binary check on first buffer and skip
  184. formatting if first buffer has binary - still check at end to note
  185. if formatting was done on file that was later determined to be binary,
  186. but now potential file corruption is generally avoided
  187. - Main binary check now uses new algorithm that should also treat UTF-8 and
  188. other similar encodings as text, allowing proper line end translation
  189. for UTF-8 files
  190. - When output is not updatable by seeking back and Zip64 is enabled, output
  191. is forced to Zip64 to avoid possible later need for Zip64 when not enabled
  192. - More work on splits, but still not usable
  193. - Fixes for djgpp
  194. - Add log file capability to save all errors and optionally messages
  195. - Add code to test for a Zip64 archive when compiled without Zip64 support
  196. - New VC6 projects for Win32 and WinDLL
  197. - Updates to extended help
  198. - Changes to force-zip64 option
  199. - ZE_BIG error now given also for files too big to read or write
  200. - Fix file delete bug
  201. - Update license
  202. - Update export documentation
  203. - Add VMS extended filename support
  204. - Add directory traversal improvements, some for Win32 ports and some for
  205. all ports, that can result in a 10 times increase in speed in some cases
  206. New things in Zip 3.0d
  207. - Some large file crypt fixes
  208. - Some updates to support WiZ
  209. - On VMS, changed -V (/VMS) processing to truncate file at EOF, allowing
  210. greater compatability with non-VMS systems. New -VV (/VMS=ALL) option
  211. saves all allocated blocks in a file. (Previously, -V did neither.)
  212. - On VMS, pushed 2GB file size limit with -V out to 4GB
  213. - On VMS (recent, non-VAX), with SET PROCESS /PARSE = EXTEND,
  214. command-line case is preserved. This obviates quoting upper-case
  215. options, like -V, when enabled
  216. - On VMS, fixed problems with mixed-case directory names. Also changed
  217. to keep ODS5 extended file name escape characters ("^") out of the
  218. archived names in simple cases
  219. - Changes to the display dots
  220. - Option -W should now force wildcard matching to not cross directory
  221. separators. For example, a/b*r/d will match a/bar/d but not a/ba/r/d
  222. - Option -nw should turn off all wildcard matching so foo[bar] is matched
  223. literally and [bar] is not considered a regular expression
  224. - Atheos port
  225. - Debugging of Unix and VMS large file ports. Most features may work now
  226. on these ports for large files. Still need to fix 2 GB to 4 GB when not
  227. compiled with large file support
  228. - On VMS, added an open callback function which (where supported) senses
  229. the process RMS_DEFAULT values for file extend quantity (deq)
  230. multi-block count (mbc), and multi-buffer count (mbf), and sets the
  231. FAB/RAB parameters accordingly. The default deq is now much larger
  232. than before (16384 blocks, was none), and the default mbc is now 127
  233. (up from 64), speeding creation of a large archive file. The "-v"
  234. option shows some of the activity. On old VMS versions, RMS_DEFAULT
  235. sensing (GETJPI) fails (silently, without "-v"), and no changes will
  236. be made. Even there, (DCL) SET RMS /EXTEND = <big> can help
  237. performance. RMS_DEFAULT values override built-in default values.
  238. New things in Zip 3.0c
  239. - Converted to using 64-bit file environment instead of transitional functions
  240. like fseeko64 for ports that support it
  241. - Added "--" argument to read all following arguments as paths
  242. - Second help page added
  243. - Binary detection adjusted from 20% binary is binary to 2%
  244. - When -R and -i used together now -i has precedence over -R
  245. - Archive names with spaces can now be tested on MSDOS and Win32
  246. New things in Zip 3.0b
  247. - Fixed ifdefs so can test base code by compiling with NO_LARGE_FILE_SUPPORT, then
  248. compiling with NO_ZIP64_SUPPORT to test 64-bit file calls (if port enables) but
  249. otherwise use base code, and compiling normally to enable Zip64 code
  250. - Unix Zip64 fixes - should now be able to create and read large files
  251. - WinDLL changes to support Zip64. Zip 3.0 dll named Zip32z64.dll
  252. - New VB example to show use of Zip32z64.dll
  253. - New options -sc (show final command line and exit) and -sd (show each
  254. step zip is doing, a little different than verbose which is still there) added
  255. to help debug but both or at least -sd might go away in the release
  256. - Some minor posted bugs fixed (see Changes)
  257. New things in Zip 3.0a
  258. - Initial Zip64 support allowing large files and large numbers of files
  259. - New command line processor
  260. - Other changes, see file Changes
  261. Note: Zip 2.4 was never released. That code was the start of the Zip 3.0
  262. effort above.
  263. New things in Zip 2.3
  264. - IBM OS/390 port (Unix like, but EBCDIC) by Paul von Behren
  265. - Apple Macintosh (MACOS) port by Dirk Haase
  266. - Theos port by Jean-Michel Dubois
  267. - Multibyte characterset support by Yoshioka Tsuneo
  268. - Support for ISO 8601 date format with -t and -tt options
  269. - Info-ZIP license
  270. New things in Zip 2.2
  271. - BEOS port by Chris Herborth
  272. - QDOS port by Jonathan Hudson
  273. - TANDEM port by Dave Smith
  274. - WINDLL port (16-bit Win 3.x and 32-bit WinNT/Win95) by Mike White
  275. - SYSV packages support by John Bush
  276. - zip -P SeCrEt encrypts entries in the zip file with password SeCrEt
  277. (WARNING: THIS IS INSECURE, use at your own risk)
  278. - zip -R recurses into subdirectories of current dir like "PKZIP -rP"
  279. - zip -x@exclude.lst excludes files specified in the file exclude.lst
  280. - zip -i@include.lst includes files specified in the file include.lst
  281. - zip -@ only handles one filename per line, but supports whitespace in names
  282. - zip -t mmddyyyy, 4 digit year number for uniqueness of years beyond 2000
  283. - zip -tt mmddyyyy only includes files before a specified date