Releases: adamhathcock/sharpcompress
Releases · adamhathcock/sharpcompress
0.42.0 - Async, ARJ and AI
This is one where I leaned heavily on AI for asynchronous implementation and bug fixes. ARJ is provided by @TwanVanDongen
What's Changed
- Configure Dependabot for NuGet updates by @adamhathcock in #950
- Bump actions/setup-dotnet from 4 to 5 by @dependabot[bot] in #957
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #952
- Only allow extract all on archives that are solid (some rars and 7zip only) by @adamhathcock in #964
- Remove a dynamically created stackalloc by @adamhathcock in #966
- Bump AwesomeAssertions from 9.2.0 to 9.2.1 by @dependabot[bot] in #961
- Reduce custom utilities for arrays/bytes by @adamhathcock in #967
- rework dependencies to be correct for frameworks and update by @adamhathcock in #968
- Removed wrappers that weren't needed (probably) by @adamhathcock in #959
- Add JB perf testing project. by @adamhathcock in #969
- Handle vendor-specific and malformed ZIP extra fields safely by @TwanVanDongen in #972
- chore: add Copilot coding agent config and CI workflow by @adamhathcock in #974
- Add Copilot agent manifest and usage documentation by @Copilot in #977
- Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #979
- Add comprehensive async/await support for Stream I/O operations by @Copilot in #978
- adds more async tests and overloads to make things writable and async by @adamhathcock in #980
- Support CompressionType.None for uncompressed 7z files by @Copilot in #986
- Configure Copilot coding agent instructions for SharpCompress by @Copilot in #983
- Fix GZip extraction NotSupportedException for non-seekable streams by @Copilot in #987
- Make all library exceptions inherit from SharpCompressException by @Copilot in #990
- Add support for empty directory entries in archives by @Copilot in #989
- Fix extraction failure on Windows due to case-sensitive path comparison by @Copilot in #988
- Add more Async tests and complete Zip tests by @adamhathcock in #991
- make test linux only by @adamhathcock in #993
- Fix Windows test failures due to ArrayPool buffer sizing by @Copilot in #1000
- Add Async RAR and more by @adamhathcock in #996
- async bzip2 and add by @adamhathcock in #1002
- Fix ArchiveFactory.Open double-wrapping causing "Cannot determine compressed stream type" on Linux by @Copilot in #997
- Adding the ARJ (Archived by Robert Jung) format by @TwanVanDongen in #994
- async lzma by @adamhathcock in #1003
- Refactor SqueezeStream for CLS Compliance, Streaming, and Generic Test Coverage by @TwanVanDongen in #1005
- ARJ multi-part archive handling improved by @TwanVanDongen in #1006
- ArjReader throws exception for password protected archives. by @TwanVanDongen in #1007
- Fix some IStreamStack and SharpCompressStream functions by @Morilli in #1017
- ARJ's methods 1, 2 and 3 implemented for streaming by @TwanVanDongen in #1019
- Async XZ by @adamhathcock in #1004
- Fix memory exhaustion in TAR header auto-detection by @Copilot in #1024
- Fix ArgumentNullException when disposing RarArchive with damaged archives by @Copilot in #1025
- Buffer boundary tests by @TwanVanDongen in #1028
- Added buffer boundary tests. by @TwanVanDongen in #1030
- Update csharpier and reformat by @adamhathcock in #1035
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #1031
- Bump AwesomeAssertions from 9.2.1 to 9.3.0 by @dependabot[bot] in #1009
- Fix version mismatch between Local File Header and Central Directory File Header in Zip archives by @Copilot in #1023
- Fix DivideByZeroException when compressing empty files with BZip2 by @Copilot in #1043
New Contributors
- @Copilot made their first contribution in #977
Full Changelog: 0.41.0...0.42.0
0.41.0 - bigger changes for streams
What's Changed
- Fix volume FileName property potentially missing by @Morilli in #921
- Fix 7-zip solid archive detection by @Morilli in #924
- fix DotSettings options to conform to current code style and editorconfig by @Morilli in #928
- Fix zipentry comment implementation by @Morilli in #929
- Added ArgumentException to Archive.Open implementations by @SimonCahill in #931
- Implement
AttribforZipEntryby @Morilli in #933 - Added IStreamStack for debugging and configurable buffer management. … by @Nanook in #930
- Zip ZStandard Writing with tests. Level support. by @Nanook in #934
- Fix WinzipAesCryptoStream potentially not getting disposed by @Morilli in #939
- Rewind buffer fix for directory extract. by @Nanook in #935
- ZStandard tar support by @mitchcapper in #943
- Extension hinting for ReaderFactory for better first try factory success by @mitchcapper in #945
- Update dependencies and csharpier by @adamhathcock in #947
- update to 0.41.0 and change symbols type by @adamhathcock in #948
New Contributors
- @SimonCahill made their first contribution in #931
- @mitchcapper made their first contribution in #943
Full Changelog: 0.40.0...0.41.0
0.40.0 - fixes galore!
What's Changed
- don't run net48 on non-windows by @adamhathcock in #892
- Fix zip entry handling for entries with data descriptors by @Morilli in #891
- Fix for Rar4 v20 compression. by @Nanook in #893
- use File.OpenRead instead of File.Open in tests to allow concurrent access by @Morilli in #895
- Fix condition in rar v3 code by @Morilli in #894
- Rar2 v20,v26 Multimedia (Audio) decoder fix by @Nanook in #896
- Implement ReadByte for LzmaStream and LzOutWindow by @Morilli in #898
- Implement ReadByte for BufferedSubStream by @Morilli in #897
- make WriteToDirectory functions use ExtractAllEntries by @Morilli in #900
- Handle XZ CheckType SHA-256 by @ms264556 in #901
- Provide access to extended attributes for 7-zip by @jdpurcell in #904
- Base Reader implementation of .ARC format by @TwanVanDongen in #903
- ARC decompression methods 3 and 4 added by @TwanVanDongen in #905
- Added ARC's crunched methods 5, 6, 7 & 8 by @TwanVanDongen in #906
- Optimize LZ OutWindow.CopyBlock by @jdpurcell in #907
- Optimize LZMA range decoder by @jdpurcell in #910
- Update USAGE.md to remove problematic extraction example by @Morilli in #909
- Optimize BufferedSubStream.ReadByte by @jdpurcell in #912
- Fix regression with BufferedSubStream calculation by @jdpurcell in #913
- Add SharpCompressException and use it or children in most places by @adamhathcock in #834
- return Stream.Null when 7z entry has no stream by @zgabi in #854
- Implement multipart rar handling for ExtractAllEntries by @Morilli in #916
- [bzip2] fix possible out of bounds access due to unsanitized nSelectors usage by @Morilli in #918
- Update dependencies and csharpier by @adamhathcock in #914
New Contributors
- @ms264556 made their first contribution in #901
- @jdpurcell made their first contribution in #904
- @zgabi made their first contribution in #854
Full Changelog: 0.39.0...0.40.0
0.39.0 - target framework revamp and fixes
What's Changed
- Restore stream position in ArchiveFactory.IsArchive by @Morilli in #876
- Fixed bug in zip time header flags by @StarkDirewolf in #877
- Exports unclutter by @YoshiRulz in #884
- Fix XZBlock padding calculation when its stream's starting position % 4 != 0 by @Morilli in #878
- Improve rar memory usage by @majorro in #887
- Make helper classes internal by @majorro in #889
- Update to support net48, net481, netstandard2.0, net6 and net8 by @adamhathcock in #888
New Contributors
- @StarkDirewolf made their first contribution in #877
- @YoshiRulz made their first contribution in #884
- @majorro made their first contribution in #887
Full Changelog: 0.38.0...0.39.0
0.38.0 - more additions!
What's Changed
- Tar: Add processing for the LongLink header type by @DannyBoyk in #847
- Fix gzip archives having a
TypeofArchiveType.Tarinstead ofArchiveType.Gzipby @Morilli in #848 - Fix for issue #844 by @Erior in #849
- Issue 842 by @Erior in #850
- Fixed extractions after first ZIP64 entry is read from stream by @pathartl in #852
- Check crc on tar header by @Erior in #855
- Fix for missing empty directories when using ExtractToDirectory by @alexprabhat99 in #857
- Added Explode and (un)Reduce by @gjefferyes in #853
- Fix #858 - Replaces invalid filename characters by @DineshSolanki in #859
- Added support for 7zip SFX archives by @lostmsu in #860
- Update csproj to get green marks and update deps by @adamhathcock in #864
- Added shrink, reduce and implode to FORMATS by @TwanVanDongen in #866
- Fix small typo in USAGE.md by @kikaragyozov in #868
New Contributors
- @Morilli made their first contribution in #848
- @alexprabhat99 made their first contribution in #857
- @gjefferyes made their first contribution in #853
- @DineshSolanki made their first contribution in #859
- @lostmsu made their first contribution in #860
- @kikaragyozov made their first contribution in #868
Full Changelog: 0.37.2...0.38.0
0.37.2 - real source link fix
Full Changelog: 0.37.1...0.37.2
0.37.1 - fix and nuget updates
What's Changed
New Contributors
Full Changelog: 0.37.0...0.37.1
Updated ZstdSharp.Port to be native
Private assets for github link?
0.37.0 - some addittions and fixes!
What's Changed
- Zip: Use last modified time from basic header when validating zip decryption by @DannyBoyk in #805
- Support for decompressing Zip Shrink (Method:1) by @TwanVanDongen in #807
- rar5 read FHEXTRA_REDIR and expose via RarEntry by @coderb in #814
- rar5 improve memory usage by @coderb in #816
- Code clean up by @adamhathcock in #815
- #809 Add README.md to csproj for NuGet by @btomblinson in #817
- Support added for TAR LZW compression (Unix 'compress' resulting in .… by @TwanVanDongen in #819
- Add support for 7z ARM64 and RISCV filters by @klimatr26 in #823
- Fix tar corruption when sizes mismatch by @adamhathcock in #825
- Update README.md - Change API Docs to DNDocs by @NeuroXiq in #829
- Remove ignored nulls by @adamhathcock in #832
- Remove
netstandard20just net7.0 by @adamhathcock in #828
New Contributors
- @klimatr26 made their first contribution in #823
- @NeuroXiq made their first contribution in #829
Full Changelog: 0.36.0...0.37.0
0.36.0 - more RAR fixes and some features!
What's Changed
- ZipWriter: Write correct EOCD record when more than 65,535 files by @DannyBoyk in #792
- Feature/rar5 blake2 by @Erior in #794
- Issue 771, remove throw on flush for readonly streams by @Erior in #801
- Set Empty string for Rar5 password as default by @Erior in #798
- Expose file attributes for rar by @Erior in #800
- Fix reporting size / position by @Erior in #799
- Add support for the UnixTimeExtraField in Zip files by @DannyBoyk in #803
Full Changelog: 0.35.0...0.36.0
RAR5 decryption support and other fixes
What's Changed
- Dont crash on reading rar5 comment #783 by @Erior in #784
- Handle tar files generated with tar -H oldgnu that has large uid/gid values by @Erior in #785
- LZMA EOS marker detection by @Erior in #786
- Bump actions/setup-dotnet from 3 to 4 by @dependabot in #787
- RAR5 decryption support by @Erior in #788
- Dotnet8 by @adamhathcock in #789
Full Changelog: 0.34.2...0.35.0