UnZip, version 5.52, 28 February 2005

Features added (or removed):

5.52a (10 Dec 04):
 - no new features

5.52b (30 Dec 04):
 - no new features

5.52c (8 Jan 05):
 - no new features

5.52d (17 Jan 05):
 - VMS: Faster I/O, both reading the archive and creating extracted data
    files.  Disk paralysis during file allocation, when highwater marking
    is enabled on the destination device, is gone.  [Steven Schweda (SMS)]
 - VMS: Where the C RTL permits, with SET PROCESS /PARSE = EXTENDED,
    command-line case is preserved, obviating quotation of upper- or
    mixed-case options and parameters.  [SMS]

5.52e (23 Jan 05):
 - i386 ASM_CRC code crc_i386.S, win32/crc_i386.asm, win32/crc_i386.c:
    enabled optimization for i686 by default, as pre-686 CPUs are no longer
    widely used nowadays. (win32/crc_lcc.asm was already i686-optimized)
    [Cosmin Truta (CT)]
 - INSTALL, unzpriv.h: unshrinking is now enabled by default [CT]
 - AtheOS/BeOS/Unix: do not restore SUID/SGID/Tacky bits per default; added
    new security override option "-K" for backward compatibility, updated
    unzip.1 man page [Johnny Lee, EG]

5.52f (27 Jan 05):
 - unzpriv.h, list.c, zipinfo.c: added recognition of additional hosts and
    compression methods according to latest PKWARE appnote specs [SPC]
 - AtheOS/Syllable: new port, kindly contributed by Nikolaev Ruslan [SPC]

5.52g (06 Feb 05):
 - no new features

5.52h (20 Feb 05):
 - no new features

5.52i (24 Feb 05):
 - no new features

5.52j (27 Feb 05):
 - no new features

5.52 (28 Feb 05):
 - no new features

Bugs fixed:

5.52a (10 Dec 04):
 - Debian patch 001 - change __GNU__ to __GLIBC__ in unix/unxcfg.h.  This is
    required to build under glibc-based systems not being Linux-based (like
    the Debian GNU/kFreeBSD port, which is in preparation).  In fact,
    everywhere the macro __GNU__ is used, __GLIBC__ should be used instead.
    It could be made even shorter since defined(linux) || defined(__GLIBC__)
    should be the same as simply defined(__GLIBC__).
 - fileio.c - open_input_file(): added trailing newline to error message
    [Debian patch 002, Santiago Vila]

5.52b (30 Dec 04):
 - README: added short note about purpose of release 5.52 [Ed Gordon]
 - format fixes [Ed Gordon]

5.52c (8 Jan 05):
 - minor fixes [Ed Gordon]

5.52d (17 Jan 05):
 - On VMS, when an odd output byte count is incremented to the next
    larger even value, the extra byte written is now always zero,
    reducing random differences between original and extracted files.  [SMS]
 - On VMS, "cannot find either fred;1 or fred;1.zip." messages have been
    changed to show only non-fictional file names.  [SMS]


5.52e (23 Jan 05):
 - win32/vc6/unzip.dsw (new): replaced win32/VC6.dsp with a complete
    Visual C++ 6.0 project to build unzip, funzip and unzipsfx, with both
    ASM and non-ASM settings  [CT]
 - win32: MSC project files now preserve Win32 CRLF line ends [CT]
 - win32/crc_i386.c: compile only if ASM_CRC is defined [CT]
 - changed strcasecmp to strncasecmp in vms/vmszip.c [SMS]

