Commit Graph

2365 Commits

Author SHA1 Message Date
Adam Hathcock
ed52ed1e73 Merge remote-tracking branch 'origin/copilot/add-lzwreader-support' into copilot/add-lzwreader-support 2026-02-09 15:05:10 +00:00
copilot-swe-agent[bot]
1ba438d4c7 Add tests for plain .Z files (not tar-wrapped)
- Create test .Z file (large_test.txt.Z) using compress tool
- Add tests for direct LzwReader usage with plain .Z files
- Add tests for ReaderFactory detection of plain .Z files
- Improve filename derivation to unwrap SharpCompressStream
- Verify decompression works correctly for non-tar .Z files
- All 15 tests now passing

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-09 14:56:54 +00:00
Adam Hathcock
77c5fbd739 Merge remote-tracking branch 'origin/master' into copilot/add-lzwreader-support 2026-02-09 14:45:12 +00:00
Adam Hathcock
756cb7bd9d Merge pull request #1192 from adamhathcock/dependabot/nuget/dot-config/csharpier-1.2.6
Bump csharpier from 1.2.5 to 1.2.6
2026-02-09 13:14:17 +00:00
copilot-swe-agent[bot]
a8c06386a3 Address code review feedback: use range syntax and dispose testStream
- Use C# range syntax [..^2] instead of Substring for better readability
- Wrap testStream in using statement for proper resource cleanup

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-09 10:56:11 +00:00
copilot-swe-agent[bot]
b3038010d9 Improve test documentation for tar.Z wrapper detection
- Rename test to clarify it tests tar wrapper detection
- Add detailed comment explaining why we use Tar.tar.Z (LzwStream compression not supported)
- Add assertions to verify ArchiveType.Tar and CompressionType.Lzw are correctly detected

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-09 10:52:13 +00:00
copilot-swe-agent[bot]
ed6c774f08 Address PR review feedback: async IsArchive, tar detection, filename derivation, and code style
- Use LzwStream.IsLzwStreamAsync for async archive detection
- Add TryOpenReader override to detect tar.Z files and return TarReader
- Derive filename from FileStream (strip .Z extension) or use "data" as fallback
- Simplify if-else statements to use ternary operators

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-09 10:50:48 +00:00
dependabot[bot]
c37209618d Bump csharpier from 1.2.5 to 1.2.6
---
updated-dependencies:
- dependency-name: csharpier
  dependency-version: 1.2.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-09 10:48:15 +00:00
