History ------- December 12, 1997 ====================================== Bruce Goodman added generic keyfile and lzxkeyfile.readme to archive and re-uploaded to Aminet, as authorized by Jonathan Forbes. Version 1.21r (Registered version only) August 23, 1995 ======================================= * All the changes made to the 1.21 evaluation version (see below), plus: * Fixed directory creation bug for extracting "LHA" and "LZH" files. * Fixed up handling of level 1 file headers; extended directory names and path names are now handled. The operating system field is now also displayed when using the "vv" command, if the operating system is known. * Fixed a bug which could cause LZX to hang on a corrupted LHA archive. * By mistake, the 68020/68030 versions of LZX 1.10r and 1.20r had received the 68040-optimised LHA decompression code, which was designed for the cache of the 68040, rather than for the smaller caches of the 68020/68030. The main loop of the 68020/68030 LHA decompression code now easily fits within the 68030's code cache, resulting in faster operation on a 68030. * The ability to decode LZH and LHA files has been temporarily removed from the 68000 version, since a bug is being investigated in this area. Version 1.21 (Evaluation) August 23, 1995 ======================================= * LZX now contains a $ver version string. * Fixed a bug in the "e" command which slipped into 1.20. * LZX accepts directory names with trailing slashes; e.g. "lzx a archive.lzx dir_name/" now works. * LZX displays the directory name properly when adding files from a logical device (e.g. "lzx a archive.lzx devs:"). * LZX will automatically disable interactivity (as if the -m option had been used) if it detects that standard input is not interactive. * Fixed the handling of empty directories. "lzx -e a archive.lzx empty_dir_name" now works. * Fixed a bug which could cause LZX to hang when decompressing certain corrupted archives. * LZX won't accept invalid characters after the "a" command letter, so that "lzx archive.lzx file1 file2" is recognised as an invalid command. * Fixed the problem where "-a0" did not turn off preservation of file attributes when creating the archive. * If extracting a file from a corrupt archive, LZX will delete the partial file from the destination directory instead of from the current directory. * Fixed a bug in the replace (r) command where it would simply remove files from the archive. * Changed the extract without path preservation command (e) so that one can supply a path name with the name of the file to be extracted. For example, "lzx e archive.lzx dir1/dir2/dir3/filename" will cause that file to be extracted to the current directory as . * If the '-S' option is used, LZX now correctly sets the 'a' flag for files which are stored. Previously, it only set the flag for files which were compressed. * LZX will only recognise files as noncompressible archives if the file extension matches exactly (e.g. ".lha", ".jpg", ".zip"). LZX will not treat "file.lhafoobar" as a compressed file. * Provided a small (~37K) extract-only "UNLZX" program. Version 1.20r (Registered version only) May 30, 1995 ======================================= * New -9 compression mode, which compresses even better than the -3 mode. Going from -3 to -9 usually provides about 1.5 to 3 times the compression improvement of going from the default to -3. * New -Qf "faster compression" mode, which improves compression speed at the expense of RAM (increases memory requirements by 32K). * Faster compression Version 1.20 (Evaluation) May 30, 1995 ========================= * Lowered memory requirements by 80K. Version 1.10r (Registered version only) April 29, 1995 ======================================= * All the changes made to the 1.10 evaluation version (see below), plus: * Asynchronous disk i/o supported for decompression, resulting in a huge speedup if decompressing from a hard disk or floppy disk. More improvements in this area are forthcoming. * Decompression of ".LHA" and ".LZH" files is now supported within LZX. LZX will automatically recognise .lzh and .lha files, so no special options are required to decode these files. LZX generally decompresses these files 25-35% faster than LhA, but performance varies depending on hard drive and CPU speed. NOTE: On the 68000EC version the speed increase is smaller; the raw decompression code is about 20% faster than LhA, but there are additional speed gains if decompressing from floppy or HD. * Archive concatenation ("c" command) * Print files to the console ("p") command * Fast add ("af") command. This command causes LZX to not check an existing archive for duplicate files, but to instead append directly to the end of the existing archive. This option provides a sizeable performance enhancement to Fido-related mail processing setups which do not require such checks. Version 1.10 (Evaluation) May 8, 1995 ========================= * Fixed a wildcard-related bug on the 68000EC version if using AmigaDOS 1.3 and arp.library. * The "e" command now works as intended and does not extract full path name information (unless the -x option is also used). * LZX no longer uses ExamineFH() to obtain information on open files under AmigaDOS Release 2 or later, since not all file system handlers support this operation. Instead, Lock()/Examine() is used. * Fixed the -m option. * Adding new files to existing archives is now much faster. This provides a huge performance boost to Fido-related mail processing setups. * Deleting many files from an archive is now much faster. * LZX now exits with exit status 10 if it cannot append to or create an archive. Previously it did print an error message, but exited with exit status zero. * LZX will now display an "Operation successful" or "Operation failed" message when it exits. * Performance improvements: The 68040/68060 version decompresses about 7% faster. The 68020/68030 version decompresses about 5% faster. Version 1.01 March 20, 1995 ============================ * The LZX "v1" command is now supported as per the documentation, and is identical to LZX "vv" (verbose view). * Fixed the "--" option bug with command line parsing. * LZX now determines if a file to archive is a directory, and will archive the contents of that; e.g. "lzx a archivename.lzx dirname". * LZX won't complain if you try to add files to an empty archive. * LZX won't print blank lines if adding empty dirs with the -F (fast progress display) option. * LZX won't display AmigaDOS requesters (e.g. lzx a test.lzx xxx:blah won't bring up a requester for device "xxx:"). * LZX can now be aborted while it is storing files. * LZX can now be aborted when searching through an archive if adding files to that archive. * The 'e' (extract) command now works. * LZX a arcname * now works. * Fixed a date comparison bug in the updating code. * The -m option now causes files to be overwritten automatically. * Fixed a bug which made LZX very slow decompressing large archives. * Reduced memory requirements by 64K (more memory reductions are coming). * If the -P (task priority) option is used, LZX will now reset the priority to its original state upon exit. * LZX now adds a lower case ".lzx" to archive names, instead of an upper case ".LZX". * Performance improvements: The 68000EC version of LZX compresses about 5% faster. The 68020/68030 version decompresses about 8% faster. More performance improvements are forthcoming; Tomi has been able to tweak another 15% of speed out of the algorithm on the PC, which should hopefully result in a comparable gain when this change is ported to the Amiga version. Version 1.00 February 5, 1995 ============================ * Initial release