Release 0.10.1
Benchmarks / CPU and I/O (per commit) (push) Successful in 13m30s
Benchmarks / Frame budget (on demand) (push) Skipped
Build and test / android-image (push) Successful in 3s
🐳 Android image / Build and push (push) Successful in 3s
Build and test / Layer separation (push) Successful in 46s
Traceability / Requirement traces (push) Failing after 1m36s
Build and test / Desktop (Linux) (push) Failing after 24h17m53s
Build and test / Android (aarch64) (push) Canceled after 0s

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) <noreply@anthropic.com>
This commit is contained in:
2026-08-30 21:33:16 +02:00
co-authored by Claude Opus 5
parent dabf63ed6d
commit c1069ce07e
3 changed files with 24 additions and 24 deletions
Generated
+22 -22
View File
@@ -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",
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -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