Release 0.9.0
Build and test / Desktop (Linux) (push) Successful in 2h8m7s
Build and test / Layer separation (push) Successful in 37s
🐳 Android image / Build and push (push) Successful in 1s
Build and test / android-image (push) Successful in 1s
Traceability / Requirement traces (push) Successful in 1m42s
Build and test / Android (aarch64) (push) Successful in 1h4m36s

Thirty-five commits since 0.8.0, and two of them are the reason this is a
minor rather than a patch.

**Storage became pluggable.** A folder backend now sits beside the
Nextcloud one behind the same seam, proved by a test rather than by a
trait, and the launch screen offers three routes into a library instead
of one.

**Faces gained a confidence that means something.** A suggestion is
scored against the people the user has actually named, the curve it came
from is stated rather than implied, and a regroup runs roughly three
times faster — the similarity scan and the merge engine both use the
machine's own SIMD kernel now, measured on the tablet where the NEON path
is the one that runs.

Alongside those, the framing tools got the quality-of-life pass this
release is named for: a crop can be held to a ratio, a straighten crops
away the corners it exposed, an export can be pinned to an exact
resolution with the common panel sizes offered as buttons, and dragging
the crop rectangle no longer tracks the pointer at half speed.

`pkgrel` returns to 1: a new `pkgver` is a new archive name, so there is
nothing left for a release number to disambiguate.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-29 13:53:19 +02:00
co-authored by Claude Opus 5
parent bd33487054
commit bbd26f05f9
3 changed files with 24 additions and 24 deletions
Generated
+20 -20
View File
@@ -1221,7 +1221,7 @@ checksum = "f27ae1dd37df86211c42e150270f82743308803d90a6f6e6651cd730d5e1732f"
[[package]]
name = "darkroom-android"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"android_logger",
"dr-sync",
@@ -1232,7 +1232,7 @@ dependencies = [
[[package]]
name = "darkroom-desktop"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"anyhow",
"dr-ui",
@@ -1404,7 +1404,7 @@ checksum = "d8b14ccef22fc6f5a8f4d7d768562a182c04ce9a3b3157b91390b52ddfdf1a76"
[[package]]
name = "dr-catalog"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"dr-face",
"dr-plat",
@@ -1419,7 +1419,7 @@ dependencies = [
[[package]]
name = "dr-decode"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"dr-types",
"env_logger",
@@ -1433,7 +1433,7 @@ dependencies = [
[[package]]
name = "dr-export"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"dr-decode",
"dr-gpu",
@@ -1451,7 +1451,7 @@ dependencies = [
[[package]]
name = "dr-face"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"env_logger",
"log",
@@ -1464,7 +1464,7 @@ dependencies = [
[[package]]
name = "dr-film"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"log",
"serde",
@@ -1473,7 +1473,7 @@ dependencies = [
[[package]]
name = "dr-gpu"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"bytemuck",
"dr-decode",
@@ -1490,7 +1490,7 @@ dependencies = [
[[package]]
name = "dr-ingest"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"dr-plat",
"dr-types",
@@ -1502,7 +1502,7 @@ dependencies = [
[[package]]
name = "dr-lens"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"lensfun",
"log",
@@ -1510,7 +1510,7 @@ dependencies = [
[[package]]
name = "dr-pipeline"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"dr-types",
"log",
@@ -1519,7 +1519,7 @@ dependencies = [
[[package]]
name = "dr-plat"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"android-native-keyring-store",
"dr-types",
@@ -1535,7 +1535,7 @@ dependencies = [
[[package]]
name = "dr-segment"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"env_logger",
"log",
@@ -1548,7 +1548,7 @@ dependencies = [
[[package]]
name = "dr-sync"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"async-trait",
"dr-plat",
@@ -1562,7 +1562,7 @@ dependencies = [
[[package]]
name = "dr-sync-folder"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"async-trait",
"dr-sync",
@@ -1574,7 +1574,7 @@ dependencies = [
[[package]]
name = "dr-sync-nextcloud"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"async-trait",
"dr-decode",
@@ -1596,7 +1596,7 @@ dependencies = [
[[package]]
name = "dr-thumbs"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"dr-types",
"jpeg-encoder",
@@ -1608,7 +1608,7 @@ dependencies = [
[[package]]
name = "dr-types"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"serde",
"serde_json",
@@ -1617,7 +1617,7 @@ dependencies = [
[[package]]
name = "dr-ui"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"anyhow",
"async-trait",
@@ -6945,7 +6945,7 @@ checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
[[package]]
name = "traceability"
version = "0.8.0"
version = "0.9.0"
dependencies = [
"anyhow",
"serde",
+1 -1
View File
@@ -24,7 +24,7 @@ members = [
]
[workspace.package]
version = "0.8.0"
version = "0.9.0"
edition = "2021"
rust-version = "1.92"
license = "GPL-3.0-or-later"
+3 -3
View File
@@ -4,9 +4,9 @@
# 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.8.0
# 2: the package gained the face models (docs/faces.md §2.2a). Same version,
# different contents, so makepkg must not reuse the 0.7.0-1 archive.
pkgver=0.9.0
# 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
pkgdesc="Non-destructive RAW photo library and editor"
arch=('x86_64')