From 9300992c8a0043900a6cd76626310189d2537634 Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Wed, 16 Sep 2026 21:22:42 +0200 Subject: krino-gui(1), README and changelog for 0.0.10 --- CHANGELOG.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'CHANGELOG.md') diff --git a/CHANGELOG.md b/CHANGELOG.md index 14d4931..47af5e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,9 +2,39 @@ ## Unreleased +## 0.0.10 — 2026-09-16 + +A window, `krino-gui`, over the same engine: review and apply a plan, look +back over runs and undo one, and edit a directory's rules with the +configuration checked as you type. The command line is unchanged. + +- `krino-gui`, an optional GTK 4 program built and installed separately + (`make gui`, `make install-gui`; it needs GTK 4 development files and cgo, + which `krino` itself does not). Three tabs: **Plan** (scan a directory, + a checkbox and an explanation per file, Trash or delete-permanently + instead from a row's menu, Apply), **History and undo** (runs newest + first, a run's reversal file by file, refused files with the reason, + Undo), and **Rules** (the directory's excludes and rules as forms, or the + whole file as text; a check after every edit; Test on file; Save that + refuses a file which would not load, keeps the previous text as + `NAME.conf.bak`, and asks before overwriting an edit made elsewhere). + Described in krino-gui(1). +- A plan the window holds open keeps its directory's lock, so nothing moves + underneath it, and applying or closing frees it. Each plan and each undo + is a run of its own in the log, exactly as a command-line invocation is, + and `krino log` and `krino undo` treat them no differently. +- Engine, for both front ends: a `Session` that owns a run's lock, log, run + id and claims (the command line now goes through it, with no change to + what it does); loading a configuration with some files' text supplied in + memory, for the editor's live check; `Explain` that also reports a rule's + captures and the chain a file would get; a printer and splice for one + configuration form; and one atomic way to write a configuration file. +- An undo result now says which file each outcome belongs to, so a front end + can show it per file. Nothing on the command line changes. - A directory that applies nothing no longer frees what an earlier directory of the same run put somewhere: every applied destination stays protected from a later `(on-conflict overwrite)` for the whole run. + ## 0.0.9 — 2026-09-15 Rules that cannot be decided fail closed in two more places, `krino check` -- cgit v1.3