From 178fea1ab092317435f86800f8474a5666decdcb Mon Sep 17 00:00:00 2001 From: amrali-eg <32075105+amrali-eg@users.noreply.github.com> Date: Thu, 1 Oct 2026 10:41:22 +0300 Subject: [PATCH] Bump version to 3.15.1 and write release notes The only shipped change since v3.15.0 is reporting: a preview's CSV and -Verbose breakdown say WouldConvert instead of Converted (#144). Detection and conversion policy are unchanged, so this is a patch and needs no four-corpus audit. The notes state the new CSV Result value scripts may meet, and that the executables are not code-signed. Co-Authored-By: Claude Opus 5.5 --- README.md | 2 +- docs/RELEASE-NOTES-v3.15.1.md | 44 +++++++++++++++++++ .../Properties/AssemblyInfo.cs | 4 +- 3 files changed, 47 insertions(+), 3 deletions(-) create mode 100644 docs/RELEASE-NOTES-v3.15.1.md diff --git a/README.md b/README.md index d58fb61..6e37928 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [![CI](https://github.com/amrali-eg/EncodingChecker/actions/workflows/ci.yml/badge.svg)](https://github.com/amrali-eg/EncodingChecker/actions/workflows/ci.yml) -# EncodingChecker v3.15.0 +# EncodingChecker v3.15.1 EncodingChecker is a Windows tool for finding, checking, and safely converting text-file encodings. Use the GUI for everyday work or the command line for repeatable jobs. diff --git a/docs/RELEASE-NOTES-v3.15.1.md b/docs/RELEASE-NOTES-v3.15.1.md new file mode 100644 index 0000000..d4ab0d1 --- /dev/null +++ b/docs/RELEASE-NOTES-v3.15.1.md @@ -0,0 +1,44 @@ +# EncodingChecker v3.15.1 + +One reporting fix: a preview no longer calls files `Converted`. What EC detects, converts +and refuses is unchanged. + +## A preview says WouldConvert + +`-WhatIf`, `-Plan`, and the GUI's preview followed by **Export all results as CSV...** +wrote `Converted` in the CSV `Result` column for each file a real run would convert, +although nothing was written. On the command line, only the journal marked the run as a +preview. The `-Verbose` breakdown counted those files as `Converted` too. + +A file that a preview only decided to convert is now `WouldConvert`, in the CSV (on +stdout, written with `-Report`, or exported from the GUI) and in the `-Verbose` +breakdown. `Converted` appears only for a file EC wrote. A file the run never reached +still reads `NotAttempted`. The reverse does not hold: an `Error` row may still have been +replaced, which the journal records. + +## Compatibility + +**The CSV `Result` column has a new value.** A script that counted `Converted` rows in a +preview or a `-Plan` run to learn what would change must now match `WouldConvert`, and a +script that checks for a fixed set of `Result` values will meet a new one. Rows from a +real run are unchanged. + +The journal, the exit codes, conversion semantics (**8**), the plan schema (**6**) and the +journal schema (**6**) are unchanged. Plans written by v3.15.0 still apply. + +## Verification + +- 987 tests pass, none skipped; release build with no warnings. +- `docs/Test-DefectBacklog.ps1` passes: 87 findings, 76 fixed, 7 open. +- The **Shared Unicode detector parity** check is unaffected: neither shared detector + file changed. +- The four-corpus audit was **not** run. It applies to detection and conversion-policy + changes, and this release changes only how a preview is reported. +- **The executables are not code-signed.** The signing secrets are not configured, so + the release workflow skips signing. Shipping unsigned is a decision for this release, + not a passed check. + +## Known open issues + +Recorded in `DEFECT-BACKLOG.md`: a file name with an unpaired UTF-16 surrogate cannot be +planned or backed up (BL-43); it never changes a file's bytes. diff --git a/sources/EncodingChecker/Properties/AssemblyInfo.cs b/sources/EncodingChecker/Properties/AssemblyInfo.cs index 1e39ba6..a752b54 100644 --- a/sources/EncodingChecker/Properties/AssemblyInfo.cs +++ b/sources/EncodingChecker/Properties/AssemblyInfo.cs @@ -41,5 +41,5 @@ // You can specify all the values, or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.15.0.0")] -[assembly: AssemblyFileVersion("3.15.0.0")] +[assembly: AssemblyVersion("3.15.1.0")] +[assembly: AssemblyFileVersion("3.15.1.0")]