Release 1.3 - icsharpcode/SharpZipLib GitHub Wiki
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