Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
264 commits
Select commit Hold shift + click to select a range
4ee3b24
Merge PR #240, Add support for POSIX Extended Headers
piksel Jul 12, 2018
083ca7a
Merge PR #241, Fix Gzip.Compress arguments
piksel Jul 12, 2018
6327312
Merge PR #202, Convert CRC checking to ArraySegment
piksel Jul 12, 2018
96df4ca
Merge PR #245, Attempt to read two end blocks when reading tararchive
piksel Jul 13, 2018
a8f1741
Merge PR #247, Update Nuget package for v1.0-rc1
piksel Jul 13, 2018
5578c8f
Merge PR #246, Add new appveyor.yml
piksel Jul 18, 2018
28e14cc
Merge PR #248, Add generic decoding exception classes
piksel Jul 18, 2018
796b5be
Merge PR #249, Update Inflater dynamic header reader to support parti…
piksel Jul 20, 2018
fb9efd0
Merge PR #255, Correctly handle Unicode strings
piksel Jul 21, 2018
e2d4c88
Update ICSharpCode.SharpZipLib.csproj (#256)
piksel Jul 21, 2018
fa75398
Update csproj for v1.0.0 stable (#259)
piksel Aug 15, 2018
8d217ae
Merge PR #264, Update README with renamed namespace
ronaldbarendse Aug 23, 2018
88302c5
Merge PR #265, Add AES encryption tests
piksel Aug 24, 2018
18b6e47
Merge PR #260, Fix AES256 encryption
Sep 16, 2018
0008e71
Merge PR #271, Add test for AES decompress
piksel Sep 16, 2018
4a8cfad
Merge PR #190, Add link to API in README
HebaruSan Oct 27, 2018
0c5da44
Merge PR #282, Add SourceLink dev-dep and include PDB in nupkg
piksel Oct 29, 2018
5ff738b
Merge PR #280: Add support for explicit extraction file name charset
EvilBeaver Nov 12, 2018
96e5c1f
Merge PR #272: Prevent exception in ZipAESTransform
piksel Nov 12, 2018
433e2f4
Merge PR #283: Cleanup, editorconfig, docs and obsolete refs
piksel Nov 12, 2018
7a9b1a2
Merge PR#287, Update issue template to remove checkboxes
piksel Nov 18, 2018
229ff25
Merge PR #293: Do not calculate Adler checksum if it is not necessary…
decipherer Dec 16, 2018
5d2f285
Update ICSharpCode.SharpZipLib.csproj
piksel Dec 16, 2018
d3ad35c
Merge PR #294: Revert Adler32 changes and add test
piksel Dec 18, 2018
4345b6f
Merge PR #297: Add nuget icon to csproj (#297)
piksel Dec 22, 2018
36784aa
Merge PR #298: Fix warnings in test project
piksel Dec 22, 2018
b5e3cbe
Merge PR #299: Update AppVeyor config for tagged versioning (#299)
piksel Dec 22, 2018
45347c3
Fix CI for tagged builds
piksel Dec 22, 2018
0269465
Merge PR #295: Fix ZipEntry name mismatch when attempting to delete a…
benleedom Jan 3, 2019
49a5f43
Update project file with new package tags
piksel Jan 3, 2019
408916b
Remove deprecated PackageLicenseUrl tag
piksel Jan 10, 2019
1847274
Merge PR #301: Revert ArraySegment simplification to speed up CRC32 c…
decipherer Jan 14, 2019
3b4966c
Merge PR #302: Add a leaveOpen parameter to the ZipFile constructor
Numpsy Jan 21, 2019
82855a2
Merge PR #308: Allow AES zip to better handle reading partial stream …
Numpsy Jan 21, 2019
f854d8d
Merge PR #313: Add quotes around the path to the test file when invok…
Numpsy Jan 26, 2019
f68abec
Merge PR# 311: Set isStreamOwner from ZipFile constructor in FastZip.…
Numpsy Jan 26, 2019
4f541a4
Merge PR #312: Set the value of CompressionMethod.BZip2 to 12 as per …
Numpsy Jan 26, 2019
fe9e0d8
Merge PR #314: Fix writing extra data when updating Zip64 entries
Numpsy Feb 3, 2019
25ee644
Merge PR #316: Throw exception when attempting to read a zero code le…
piksel Feb 6, 2019
afcccb0
Merge PR #323: Fix ZipOutputStream.CloseEntry for AES encrypted Store…
Numpsy Mar 4, 2019
43fd81e
Merge PR #325: Ability to mimic a zip file created by a Linux file-sy…
bjorg Jun 15, 2019
1c3f459
Merge PR #336: Treat empty string as no RootPath in TarArchive
iUnknwn Jun 15, 2019
98bbdda
Merge PR #331: Change ZipAESStream to handle reads of less data than …
Numpsy Jun 15, 2019
1a12d9c
Merge PR #330: Add a benchmarks project using BenchmarkDotNet
Numpsy Jun 15, 2019
88cfaa6
Merge PR #225: Fix flushing of GZipOutputStream
adamreeve Jun 15, 2019
5d02051
Merge PR #350: Add tests and overload for ZipEntry.HostSystem
piksel Jun 15, 2019
5cca93d
Merge PR #329: Do not set the StrongEncryption flag for WinZipAes enc…
Numpsy Jun 15, 2019
27ac139
Merge PR #352: Change ZipInputStream.GetNextEntry to set the entry co…
Numpsy Jun 15, 2019
f03a2ef
Merge PR #354: Add LZMA and PPMd to the CompressionMethod enum
Numpsy Jun 16, 2019
6f245b3
Merge PR #326: Dispose TarArchive output streams in case of an exception
Numpsy Jun 18, 2019
1435683
Merge PR #359: Update test sdk and nunit packages to the curent versions
Numpsy Jun 20, 2019
34d7472
Merge PR #371: Add test for GZip with small buffer
piksel Aug 6, 2019
ffe5115
Merge PR #363: Change ZipFile.ReadEntries to always look for the Zip6…
Numpsy Aug 8, 2019
36ece7a
Merge PR #369: Make the custom exception types serializable
Numpsy Aug 8, 2019
805dd79
Merge PR #372: Remove invalid exception and handle 0 reads
piksel Aug 9, 2019
56cbe99
Update csproj for v1.2
piksel Aug 9, 2019
414b8c1
Merge PR #374: Update Docs generation
piksel Aug 11, 2019
ab7f8c5
Fix API docs styling
piksel Aug 11, 2019
7fd6d65
Merge PR #362: Don't call CleanName from the ZipEntry constructor
Numpsy Jan 27, 2020
20c10a5
Merge PR#406: Skip forced Deflate flush when using Stored compression
piksel Jan 27, 2020
6ee0f12
Merge #408: When searching for the Zip64 end of central directory loc…
Numpsy Jan 27, 2020
803b4a2
Merge PR #387: Better handle baseStreams closing themselves unexpectedly
Numpsy Feb 1, 2020
03abcd2
Merge PR #425: Update Microsoft.SourceLink.GitHub to the 1.0.0 releas…
Numpsy Feb 24, 2020
ba7c716
Merge PR #431: Remove the link to the sharpdevelop forum from readme.md
Numpsy Mar 29, 2020
dafdda9
Merge PR #420: Throw NotSupportedException in ZipFile.Add when trying…
Numpsy Mar 29, 2020
fed3bd2
Merge PR #421: Have ZipFile.Add validate compression compability inte…
Numpsy Mar 29, 2020
4127503
In ZipInputStream, store the entry compression method as a Compressio…
Numpsy Apr 5, 2020
b54b511
Merge PR #444: Multi-target unit tests for .NET Core 2.0 and .NET FW 4.6
Numpsy Apr 12, 2020
aa97f8a
Merge PR #441: Update the benchmark project to BenchmarkDotNet 0.12.1
Numpsy Apr 12, 2020
fb93482
Merge PR #437: Add a ZipCrypto/7zip interop test to the ZipEncryption…
Numpsy Apr 12, 2020
a1e5280
Merge PR #436: Use CompressionMethod in ZipInputStream
Numpsy Apr 12, 2020
8f3fa5c
Merge PR #440: Use CompressionMethodForHeader for header entries
Numpsy Apr 12, 2020
9df6f42
Merge PR #389: Simplify Documentation generation
Suchiman Apr 12, 2020
f36ca37
Merge PR #432: Throw ArgumentNullException in BZip2
Numpsy Apr 13, 2020
195b4e2
Merge PR#469: Add test for writing using a zero byte buffer
Numpsy May 31, 2020
97a317a
Merge PR #473: Add a Nuget badge to readme.md
Numpsy Jun 19, 2020
861a313
Merge PR #463: Improve support for Unix timestamps in ZIP archives
bastianeicher Jun 19, 2020
37c3a9e
Merge PR #468: Add test for adding empty folders to archives using Fa…
Numpsy Jun 19, 2020
4d8c4a9
Merge PR #467: Allow seeking a PartialInputStream to the very end
Helios-vmg Jun 19, 2020
00ee653
Merge PR #466: Improve the ZipFileStoreAesPartialRead test to test mu…
Numpsy Jun 19, 2020
5addf0f
Merge PR #465: Fixed bug in ZipAESStream.ReadBufferedData
Helios-vmg Jun 19, 2020
c7a91b8
Merge PR #453: Fix the 7-zip interop tests in the .Net 4.6 test build
Numpsy Jun 19, 2020
3c32813
Merge PR #461: Fix Exception doc comments
Numpsy Jun 19, 2020
4a5ae32
Merge PR #448: Fix unit test assert argument order
Numpsy Jun 19, 2020
4bbcb4b
Merge PR #364: Add nameEncoding parameter to Tar entries
itn3000 Jun 19, 2020
73aa23a
Merge PR #472: Allow ZipFile to accept empty strings as passwords whe…
Numpsy Jun 19, 2020
1a130a0
Merge PR #390: Override Ensure GZipOutputStream headers are written b…
Numpsy Jun 19, 2020
d506c55
Merge PR #435: Add unit test for ZipFile.Add(string fileName, string …
Numpsy Jun 19, 2020
23841d2
Merge PR #433: Restore directory timestamps when extracting with FastZip
Numpsy Jun 19, 2020
274df70
PR #450: Fix CA1200 code analyzer warnings
Numpsy Jun 19, 2020
ca33534
PR #445: Make InvalidHeaderException serializable
Numpsy Jun 19, 2020
32920f9
PR #422: Change ZipOutputStream.PutNextEntry to explicity validate th…
Numpsy Jun 19, 2020
7c4f517
PR #479: Streamline and update VB sample projects
Numpsy Jul 4, 2020
b5898dc
PR #477: Fix spelling errors in comments
Numpsy Jul 4, 2020
b6ab9f5
PR #476: Remove duplicated words in comments
Numpsy Jul 4, 2020
1e8fdfa
SharpZipLib is now using GH Discussions and no longer gitter.im
christophwille Aug 3, 2020
a11665d
Remove state of the union from 2017
christophwille Aug 3, 2020
2082f94
PR #498: Use string.Trim to trim strings (#498)
Numpsy Aug 6, 2020
70e2000
PR #494: Use the Range to test different compression levels in Inflat…
Numpsy Aug 7, 2020
b07ecb4
PR #489: Remove duplicate ICSharpCode.SharpZipLib.snk
Numpsy Aug 7, 2020
fd9e8a8
#488: Add [MemoryDiagnoser] to the zip input/output stream benchmark …
Numpsy Aug 7, 2020
75adef5
PR #455: Add FastZip.CreateZip with a leaveOpen parameter
Numpsy Aug 7, 2020
f593921
PR #458: Dispose of entry streams returned by ZipFile.GetInputStream
Numpsy Aug 7, 2020
3835f0c
PR #483: Suppress CA1707 warnings from LzwConstants
Numpsy Aug 7, 2020
bf4372a
PR #460: Account for AES overhead in compressed entry size (#460)
Numpsy Aug 7, 2020
24f948a
PR #402 Only convert entry.Name once when accessing updateIndex
AqlaSolutions Aug 7, 2020
71cc7bb
PR #502: Fix tests and ZipEntry DateTime Kind
piksel Aug 8, 2020
3491abb
PR #482: Add variants of FastZip.CreateZip taking IScanFilter instead…
Numpsy Aug 9, 2020
1a47326
PR #497: Transform new entry names using an INameTranform in ZipOutpu…
Numpsy Aug 9, 2020
cfc5112
PR #353: Fix ZipFile.TestLocalHeader CompressionMethod resolving for …
Numpsy Aug 9, 2020
59e3080
PR #380: Add support for AES encryption in FastZip.CreateZip
Numpsy Aug 9, 2020
33ab19b
PR #504: Fix warning about missing doc comment in FastZip.CreateZip
Numpsy Aug 9, 2020
96b4d86
PR #505: Expect ZipEntry clean name test to be positive
piksel Aug 9, 2020
63e7e70
Use github workflows for CI (#419)
piksel Aug 15, 2020
c557266
PR #201: Raise ProcessDirectory event for FastZip extract
Stevie-O Aug 15, 2020
83c80d2
PR #333: Handle unsupported compression methods in ZipInputStream better
Numpsy Aug 15, 2020
69ce65c
PR #346: Add a Security Policy
piksel Aug 15, 2020
118fa32
Fix master on-push workflow
piksel Aug 16, 2020
33cf8c4
Make healthy sourcelink nupkgs
piksel Aug 16, 2020
a6cdf09
PR #451: Minimize and update sample app package dependencies
Numpsy Aug 16, 2020
8eb94b1
PR #452: Ensure crypto streams are disposed in ZipFile.GetOutputStream
Numpsy Aug 16, 2020
61d3a21
PR #503: Consider AES overhead when testing encrypted folder entries
Numpsy Aug 16, 2020
0cbdef2
PR #519: Restrict path traversal on TarArchive extraction
piksel Oct 7, 2020
8f7d892
Update ICSharpCode.SharpZipLib.csproj
piksel Oct 7, 2020
a43d9ac
Add Codacy to PR workflow
piksel Oct 8, 2020
4f56780
Add Codacy to Push workflow
piksel Oct 8, 2020
d6735bd
Fix typo in Push workflow
piksel Oct 8, 2020
b1561a0
PR #523: Fix Codacy workflows
piksel Oct 8, 2020
6ffe3c1
PR #522: Use PackageIcon instead of PackageIconUrl in csproj
piksel Oct 8, 2020
716b913
PR #355: Wire up BZip2 compression support for Zip files
Numpsy Oct 8, 2020
1e351fc
PR #525: Update the sample projects to use the v1.3 release
Numpsy Oct 17, 2020
91050e6
PR #511: Move the 7zip helper functions into their own class for easi…
Numpsy Oct 17, 2020
9e02750
PR #509: Make PutNextEntry throw if the entry is AES and no password …
Numpsy Oct 17, 2020
ad02688
#PR 529: Add release workflow
piksel Oct 19, 2020
d0efee0
PR #530: Fix Codacy Workflows
piksel Oct 19, 2020
134b8f4
PR #539: Use securely generated random temporary file names
piksel Nov 21, 2020
7520a3f
PR #538: Use RNGCryptoServiceProvider for crypto headers
piksel Nov 21, 2020
ddc545b
PR #516: Improve CRC32 performance
nsgomez Nov 21, 2020
933c41c
PR #475: Fix updating zips with descriptor entries
piksel Nov 21, 2020
c5c187d
PR #475: Fix updating zips with descriptor entries
Numpsy Nov 21, 2020
ea941dd
PR #541: Update csproj for new release
piksel Nov 21, 2020
6170ef4
CI: run master build on release
piksel Nov 21, 2020
b7bc4e0
#542: Build and publish documentation on release
piksel Nov 22, 2020
fec479c
PR #553: Remove broken codacy integration
piksel Dec 19, 2020
f044a6c
PR #549: Add .NET Standard 2.1 target framework
0xced Feb 6, 2021
89e7bdd
PR #554: Skip CRC calculation for AES zip entries
piksel Feb 6, 2021
703c877
PR #546: Make pure private functions static
Numpsy Feb 6, 2021
33da791
PR #533: Convert the C# sample projects to PackageReference format
Numpsy Feb 6, 2021
1193672
PR #457: add basic async unit tests for the inflator/deflator streams
Numpsy Feb 6, 2021
3d93ae5
chore(ci): fix windows ci env restore
piksel Feb 13, 2021
b29bf56
chore(ci): remove config from matrix
piksel Feb 13, 2021
c814877
PR #510: Build the test bootstrapper app as netcoreapp3.1 instead of …
Numpsy Feb 13, 2021
3617fb9
PR #577: Throw ZipException in ZipAESStream instead of generic Exception
Numpsy Feb 21, 2021
85f20dc
PR #578: Fix typos in the StreamDecodingException doc comments
Numpsy Feb 21, 2021
06ff713
PR #517: Throw exception on Store+Descriptor entries
piksel Feb 21, 2021
f9bd53d
PR #588: Add a simple async read test for ZipFile
Numpsy Mar 7, 2021
c959373
PR #586: Convert VB sample projects to PackageReference format
Numpsy Mar 7, 2021
765eb69
PR #583: Restore entry times on FastZip extract
piksel Mar 7, 2021
1c1df7b
PR #575: Replace uses of new T[0] with Array.Empty<T>
Numpsy Mar 7, 2021
a4e4502
Remove custom nuget config
piksel Mar 7, 2021
5c4e4d3
PR #594: Remove the local nuget.config files from the test projects
Numpsy Mar 7, 2021
00c673e
PR #599: Use net46 as CI target framework for windows tests
piksel Mar 14, 2021
5ae4f10
Split build and pack in CI on push
piksel Mar 14, 2021
6e95ec2
PR #601: pass tests that are within time tolerance
piksel Mar 14, 2021
4cb5853
PR #602: Update test/coverage packages and push to codecov
piksel Mar 14, 2021
7ed87d1
PR #603: pass CreateZip tests that are within time tolerance
piksel Mar 14, 2021
87ffb39
chore(ci): only export coverage for release
piksel Apr 26, 2021
95b353f
test: retry zipcrypto password tests once (#614)
piksel Apr 27, 2021
1493f69
PR #605: Suppress CA1707 warnings in the Constants classes
Numpsy Apr 27, 2021
8ab21b0
PR #593: Simplify DropPathRoot and fix out of bounds issue
piksel Apr 27, 2021
d9fb8a4
PR 351: Add support for Filename field in GZip
piksel Apr 27, 2021
5eea92a
PR #616: Change the build status badge to reference github actions
Numpsy Apr 29, 2021
1b9fcfc
PR #611: Bzip input stream simple vectorization
konrad-kruczynski May 4, 2021
fa08c7d
PR #621: unify PR/push CI build actions
piksel May 8, 2021
99170e1
PR #587: Remove supported method checks from ZipEntry.CompressionMeth…
Numpsy May 8, 2021
7ac1fda
#579: Implement very simple ReadAsync in ZipAESStream
Numpsy May 8, 2021
dad484e
fix CI badge in README
piksel May 8, 2021
ffe69c0
PR #622: security fixes for v1.3.2
piksel May 8, 2021
34879be
update csproj for v1.3.2 release
piksel May 8, 2021
c65486c
PR #627: fix the expected/actual value ordering in unit tests
Numpsy May 11, 2021
51343ec
PR #626: make a couple of private functions static
Numpsy May 11, 2021
e839500
PR #625: Make BZip2Constants static instead of sealed
Numpsy May 11, 2021
232d690
PR #628: Limit code coverage to windows CI
piksel May 11, 2021
08c40e8
PR #604: Move the Password property from DeflaterOutputStream into Zi…
Numpsy May 13, 2021
8e4d144
PR #634: add an async version of the WriteZipOutputStream benchmark
Numpsy May 13, 2021
8c0a169
PR #636: Fix unstable tests and switch to dotcover
piksel May 14, 2021
ac96e60
fix(tar): create translated files in temp (#645)
piksel Jun 30, 2021
0cc20b4
docs(zip): fix ZipStrings typo (#648)
ForNeVeR Jul 8, 2021
f04d973
ci: add codeql analysis
piksel Aug 12, 2021
cd5310f
fix(bzip2): use explicit feature defs for vectorized memory move (#635)
modio-jackson Aug 12, 2021
2b8ff8f
update security policy
piksel Sep 8, 2021
a0e96de
test: add tests for tar path traversal
piksel Sep 18, 2021
5c3b293
fix: specialized tar extract traversal
piksel Sep 18, 2021
641f292
update csproj for v1.3.3 release
piksel Sep 18, 2021
a1423c4
ci: add manual dispatch and logging
piksel Sep 19, 2021
d21c998
ci: fix yaml typo
piksel Sep 19, 2021
1b1ab01
ci: include non-anno tags in version
piksel Sep 19, 2021
c086bc2
chore: add release notes tooling (#665)
piksel Sep 19, 2021
61d36ee
docs(zip): fix slash names in CleanName comment (#668)
ueli-werner Sep 20, 2021
b5b1a92
fix(tar): permit slashed output dir (#666)
piksel Sep 21, 2021
d31fac3
test: repeatability and refactoring (#671)
piksel Oct 9, 2021
d34e5c9
fix(zip): use ushort for ITaggedData.TagID (#669)
Numpsy Oct 9, 2021
6f7d973
chore: remove the test bootstrapper (#670)
Numpsy Oct 9, 2021
e1e1a91
feat(zip): ZipOutputStream async support (#574)
piksel Oct 9, 2021
612969e
feat(zip): better string encoding handling (#592)
piksel Oct 10, 2021
ff64d0a
feat(zip): enable ZipOuputStream to write precompressed files (#683)
Temtaime Nov 17, 2021
b368847
Bump SharpZipLib in /samples/ICSharpCode.SharpZipLib.Samples/cs/sz (#…
dependabot[bot] Feb 2, 2022
ca8c6de
Bump SharpZipLib (#715)
dependabot[bot] Feb 2, 2022
9e0d4a4
Bump SharpZipLib in /samples/ICSharpCode.SharpZipLib.Samples/cs/zf (#…
dependabot[bot] Feb 2, 2022
3677a63
fix(samples): bump lib versions to v1.3.3 (#720)
piksel Feb 10, 2022
05372be
ci: use server 2019 for win builds
piksel Feb 18, 2022
71fe846
ci: use server 2019 for win builds (#727)
piksel Feb 18, 2022
cc8dd78
fix(zip): dont fail test on 0 sizes and descriptor (#736)
piksel Mar 23, 2022
aee3b44
add openupm package badge
piksel Apr 27, 2022
e3bb2f3
feat(zip): make it possible to skip header tests (#689)
piksel Apr 28, 2022
e589b5e
fix(zip): 0 in zip64 local sizes using descriptors (#750)
piksel Apr 28, 2022
d843d6d
feat(tar): support for async streams (#746)
nathan-c May 24, 2022
b5b1b07
fix(zip): skip reading position for non-seekable async streams (#754)
piksel May 24, 2022
a41e066
fix(zip): explicitly specify hash method for Rfc2898DeriveBytes (#765)
yihezkel Aug 11, 2022
7411f3a
fix(tar): read full extended headers (#675)
piksel Aug 14, 2022
79614c5
fix: replace uses of obsolete method `RNGCryptoServiceProvider` (#766)
yihezkel Aug 16, 2022
bdec777
fix(tar): enable unix paths in tar RootPath (#582)
sensslen Aug 16, 2022
519ed73
fix(zip): handle iterating updated entries in ZipInputStream (#642)
piksel Aug 16, 2022
b314d3d
feat(gzip): add GzipOutputStream async support (#672)
piksel Sep 15, 2022
cea8b0d
prepare for v1.4.0 (#755)
piksel Sep 18, 2022
3c1b3ba
docs: fix circular refs and target fw (#775)
piksel Sep 18, 2022
338d57a
ci: build before generating docs
piksel Sep 18, 2022
214eec8
ci: run docs generation on windows
piksel Sep 18, 2022
b8c85b7
ci: use choco docfx on windows
piksel Sep 18, 2022
f6e1987
ci: fix typo in config path
piksel Sep 18, 2022
76eb6c4
ci: split docs gen to build/deploy
piksel Sep 18, 2022
d2a0c68
ci: fix config keys for deploy
piksel Sep 18, 2022
6c96ce2
fix: use ConfigureAwait(false) on every await (#787)
flensrocker Oct 20, 2022
75d1cf8
fix(tar): clear rest of buffer when eof is reached (#789)
piksel Oct 20, 2022
fe2b04b
tests: make test coverage consistent (#790)
piksel Oct 20, 2022
23becfd
fix(tar): use sync codepath on sync methods (#791)
flensrocker Oct 20, 2022
a389d9f
fix(zip): cleanup/fix of StringCodec (#778)
piksel Oct 20, 2022
cdd0931
bump version to v1.4.1
piksel Nov 5, 2022
77c5a97
fix(zip): remove leftover console logging (#809)
piksel Dec 15, 2022
cbb9e83
zip: finish stream async when async (#808)
piksel Dec 15, 2022
58b5c4e
test: update deps for net7 support (#812)
piksel Dec 16, 2022
c4009fd
fix(tar): enable async overrides on net6 (#811)
piksel Dec 16, 2022
68e2f92
fix(zip): fully implement async deflate (#813)
piksel Dec 16, 2022
c51ef18
chore: add issue form templates (#817)
piksel Dec 17, 2022
33f64eb
bump version to v1.4.2
Jan 29, 2023
a155c13
docs: fix missing async override docs (#824)
piksel Jan 30, 2023
c19f0a4
chore(ci): update workflow actions (#825)
piksel Jan 30, 2023
0ef7941
fix(zip): avoid throwing on empty file name (#828)
piksel Mar 12, 2023
a73e64d
Fix ZipFile constructor breaking change (#840)
Bykiev Aug 4, 2023
ff2d7c3
feat(zip): add optional inflater pooling (#843)
lahma Aug 12, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .codacy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
exclude_paths:
- 'docs/**/*'
4 changes: 4 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,7 @@ indent_size = 2
end_of_line = lf
[*.{cmd, bat}]
end_of_line = crlf

[*.yml]
indent_style = space
indent_size = 2
25 changes: 0 additions & 25 deletions .github/ISSUE_TEMPLATE.md

This file was deleted.

92 changes: 92 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: 🐛 Bug report
description: Create a report to help us improve
labels: ["bug"]

body:
- type: textarea
id: description
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is
validations:
required: true

- type: input
id: reproduce-code
attributes:
description: |
If possible, the best way to display an issue is by making a reproducable code snippet available at jsfiddle.
Create a dotnet fiddle which reproduces your issue. You can use [this template](https://p1k.se/sharpziplib-repro) or [create a new one](https://dotnetfiddle.net/).
placeholder: https://dotnetfiddle.net/r39r0c0d3
label: Reproduction Code

- type: textarea
id: reproduce-steps
attributes:
label: Steps to reproduce
description: Steps to reproduce the behavior
placeholder: |
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
validations:
required: true

- id: expected
type: textarea
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
validations:
required: true

- id: operating-system
type: dropdown
attributes:
label: Operating System
multiple: true
options:
- Windows
- macOS
- Linux
validations:
required: false

- id: framework
type: dropdown
attributes:
label: Framework Version
multiple: true
options:
- .NET 7
- .NET 6
- .NET 5
- .NET Core v3 and earlier
- .NET Framework 4.x
- Unity
- Other
validations:
required: false

- id: tags
type: dropdown
attributes:
label: Tags
description: What areas are your issue related to?
multiple: true
options:
- ZIP
- GZip
- Tar
- BZip2
- Encoding
- Encryption
- Documentation
- Async
- Performance

- type: textarea
attributes:
label: Additional context
description: Add any other context about the problem here.
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Ask a question
url: https://github.com/icsharpcode/SharpZipLib/discussions/new?category=q-a
about: Post any questions in QA discussions instead of creating an issue
- name: Discuss
url: https://github.com/icsharpcode/SharpZipLib/discussions/new
about: Discuss with other community members
52 changes: 52 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: 💡 Feature request
description: Have a new idea/feature ? Please suggest!
labels: ["enhancement"]
body:
- type: textarea
id: description
attributes:
label: Is your feature request related to a problem? Please describe.
description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
validations:
required: true

- type: textarea
id: solution
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered.
validations:
required: true

- id: tags
type: dropdown
attributes:
label: Tags
description: What areas are your feature request related to?
multiple: true
options:
- ZIP
- GZip
- Tar
- BZip2
- Encoding
- Encryption
- Documentation
- Async
- Performance

- type: textarea
id: extrainfo
attributes:
label: Additional context
description: Add any other context or screenshots about the feature request here.
validations:
required: false
165 changes: 165 additions & 0 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
name: Build and Test

on:
workflow_dispatch:
inputs:
tag:
description: 'Tag Ref'
required: true
pull_request:
branches: [ master ]
push:
branches: [ master ]
release:

jobs:
Build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
target: [netstandard2.0, netstandard2.1, net6.0]
env:
LIB_PROJ: src/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib.csproj
steps:
- uses: actions/checkout@v3
with:
ref: ${{ github.events.inputs.tag }}
fetch-depth: 0

- name: Setup .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: '6.0.x'

- name: Show .NET info
run: dotnet --info

- name: Build library (Debug)
run: dotnet build -c debug -f ${{ matrix.target }} ${{ env.LIB_PROJ }}

- name: Build library (Release)
run: dotnet build -c release -f ${{ matrix.target }} ${{ env.LIB_PROJ }}

Test:
runs-on: ${{ matrix.os }}-latest
strategy:
fail-fast: false
matrix:
# Windows testing is combined with code coverage
os: [ubuntu, macos]
target: [net6.0]
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Setup .NET Core
if: matrix.target == 'net6.0'
uses: actions/setup-dotnet@v1
with:
dotnet-version: '6.0.x'

- name: Restore test dependencies
run: dotnet restore

- name: Run tests (Debug)
run: dotnet test -c debug -f ${{ matrix.target }} --no-restore

- name: Run tests (Release)
run: dotnet test -c release -f ${{ matrix.target }} --no-restore


CodeCov:
name: Code Coverage
runs-on: windows-2019
env:
DOTCOVER_VER: 2021.1.2
DOTCOVER_PKG: jetbrains.dotcover.commandlinetools
COVER_SNAPSHOT: SharpZipLib.dcvr
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Setup .NET
uses: actions/setup-dotnet@v1
with:
dotnet-version: '6.0.x'

# NOTE: This is the temporary fix for https://github.com/actions/virtual-environments/issues/1090
- name: Cleanup before restore
run: dotnet clean ICSharpCode.SharpZipLib.sln && dotnet nuget locals all --clear

- name: Install codecov
run: nuget install -o tools -version ${{env.DOTCOVER_VER}} ${{env.DOTCOVER_PKG}}

- name: Add dotcover to path
run: echo "$(pwd)\tools\${{env.DOTCOVER_PKG}}.${{env.DOTCOVER_VER}}\tools" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append

- name: Run tests with code coverage
run: dotcover dotnet --output=${{env.COVER_SNAPSHOT}} --filters=-:ICSharpCode.SharpZipLib.Tests -- test -c release

- name: Create code coverage report
run: dotcover report --source=${{env.COVER_SNAPSHOT}} --reporttype=detailedxml --output=dotcover-report.xml

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1.2.2
with:
files: dotcover-report.xml

- name: Upload coverage snapshot artifact
uses: actions/upload-artifact@v2
with:
name: Code coverage snapshot
path: ${{env.COVER_SNAPSHOT}}

Pack:
needs: [Build, Test, CodeCov]
runs-on: windows-latest
env:
PKG_SUFFIX: ''
PKG_PROJ: src/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib.csproj
PKG_PROPS: '/p:ContinuousIntegrationBuild=true /p:EmbedUntrackedSources=true'

steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.events.inputs.tag }}
fetch-depth: 0

- name: Setup .NET Core
uses: actions/setup-dotnet@v1
with:
dotnet-version: '6.0.x'

- name: Build library for .NET Standard 2.0
run: dotnet build -c Release -f netstandard2.0 ${{ env.PKG_PROPS }} ${{ env.PKG_PROJ }}
- name: Build library for .NET Standard 2.1
run: dotnet build -c Release -f netstandard2.1 ${{ env.PKG_PROPS }} ${{ env.PKG_PROJ }}
- name: Build library for .NET 6.0
run: dotnet build -c Release -f net6.0 ${{ env.PKG_PROPS }} ${{ env.PKG_PROJ }}

- name: Add PR suffix to package
if: ${{ github.event_name == 'pull_request' }}
run: echo "PKG_SUFFIX=-PR" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append

- name: Set package version
continue-on-error: true
run: |-
$PKG_GIT_VERSION="$(git describe --tags --abbrev | % { $_.substring(1) })"
Write-Output "::notice::Git describe: $PKG_GIT_VERSION"
Write-Output "::notice::Package suffix: $env:PKG_SUFFIX"
$PKG_VERSION = "${PKG_GIT_VERSION}${env:PKG_SUFFIX}"
Write-Output "::notice::Package version: $PKG_VERSION"
Write-Output "PKG_VERSION=$PKG_VERSION" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append

- name: Create nuget package
run: dotnet pack ${{ env.PKG_PROJ }} -c Release --output dist ${{ env.PKG_PROPS }} /p:Version=${{ env.PKG_VERSION }}

- name: Upload nuget package artifact
uses: actions/upload-artifact@v2
with:
name: Nuget package
path: dist/*.nupkg
Loading