5.52f (27 Jan 05):
 - win32: for UnZip 5.5x, our tradition "distribute all text files with LF line
    endings" remains in effect, MSC project files are plain text and get
    distributed in UNIX LF-only format [SPC]
 - windll/windll.rc: updated copyright year [SPC]
 - proginfo/extra.fld: synchronized with current appnote.iz (and PKWARE's
    appnote.txt v6.2 as of 2004-04-26) [SPC]
 - win32/makefile.lcc: adapted to current lcc-win32 release [SPC]
 - windll/uzexampl.c: fixed some function definition mismatches (previously
    there were different but compatible param types used) [SPC]
 - extract.c: fixed ucsize/csize mismatch test introduced in UnZip 5.51 and
    corrected a follow-up extraction size bug (12 excess bytes written) for
    encrypted stored entries [SPC]
 - MacOS, OS2 - fixed security holes: formatted output (?printf) should not
    use unchecked strings as format specifiers [Ulf Harnhammar]
 - man/unzip.1, man/zipinfo.1: added explicit note on how to supply a
    left bracket in a filename argument; clarified the scope of the -C option;
    documented the different compressed size calculation modes for encrypted
    entries in UnZip's and ZipInfo's listing output [Greg Roelofs, SPC]
 - list.c, zipinfo.c: fixed ancient bug: when specifying only an exclude list,
    all not-excluded zip archive entries should be listed [SPC]
 - extract.c, unzpriv.h, w32.cfg, wce.cfg: added Cdecl modifier to the qsort
    comparison function (allows use of stdcall mode in SFXWiz project) [SPC]
 - extract.c, unzpriv.h: use LONGINT consistently for >>all<< zipfile offset
    variables and adapt some type casts (allow handling of 4G archives on
    systems that support 64bit file offsets) [Paul Slootman]
 - renamed LONGINT into Z_OFF_T for better "in-code-documentation" [SPC]
 - unzpriv.h, NEXTBYTE macro modified to allow compatibility with unsigned
    bufsize counter incnt [Steven M. Schweda]
 - unix/unxcfg.h: corrected Debian patch #1 by re-adding __GNU__ conditionals
    where they appeared before [SPC]
 - unzip.h, win32/decs.h, win32/struct.h: encapsulated declarations as
    extern "C" for C++ compilation mode [SPC]
 - Win32 port: integrated deferred NTSD handling for directories in the
    generic dir attributes setting functionality [SPC]
 - Win32: synchronized new MSVC6 project files with master Makefile (removed
    unused modules and link libs, SFX opt for size, enable DBCS) [SPC]
 - BeOS: synchronized code with Unix port to support reentrancy [SPC]
 - All but TOPS20, VMS, WinCE: added length check to externally
    supplied argument in do_wild() [SPC]

5.52g (06 Feb 05):
 - VMS (fileio.c - open_infile()): corrected VMS specific open-args, patch
    was accidentally left out in 5.52f [SMS, SPC]
 - win32/w32cfg.h: define Cdecl as empty macro for Watcom C [P. Kienitz, SPC]
 - win32/win32.c: updated OS-system message in version() [SPC]
 - extract.c: corrected integer size mismatch in deferred dirs code [SPC]
 - VMS: support "-T" option as /TIMESTAMP in CLI command interface [SMC]
 - VMS: updated help files for UNIX and DCL interface with missing descriptions
    of recently added options and new hint notes [SMC, SPC]
 - win32/win32.c - set_direc_attribs(): work-around for "cannot set timestamp
    of read-only dirs" bug [Cosmin Truta]
 - win32/win32.c - NTQueryVolInfo(): fixed typecast warning [Cosmin Truta]
 - unzpriv.h, unix/Makefile, win32/Makefile.gcc: changed build policy for
    POSIX-emulating gcc distributions on Win32 (e.g. CygWin) to default to
    creating POSIX-mode binaries; win32/Makefile.gcc may be used to build
    win32-aware binaries (added -DFORCE_WIN32_OVER_UNIX to default compilation
    options) [Cosmin Truta, SPC]
 - INSTALL, History.552: stylistic text corrections [Cosmin Truta]
 - win32/win32.c: complete revision of timestamp handling code; added prepro-
    cessor flag NO_W32TIMES_IZFIX to allow optional compile with time handling
    exactly like the (faulty) standard of other Windows programs [SPC]
 - unzip.c, INSTALL: announce and document new NO_W32TIMES_IZFIX compilation
    option [SPC]
 - WHERE: updated to new version numbers for Zip and UnZip [SPC]
 - README: summary of main changes for 5.52 added [SPC]

