Commit fde36af
v3.0.4 - Address PR #2 review feedback + capture Tesseract stderr + complete ISystemEnvironment abstraction + CI hygiene
Bundles PRs #3, #5, #6, #7, #8 that all landed at the 3.0.3 version label.
Contents are bug fixes and internal refactoring only — no public API
changes, no breaking behavior:
- #3 Address Copilot review comments from PR #2
- TesseractOcrProvider.ExtractTextFromImageAsync derives the actual
.txt path Tesseract writes (not the caller's input path)
- OcrService.TryDeleteDirectory is now truly best-effort
(catch (IOException or UnauthorizedAccessException))
- #5 Capture Tesseract stderr in OCR-failure exception message
- New internal ProcessResult record struct
- IProcessRunner.RunAsync now returns Task<ProcessResult>
- ProcessRunner reads stdout + stderr concurrently to avoid the
full-pipe deadlock
- #6 Finish ISystemEnvironment abstraction
- ISystemEnvironment.ReadAllTextAsync added so the success branch is
unit-testable without touching the real filesystem
- #7 CI hygiene
- nuget-publish.yml: install Pillow before the icon-optimisation
Python heredoc (was failing with ModuleNotFoundError)
- DocumentTests.FluentApi: Guid-suffixed filename so parallel
TFM hosts do not race on output/fluent-test.pdf
- #8 Clean up nuspec dependency groups (NU5128)
- Drop SuppressDependenciesWhenPacking + dead NU5128 NoWarn
- dotnet pack now emits canonical empty <group> per TFM
Tests: 256/256 pass per TFM × net8.0/net9.0/net10.0
Coverage: 100% line, 97.42% branch
Pack: 0 warnings, 0 errors
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent ccbb01a commit fde36af
1 file changed
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
0 commit comments