Commit Graph

2863 Commits

Author SHA1 Message Date
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
Adam Hathcock
3af023a4a8 Use explicit helpers for leaving streams open or not. 2026-04-21 10:43:43 +01:00
Adam Hathcock
72b81b8609 Merge pull request #1293 from puk06/fix/leave-stream-open-default
fix: Change LeaveStreamOpen default from true to false
2026-04-21 10:37:59 +01:00
Puk06
d99b406e09 fix: change default reader options in OpenArchive method for FileInfo 2026-04-21 17:02:30 +09:00
Adam Hathcock
a026806b1c tightens up tests 2026-04-21 08:25:16 +01:00
ぷこるふ
a351b56737 Apply suggestions from code review
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-04-21 10:26:31 +09:00
ぷこるふ
6a7e0b2f10 Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-04-21 10:09:10 +09:00
ぷこるふ
f5e27faefc Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-04-21 09:48:34 +09:00
ぷこるふ
1bd7bf2169 Apply suggestions from code review
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-04-21 09:40:13 +09:00
ぷこるふ
8d193db721 Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-04-21 09:32:27 +09:00
Puk06
ea950457f5 fix(docs): clarify stream handling rules and ownership in AGENTS.md 2026-04-21 09:16:16 +09:00
Puk06
23840b7a0f fix(zip): stop overriding LeaveStreamOpen in OpenArchive 2026-04-21 09:15:56 +09:00
Puk06
37c0f5aec5 fix: Change LeaveStreamOpen default from true to false
As of v0.21, the library is documented to close wrapped streams by default.
However, the ReaderOptions.LeaveStreamOpen property defaulted to true, which
contradicted the documented behavior and caused file locks when deleting
archives after extraction.

Changes:
- Set LeaveStreamOpen = false as the default (consistent with v0.21 design)
- Updated ReaderOptions.cs with comprehensive documentation explaining:
  * File-based vs caller-provided stream handling
  * When to use LeaveStreamOpen = true
  * Usage examples for both scenarios
- Updated AGENTS.md Stream Handling Rules section with:
  * Clear explanation of default disposal behavior
  * Overload differences (file-based vs stream-based)
  * Guidance on using ForExternalStream preset

This ensures the implementation matches the documented behavior and prevents
unexpected file locking issues during archive deletion.

