YuZlibNg to zlib-ng v2.2.5.YuZip to libzip v1.11.4:YuXz to XZ v5.8.1.lzma_code, the output buffer was big enough, timeout was disabled, and LZMA_FINISH was used.YuZlibNg to zlib-ng v2.2.4.YuZstd to zstd v1.5.7.YuZip to libzip v1.11.3:YuZip to libzip v1.11.2:ZIP_ER_TRUNCATED_ZIP for files that start with a valid local header signature.zip_file_replace now removes the target's extra field information.YuXz to XZ v5.6.3.YuZlibNg to zlib-ng v2.2.2.YuXz to XZ v5.6.2.Yu7zip, with PPMd and LZMA compression and decompression, to 7-Zip v24.07.TYuDeflateCompressor is still available for backwards compatibility and maps to TYuDeflateZlibCompressor. It is marked as deprecated.YuZip error which could cause Zstandard extraction to fail in Win32. Win64 was not affected.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.Yu7zip, with PPMd and LZMA compression and decompression, to 7-Zip v23.01.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.Yu7zip unit.DIZlibConsts.pas: All resourcestrings are now in DIZipConsts.DIZipWriter_DIFileFinder.dpr demo project, upon user request.TYuZstdCompressor to Zstandard 1.5.1.TYuZstdCompressor to the DIZipWriter_Main demo.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.
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.
TYuBZip2Compressor compression engine to bzip2 1.0.8.DI.inc include file. Directly link in DICompilers.inc instead.DI_No_ZipWriter_Component compiler directive. TDIZipWriter now always descends from TComponent. Affects source code only.DI_No_Classes compiler directive. The Classes unit is always used. Source code only.DI_No_Range_Checking compiler directive to DIC_Unsafe. Source code only.TYuLzmaCompressor sets end of stream flag as required by recent versions of 7-Zip.TDIWriter.Write caused ZIP archives to be written incorrectly. Fixed.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.TDIZipWriter:| Old: | New: |
|---|---|
| AddAnsiString | TDIZipWriter.AddStrA |
| AddWideString | TDIZipWriter.AddStrW |
| WriteAnsiString | TDIZipWriter.WriteStrA |
| WriteWideString | TDIZipWriter.WriteStrW |
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.NewZipFile now raises an exception just as any other new .zip file which can not be created.