Skip to content
nils måsén edited this page Oct 7, 2020 · 1 revision

Highlights

  • AES encryption fixes and support in FastZip
  • File name encoding support for Tar
  • Improved Unix timestamp support
  • Better handling of entry file names
  • Fix errors with entries using Stored compression method

Changes

  • TarArchive.ExtractContents() now needs another parameter set to true to allow the extraction to traverse outside of the target directory.
  • TarArchive constructors now includes an Encoding parameter. Omitting it will discard any non-ASCII bytes in file names.

Fixes

  • [#503] Consider AES overhead when testing encrypted folder entries by Richard Webb
  • [#452] Ensure crypto streams are disposed in ZipFile.GetOutputStream by Richard Webb
  • [#333] Handle unsupported compression methods in ZipInputStream better by Richard Webb
  • [#402] Only convert entry.Name once when accessing updateIndex by Vladyslav Taranov
  • [#353] Fix ZipFile.TestLocalHeader CompressionMethod resolving for AES entries by Richard Webb
  • [#460] Account for AES overhead in compressed entry size by Richard Webb
  • [#422] Change ZipOutputStream.PutNextEntry to explicity validate the requested compression method by Richard Webb
  • [#467] Allow seeking a PartialInputStream to the very end by Víctor M. González
  • [#440] Use CompressionMethodForHeader for header entries by Richard Webb
  • [#420] Throw NotSupportedException in ZipFile.Add when trying to add AES entry by Richard Webb
  • [#421] Have ZipFile.Add validate compression compability internally by Richard Webb
  • [#387] Better handle baseStreams closing themselves unexpectedly by Richard Webb
  • [#408] When searching for the Zip64 end of central directory locator, pay attention to its fixed size by Richard Webb
  • [#406] Skip forced Deflate flush when using Stored compression by nils måsén
  • [#362] Don't call CleanName from the ZipEntry constructor by Richard Webb
  • [#465] Use correct count in ZipAESStream.ReadBufferedData by Víctor M. González
  • [#390] Ensure GZipOutputStream headers are written before flush by Richard Webb
  • [#498] Use string.Trim to trim strings by Richard Webb
  • [#432] Throw ArgumentNullException in BZip2 by Richard Webb
  • [#519] Restrict path traversal on TarArchive extraction by nils måsén

Features

  • [#201] Raise ProcessDirectory event for FastZip extract by Stevie-O
  • [#380] Add support for AES encryption in FastZip.CreateZip by Richard Webb
  • [#497] Transform new entry names using an INameTranform in ZipOutputStream by Richard Webb
  • [#482] Add variants of FastZip.CreateZip taking IScanFilter instead of strings by Richard Webb
  • [#455] Add FastZip.CreateZip with a leaveOpen parameter by Richard Webb
  • [#433] Restore directory timestamps when extracting with FastZip by Richard Webb
  • [#472] Allow ZipFile to accept empty strings as passwords when decrypting AES entries by Richard Webb
  • [#364] Add nameEncoding parameter to Tar entries by Yusuke Ito
  • [#463] Improve support for Unix timestamps in ZIP archives by Bastian Eicher

Other changes (not related to library code)

  • [#346] Add a Security Policy by nils måsén
  • [#451] Minimize and update sample app package dependencies by Richard Webb
  • [#505] Expect ZipEntry clean name test to be positive by nils måsén
  • [#504] Fix warning about missing doc comment in FastZip.CreateZip by Richard Webb
  • [#374] Update Docs generation by nils måsén
  • [#431] Remove the link to the sharpdevelop forum from readme.md by Richard Webb
  • [#425] Update Microsoft.SourceLink.GitHub to the 1.0.0 release version by Richard Webb
  • [#483] Suppress CA1707 warnings from LzwConstants by Richard Webb
  • [#458] Dispose of entry streams returned by ZipFile.GetInputStream by Richard Webb
  • [#488] Add [MemoryDiagnoser] to the zip input/output stream benchmark classes by Richard Webb
  • [#489] Remove duplicate ICSharpCode.SharpZipLib.snk by Richard Webb
  • [#494] Use the Range to test different compression levels in InflaterDeflaterTestSuite by Richard Webb
  • [#502] Fix tests and ZipEntry DateTime Kind by nils måsén
  • [#476] Remove duplicated words in comments by Richard Webb
  • [#477] Fix spelling errors in comments by Richard Webb
  • [#479] Streamline and update VB sample projects by Richard Webb
  • [#445] Make InvalidHeaderException serializable by Richard Webb
  • [#450] Fix CA1200 code analyzer warnings by Richard Webb
  • [#435] Add unit test for ZipFile.Add(string fileName, string entryName) by Richard Webb
  • [#448] Fix unit test assert argument order by Richard Webb
  • [#461] Fix Exception doc comments by Richard Webb
  • [#453] Fix the 7-zip interop tests in the .Net 4.6 test build by Richard Webb
  • [#466] Improve the ZipFileStoreAesPartialRead test to test multiple block sizes by Richard Webb
  • [#468] Add test for adding empty folders to archives using FastZip by Richard Webb
  • [#473] Add a Nuget badge to readme.md by Richard Webb
  • [#469] Add test for writing using a zero byte buffer by Richard Webb
  • [#389] Simplify Documentation generation by Robin Sue
  • [#437] Add a ZipCrypto/7zip interop test to the ZipEncryptionHandling tests by Richard Webb
  • [#441] Update the benchmark project to BenchmarkDotNet 0.12.1 by Richard Webb
  • [#444] Multi-target unit tests for .NET Core 2.0 and .NET FW 4.6 by Richard Webb