89 Commits

Author SHA1 Message Date
Adam Hathcock
cd9ce9ad94 Merge pull request #1443 from adamhathcock/fix/1441-sevenzip-libarchive-attributes
Fix 7z writer attribute interoperability with libarchive
2026-10-13 11:12:10 +01:00
Adam Hathcock
cd3a18bce4 Add public 7z writer attribute regression coverage 2026-10-13 09:23:23 +01:00
Adam Hathcock
9c6cfe886a Merge remote-tracking branch 'origin/release' into fix/1441-sevenzip-libarchive-attributes 2026-10-13 09:13:55 +01:00
Adam Hathcock
c7115ced3e Merge pull request #1444 from adamhathcock/fix/1440-sevenzip-directory-only
Fix empty and directory-only 7z archive finalization
2026-10-13 09:12:04 +01:00
Adam Hathcock
dcd2515598 Merge remote-tracking branch 'origin/release' into fix/1439-sevenzip-password-exceptions
# Conflicts:
#	docs/API.md
2026-10-12 17:10:32 +01:00
Adam Hathcock
a147a7bc29 Merge pull request #1442 from adamhathcock/fix/release-pr-1436-followups
pr 1436 followups
2026-10-12 17:05:28 +01:00
Adam Hathcock
68401dc86b Fix formatting and span import in streamless 7z tests 2026-10-12 16:43:34 +01:00
Adam Hathcock
c9f69470ad Refactor offset and size reading to use BinaryPrimitives
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-10-12 16:08:45 +01:00
Adam Hathcock
69e1477ee6 Expose public exceptions for encrypted 7z decoding failures 2026-10-12 15:29:40 +01:00
Adam Hathcock
7d7983e0f4 Fix 7z encryption detection for streamless files 2026-10-12 15:29:40 +01:00
Adam Hathcock
9332fb9c70 Fix empty and directory-only 7z archive finalization 2026-10-12 15:28:49 +01:00
Adam Hathcock
cda73d09bd Fix 7z attribute interoperability with libarchive 2026-10-12 15:27:44 +01:00
Adam Hathcock
9ba6d17b5d Validate 7z AES KDF limits before unsalted key derivation 2026-10-10 15:40:33 +01:00
Adam Hathcock
2f2730fd01 Validate 7z next header bounds before allocation 2026-10-09 11:56:36 +01:00
Adam Hathcock
152a66f802 add more tests 2026-07-23 10:17:28 +01:00
Adam Hathcock
e9e05520d6 7Zip and Rar 2026-06-15 09:29:50 +01:00
Adam Hathcock
d6efe32cda fmt 2026-05-29 09:25:52 +01:00
copilot-swe-agent[bot]
ae8d983b72 Fix flaky progress test by using synchronous IProgress implementation 2026-05-29 08:13:41 +00:00
copilot-swe-agent[bot]
d5a8f98500 Fix async progress reporting for solid 7z extraction 2026-05-29 08:02:33 +00:00
Adam Hathcock
5d14c96fb0 clean up seekable checks 2026-04-23 10:19:37 +01:00
Adam Hathcock
3ed94dd462 add seekable checks 2026-04-23 09:56:26 +01:00
Adam Hathcock
6a402a3b50 use with methods 2026-04-21 11:04:14 +01:00
Adam Hathcock
1f699f3552 manual clean up 2026-04-21 10:59:01 +01:00
Adam Hathcock
4f1f32b508 Fix usages of ReaderOptions 2026-04-21 10:55:59 +01:00
Copilot
20932b81b5 Fix SevenZipArchive.IsSolidAsync() always returning false (#1284)
* Initial plan

* Fix IsSolidAsync() returning false for 7z solid archives

SevenZipArchive was missing an override for IsSolidAsync(), so the
base class default (always returning false) was used. Added an override
that uses the same logic as the sync IsSolid property: load entries
asynchronously and check if any folder has more than one file.

Also updated existing async tests to use IsSolidAsync() instead of
casting to SevenZipArchive to call the sync IsSolid, and added a new
SevenZipArchive_TestSolidDetectionAsync test that mirrors the existing
sync SevenZipArchive_TestSolidDetection test.

Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/60f8daec-e784-4845-a65c-5a493fbb53ef

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-04-13 16:59:23 +01:00
Adam Hathcock
50e8c66c27 Add async 7z writing 2026-02-25 16:39:22 +00:00
Adam Hathcock
543c33e26b fmt 2026-02-24 17:09:32 +00:00
Daniil Bystrukhin
d82cf8f911 Merge feature/sevenzip-writer-lzma - use CompressionType enum, default LZMA2 2026-02-22 21:19:13 -06:00
Daniil Bystrukhin
bcf628568c Replace IsLzma2 flag with CompressionType enum for 7z writer API consistency 2026-02-22 21:08:34 -06:00
Daniil Bystrukhin
6893a68559 Add LZMA2 encoding support for 7z writer 2026-02-21 23:13:40 -06:00
Daniil Bystrukhin
5e8ea67e21 Add 7z writer with LZMA compression support 2026-02-21 23:12:38 -06:00
Adam Hathcock
855d4b4ce2 Use more SC exceptions instead of generic ones 2026-02-16 12:40:07 +00:00
Adam Hathcock
4ab03c0093 fixed more 2026-02-16 09:27:06 +00:00
copilot-swe-agent[bot]
fb70f06fd4 Improve empty-stream test to verify HasStream == false entries
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-14 10:15:55 +00:00
copilot-swe-agent[bot]
31c6eb3b5c Fix NullReferenceException for 7z empty-stream entries
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-14 10:14:01 +00:00
Adam Hathcock
5a319ffe2c create/open always has to be async for detection 2026-02-12 10:18:43 +00:00
Adam Hathcock
d0baa16502 Fix 7z seeking to be contigous in async too 2026-02-11 12:16:19 +00:00
Adam Hathcock
04dd177f19 first pass of removing extraction options (folded into reader options) 2026-02-09 16:52:54 +00:00
Adam Hathcock
6ddcbf2bc9 fix some tests 2026-01-28 11:37:24 +00:00
Adam Hathcock
c219eb4abb Merge branch 'release'
# Conflicts:
#	src/SharpCompress/Archives/ArchiveFactory.cs
#	src/SharpCompress/Archives/AutoArchiveFactory.cs
#	src/SharpCompress/Archives/SevenZip/SevenZipArchive.cs
#	src/SharpCompress/Archives/Zip/ZipArchive.cs
#	src/SharpCompress/Factories/AceFactory.cs
#	src/SharpCompress/Factories/ArcFactory.cs
#	src/SharpCompress/Factories/ArjFactory.cs
#	src/SharpCompress/Factories/Factory.cs
#	src/SharpCompress/Factories/GZipFactory.cs
#	src/SharpCompress/Factories/IFactory.cs
#	src/SharpCompress/Factories/RarFactory.cs
#	src/SharpCompress/Factories/SevenZipFactory.cs
#	src/SharpCompress/Factories/TarFactory.cs
#	src/SharpCompress/Factories/ZStandardFactory.cs
#	src/SharpCompress/Factories/ZipFactory.cs
#	src/SharpCompress/IO/SharpCompressStream.cs
#	src/SharpCompress/Readers/AbstractReader.cs
#	src/SharpCompress/Utility.cs
2026-01-28 11:12:49 +00:00
Adam Hathcock
8a67d501a8 Don't use reflection in tests 2026-01-28 08:10:06 +00:00
copilot-swe-agent[bot]
3c87242bd0 Add test to verify folder stream reuse in solid archives
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-01-27 17:29:44 +00:00
copilot-swe-agent[bot]
db2f5c9cb9 Fix SevenZipReader to iterate entries as contiguous streams
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-01-27 17:01:18 +00:00
Adam Hathcock
65208a30c1 fix more tests 2026-01-22 14:15:47 +00:00
Adam Hathcock
b9ed2b09c1 fmt 2026-01-22 09:05:26 +00:00
Adam Hathcock
db0bb8a30d fix some 7z tests 2026-01-22 08:52:00 +00:00
Adam Hathcock
8df9232171 use extension where appropriate with more fixes 2026-01-21 16:57:25 +00:00
Adam Hathcock
cd70a7760e remvoe AutoFactory 2026-01-16 11:44:12 +00:00
Adam Hathcock
f4ce4cbad8 fix tests for both frameworks 2026-01-16 08:43:13 +00:00
Adam Hathcock
491beabe03 uncomment tests 2026-01-16 08:35:49 +00:00