Fixes: File deletion failures after archive extraction
2026-04-20 22:32:36 +09:00
Adam Hathcock
2a62f4dfe2 Add global pax support to TarArchive 2026-04-20 08:26:11 +01:00
Adam Hathcock
823afd4fd5 fixed header format behavior 2026-04-20 07:58:29 +01:00
Adam Hathcock
1ba1966e1c Merge remote-tracking branch 'origin/master' into adam/tar-pax
# Conflicts:
#	src/SharpCompress/Archives/Tar/TarArchive.Async.cs
#	src/SharpCompress/Archives/Tar/TarArchive.cs
#	src/SharpCompress/packages.lock.json
2026-04-19 15:19:19 +01:00
Adam Hathcock
6105373d7f First pass of pax implementation 2026-04-19 15:17:35 +01:00
Adam Hathcock
8bd386cde2 Merge pull request #1275 from adamhathcock/adam/pooledmemorystream
Add a PooledMemoryStream to avoid allocating
2026-04-19 15:02:27 +01:00
copilot-swe-agent[bot]
f8485b0e8c Compute CRC without GetBuffer() in SevenZipWriter to avoid allocation
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/77f37cc4-3538-4df1-a816-aa7391065878

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-04-19 11:33:40 +00:00
Adam Hathcock
a286d104e9 Merge pull request #1288 from adamhathcock/adam/tar-pax
update docs for tar gap analysis and XZ usage
2026-04-19 12:23:42 +01:00
copilot-swe-agent[bot]
49a7e15a8b Add EnsureNotClosed() to Flush and FlushAsync in PooledMemoryStream
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/0ce9533f-f529-4c07-b641-6bf0883a0643

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-04-19 11:20:34 +00:00
Adam Hathcock
e0ccbbb7c7 Update src/SharpCompress/IO/PooledMemoryStream.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-19 12:19:06 +01:00
Adam Hathcock
891d1268fb Update src/SharpCompress/IO/PooledMemoryStream.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-19 12:18:47 +01:00
Adam Hathcock
a59f4f330d update docs for tar gap analysis 2026-04-19 12:17:39 +01:00
Adam Hathcock
ad3c5dafd7 update tests 2026-04-19 12:11:50 +01:00
Adam Hathcock
b36689af20 format 2026-04-19 11:48:54 +01:00
Adam Hathcock
e29670e55f Merge branch 'master' into adam/pooledmemorystream 2026-04-19 11:43:24 +01:00
Adam Hathcock
14b0fd012c Merge pull request #1274 from adamhathcock/adam/master-release
Release to Master
2026-04-19 11:32:16 +01:00
Adam Hathcock
51acd43b16 Merge branch 'release' into adam/master-release 2026-04-19 11:25:39 +01:00
Adam Hathcock
bf075d291b Merge pull request #1286 from puk06/docs/appnote-reference-link
Replace APPNOTE.TXT contents with reference link note
2026-04-15 15:59:29 +01:00
Puk06
f77f372d9f Add specification link label to APPNOTE reference 2026-04-15 07:48:26 +09:00
Puk06
23e72452e3 Replace APPNOTE.TXT contents with reference link note 2026-04-15 07:45:36 +09: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
Copilot
da30b5c805 Fix incorrect code examples in docs for sync/async usage (#1280) 2026-04-10 17:47:33 +01:00
Adam Hathcock
b2b036a2be Merge pull request #1279 from aromaa/fix/access-time-exception 2026-04-10 17:38:48 +01:00
Dirk Lemstra
ef67c0c3bd Corrected async examples. (#1277) 2026-04-10 17:34:51 +01:00
aromaa
4d774c6a7a Fix setting invalid access time fails extraction 2026-04-10 15:56:48 +03:00
Adam Hathcock
2487d8995c Merge remote-tracking branch 'origin/adam/pooledmemorystream' into adam/pooledmemorystream
# Conflicts:
#	src/SharpCompress/IO/PooledMemoryStream.cs
2026-04-05 15:26:18 +01:00
Adam Hathcock
d1e6173b50 remove contiguous buffer tracking and added overrenting array pool test 2026-04-05 15:25:33 +01:00
Adam Hathcock
e7cacdd7ee don't resize ring buffer 2026-04-05 15:19:44 +01:00
Adam Hathcock
fb78598516 implement GetBuffer with non-pooled array creation 2026-04-05 15:16:00 +01:00
Adam Hathcock
ec46584e54 Update src/SharpCompress/IO/PooledMemoryStream.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-05 14:57:36 +01:00
Adam Hathcock
4f09c6dc00 Update tests/SharpCompress.Test/Streams/PooledMemoryStreamTests.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-05 14:57:04 +01:00
Adam Hathcock
bfe78249fc remove net5 from target frameworks to avoid issues 2026-04-05 14:47:41 +01:00
Adam Hathcock
c25fec313e fix PooledMemoryStream.cs 2026-04-05 14:39:15 +01:00
copilot-swe-agent[bot]
8c4fed373b Remove try/catch from async overloads and fix CA1725 parameter naming in PooledMemoryStream
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/1f2c3c48-1112-43f1-82ce-efb157fbe0d5

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-04-05 13:21:54 +00:00
Adam Hathcock
c01dd5cd90 Update tests/SharpCompress.Test/Streams/PooledMemoryStreamTests.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-05 14:16:47 +01:00
Adam Hathcock
5e7644bd18 Update src/SharpCompress/IO/PooledMemoryStream.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-05 14:11:48 +01:00