5.52h (20 Feb 05):
 - License: updated list of core authors [Cosmin Truta, Christian Spieler]
 - WHERE: further corrections [Cosmin Truta]
 - windll/windll.c - Wiz_SetOpts(): corrected mapping of PromptToOverwrite and
    noflag to UnZip's internal options structure, finally fixing the windll
    extract mode interface (previous change from 5.40 -> 5.41 fixed some
    issues but created new bugs) [SPC]
 - windll/windll.txt: documented the exact meaning of the windll struct DCL
    flags nfflag, ExtractOnlyNewer, noflag, PromptToOverwrite and their
    interactions [SPC]
 - win32: set ASM_CRC as default for MSC, GCC, LCC, EMX/RSX (vanilla BCC does
    not support inline asm) [SPC]

5.52i (24 Feb 05):
 - proginfo/ziplimit.txt: corrected enhanced limits of the Zip64 extensions,
    updated status info on Info-ZIP's support of Zip64 archives [SPC]
 - windll: renamed MS Visual C++ (5&6) project files into unique names, added
    master workspace file for building all windll projects in one process [SPC]
 - windll: extended MS Visual C++ project files to support both ASM_CRC and
    NOASM builds; changed unzip dll projects to link against the multithreading
    MS C runtime dll [SPC]
 - wince/intrface.cpp - utimeToFileTime(): revised code for more efficiency,
    added support for NO_W32TIMES_IZFIX [SPC]
 - documentation and changelog fixes [SPC]

5.52j (27 Feb 05):
 - AtheOS: some documentation updates (2004-Sep-06) [SPC]
 - tandem/tanunz.c: fix typo in do_wild() [SPC]
 - unix/Makefile: added -DUNIX to some special targets, to be sure [SPC]
 - vms/cmdline.c: corrected declaration of external string constants [SPC]
 - vms/vms.h: removed obsolete definitions [SPC]
 - vms/vms.c: stream-lined code formatting [SPC]
 - WinCE: added workspace file for VCEmbedded 3.0 environment [SPC]
 - windll/: windll.{c|txt}, uzexampl.{c|h}: misc formatting cleanups [SPC]
 - extract.c, fileio.c: cosmetic updates [SPC]
 - inflate.c: fixed undefined global vars error in DEBUG message of the
    USE_ZLIB interface code [Johnny Lee]
 - gbloffs.c: made assembler symbols output safe against multiple defines
    (from UnZip 6.0 beta)  [Paul Kienitz, SPC]
 - Theos: updated theos/Contents, theos/makefile to include Theos-specific
    translation table header file charconv.h [SPC]
 - VMS (unzip.c): updated some help messages from UnZip 6.0 beta sources
    [Steven M. Schweda, SPC]
 - INSTALL: updated description of VMS_TEXT_CONV option [SPC]
 - LICENSE, unzip.h: added Steven M. Schweda to Info-ZIP group [SPC]
 - man/unzip.1: updated Authors list [SPC]
 - README, unzvers.h: switched to "Release" mode (removed BETA note) [SPC]

5.52 (28 Feb 05):
 - win32/win32.c - defer_dir_attribs(): fixed critical "mem-access to nirwana"
    bug when processing directory entries without any local extra field;
    added some explaining comments [Kai Uwe Rommel, Johnny Lee, SPC]
 - wince/punzip.rcv: derive VERSION_PATCH from UZ_PATCHLEVEL [SPC]
 - Updated release dates (History.552, README, unzvers.h, all man pages) [SPC]

==================

These changes occurred in beta versions 5.52a to 5.52.  This list may have
left out some bugfixes and even some features...void where prohibited, your
mileage may vary, etc., etc.

Christian Spieler
