Release 1.0 - icsharpcode/SharpZipLib GitHub Wiki
Summary of v1.0
With the move to .NET Standard and the re-licensing to MIT, effort has been put into creating a stable v1.0 API for SharpZipLib.
For more detailed notes, see Pre-release version notes.
Changes
- The targeted frameworks are now:
- .NET Standard 2.0
netstandard2
(Core 2.0+, FW 4.6.1+, Mono 5.2+, UWP 16299) - .NET Framework 4.5
net45
(Mono 4, Dependency-free on Windows 8+/2012+)
See .NET implementation support
- .NET Standard 2.0
- The library is now released under the MIT license. See Issue #103.
- The legacy Stream API has been replaced by the IDisposable pattern. (Stream.Close() calls Dispose(true) by default, so it should be backwards compatible. See Stream.Close Method.
- Encoding now works more predictably, defaulting to UTF-8 encoding and correctly specifying it as such. See ZipStrings and Unicode.
FastZip
now prevents traversal outside of the target directory when extracting unless this is explicitly allowed. See Restrict path traversal on FastZip extraction- The
ICSharpCode.SharpZipLib.Checksums
namespace has been renamedICSharpCode.SharpZipLib.Checksum
.
Pre-release version notes
RC2
Changes
- ZipEntry.IsUnicodeText now defaults to true
- ZipConstants.DefaultCodePage is now called ZipStrings.CodePage (but backwards-compatible wrappers exists on ZipConstants)
For more information, see ZipStrings and Unicode
Fixes
- #253 InflaterInputStream throws 'Invalid input data' when unpacking certain files using RC1
- #251 ZipConstants.DefaultCodePage is set as UTF-8, but the default for FileEntry.IsUnicodeText is still false
RC1
Changes
- Supported frameworks are now
net45
andnetstandard2
Fixes
- #232 SECURITY: vulnerable to zip-slip (possible remote code execution/file overwrite)
- #164 System.NotSupportedException when zipping more than ~4.2 gb of data to a stream that doesn't support seeking
- #229 TestArchive hangs
- #121 TAR in ustar format with long file names: TarEntry name is incomplete
- #151 GZip.Compress ArgumentOutOfRangeException:bufferSize
- #183 0 byte buffers writing 0 bytes fails CRC
- #213 Tar does not read the same number of blocks as it wrote - causes potential socket issues
alpha2
- Import changes from zippo227:
- Add CompressionLevel to Deflater (https://github.com/icsharpcode/SharpZipLib/commit/a4bec6f4fe5ca94bd11129a2d1b5b81303e928f4)
- Import changes from siegfriedpammer:
- Fix #13 - TAR does not have enough EOF blocks
- [BZip2] Enforce baseStream to be non-null in BZip2InputStream and BZip
- [fix #11 - BZip2InputStream CanSeek should be false
- Updated tests and refactoring
alpha1
- Move to new Stream API (PR #138) by zone117x
- Add support for .NET Standard 1.3 (PR #171) by ViktorHofer