Releases: adamhathcock/sharpcompress
0.46.4 - zero length LZMA in Zip fix
What's Changed
- Fix DataErrorException when extracting LZMA-compressed zero-byte ZIP entries by @adamhathcock in #1238
Full Changelog: 0.46.3...0.46.4
0.46.3 - expose SharpCompressStream
What's Changed
- Fix SharpCompressStream.Create() buffer size misalignment for non-seekable streams by @Copilot in #1234
- Make SharpCompressStream public by @adamhathcock in #1233
Full Changelog: 0.46.2...0.46.3
0.46.2 - trying to get dependencies right for legacy frameworks
What's Changed
- Downgrade dependencies for legacy frameworks by @adamhathcock in #1226
Full Changelog: 0.46.1...0.46.2
0.46.1 - quick fix for null 7z streams
What's Changed
- Fix NullReferenceException when extracting 7z empty-stream entries by @Copilot in #1219
Full Changelog: 0.46.0...0.46.1
Async fixes that break the API
Open/Create must be asynchronous now so they return ValueTasks when they didn't before.
What's Changed
- RAR5 (and maybe others) async methods are different by @adamhathcock in #1203
- update benchmarks to include async paths by @adamhathcock in #1202
- OpenAsyncReader, OpenAsyncArchive and others must be async for Tar detection by @adamhathcock in #1210
Full Changelog: 0.45.1...0.46.0
Fix for 7z and async
The big regression was fixed in 0.44.5 and 0.45.0 but only for sync. This does it for async too.
What's Changed
- fix async 7z seeking by @adamhathcock in #1200
Full Changelog: 0.45.0...0.45.1
The big Async and API release
This release should be fully async as well as sync depending on the API used. I've endeavoured to make sure no sync methods are used when going via the async interface (and vice versa) but you never know.
Tests should cover things as well as the recent fixes (like the 7z regression)
Options and the API have been revamped so expect API breakages. I think it should be straight-forward but things won't compile.
There is a thing about Dispose vs async Disposing that may or may not be fully covered 😬
Feedback is welcome as I think 1.0 is around the corner with the introduction of Providers and other things. I wanted to get the async revamp out generally first though.
What's Changed
- Consolidate stream extension methods and simplify with framework methods by @Copilot in #1100
- Change ArchiveEncoding to interface. by @adamhathcock in #1117
- Readd netstandard 2.0 by @adamhathcock in #1122
- Add more documentation by @adamhathcock in #1123
- Fix async test method naming inconsistency in ZipArchiveAsyncTests by @Copilot in #1124
- [WIP] Update ZipReader and ZipWriter based on review feedback by @Copilot in #1125
- Fix typo in TestBase.cs comment by @Copilot in #1126
- Fix async test method naming in ZipArchiveAsyncTests by @Copilot in #1127
- More async for ZipReader and ZipWriter by @adamhathcock in #1121
- Add ArcReaderAsync tests by @adamhathcock in #1036
- Change interfaces to be consistent for new Async paths (definitely breaks things) by @adamhathcock in #1128
- More test fixes and some perf changes by @adamhathcock in #1131
- Consolidate NETFRAMEWORK/NETSTANDARD compile flags into LEGACY_DOTNET by @Copilot in #1135
- Add async I/O support for SevenZip archive initialization by @Copilot in #1133
- Remove redundant stream field in AsyncOnlyStream by @Copilot in #1138
- Replace empty catch blocks with explicit exception handling in TarArchive validation methods by @Copilot in #1140
- Fix async test failures after xunit v3 upgrade by @Copilot in #1137
- Upgrade xunit to v3 by @adamhathcock in #1136
- Fix ReadFullyAsync with ArrayPool buffer in SevenZipArchive signature check by @Copilot in #1142
- [WIP] Address feedback on async creation cleanup changes by @Copilot in #1141
- Add leaveOpen parameter to LZipStream and BZip2Stream by @Copilot in #1145
- Fix EntryStream.Dispose() throwing NotSupportedException on non-seekable streams by @Copilot in #1151
- Fix dispose methods to always set _isDisposed and call base.Dispose() when LeaveOpen is true by @Copilot in #1152
- Fix silent iteration failure when input stream throws on Flush() by @Copilot in #1156
- release to master by @adamhathcock in #1162
- Clean up for async creation by @adamhathcock in #1132
- Fix infinite loop in SourceStream.Seek for malformed archives by @Copilot in #1178
- [WIP] WIP address feedback on AOT props and cleanup by @Copilot in #1182
- Add AOT to props and clean up in release by @adamhathcock in #1181
- merge release to master by @adamhathcock in #1174
- release to master merge by @adamhathcock in #1183
- Some clean up post-async merging by @adamhathcock in #1184
- Clean up again by @adamhathcock in #1187
- Add automated performance benchmarks with BenchmarkDotNet by @Copilot in #1188
- Bump csharpier from 1.2.5 to 1.2.6 by @dependabot[bot] in #1192
- Change and clean up options by @adamhathcock in #1193
- Fix archive extraction to preserve directory structure when options is null by @Copilot in #1191
- Add LzwReader support for .Z compressed archives by @Copilot in #1189
- add configure await by @adamhathcock in #1195
Full Changelog: 0.44.5...0.45.0
0.44.5 - 7z SOLID reading fix and buffer size consolidation
What's Changed
- Add [Obsolete] attribute to ReaderOptions.DefaultBufferSize for backward compatibility by @Copilot in #1166
- Fix grammatical errors in ArcFactory comment documentation by @Copilot in #1167
- (Release) Buffer size consolidation by @adamhathcock in #1165
- Fix ZIP parsing failure on non-seekable streams with short reads by @Copilot in #1169
- Fix SevenZipReader to maintain contiguous stream state for solid archives by @Copilot in #1172
Full Changelog: 0.44.4...0.44.5
0.44.4 - 7z/LZMA perf fix
What's Changed
- Fix ArrayPool corruption from double-disposal in BufferedSubStream by @Copilot in #1161
- add check to see if we need to seek before hand by @adamhathcock in #1160
Full Changelog: 0.44.3...0.44.4
0.44.3 -real fix for 0.44.2
What's Changed
- Merge pull request #1156 from adamhathcock/copilot/fix-sharpcompress-… by @adamhathcock in #1157
Full Changelog: 0.44.2...0.44.3