Adam Hathcock
0048452efa Remove cancellation tokens for factory methods that aren't async 2026-02-09 09:59:49 +00:00
copilot-swe-agent[bot]
7b746c49cf Fix code review issues: LzwVolume multi-volume flag and extension case
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-07 10:30:56 +00:00
copilot-swe-agent[bot]
1da178a4be Run code formatter on LzwReader implementation
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-07 10:30:00 +00:00
copilot-swe-agent[bot]
2b74807f5e Implement LzwReader support for .Z archives
- Add Lzw to ArchiveType enum
- Create Common/Lzw classes (LzwEntry, LzwVolume, LzwFilePart)
- Create Readers/Lzw/LzwReader with factory methods
- Create LzwFactory for integration with ReaderFactory
- Add comprehensive tests in Lzw test directory
- Update ReaderFactory error message to include Lzw format

Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-07 10:29:18 +00:00
copilot-swe-agent[bot]
38d295b089 Initial plan 2026-02-07 10:23:41 +00:00
Adam Hathcock
690e1d8f6b Merge pull request #1188 from adamhathcock/copilot/add-performance-benchmarks
Add automated performance benchmarks with BenchmarkDotNet
2026-02-06 21:14:21 +00:00
Adam Hathcock
87cab8e16a updating baseline to be what github actions do 2026-02-06 12:28:02 +00:00
Adam Hathcock
e85752ca1d reget results and change threshold to 25 % 2026-02-06 11:58:43 +00:00
Adam Hathcock
2860896640 Merge remote-tracking branch 'origin/master' into copilot/add-performance-benchmarks 2026-02-06 11:51:29 +00:00
Adam Hathcock
8b6d96c9ca Merge pull request #1187 from adamhathcock/adam/cleanup
Clean up again
2026-02-06 11:50:44 +00:00
Adam Hathcock
c96acf18dc updated results? 2026-02-05 15:21:19 +00:00
Adam Hathcock
6eec6faff2 simplify the results to compare 2026-02-05 15:08:00 +00:00
copilot-swe-agent[bot]
118fbbea64 Implement actual benchmark comparison logic with regression detection
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-05 14:28:41 +00:00
copilot-swe-agent[bot]
bbc664ddcc Add generate-baseline build target and JetBrains profiler support
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-05 14:14:54 +00:00
copilot-swe-agent[bot]
2fa8196105 Replace bash scripts with C# build targets for benchmark display and comparison
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-05 13:56:48 +00:00
Adam Hathcock
d4f1dafabb Merge remote-tracking branch 'origin/copilot/add-performance-benchmarks' into copilot/add-performance-benchmarks
# Conflicts:
#	tests/SharpCompress.Performance/Program.cs
2026-02-05 13:45:03 +00:00
Adam Hathcock
f2483be1da update benchmarkdotnet 2026-02-05 13:43:44 +00:00
copilot-swe-agent[bot]
7914b7ddaf Add implementation summary for performance benchmarks
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-05 13:34:10 +00:00
copilot-swe-agent[bot]
0848a1b940 Apply CSharpier formatting to performance benchmarks
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-05 13:33:01 +00:00
copilot-swe-agent[bot]
ca262920c8 Add GitHub Actions workflow, baseline results, and documentation for performance benchmarks
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-05 13:32:23 +00:00
copilot-swe-agent[bot]
2541c09973 Add BenchmarkDotNet performance benchmarks for all major formats
Co-authored-by: adamhathcock <527620+adamhathcock@users.noreply.github.com>
2026-02-05 13:30:57 +00:00
copilot-swe-agent[bot]
2f9b6422c3 Initial plan 2026-02-05 13:24:04 +00:00
Adam Hathcock
c21c7eb5ee always leave open 2026-02-05 09:48:29 +00:00
Adam Hathcock
4e4de625ae Merge remote-tracking branch 'origin/adam/cleanup' into adam/cleanup 2026-02-05 09:35:12 +00:00
Adam Hathcock
3fb8387419 leave stream open 2026-02-05 09:34:54 +00:00
Adam Hathcock
240468f968 Update src/SharpCompress/IO/SharpCompressStream.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-05 09:30:36 +00:00
Adam Hathcock
778a930266 fix inheritance 2026-02-05 09:16:45 +00:00
Adam Hathcock
db544211f5 fmt 2026-02-05 09:07:53 +00:00
Adam Hathcock
d12b539720 some clean up 2026-02-05 08:52:00 +00:00
Adam Hathcock
d26db95aff change some construction 2026-02-05 08:30:52 +00:00
Adam Hathcock
7231b7b35c move static methods on SCStream 2026-02-04 17:03:56 +00:00
Adam Hathcock
73fd2d70ba Merge pull request #1184 from adamhathcock/adam/cleanup
Some clean up post-async merging
2026-02-04 16:47:59 +00:00
Adam Hathcock
c026e02390 remove some redundant casts 2026-02-04 16:47:27 +00:00
Adam Hathcock
9676d6ccc9 fix readonly 2026-02-04 16:14:48 +00:00
Adam Hathcock
fad7cf3b1d fix usages of AsyncBinaryReader 2026-02-04 16:07:06 +00:00
Adam Hathcock
17cb952772 use DIspose on BinaryReader 2026-02-04 15:59:22 +00:00
Adam Hathcock
923217ef0e remove memorystream 2026-02-04 15:45:38 +00:00
Adam Hathcock
0d81d7f243 Merge remote-tracking branch 'origin/master' into adam/cleanup 2026-02-04 15:05:12 +00:00
Adam Hathcock
2070ab282f Merge pull request #1183 from adamhathcock/adam/release-merge
release to master merge
2026-02-04 15:01:18 +00:00
Adam Hathcock
faacff414d changed checks to be less than or equal to zero 2026-02-04 14:57:17 +00:00
Adam Hathcock
642b8bddb8 fixed merge 2026-02-04 14:41:55 +00:00
Adam Hathcock
27f7221902 Merge remote-tracking branch 'origin/release' into adam/release-merge
# Conflicts:
#	Directory.Packages.props
#	build/packages.lock.json
#	src/SharpCompress/Common/Zip/WinzipAesEncryptionData.cs
#	src/SharpCompress/SharpCompress.csproj
#	src/SharpCompress/packages.lock.json
#	tests/SharpCompress.Performance/packages.lock.json
#	tests/SharpCompress.Test/SharpCompress.Test.csproj
#	tests/SharpCompress.Test/packages.lock.json
2026-02-04 14:35:40 +00:00