Adam Hathcock
1b4cedfa13
misc fixes
2026-01-12 16:21:20 +00:00
Adam Hathcock
6d6103afd6
update docs
2026-01-12 16:08:16 +00:00
Adam Hathcock
d727d76299
Merge remote-tracking branch 'origin/master' into adam/async-interface
2026-01-12 15:02:19 +00:00
Adam Hathcock
0502ff545e
test fixes and fmt
2026-01-12 15:01:29 +00:00
Adam Hathcock
fce4a96718
make Writable interfaces for archive
2026-01-12 14:57:13 +00:00
Adam Hathcock
38203fb950
Fix async reader variable types - Remove double await on ReaderFactory.OpenAsync and use IAsyncReader
...
- Removed 'await' keyword before ReaderFactory.OpenAsync() calls since the method returns IAsyncReader directly (not Task)
- Changed ZipReader.Open() to ReaderFactory.OpenAsync() in Zip64AsyncTests.ReadForwardOnlyAsync()
- Changed TarReader.Open() to ReaderFactory.OpenAsync() in TarReaderAsyncTests.Tar_BZip2_Entry_Stream_Async()
- Fixed EntryStream disposal from 'await using' to 'using' since EntryStream doesn't implement IAsyncDisposable
- These changes fix compilation errors where async methods were being called on IReader (synchronous) instead of IAsyncReader (asynchronous)
2026-01-12 14:14:46 +00:00
Adam Hathcock
65dba509e0
Merge pull request #1121 from adamhathcock/adam/async
...
More async for ZipReader and ZipWriter
2026-01-12 14:07:37 +00:00
Adam Hathcock
0615d17b8b
fix async interfacing for open
2026-01-12 13:45:21 +00:00
Adam Hathcock
c1f8580d89
Remove unnecessary ValueTask wrappers from async factory methods
...
Change return types from ValueTask<T> to direct interface types (IAsyncArchive, IAsyncReader, IWriter) for wrapper methods that don't perform async work. This eliminates unnecessary async state machine allocations while maintaining the same public API behavior.
Changes:
- Interface definitions: Updated IArchiveFactory, IMultiArchiveFactory, IReaderFactory, IWriterFactory
- Concrete factories: Updated archive factories (Zip, Tar, Rar, GZip, SevenZip) and reader-only factories (Ace, Arc, Arj)
- Static factory methods: Updated ReaderFactory, ArchiveFactory, WriterFactory to use new signatures
- Archive classes: Updated static OpenAsync methods in ZipArchive, TarArchive, RarArchive, SevenZipArchive, GZipArchive
- Supporting changes: Updated Factory.cs and async polyfills
Performance benefit: Reduced GC pressure by eliminating unnecessary state machine overhead for non-async wrapper methods.
2026-01-12 13:16:44 +00:00
Adam Hathcock
c5a6f900df
Merge branch 'adam/async' into adam/async-interface
2026-01-12 13:02:51 +00:00
Adam Hathcock
3807c3ce2a
Merge pull request #1127 from adamhathcock/copilot/sub-pr-1121-yet-again
...
Fix async test method naming in ZipArchiveAsyncTests
2026-01-12 12:10:51 +00:00
Adam Hathcock
d2f328af01
Merge pull request #1126 from adamhathcock/copilot/sub-pr-1121-another-one
...
Fix typo in TestBase.cs comment
2026-01-12 12:10:11 +00:00
Adam Hathcock
c3ffcf4fe8
Merge pull request #1125 from adamhathcock/copilot/sub-pr-1121-again
...
[WIP] Update ZipReader and ZipWriter based on review feedback
2026-01-12 12:09:42 +00:00
copilot-swe-agent[bot]
95c409d979
Change File.Create to File.OpenWrite in TarReaderAsyncTests for consistency
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-12 12:09:12 +00:00
Adam Hathcock
dadf9e71bb
Merge pull request #1124 from adamhathcock/copilot/sub-pr-1121
...
[WIP] Address feedback on async implementation for ZipReader and ZipWriter
2026-01-12 12:09:10 +00:00
Adam Hathcock
05ebf22009
Start using the interface to draw distinction between async and sync
2026-01-12 12:08:25 +00:00
copilot-swe-agent[bot]
f4b1780d8a
Rename async test methods to use _Async suffix instead of _Sync
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-12 12:08:23 +00:00
copilot-swe-agent[bot]
921cff00a5
Fix async test method naming: rename Sync to Async
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-12 12:08:09 +00:00
copilot-swe-agent[bot]
64a09eb0f8
Fix typo in TestBase.cs comment: 'akways' -> 'always'
...
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com >
2026-01-12 12:06:47 +00:00
copilot-swe-agent[bot]
3a636531e8
Initial plan
2026-01-12 12:05:34 +00:00
copilot-swe-agent[bot]
292da90184
Initial plan
2026-01-12 12:05:22 +00:00
copilot-swe-agent[bot]
90c8ff8650
Initial plan
2026-01-12 12:05:11 +00:00
copilot-swe-agent[bot]
0f37049aad
Initial plan
2026-01-12 12:05:04 +00:00
Adam Hathcock
3fb07d129f
Use async dispose always
2026-01-12 10:19:01 +00:00
Adam Hathcock
8d0ac5062f
Merge pull request #1123 from adamhathcock/adam/add-more-docs
...
Add more documentation
2026-01-11 12:20:55 +00:00
Adam Hathcock
b2d1505e5c
remove section on allocations
2026-01-11 12:20:40 +00:00
Adam Hathcock
a35e65ee42
use ifdefs for creating files?
2026-01-08 16:52:23 +00:00
Adam Hathcock
d1fcf31f7e
fmt
2026-01-08 16:31:11 +00:00
Adam Hathcock
17cd934b5b
use async methods where we can
2026-01-08 16:24:11 +00:00
Adam Hathcock
ae614cd3fe
update references
2026-01-08 16:14:40 +00:00
Adam Hathcock
47037a4b9d
docs: Add explicit guideline that agents should never commit to git
...
Agents should stage files and leave committing to the user. Only create
commits when the user explicitly requests them.
2026-01-08 15:49:10 +00:00
Adam Hathcock
507b1e35d8
docs: Remove broken references to non-existent files
...
- Remove CONTRIBUTING.md reference from ARCHITECTURE.md
- Remove ERRORS.md reference from API.md
- Remove TROUBLESHOOTING.md reference from ENCODING.md
- Remove TROUBLESHOOTING.md reference from PERFORMANCE.md
All markdown files now reference only existing documentation.
2026-01-08 15:47:57 +00:00
Adam Hathcock
2839e1d33f
Update docs/ENCODING.md
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-08 15:39:47 +00:00
Adam Hathcock
ef0b9d525c
merge conflicts
2026-01-08 15:37:55 +00:00
Adam Hathcock
01e6e04a78
Merge branch 'master' into adam/async
...
# Conflicts:
# src/SharpCompress/Common/Zip/Headers/LocalEntryHeader.cs
# src/SharpCompress/Common/Zip/Headers/ZipFileEntry.cs
2026-01-08 15:36:41 +00:00
Adam Hathcock
8c876c70af
Add more documentation
2026-01-08 15:34:48 +00:00
Adam Hathcock
a7d6d6493e
add version numbers again to get them
2026-01-08 14:22:54 +00:00
Adam Hathcock
b6cc95af73
Merge pull request #1122 from adamhathcock/adam/netstandard-20-readd
...
Readd netstandard 2.0
2026-01-08 14:03:30 +00:00
Adam Hathcock
bdcc1d32c2
fix scratch dir creation
2026-01-08 14:01:35 +00:00
Adam Hathcock
90d91cc7c2
Merge pull request #1117 from adamhathcock/adam/rework-archive-encoding
...
Change ArchiveEncoding to interface.
2026-01-08 13:39:30 +00:00
Adam Hathcock
ec83cf588f
Readd netstandard 2.0
2026-01-08 13:33:36 +00:00
Adam Hathcock
4f0a2e3c95
disable zip64 tests
2026-01-08 12:55:16 +00:00
Adam Hathcock
3747a27109
Task to ValueTask
2026-01-08 12:35:12 +00:00
Adam Hathcock
b501bac54a
better names for new interfaces
2026-01-08 12:02:26 +00:00
Adam Hathcock
7aec98d652
read async interface for reader
2026-01-08 11:28:15 +00:00
Adam Hathcock
406b198e0e
can't dispose before returning
2026-01-08 10:24:33 +00:00
Adam Hathcock
8e42296c3a
switch Task to ValueTask
2026-01-08 10:22:53 +00:00
Adam Hathcock
60e5220bd0
fmt
2026-01-08 09:41:48 +00:00
Adam Hathcock
0f37cbfd0b
archive async path uses new async interface
2026-01-08 09:39:04 +00:00
Adam Hathcock
541fd136d5
IArchiveAsync
2026-01-08 09:14:46 +00:00