darktable 3.8.0 released

As always, please don’t use the autogenerated tarball provided by github, but only our tar.xz file. the checksums are:

When updating from the currently stable 3.6.x series, please bear in mind that your edits will be preserved during this process, but the new library and configuration will not be usable with 3.6.x anymore.

You are strongly advised to take a backup first.

  • The keyboard shortcut system has been entirely reworked and extended to allow you to control darktable with other devices, for example, MIDI devices and game controllers. Standard keyboard/mouse shortcuts can now make use of mouse movements (horizontal, vertical, diagonal) as well as multiple button/key presses and short or long presses/clicks.

    Please note that any shortcuts you have previously created are not transferred to the new functionality and will need to be redefined in darktable 3.8.

  • New diffuse or sharpen module, allowing you to simulate or to revert diffusion processes to reconstruct images from lens blur, hazing, sensor low-pass filter, or noise. It can also be used to simulate watercolor smudges, increase local contrast, simulate blooming or apply surface blur. Special rules can be defined to specifically diffuse across or along edges, as well as to avoid sharpening or blurring them.

  • New scene-referred blurs module, to synthesize motion and lens blurs in a parametric and physically-accurate way. This module allows you to define the motion path or the lens diaphragm and then generates the corresponding blur.

  • Perspective correction module has been renamed to rotate and perspective and now allows you to manually define correction settings by drawing lines or rectangles on the image (replicating keystone correction functionality from the deprecated crop and rotate module)

  • Added support for multiple images in the print view. The page can be filled with multiple areas, each of which can be moved around and placed on the page with the ability to snap to a grid for precision.

  • A new LMMSE demosaic algorithm has been introduced. This algorithm is particularly suited to high ISO and/or noisy images.

  • The composition guides from the crop module are now available globally and no longer require the crop module to be activated.

  • The Canon raw CR3 format is now supported (see list of supported cameras in the section below). This support is provided by LibRaw and requires at least exiv2 version 0.27.4 with BMFF support activated.

  • The color checker profiling tool, introduced in darktable 3.4 as part of the color calibration module, is now normalized patch-wise in exposure to discard the effect of uneven lighting and fall-off when shooting color checkers hand-held and on-location. This robustly decreases the residual average dE after calibration and noticeably helps to recover natural dark blues while preventing yellow shifts in highlights.

  • The denoise (profiled) module now uses wavelets mode by default and its default settings in Y0U0V0 mode have been improved.

  • Flip buttons have been added to the orientation module (functionality moved from crop and rotate).

  • Background jobs handling has been removed from preferences.

  • Much of the SSE-specific code has been removed, since compiler-generated code is usually faster.

  • The darktable-generate-cache script now displays filenames and image IDs.

  • File name matches in the collections module are now faster.

  • Mask handling is faster.

  • Processing module order can now be automatically applied based on image properties.

  • Folder status is properly refreshed when a mount is changed.

  • An area color picker is selectable by using a Right-Click in addition to the existing Ctrl+click action.

  • Substitution variables have been added for image dimensions as follows: $(SENSOR_HEIGHT) and $(SENSOR_WIDTH) for the absolute pixel dimensions of the sensor; $(MAX_HEIGHT) and $(MAX_WIDTH) for the raw image size; and $(EXPORT_HEIGHT) and $(EXPORT_WIDTH) for the post-cropping final image size.

  • More work on code speed-up in many different routines ensuring better vectorization and/or OpenMP definition. Notably, the split-toning, haze removal and soften modules have been improved.

  • The “beginner” module group preset now takes the chosen workflow (display or scene referred) into account.

  • The quick access panel now takes the chosen workflow (display or scene referred) into account.

  • New sorting options based on capture, import, modification, last export and last print times.

  • Tooltip for raster mask now includes source module information.

  • The following modules have been deprecated:

    • Crop and rotate - the features of this module are now shared between the crop, orientation, and rotate and perspective modules.

      Note that the new crop module is now placed after the retouch module to ensure that the full image can be used as a source area.

  • A new option has been added to allow you to choose when to start writing changes to the XMP sidecar files. Choose to: (a) never write XMP; (b) write XMP as soon as the image is imported; or (c) write XMP only after the user has edited the image in the darkroom view.

  • Timezone entry has been improved in the geotagging module.

  • A new preference has been added to choose the number of recent collections to display.

  • Rating support has been added to the collections module making it possible to create presets, for example, to select the best images of 2021.

  • PNG files are now supported in the watermark module.

  • The values in the global color picker module are now selectable and can be copied to the clipboard.

  • HSV has been added as an option in the global color picker module.

  • The color scheme of the timeline is improved.

  • The scopes module (previously named histogram) can now be moved to the left panel.

  • Improved color rendering for waveform and parade scopes.

  • A new vertical waveform scope option has been added.

  • Live samples can now be displayed in the vectorscope.

  • An RYB option has been added to the vectorscope.

  • The lut3d module has been moved after filmic in the pixelpipe.

  • Minor usability improvements have been made to the tone equalizer, ensuring that the cursor is shown on focus and the module is activated on scroll.

  • The automatic mask tuning has been improved in the tone equalizer module.

  • New “magic wand” icons are now used for the auto-tune actions in the tone equalizer module.

  • Tiling has been enabled in the color balance rgb, diffuse and filmic rgb modules to allow very large images to be processed.

  • When scanning for updated XMP files, the synchronization window has been improved to offer more choices as to how the database/XMP files should be updated.

  • Added read support for HEIF/HEIC file format.

  • Added support for ARM64/Apple M1 as a build target.

  • Added a preference to invert the behavior of mouse scroll up/down on drawn mask attributes. At the same time, and for consistency, the scroll-up action has been set to increase all mask attributes by default.

  • Added timestamp in camera import dialog for consistency with the other import dialog.

  • The current module order is now shown in the module order module header to save space in the GUI.

  • The “module order” entry is now moved to the end of the copy/paste dialog for better usability, as this option is rarely used.

  • The split toning module now displays the hue in degrees for consistency with other modules.

  • Rejected images in the lighttable view are now dimmed for clarity.

  • The last selected Piwigo album is now remembered in the export module.

  • For advanced users and developers, OpenCL build options are now exposed in darktablerc.

  • The collections module now offers some new presets based on image time to complement the existing presets based on the import time.

  • Add a borderless requirement indicator in the print module when the user’s selected margins are below the hardware margins.

  • Add an option to show all modules in the history within the active module group regardeless of whether or not they are currently enabled.

  • Add a search box in preset preferences and shortcuts.

  • Improved curve handling in filmic. Curve should be easier to control, as some side-effects of some parameters on others have been eliminated.

  • Add thumbnail preview support for DNG files in import dialog.

  • The darktable 3.8.0 documentation now includes four (French, German, Ukranian, Brazilian Portuguese) translated languages (the first time complete, translated documentation has been made available on the release date), fully integrated into darktable’s help link system. Translated versions of the epub and pdf manuals are also available.

  • Multiple memory leaks have been fixed.

  • Fixed green equilibration in RCD CPU code path.

  • Select the best illuminant for DNG images.

  • When trying to enter a view that cannot be used (like the tethering view where no camera is attached), make sure to reset the combobox back to the previous view.

  • Fix calibration optimizations for delta E in the color calibration module.

  • Fix focus peaking, which was in some cases displaying some random wrong pixels on the borders.

  • Fix refresh when pasting the whole or part of history.

  • Fix possible uninitialized-data access in RCD demosaic.

  • Update metadata fields when applying a preset.

  • Fix creation of liquify interpolated path to be closer to what the user would expect.

  • Multiple Windows PATH-specific issues have been fixed. Also, UNC path-names are now supported.

  • Make sure RAW+Jpeg files keep the same filename during copy & import.

  • Add some consistency to the drawn shape opacity increase/decrease, which was working in the opposite way to the other mask controls.

  • Invert liquify strength vector rotation for consistency.

  • Make metadata and tagging consistent regarding the current selection.

  • Fix some rounding errors in masks with sharp corners, which were creating discontinuities in the mask area.

  • Fix the image loader flag, which was not properly set at import time.

  • Fix possible wrong setting in Color Calibration when switching from Jpeg to RAW files.

  • Fix a rare but possible wrong White Balance just after importing a picture or while resetting the development history.

  • This is a companion discussion topic for the original entry at https://www.darktable.org/2021/12/darktable-3.8.0-released/

    The article auto publication seems to have stripped down some parts, read the full article here:



    Good job! Congratulations! Rejoice! :evergreen_tree::fireworks:

    My favorite Christmas tradition :smiley: congrats to all!!! :christmas_tree:

    1 Like

    I spent the past two weeks comparing Darktable 3.8 to Lightroom, ON1, and Luminar AI on my Macbook Air M1.

    Lightroom and ON1 run in Apple Silicon natively. Darktable is faster running in Rosetta 2 than both of those.

    Luminar AI also runs in Rosetta 2 and Darktable is much faster.

    The Collections and sorting options of Darktable are far superior to all three commercial tools. The color management, masking, and tools are also superior.

    Adobe installs all kinds of folders and files on your computer even after you delete their applications. It is invasive.

    This new version of Darktable is not only Free it is also the best photo editor on Mac IMHO.

    Well done team! Thanks for another fantastic release.

    **edit: I had some problems with 3.8.0 on my Mac that I could not reproduce with one of the recent git master builds from Martin. DT hangs when trying to open some RAW and JPEG files from my external drive. I have to force quit it. Am back on darktable-3.7.0+1656 and it does not have this problem.


    I can’t help but thank everyone who develops, contributes and supports peoples, … this woderful application.
    Thanks again, and best wishes for a happy Christmas.

    This is amazing guys! Thank you everyone for your hard work, I appreciate it very much! Darktable is progressing at the speed of light :smiley:

    It doesn’t make sense to compare runtimes between apps if they don’t use the same algos. You can cut corners, do 8 bits arithmetic with precomputed LUTs everywhere and use simplified inaccurate color models and make it much faster than any app using 32 bits float pipeline with color models like JzAzBz and so on.

    The only relevant property is the ability for the user to get exactly the desired results without compromising. Then, accurate and powerful algos tend to be slow because life is a bitch.


    Well, it made sense to me as a Linux user for 14 years without the possibility to evaluate Mac OS applications. I’m not a developer and my life isn’t a bitch/bastard either. :slight_smile:

    1 Like

    What I meant was the responsivity vs. accuracy trade-off is a design choice that every app drives depending on its own priorities and knowing the cost, but it’s really not a metric of quality. Of course, if the same algos are implemented, then you can compare how clever the implementation was, but since proprietary soft doesn’t advertise the underlying computations, you will never know.


    How long does it usually take for deb packages to show up on OBS? The latest is still 3.6 there.

    The source code release was 4h ago, if I’m not mistaken. Then the binaries have to be build and checked. Some of the people responsable for those binary releases might still be asleep (different time-zones). I usually wait a few days before I even begin looking for updated packages…

    Bottom line: it’s a volunteer effort, so packages will appear when there’s time build them.
    Usually, I find they arrive very fast, but…

    1 Like

    I am of course aware of this — just asking, not complaining about anything.

    1 Like

    The source code was actually tagged over a week ago in order to give packagers time to build. Ah well.

    1 Like

    Fantastic release! I’ve been looking forward to this for weeks!

    The improved Filmic sliders, new default LUT pipeline placement, and above all, the new shortcuts truly made my day!

    The shortcuts handily addressed the main reason I still used Capture One every now and then. Finally I can begin cropping with a single key stroke, and adjust my most used sliders by holding a key and moving the mouse. Brilliant!

    I hope I’ll find time to actually contribute next year.

    1 Like

    True, but I don’t think the developers would have liked seeing 3.8.0 packages appear before the official release? So there will be a delay between oficial announcement of the new version and the apparition of packages “in the wild”.

    And in practice, I find that new releases take a day or two to appear in the repository I use. Which I find quite fast, even with a week’s lead time (in a busy period of the year for most).

    Last year, for Fedora, I saw the new package on Christmas Day. But I’m not sure if that was the official Fedora repository, or a private one (in which case I no longer have it).

    Thanks so much once again to all developers for continuously pushing this software to the next edge. Merry x-mas and a happy new year to all of you here in this forum :christmas_tree:

    Out of curiosity, is this just a new default position in the module order, or has something more changed internally? To me placing it as the last module (before output color profile) makes most sense as the LUT acts as a shared boundary for my edits. Will keeping it in that same last position as I’m used to result in another rendering of my raw file in 3.8.0?

    I can see 3.8 there now.

    1 Like