From c1069ce07e8020831b2ed08f71f235c8c92aed5f Mon Sep 17 00:00:00 2001 From: Duncan Tourolle Date: Sun, 30 Aug 2026 21:33:16 +0200 Subject: [PATCH] Release 0.10.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A bug fix release. Nothing here changes what DarkRoom is for since 0.10.0; it changes how often it does the thing it already claimed to do. The edits that went missing. A subject or category layer was stored as identity alone, on the reasoning that the pixels were reproducible by re-running the model — true, but nothing re-runs one except a photographer pressing "find subjects". So a reopened photograph rendered without its local adjustments and then saved that state back, and a batch export wrote three hundred files without the edits their photographer had made, over a log warning. The coverage now travels in the sidecar. Export also learned to write the photograph rather than the canvas, and to carry the photograph's header when the export is made from develop. Face indexing was reading previews. It ran against a proxy and then recorded the result as though it had seen the photograph, so faces smaller than the proxy could resolve were not missed, they were *concluded absent*. Indexing now runs on the native render, runs made against proxies too small to find a face are forgotten rather than trusted, and a sweep that fails everything says so instead of reporting a clean pass. Where you were. The photo roll opens on the frame it opened with, develop returns you to the photograph you were editing, the grid keeps its place when another screen covers it, and the photographer's position now travels between devices rather than being rediscovered on each. Startup. The catalog opens on a worker and the bundled models unpack on one, so a launch is no longer a page-by-page read on the way to the first frame; the app says it is starting before there is anything to say it with. The People rail builds the rows you can see, keeps portraits off the blocking path, and withholds the empty groups that used to fill it. Segmentation gained the half it was missing: the colour gate decided what belonged to a category and had no way to decide where its edge fell, so a refined sky kept the model's blocky outline no matter how the control was set. A marker-based watershed now puts each contour onto a real edge, and the refinement is a per-layer slider. Coverage 70.4% -> 70.6% (127/180). Co-Authored-By: Claude Opus 5 (1M context) --- Cargo.lock | 44 ++++++++++++++++++++++---------------------- Cargo.toml | 2 +- packaging/PKGBUILD | 2 +- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 447623a..f47e41c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1221,7 +1221,7 @@ checksum = "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f" [[package]] name = "darkroom-android" -version = "0.10.0" +version = "0.10.1" dependencies = [ "android_logger", "dr-plat", @@ -1234,7 +1234,7 @@ dependencies = [ [[package]] name = "darkroom-desktop" -version = "0.10.0" +version = "0.10.1" dependencies = [ "anyhow", "dr-plat", @@ -1407,7 +1407,7 @@ checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76" [[package]] name = "dr-bench" -version = "0.10.0" +version = "0.10.1" dependencies = [ "anyhow", "dr-catalog", @@ -1424,7 +1424,7 @@ dependencies = [ [[package]] name = "dr-catalog" -version = "0.10.0" +version = "0.10.1" dependencies = [ "dr-face", "dr-plat", @@ -1439,7 +1439,7 @@ dependencies = [ [[package]] name = "dr-decode" -version = "0.10.0" +version = "0.10.1" dependencies = [ "dr-types", "env_logger", @@ -1453,7 +1453,7 @@ dependencies = [ [[package]] name = "dr-export" -version = "0.10.0" +version = "0.10.1" dependencies = [ "dr-decode", "dr-gpu", @@ -1471,7 +1471,7 @@ dependencies = [ [[package]] name = "dr-face" -version = "0.10.0" +version = "0.10.1" dependencies = [ "env_logger", "log", @@ -1484,7 +1484,7 @@ dependencies = [ [[package]] name = "dr-film" -version = "0.10.0" +version = "0.10.1" dependencies = [ "log", "serde", @@ -1493,7 +1493,7 @@ dependencies = [ [[package]] name = "dr-gpu" -version = "0.10.0" +version = "0.10.1" dependencies = [ "bytemuck", "dr-decode", @@ -1510,7 +1510,7 @@ dependencies = [ [[package]] name = "dr-ingest" -version = "0.10.0" +version = "0.10.1" dependencies = [ "dr-plat", "dr-types", @@ -1522,7 +1522,7 @@ dependencies = [ [[package]] name = "dr-lens" -version = "0.10.0" +version = "0.10.1" dependencies = [ "lensfun", "log", @@ -1530,7 +1530,7 @@ dependencies = [ [[package]] name = "dr-pipeline" -version = "0.10.0" +version = "0.10.1" dependencies = [ "dr-types", "log", @@ -1539,7 +1539,7 @@ dependencies = [ [[package]] name = "dr-plat" -version = "0.10.0" +version = "0.10.1" dependencies = [ "android-native-keyring-store", "dr-types", @@ -1555,7 +1555,7 @@ dependencies = [ [[package]] name = "dr-preset-xmp" -version = "0.10.0" +version = "0.10.1" dependencies = [ "dr-pipeline", "log", @@ -1565,7 +1565,7 @@ dependencies = [ [[package]] name = "dr-segment" -version = "0.10.0" +version = "0.10.1" dependencies = [ "env_logger", "log", @@ -1578,7 +1578,7 @@ dependencies = [ [[package]] name = "dr-sync" -version = "0.10.0" +version = "0.10.1" dependencies = [ "async-trait", "dr-plat", @@ -1592,7 +1592,7 @@ dependencies = [ [[package]] name = "dr-sync-folder" -version = "0.10.0" +version = "0.10.1" dependencies = [ "async-trait", "dr-sync", @@ -1604,7 +1604,7 @@ dependencies = [ [[package]] name = "dr-sync-nextcloud" -version = "0.10.0" +version = "0.10.1" dependencies = [ "async-trait", "dr-decode", @@ -1626,7 +1626,7 @@ dependencies = [ [[package]] name = "dr-thumbs" -version = "0.10.0" +version = "0.10.1" dependencies = [ "dr-types", "jpeg-encoder", @@ -1638,7 +1638,7 @@ dependencies = [ [[package]] name = "dr-types" -version = "0.10.0" +version = "0.10.1" dependencies = [ "serde", "serde_json", @@ -1647,7 +1647,7 @@ dependencies = [ [[package]] name = "dr-ui" -version = "0.10.0" +version = "0.10.1" dependencies = [ "anyhow", "async-trait", @@ -6976,7 +6976,7 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" [[package]] name = "traceability" -version = "0.10.0" +version = "0.10.1" dependencies = [ "anyhow", "serde", diff --git a/Cargo.toml b/Cargo.toml index f511b59..00c41a6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -26,7 +26,7 @@ members = [ ] [workspace.package] -version = "0.10.0" +version = "0.10.1" edition = "2021" rust-version = "1.92" license = "GPL-3.0-or-later" diff --git a/packaging/PKGBUILD b/packaging/PKGBUILD index 2ace687..2717893 100644 --- a/packaging/PKGBUILD +++ b/packaging/PKGBUILD @@ -4,7 +4,7 @@ # makes `makepkg -si` in this directory install what you are actually working # on. Swap `source` for a tagged tarball when there is something to release. pkgname=darkroom -pkgver=0.10.0 +pkgver=0.10.1 # Back to 1 with the version: a new pkgver is a new archive name, so there is # nothing for makepkg to reuse and nothing for a release number to disambiguate. pkgrel=1