• DarkRoom 0.17.0
    Benchmarks / CPU and I/O (per commit) (push) Successful in 5m22s
    Benchmarks / Frame budget (on demand) (push) Skipped
    Traceability / Requirement traces (push) Successful in 1m1s
    Build and test / Android (aarch64) (push) Successful in 32m18s
    Build and test / android-image (push) Successful in 1s
    🐳 Android image / Build and push (push) Successful in 1s
    Build and test / Desktop (Linux) (push) Successful in 50m25s
    Build and test / windows-image (push) Successful in 1s
    🐳 Windows image / Build and push (push) Successful in 1s
    Build and test / Layer separation (push) Successful in 31s
    Build and test / Windows (x86_64, cross) (push) Successful in 38m0s
    Build and test / Publish the release (push) Successful in 50s
    Stable

    dtourolle released this 2026-09-26 20:18:20 +00:00 | 182 commits to master since this release

    Folders are chosen in your own desktop's dialog and exports go to albums outside the library, DarkRoom ships its own presets and film looks, a photograph still on the server says so instead of failing, and the catalog, sync and dehaze are faster again.

    Albums, and folders chosen in a real dialog. Folders are picked in your desktop's own folder dialog (the XDG portal on Linux, the system dialog on Windows), which can create folders, instead of typed paths: the library folder, the import source and its second copy, and preset import. Exports go to albums — named export folders in the sidebar, on this device or on your Nextcloud but never inside the library — and an album shows the originals behind its JPEGs. Albums sync between devices, and the server browser can now create a folder. On Android, export goes to a folder on the tablet chosen in the system folder picker. (FR-EXP-10, FR-EXP-6)

    Presets and film looks ship with the application. Essentials plus colour, cinema and black-and-white film looks, one measured stock each, updated with the app. Saving under a shipped preset's name makes your own version, and Revert gets the original back. Presets and Copy/Paste now carry the film stock, and shipped or imported Lightroom presets change only what they set, so your exposure and white-balance corrections survive applying a look. (FR-DEV-6)

    A photograph that is not on this device says so. Opening one shows "Not on this device yet" and a download progress bar over its thumbnail, instead of "Could not load image". Stepping quickly through photographs that are still downloading no longer shows the wrong one, or saves one photograph's edit into another's.

    Faster.

    • Opening the catalog no longer repeats its repair pass on every open, and a photograph landing in develop costs about 2 ms of catalog work instead of about 80 ms. (#72)
    • The library's counts: rating and label chips about 5× faster, the local-originals count 1.3 ms → 0.05 ms, keyword lists about 2×, the unfiltered grid count about 4×; a sync merge 230 → 135 ms. (#75)
    • The upload snapshot is built directly instead of copying the whole 158 MB catalog and stripping it, about 1.2 s → 0.4 s per pass, with the same content uploaded. (#71)
    • Dehaze runs in two passes instead of five, bit-identical: 22.9 → 9.1 ms at 2560×1600 on the desktop GPU; not yet measured on the tablet. (#74)

    Fixed: thumbnail jobs nobody ran. Every scan queued a thumbnail job per photograph that nothing consumed — 23,582 on the reference library. Scans no longer queue them, the leftovers are cleared on open, and a test now refuses any job kind enqueued without a consumer. (#73)

    No schema change. Two indexes are created on first use; the first sync after upgrading builds one of them inside the merge, about a second, once. A 0.16.0 tablet keeps syncing with a 0.17.0 desktop and the other way round.

    The APK, the desktop binary, the Windows installer and SHA256SUMS are built by CI from this tag's commit.

    Downloads