Yunqa • The Delphi Inspiration

Delphi Components and Applications

User Tools

Site Tools


products:zipwriter:history

Table of Contents

YuZip: Version History

YuZip is a Delphi library to create, open, extract from, and modify ZIP archives with multiple algorithms for compression (deflate, bzip2, LZMA, PPMd, XZ, zStandard) and encryption (AES, PKWARE).

YuZip v7.1.1 – 22 Nov 2023

  • Update XZ to v5.4.5.
  • Update zlib-ng to v2.1.5.

YuZip v7.1.0 – 22 Nov 2023

  • Support Delphi 12 Athens Win32 and Win64.
  • TYuDeflateZlibNgCompressor.png New TYuDeflateZlibNgCompressor for TDIZipWriter. It uses zlib-ng for up to four times faster deflate compression on Win64.
  • For zlib deflate compression, use the TYuDeflateZlibCompressor.png new TYuDeflateZlibCompressor compressor.
  • The old TYuDeflateCompressor is still available for backwards compatibility and maps to TYuDeflateZlibCompressor. It is marked as deprecated.

YuZip v7.0.1 – 22 Sep 2023

  • Fix a YuZip error which could cause Zstandard extraction to fail in Win32. Win64 was not affected.
  • Fix conversion between universal time and local time for zip_stat_t.mtime. zip_stat_t.mtime is in UCT and should be converted to localtime for display. The YuZip_ArchiveManager demo has been updated accordingly.
  • The YuZip_ArchiveManager demo reads high precision times from extra fields, if available. This applies to both display and file extraction.
  • Update XZ v5.4.4.
  • Update zlib to v1.3.

YuZip v7.0.0 – 19 Jul 2023

  • Rename DIZipWriter to YuZip so it reflects the added new features to open, extract from, modify existing ZIP archives, and more.
  • Add the YuZip.pas unit, a port of the libzip C library to Delphi, which implements the features outlined above, plus many more.
  • New \Demos\YuZip_ArchiveManager\ demo, a simple ZIP archive GUI inspired by 7-Zip.
  • Update Yu7zip, with PPMd and LZMA compression and decompression, to 7-Zip v23.01.

DIZipWriter v6.12.0 – 11 Jun 2023

  • Updated compression libraries:
    • XZ v5.4.3:
      • Fixed a minor bug in lzma_str_from_filters that produced too many filters in the output string instead of reporting an error if the input array had more than four filters.
    • Zstandard v1.5.5:
      • Fix a rare corruption bug affecting the high compression mode.
      • Improve mid-level compression speed.

DIZipWriter v6.11.0 – 9 Mar 2023

  • Updated compression libraries:
    • XZ v5.4.1, with bug fixes and new features.
    • Zstandard v1.5.4, with bug fixes, new features, and performance enhancements.

DIZipWriter v6.10.0 – 22 Nov 2022

  • TYuPpmdCompressor.png New TYuPpmdCompressor: Compress using the PPMd compression algorithm. Achieves excellent compression ratios especially for textual data. Decompression is widely supported, for example by 7-Zip.
  • The PPMd compression algorithm is from 7-zip and interfaced in the Yu7zip unit.
  • Update XZ compression library to v5.2.8.

DIZipWriter v6.9.2 – 4 Nov 2022

  • Updated compression libraries:
    • zlib v1.2.13.
    • XZ v5.2.7.
    • Zstandard v1.5.2.
  • Compression algorithms now ship as their own .pas / .dcu unit files.
  • Fix missing DIZlibConsts.pas: All resourcestrings are now in DIZipConsts.
  • New DIZipWriter_DIFileFinder.dpr demo project, upon user request.

DIZipWriter v6.9.1 – 6 Jan 2022

  • Update the built-in zstd compressor for TYuZstdCompressor to Zstandard 1.5.1.
  • Add TYuZstdCompressor to the DIZipWriter_Main demo.

DIZipWriter v6.9.0 – 16 Sept 2021

  • Support Delphi 11 Alexandria Win32 and Win64.

DIZipWriter v6.8.0 – 26 Apr 2021

  • TYuZstdCompressor.png New TYuZstdCompressor: Compress using the modern Zstandard compression algorithm. It combines fast compression with high compression ratios. Decompression is super fast and supported by 7-Zip ZS.

DIZipWriter v6.7.0 – 4 Mar 2021

  • TYuXzCompressor.png New TYuXzCompressor: Compress using the XZ compression algorithm, with secure data integrity check.
  • TDIZipWriter.CloseZip returns the position of ZipStream right after the end of the ZIP archive. This value can be used to trim the stream or file in case extra data was previously written by CloseCurrentEntry which failed and reset the stream position.

