DedupCommando v0.9.1

Released · downloads, checksums and signatures on GitHub

For anyone running 0.9.0-beta.4 or an earlier pre-release. This release closes ways a file name or an argument could reach the operator's terminal or files, and makes the commander fast inside a large scan. The database stays at schema v6, so nothing is migrated. The number drops the -beta suffix; the leading 0 still marks the project as a beta.

A file name can no longer drive the terminal

A file name holding an escape sequence could retitle the operator's terminal or clear the screen when the commander listed it. Every screen now shows paths escaped, the status line is escaped again where it is drawn, and each frame is checked before it reaches the terminal. In a CSV export, control characters in a name are written as \n, \u{1b} and so on: printing the file runs nothing, and each record stays one line. The reason a scan stopped, the --stats environment line and error messages are escaped as well.

Two panics fixed

F3 in a window lower than five rows panicked and left the terminal in raw mode. dedcom --stats | head exited with 101 and a panic; it now exits quietly.

The commander inside a large scan

Changing directory inside a scanned tree took seconds of CPU per change: on a scan of 20,000 files, about 3.8 s in beta.4, about 20 ms now, and F3, opening a group and marking no longer wait behind it. At the top of a large scan the panel no longer reads the whole subtree on every refresh: the first visit to a directory is one pass over its rows, and going back up or coming back is immediate while the database does not change.

Marks show and do what the database holds

The manual

The backup and restore scripts in §12 work for databases from 0.9.0-beta.1 and beta.2, step 8 of the quickstart can be followed with the keys it names, and the sample screens and the --purge-quarantine output match the program.

What it does not establish

On upgrade

--storage-type accepts only hdd, ssd and nvme; any other value is now an error. A --state-dir that dedcom does not recognise as its own is refused: point it to a new or empty directory. beta.4 databases open as they are. From beta.1 to beta.3 the first start upgrades dedcom.db to schema v6, as beta.4 did: back it up first with the procedure in the manual (§12, "Backing up and restoring dedcom.db").

With this release, 0.9.0-beta.1 to 0.9.0-beta.4 are no longer supported.

Published from docs/release-notes/v0.9.1.md at v0.9.2.