diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-09-13 02:31:32 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-09-13 02:31:32 +0200 |
| commit | 26c94eb3db62ec6eebbf8d22c11afe691d9520c4 (patch) | |
| tree | 165e5bf69234b4f96c9b74deb4898d7143ddf120 /CHANGELOG.md | |
| parent | a6e442a645902011b2081c216daaec052cdc6ce6 (diff) | |
| download | krino-0.0.1.tar.gz krino-0.0.1.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.md | 32 |
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. |
