mirror of
https://github.com/adamhathcock/sharpcompress.git
synced 2026-02-11 21:22:10 +00:00
[PR #1174] merge release to master #1614
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/adamhathcock/sharpcompress/pull/1174
Author: @adamhathcock
Created: 1/28/2026
Status: 🔄 Open
Base:
master← Head:adam/merge-release-to-master📝 Commits (10+)
0a50386Using Constants class differentlyd52facdRemove change014bbc3Initial plana114155Initial plan6c86632Fix grammatical errors in ArcFactory comments53f12d7Add [Obsolete] attribute to ReaderOptions.DefaultBufferSize010a38bAdd clarifying comment about buffer size value differenced11f6aeMerge pull request #1166 from adamhathcock/copilot/sub-pr-11653c88c7fMerge pull request #1167 from adamhathcock/copilot/sub-pr-1165-againd6156f0release branch builds increment patch versions and master builds increment minor versions📊 Changes
23 files changed (+626 additions, -288 deletions)
View changed files
📝
build/Program.cs(+39 -3)📝
src/SharpCompress/Archives/ArchiveFactory.cs(+3 -13)📝
src/SharpCompress/Archives/IArchiveEntryExtensions.cs(+2 -4)📝
src/SharpCompress/Archives/SevenZip/SevenZipArchive.cs(+80 -7)📝
src/SharpCompress/Archives/Tar/TarArchive.cs(+1 -1)📝
src/SharpCompress/Archives/Zip/ZipArchive.Factory.cs(+10 -27)📝
src/SharpCompress/Archives/Zip/ZipArchive.cs(+1 -5)➕
src/SharpCompress/Common/Constants.cs(+10 -0)📝
src/SharpCompress/Factories/ZipFactory.cs(+6 -20)📝
src/SharpCompress/IO/SharpCompressStream.Async.cs(+77 -26)📝
src/SharpCompress/IO/SharpCompressStream.cs(+28 -9)📝
src/SharpCompress/Readers/AbstractReader.Async.cs(+6 -2)📝
src/SharpCompress/Readers/AbstractReader.cs(+1 -1)📝
src/SharpCompress/Readers/ReaderOptions.cs(+9 -1)📝
src/SharpCompress/Utility.Async.cs(+96 -29)📝
src/SharpCompress/Utility.cs(+31 -98)📝
src/SharpCompress/Writers/GZip/GZipWriter.cs(+1 -1)📝
src/SharpCompress/Writers/Zip/ZipWriter.cs(+2 -1)📝
src/SharpCompress/packages.lock.json(+6 -6)📝
tests/SharpCompress.Test/Mocks/ForwardOnlyStream.cs(+3 -3)...and 3 more files
📄 Description
This pull request introduces several improvements and refactorings across the codebase, focusing on streamlining buffer size management, enhancing the SevenZip archive implementation, and improving versioning logic in the build process. The key changes include centralizing the buffer size constant, significant enhancements to the
SevenZipArchiveclass (including new constructors and solid archive handling), and smarter version incrementing based on the current Git branch.Buffer Size Management
Constants.BufferSizeinSharpCompress.Commonto standardize the buffer size used for stream operations across the codebase, replacing hardcoded values and previous buffer size constants. (src/SharpCompress/Common/Constants.cs[1]src/SharpCompress/Archives/IArchiveEntryExtensions.cs[2] [3] [4]src/SharpCompress/Archives/Tar/TarArchive.cs[5]src/SharpCompress/Factories/ZipFactory.cs[6]SevenZip Archive Improvements
SevenZipArchiveclass with new staticOpenmethods supporting various sources (file path,FileInfo, streams, and multi-part archives), and added static methods to detect 7z files by signature. (src/SharpCompress/Archives/SevenZip/SevenZipArchive.cs[1] [2]src/SharpCompress/Archives/SevenZip/SevenZipArchive.cssrc/SharpCompress/Archives/SevenZip/SevenZipArchive.csL134-R319)SyncOnlyStreamworkaround to force synchronous reads due to known LZMA decoder async bugs, and provided internal diagnostics for testing. (src/SharpCompress/Archives/SevenZip/SevenZipArchive.cs[1] [2]Build and Versioning Logic
releasebranch, minor increment for others, and added logic to detect the current branch in both CI and local environments. (build/Program.cs[1] [2] [3]API and Signature Consistency
src/SharpCompress/Archives/ArchiveFactory.cs[1]src/SharpCompress/Factories/ZipFactory.cs[2] [3]Stream Buffering Robustness
SharpCompressStream.Async.csto handle short reads more robustly, ensuring the buffer is filled as expected. (src/SharpCompress/IO/SharpCompressStream.Async.cssrc/SharpCompress/IO/SharpCompressStream.Async.csL27-R32)���� This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.