DIZipWriter v6.6.0 – 5 Jun 2020

  • Support Delphi 10.4 Sydney Win32 and Win64.

DIZipWriter v6.5.1 – 30 Oct 2019

Delphi compilers with support for the inline directive (starting with Delphi 2005) failed to compile DIZipWriter *.bpl packages for the Demo and Commercial editions. They generated a “[dcc32 Fatal Error] DIUtils: F2051 Unit DIContainers was compiled with a different version of DIUtils.StrSameIW”. Regular *.exe applications compiled without problems. The DIZipWriter Source Code also compiled to both *.bpl packages and *.exe applications with no problems.

DIZipWriter v6.5.0 – 8 Oct 2019

  • Update the TYuBZip2Compressor compression engine to bzip2 1.0.8.
  • Improve DIUtils.pas Unicode processing to support Unicode Code Points from $000000 to $10FFFF. Adjust remaining source code accordingly.
  • Update DIUtils.pas Unicode functions to Unicode 12.1.0.
  • Remove DI.inc include file. Directly link in DICompilers.inc instead.
  • Remove support for the DI_No_ZipWriter_Component compiler directive. TDIZipWriter now always descends from TComponent. Affects source code only.
  • Remove support for the DI_No_Classes compiler directive. The Classes unit is always used. Source code only.
  • Rename DI_No_Range_Checking compiler directive to DIC_Unsafe. Source code only.

DIZipWriter v6.4.1 – 1 Jan 2019

  • Replace some old units in the DIZipWriter_Dxx.dpk requires clause which prevented compilation.

DIZipWriter v6.4.0 – 24 Dec 2018

  • Support Delphi 10.3 Rio Win32 and Win64.
  • TYuLzmaCompressor sets end of stream flag as required by recent versions of 7-Zip.

DIZipWriter v6.3.0 – 3 Apr 2017

  • Support Delphi 10.2 Tokyo Win32 and Win64.

DIZipWriter v6.2.2 – 17 Feb 2017

  • Deflate compressior engine update.

DIZipWriter v6.2.1 – 5 Jan 2017

  • Deflate compressior engine update.
  • LZMA compressor engine update.

DIZipWriter v6.2.0 – 7 May 2016

  • Support Delphi 10.1 Berlin Win32 and Win64.

DIZipWriter v6.1.5 – 22 Mar 2016

  • Use AES hardware encryption if available.
  • Minor LZMA compression update.

DIZipWriter v6.1.4 – 15 Sep 2015

  • Support Delphi 10 Seattle Win32 and Win64.

DIZipWriter v6.1.3 – 22 May 2015

  • LZMA compression update: Faster buffer comparison plus other speed optimizations.

DIZipWriter v6.1.2 – 25 Apr 2015

  • Add support for Delphi XE8 Win32 and Win64.

DIZipWriter v6.1.1 – 26 Oct 2014

  • Correct the file header bit which flags UTF-8 encoded file names. This prevented some ZIP reading software to decode Unicode file names.

DIZipWriter v6.1.0 – 3 Oct 2014

  • Support Delphi XE7 Win32 and Win64.
  • Improved documentation shows inherited class members.

DIZipWriter v6.0.0 – 28 Apr 2014

  • Support Delphi XE6 Win32 and Win64.

DIZipWriter v5.5.1 – 17 Feb 2014

  • Compatibility update with other Yunqa products.

DIZipWriter v5.5.0 – 25 Sep 2013

  • Support Delphi XE5 Win32 and Win64.

DIZipWriter v5.0.0 – 14 Jun 2013

  • New: Pluggable Compressor interface.
  • Free choice of compression algorithms:
    • TYuDeflateCompressor.png TYuDeflateCompressor: The ZIP default. Fast, average compression ratio.
    • TYuStoreCompressor.png New TYuStoreCompressor: No compression, but extremely fast.
    • TYuBzip2Compressor.png New TYuBZip2Compressor: Somewhat slower but better compression ratio.
    • TYuLzmaCompressor.png New TYuLzmaCompressor: Slow and memory demanding but excellent compression ratio.
  • New: Zip64 support allows a virtually unlimited number of entries of virtually unlimited size.
  • New: Unicode support for entry names, automatic UTF-8 conversion if needed (and only then).
  • New: Support Delphi XE4 Win32 and Win64.
  • Optimizations and bug fixes.
  • Terminate Delphi 4, Delphi 5, and Delphi 6 support.

DIZipWriter v4.5.0 – 4 Oct 2012

  • Support Delphi XE3 Win32 and Win64.
  • Enforce that an entry name must be a relative path.

