release_2.7.1
·
11 commits
to master
since this release
Fixes
- File previews & thumbnails no longer fail:
ReadFilenow falls back to a transient on-demand read when a read arrives without a handle context. This is common during paging I/O (e.g. Windows Explorer generating thumbnails via memory-mapped reads) and previously caused previews/thumbnails to fail. Applies to both the Dokan and WinFsp variants. - More resilient decompression: Out-of-memory conditions are now handled separately from Zlib/Zstd decompression errors. When decompression fails, the engine attempts a 7-Zip fallback before giving up, improving compatibility with tricky archives.
- Correct handling of non-Windows archives: Archive entry paths are now normalized to Unicode Form C, so accented names created on other platforms (e.g. macOS, which uses decomposed Form D) match lookups from Windows. Invalid Unicode (such as unpaired surrogates) is handled gracefully instead of throwing.
- No lost crash reports on shutdown: Pending bug reports are now drained before the network client is disposed during exit, so reports queued moments before closing are no longer dropped.
- Cleaner process termination: Shutdown now terminates with a success exit code (0) instead of a hardcoded failure code, while still bypassing managed finalization that could hang on native filesystem driver threads.
Improvements
- Unified logging pipeline (Serilog): All logging is now consolidated into a single Serilog pipeline that writes a per-session log file, mirrors output to the debugger, and forwards warning-and-above events to the remote bug report service. Expected user/environment errors (bad archives, wrong passwords, cancellations) are filtered out to reduce noise.
- Retired the legacy
error.login favor of the single session log. - Updated
SharpSevenZipto2.0.109.
Full Changelog: release_2.7.0...release_2.7.1