aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-09-14 23:39:37 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-09-14 23:39:37 +0200
commitc09020c2fb01da24d5befbed78ce3b73b5efbe4c (patch)
tree8cd1086588988fafaf238aed8a38a7ec85b0afa3 /CHANGELOG.md
parent3990586a85e91923c0a3ae1a1f0f61420db555ac (diff)
downloadkrino-c09020c2fb01da24d5befbed78ce3b73b5efbe4c.tar.gz
krino-c09020c2fb01da24d5befbed78ce3b73b5efbe4c.zip
content tests are three-valued: unknown when unreadable or read in part
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md7
1 files changed, 7 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 78dbcd8..5c4c0bd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,13 @@
on (a self-extracting installer) has no content, like an image: it no
longer matches a content test, is not set aside by a content exclude, and
raises no warning.
+- A content test that cannot read its file is unknown rather than false,
+ and `and`/`or`/`not` combine unknowns by three-valued logic. A rule never
+ matches on an unknown, so `(not (content "x"))` no longer acts on a file
+ krino could not read; an exclude holds on an unknown only when the text
+ could change its answer; `explain` shows `?`. A document read only in part
+ answers the keywords found in what was read, and leaves the others
+ unknown.
- `{1}` … `{9}` keep the name's diacritics: a folded `name` test still
matches `Lodz`, but `Łódź-faktura.pdf` now files under `Łódź`, not `Lodz`.
- A tool's error message is shown even when it writes more than the