Releases: adamhathcock/sharpcompress
Releases · adamhathcock/sharpcompress
0.44.2 - making EntryStream Dispose more tolerant
What's Changed
- Adam/1151 release cherry pick by @adamhathcock in #1154 same as #1151
Full Changelog: 0.44.1...0.44.2
0.44.1 - add new leave open on streams that changed
What's Changed
- Merge pull request #1145 from adamhathcock/copilot/add-leaveopen-para… by @adamhathcock in #1146
Full Changelog: 0.44.0...0.44.1
0.44.0 - fast follow with critical fixes, new features and dependency bumps
What's Changed
- Configure nuget-release workflow to validate PRs without publishing by @Copilot in #1099
- remove old release by @adamhathcock in #1098
- Fix InvalidOperationException when RAR uncompressed size exceeds header value by @Copilot in #1104
- Bump csharpier from 1.2.4 to 1.2.5 by @dependabot[bot] in #1108
- Add support for ACE archives by @TwanVanDongen in #1102
- Formats.md updated to reflect additions of Ace, Arc and Arj by @TwanVanDongen in #1110
- Bump SimpleExec from 12.1.0 to 13.0.0 by @dependabot[bot] in #1109
- Fix a usage of ReadOnly that use dispose in 7Zip by @adamhathcock in #1113
- Fix async decompression of .7z files by implementing Memory ReadAsync overload by @Copilot in #1114
- Update docs by @adamhathcock in #1120
Full Changelog: 0.43.0...0.44.0
0.43.0 - more fixes, more async, more AI
Big changes:
Progress was redone to use IProgress.
ZstdSharp was moved into the project.
More groundwork for full async as well as more contributions and bug fixes!
What's Changed
- Drop .NET 6, .NET Standard 2.0, .NET 4.8.1, add .NET 10 support by @Copilot in #1049
- Document ZipReader DirectoryEntry behavior and add verification test by @Copilot in #1054
- Fix launch.json debug configurations to use net10.0 by @Copilot in #1056
- add vscode config by @adamhathcock in #1055
- Consolidate agent instructions into AGENTS.md by @Copilot in #1058
- Agent instructions by @adamhathcock in #1057
- Add archive-level password protection flags for 7z and rar by @HeroponRikiBestest in #1060
- Add alternative option for writing TAR archives with USTAR header format by @drone1400 in #1063
- Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #1071
- Bump csharpier from 1.2.1 to 1.2.3 by @dependabot[bot] in #1072
- Move ZstdSharp into SharpCompress - Complete Integration by @Copilot in #1052
- Unified progress reporting for compression and extraction operations by @Copilot in #1044
- Fix async LZMA extraction bug for 7Zip archives by @Copilot in #1081
- Standardize extraction API to WriteToDirectory with IProgress support by @Copilot in #1080
- add extract all test by @adamhathcock in #1076
- Bump JetBrains.Profiler.SelfApi from 2.5.14 to 2.5.15 by @dependabot[bot] in #1082
- Avoid NotSupportedException overhead in SharpCompressStream for non-seekable streams by @Copilot in #1084
- add some markdown files for planning by @adamhathcock in #1085
- Remove ExtractAllEntries restriction for non-SOLID archives by @Copilot in #1077
- Add back System.Buffers and System.Memory to central package management by @Copilot in #1093
- Update dependencies by @adamhathcock in #1091
- Add GitHub Actions workflow for automated NuGet releases with multi-platform builds by @Copilot in #1095
New Contributors
- @HeroponRikiBestest made their first contribution in #1060
- @drone1400 made their first contribution in #1063
Full Changelog: 0.42.0...0.43.0
0.42.1 - ARJ fix
What's Changed
- Fix: Should not throw on ARJ detection by @adamhathcock in #1067
Full Changelog: 0.42.0...0.42.1
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