DIZipWriter v4.1.0 – 8 Nov 2011

  • Support Delphi XE2 Win64.
  • A bug in TDIWriter.Write caused ZIP archives to be written incorrectly. Fixed.

DIZipWriter v4.0.0 – 15 Oct 2011

  • Support Delphi XE2 Win32.

DIZipWriter v3.2.1 – 20 Feb 2011

  • Compatibility update for parallel usage with other Yunqa Delphi products.

DIZipWriter v3.2.0 – 28 Sep 2010

  • Delphi XE support.

DIZipWriter v3.1.2 – 26 Mar 2010

  • Update zlib compression to 1.2.4.
  • Completely revised the help generator to ease navigation and improve readability. Send your feedback!

DIZipWriter v3.1.1 – 17 Dec 2009

  • Additions and bug fixes to DIUtils.pas.

DIZipWriter v3.1.0 – 14 Sep 2009

  • Delphi 2010 support.

DIZipWriter v3.0.1 – 31 Jan 2009

  • Work around an unexpected Delphi 2009 automatic numeric AnsiChar Unicode conversion in DIUtils.pas which caused an error when compiled on a Windows OS set to a non-European (Asian, Cyrillic, etc.) codepage.

DIZipWriter v3.0.0 – 24 Nov 2008

  • Delphi 2009 support.

DIZipWriter v2.3.1 – 1 Jul 2008

  • Improve compatibility for parallel installation with other DI packages.

DIZipWriter v2.3 – 15 May 2007

  • Delphi 2007 support.

DIZipWriter v2.2 – 28 Dec 2005

  • Added compatibility with Delphi 2006 Win32.

DIZipWriter v2.1.2 – 14 Oct 2005

  • Added Delphi 3 compatibility to the utility units.
  • Resolved dependency issues when DIZipWriter is used in parallel with other DI products.

DIZipWriter v2.1.1 – 25 Sep 2005

  • Fixed a small packaging bug in the Demo edition which unfortunately slipped into the last update. Commercial and Source code editions do not require this update.

DIZipWriter v2.1 – 25 Aug 2005

  • Updated to use the latest version of the zlib compression library.
  • Recompiled the zlib library with Delphi-omtimized register calling conventions for improved performance.
  • Comatability when used in parallel with other Delphi Inspration products.

DIZipWriter v2.0 – 14 Apr 2005

  • Added support for Delphi 2005 Win32.
  • Added advanced AES 128-, 192, and 256-bit AES encryption compatible with WinZip 9.0, which provide much greater cryptographic security than the traditional Zip 2.0 encryption method. At the time of writing, there is no other known Delphi ZIP component supporting this high level of secutiry. AES encrypted ZIP files created with DIZipWriter can be opened and extracted with WinZip just like regular ZIP files with no or standard encryption.
  • The new TDIZipWriter.DataType property allows to determine the data type attribute for each ZIP entry. The options are dtBinary, dtText, or dtUnknown. For the latter, TDIZipWriter determines the data type automatically. This new property was explicitly requested by some users who found that certain ZIP software apparently unzips differently depending on the data type.
  • Updated the deflate compression engine.

DIZipWriter v1.30 – 1. September 2003

  • Improved Exception Handling for running out of disk space.
  • Shortened the following methods of TDIZipWriter:
Old:New:
AddAnsiStringTDIZipWriter.AddStrA
AddWideStringTDIZipWriter.AddStrW
WriteAnsiStringTDIZipWriter.WriteStrA
WriteWideStringTDIZipWriter.WriteStrW
  • Established compiler compatibility with other Delphi Inspiration products.

DIZipWriter v1.26 – 30. March 2003

  • Established compiler compatibility with other Delphi Inspiration products.

DIZipWriter v1.25 – 6. January 2003

  • Both NewZipFile and NewZipStream have an OffSet parameter which specifies the final position of the Zip archive within the output file or stream. While Offset is usually zero, it might differ when appending a Zip archive to a SFX stub in order to create self extracting Zip archvies. There are SFX stubs freely available on the Internet.
  • Improved error handling in case of stream write errors, like when running out of disk space.
  • Established compiler compatibility with other Delphi Inpiration products.

DIZipWriter v1.20 – 11. November 2002

  • Worked around a compiler and linker bug in D4, D5, D6 and D7 where Delphi terminates comilation with an error if any code with WideChar set constants is compiled with TD32 Debug Info enabled.

DIZipWriter v1.10 – 18. October 2002

  • Updated for Delphi 7 compatibility.
  • Passing an empty string to NewZipFile now raises an exception just as any other new .zip file which can not be created.

DIZipWriter v1.00 – 24. April 2002

  • Initial public release.
products/zipwriter/history.txt · Last modified: 2023/12/11 16:15 by 127.0.0.1