• DarkRoom 0.18.1
    Benchmarks / CPU and I/O (per commit) (push) Successful in 5m46s
    Benchmarks / Frame budget (on demand) (push) Skipped
    Traceability / Requirement traces (push) Successful in 49s
    Build and test / Android (aarch64) (push) Successful in 17m27s
    Build and test / android-image (push) Successful in 3s
    🐳 Android image / Build and push (push) Successful in 3s
    Build and test / Desktop (Linux) (push) Failing after 25m32s
    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 29s
    Build and test / Windows (x86_64, cross) (push) Successful in 37m19s
    Build and test / Publish the release (push) Skipped

    dtourolle released this 2026-09-27 01:29:28 +00:00 | 167 commits to master since this release

    Two develop fixes: reducing contrast no longer turns the blacks of a dark photograph pink, and a local adjustment now adds to the global one instead of being applied a second time on top of it.

    Reducing contrast turns blacks grey, not pink. Lowering contrast lifted each pixel toward middle grey by multiplying its colour, which for a near-black pixel is a gain of around a hundred. In the deepest shadows the channels are sensor noise, and after white balance the red and blue noise sits above the green, so a night shot's shadows went magenta. Flattening now mixes toward neutral grey, so a black becomes grey and its noise stays the size it was. The same code pinned every tone above about 1.4 stops over middle grey to one value at any contrast setting (+10 took a light grey from 230 to 162); those tones are now left alone, so photographs edited with positive contrast show brighter highlights than they did.

    A local adjustment is an offset to the global one. A mask layer's adjustments ran as a second chain after the whole global chain, so global contrast −30 with −20 on a face was −30, then the rest of the develop chain, then −20 again on the result. A layer's setting is now added to the global setting and applied once, where that adjustment sits in the chain: −30 and −20 is −50 inside the mask. Existing masked edits may render slightly differently where a layer and the global chain move the same control.

    No schema change. 0.18.0 and 0.18.1 devices sync with each other.

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

    Downloads