copilot-swe-agent[bot]
e93c631900
Fix solid RAR single-entry extraction nullref path
2026-07-02 11:22:12 +00:00
Fidel
de8ee30b17
BZip2: add opt-in tolerateTruncatedStream to decode a footerless/partial stream
...
Add a `tolerateTruncatedStream` option (default false) to `BZip2Stream.Create`/`CreateAsync`,
threaded through to `CBZip2InputStream`. When enabled, the decoder accepts a stream that has no
trailing footer - e.g. a truncated stream, or a sub-range of blocks extracted for random access:
- An end-of-input reached while reading a block/footer header (a true block boundary, tracked by
`expectingBlockStart`) is treated as a normal end of stream instead of throwing
`ArchiveOperationException("BZip2 compressed file ends unexpectedly")`. EOF in the middle of a
block, the block CRC, or the Huffman tables still throws.
- The whole-stream combined CRC in the footer is not verified, since a partial decode's running
combined CRC won't match the stored whole-stream value. Per-block CRCs are still enforced.
Default behaviour is unchanged (the flag defaults to false) and the change is applied symmetrically
to the sync and async read paths.
Tests (BZip2StreamTests):
- a footerless header-only stream decodes to empty with the flag and throws without it;
- a real block followed by end-of-input at the next block boundary decodes with the flag and throws
without it;
- a corrupted whole-stream combined CRC is tolerated with the flag and fatal without it;
- a complete, well-formed stream still round-trips with the flag set.
All existing BZip2 tests continue to pass.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-23 13:08:02 +10:00
Adam Hathcock
49d00034e4
update tests
2026-06-19 11:21:39 +01:00
Adam Hathcock
727d2a79f9
updates from review
2026-06-18 17:06:16 +01:00
Adam Hathcock
e8ee054757
rest of the formats
2026-06-15 17:02:31 +01:00
Adam Hathcock
808524d917
BZip2, GZip and XZ done
2026-06-15 09:59:48 +01:00
Adam Hathcock
e9e05520d6
7Zip and Rar
2026-06-15 09:29:50 +01:00
Adam Hathcock
2866bfbd54
First pass with zip
2026-06-15 09:17:05 +01:00
Adam Hathcock
78a2218982
Handle lzma end marker correctly
2026-06-13 15:09:13 +01:00
Adam Hathcock
2d041e5c76
Fixed XZ block CRC64 computation and added notes on XZ format specifics
2026-06-13 14:31:36 +01:00
Adam Hathcock
160ba0938a
review fixes
2026-06-13 10:00:39 +01:00
Adam Hathcock
7814013995
Merge remote-tracking branch 'origin/master' into adam/xz-crc-check
2026-06-13 09:40:39 +01:00
Adam Hathcock
4e3dcabbd0
Add basic crc checking for xz
2026-06-13 09:24:04 +01:00
Adam Hathcock
21b9c33c95
Fix tests
2026-06-12 14:51:56 +01:00
Adam Hathcock
de6e2bfee2
Add WriterOptions.BufferSize property
2026-06-12 14:41:05 +01:00
Adam Hathcock
3a73cfe925
Add instance based extraction size instead of just static
2026-06-11 17:24:42 +01:00
Adam Hathcock
5bfb67e177
Update deps
2026-06-02 09:13:00 +01:00
Adam Hathcock
ca32d49957
Merge remote-tracking branch 'origin/master' into copilot/fix-tararchive-missing-entries
2026-05-29 15:20:22 +01:00
Adam Hathcock
7a6a8d53f9
Fix merge
2026-05-29 15:11:39 +01:00
Adam Hathcock
938995ea43
Merge remote-tracking branch 'origin/master' into copilot/fix-tararchive-missing-entries
...
# Conflicts:
# tests/SharpCompress.Test/Tar/TarArchiveAsyncTests.cs
2026-05-29 14:43:13 +01:00
copilot-swe-agent[bot]
ee64868919
Add tar reader regression tests
2026-05-29 11:58:38 +00:00
Adam Hathcock
e7eb1097fa
update settings to avoid package lock churn
2026-05-29 10:07:10 +01:00
Adam Hathcock
49d3452c4f
Merge remote-tracking branch 'origin/master' into adam/fix-locks
2026-05-29 09:49:35 +01:00
Adam Hathcock
eb5efc27c9
Merge pull request #1340 from adamhathcock/copilot/fix-7zip-progress-reporting
...
Restore `WriteToDirectoryAsync` progress callbacks for solid 7z archives
2026-05-29 09:48:32 +01:00
Adam Hathcock
d6efe32cda
fmt
2026-05-29 09:25:52 +01:00
Adam Hathcock
7c5a7dccb1
Try to fix global.json to avoid churn in locks
2026-05-29 09:25:14 +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
copilot-swe-agent[bot]
5adae487c7
Fix writable archive async disposal and add regression tests
2026-05-28 13:12:11 +00:00
copilot-swe-agent[bot]
0a3c36dc80
Dispose caller-provided stream in async archive open test
2026-05-27 08:05:46 +00:00
copilot-swe-agent[bot]
851aa391c6
test: dispose wrapped cancellation stream
2026-05-27 08:05:19 +00:00
copilot-swe-agent[bot]
c0b42d4806
test: dispose reader stream in async parity test
2026-05-27 08:04:00 +00:00
Adam Hathcock
55df0d30d9
add AOT smoke and missing tests
2026-05-26 15:47:44 +01:00
Adam Hathcock
98b4ffc807
Merge pull request #1332 from adamhathcock/adam/update-docs-skills
...
Add skills
2026-05-26 15:36:44 +01:00
Adam Hathcock
35c9cdd232
add zip skill and upgrade packages
2026-05-26 15:23:29 +01:00
Adam Hathcock
c49c1f46ef
Add correct Xz mapping
2026-05-26 15:06:17 +01:00
copilot-swe-agent[bot]
1af93977ba
Remove regenerated lockfile noise
...
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/afd8cfa5-472e-4624-bb56-1412aaa04e90
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-05-25 09:33:18 +00:00
copilot-swe-agent[bot]
34034e843b
Finalize single-volume FileName fix validation
...
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/afd8cfa5-472e-4624-bb56-1412aaa04e90
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-05-25 09:33:03 +00:00
copilot-swe-agent[bot]
a5ef90ee22
Revert unrelated lockfile updates
...
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/afd8cfa5-472e-4624-bb56-1412aaa04e90
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-05-25 09:30:14 +00:00
copilot-swe-agent[bot]
48ff579bc8
Fix single-volume archive Volume.FileName resolution
...
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/afd8cfa5-472e-4624-bb56-1412aaa04e90
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-05-25 09:29:52 +00:00
copilot-swe-agent[bot]
9699907289
test older consumer API compatibility
...
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/3c4b9fc7-e75a-4e7a-97eb-491fc8d1e50c
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-05-20 15:13:04 +00:00
copilot-swe-agent[bot]
63bfa185f7
fix public init-only API setters
...
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/9d9bc63c-5667-44ae-82f2-bd83df142606
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-05-20 08:14:24 +00:00
Adam Hathcock
576d431378
Add PolySharp. Odd frameworks aren't supported
2026-05-20 08:55:41 +01:00
Adam Hathcock
9d87274c5a
build and test fixes
2026-05-15 11:41:26 +01:00
Adam Hathcock
1e3346208f
Merge remote-tracking branch 'origin/master' into adam/tar-pax
...
# Conflicts:
# src/SharpCompress/Archives/Tar/TarArchive.Factory.cs
# tests/SharpCompress.Test/Tar/TarArchiveAsyncTests.cs
2026-05-15 11:19:20 +01:00
copilot-swe-agent[bot]
2d5c2210e7
Fix tar archive enumeration after fully reading entry streams
...
Agent-Logs-Url: https://github.com/adamhathcock/sharpcompress/sessions/e5d578fd-e9cd-4c00-bbe7-2f77a394926c
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-05-14 16:06:09 +00:00
Adam Hathcock
63b104f2e7
Merge remote-tracking branch 'origin/master' into adam/write-async
...
# Conflicts:
# src/SharpCompress/Compressors/LZMA/Lzma2EncoderStream.cs
# src/SharpCompress/Factories/TarFactory.cs
# src/SharpCompress/Polyfills/StreamExtensions.cs
# src/SharpCompress/Writers/IWriter.cs
2026-05-14 16:12:13 +01:00
Adam Hathcock
da20f512aa
use ValueTask where possible
2026-05-14 15:10:04 +01:00
Adam Hathcock
9e2aac2521
Merge remote-tracking branch 'origin/release' into adam/write-async
2026-05-14 13:09:34 +01:00
Adam Hathcock
4816f09e6c
fmt
2026-05-14 08:48:18 +01:00