summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-09-13 02:31:32 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-09-13 02:31:32 +0200
commit26c94eb3db62ec6eebbf8d22c11afe691d9520c4 (patch)
tree165e5bf69234b4f96c9b74deb4898d7143ddf120 /CHANGELOG.md
parenta6e442a645902011b2081c216daaec052cdc6ce6 (diff)
downloadkrino-26c94eb3db62ec6eebbf8d22c11afe691d9520c4.tar.gz
krino-26c94eb3db62ec6eebbf8d22c11afe691d9520c4.zip
krino: release 0.0.1 — man pages, install, examples, cross and release, README, changelogv0.0.1
Also: undo removes the directories its run created; a hardlink is never a duplicate of its own other name; a flag written before "undo" is honoured; --version prints no leading v. Duplicate conditions with different scopes not sharing an original is documented as a known limitation.
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md32
1 files changed, 31 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b5adf3e..5bd80c8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,4 +2,34 @@
## Unreleased
-- Initial development: config language, `krino init`, `krino new`, `krino check`, `krino explain`, and the `-n` dry run.
+## 0.0.1 — 2026-09-13
+
+- Per-directory rule files, a main file listing which directories run, and a
+ template for new ones.
+- Conditions with `and`, `or` and `not` over type, name, path, content, size,
+ age and duplicates.
+- Actions copy, move, rename and delete (to Trash by default), chained.
+- Plan, review and approve — all files or per file — with `-y` to skip
+ review.
+- A log of every step, and `krino undo`.
+- Placeholders in destinations and new names.
+- Builds for Linux, FreeBSD and OpenBSD.
+
+Performance: no threshold or target for 0.0.1. These were measured during
+development and are reported rather than promised — throughput is dominated
+by external content extractors, not by krino itself:
+
+- Full plans over a real folder of about 265 files, 164 of them needing text
+ extraction through `pdftotext` at roughly 80 ms each, measured between
+ about 13 and 20 s across runs.
+- A synthetic benchmark during development planned a generated tree of 4,405
+ files needing no extraction in 1.09 s. That benchmark is not `make bench`,
+ whose generated tree is smaller.
+
+Files that share a byte size but differ in content — six templated invoices,
+for instance — are still told apart, because the duplicate check hashes the
+first and last 64 KiB and then the whole file rather than trusting size.
+
+Known limitation: `(duplicate)` conditions with different scopes can elect
+different originals for the same content, and within one directory's rules
+this can select every copy for deletion — see `krino.conf(5)`, DUPLICATES.