github darktable-org/darktable release-5.0.0
release 5.0.0

latest release: nightly
one day ago

We're proud to announce the new feature release of darktable, 5.0.0!

The github release is here: https://github.com/darktable-org/darktable/releases/tag/release-5.0.0.

To build from source, do not use the autogenerated tarball provided by GitHub on the release page, download our tar.xz file instead. If you're just building for yourself without creating a package for some distribution, then using source code cloning in git is an even more convenient way.

The checksums are:

$ sha256sum darktable-5.0.0.tar.xz
eaa136e6e624bb53127282e26aafa0441abcc189b55371465e1f5a8a493fa3a1  darktable-5.0.0.tar.xz

$ sha256sum darktable-5.0.0-x86_64.dmg
3f49cfb63958269b99065cf6b501678d4e63f2457ee1915bcd7ffa0dfef9dcfd  darktable-5.0.0-x86_64.dmg

$ sha256sum darktable-5.0.0-arm64.dmg
14feb35ef2b2e8e50cf1855826ad4913e905a5600a56a87dd98382e8d828e9db  darktable-5.0.0-arm64.dmg

$ sha256sum darktable-5.0.0-arm64-13.5.dmg
b43011cae5ddc9f19a8f895ba389e9ddb79d01534e9ca0568b7125026ac72145  darktable-5.0.0-arm64-13.5.dmg

$ sha256sum darktable-5.0.0-win64.exe
40444d5c7d310b1e1e859bd6b7c5d5e35d538a7bf9ad3e918b0e883c971451ea  darktable-5.0.0-win64.exe

$ sha256sum Darktable-5.0.0-x86_64.AppImage
d0061ac5a345c473d98f04388197afaee48e61b638db576ae1c88700cb8855cd  Darktable-5.0.0-x86_64.AppImage

When updating from the stable 4.8 series, please bear in mind that your edits will be preserved during this process, but the new library and configuration will no longer be usable with 4.8.

You are strongly advised to take a backup first.

Important note: to make sure that darktable can keep on supporting the raw file format for your camera, please read this post on how/what raw samples you can contribute to ensure that we have the full raw sample set for your camera under CC0 license!

Since darktable 4.8:

  • 1198 commits to darktable+rawspeed
  • 505 pull requests handled
  • 45 issues closed

Please note that the darktable documentation is not currently complete for release 5.0
and contributions are greatly appreciated. Please see the
project documentation
for more information on how to contribute.

The Big Ones

The following is a summary of the main features added to darktable
5.0. Please see the user manual for more details of the individual
changes (where available).

  • This development cycle has included a large number of changes which
    improve the user experience, as detailed in the next section.

UI/UX Improvements

  • Added camera-specific styles for more than 500 camera models to more
    closely approximate the out-of-camera JPEG rendition. These styles
    only affect contrast, brightness, and saturation and do not attempt
    to match sharpening, denoising, or hue shifts. Also added a Lua
    script to auto-apply the appropriate style on import and manually
    apply styles to a collection of previously-imported images.

  • Added an optional splash screen showing startup progress (including
    estimated time remaining during the scan for updated sidecar files) to
    dramatically reduce the time between invoking darktable and something
    appearing on screen when the user has a large library.

  • The user interface now gives feedback while processing bulk image
    operations such as rating, tagging, applying styles, and edit
    history management (and undoing those operations), rather than
    silently freezing until the operation completes. While the
    operation is in progress, darktable will now show either a busy
    cursor (such as a stopwatch or spinner) or a progress bar with
    option to cancel the remainder of the operation.

  • Paths for drawn masks now display two Bézier handles per control point,
    which can be moved individually. This allows for more precise control
    of the paths.

  • Added a high-contrast theme with bright white text on a dark gray
    background.

  • Enhanced tooltips for utility module headers to provide more
    information about the module.

  • Added more new-user hints on an empty lighttable.

  • Added two new error placeholder images to distinguish between
    missing, unsupported, and corrupted images. When attempting to edit
    such an image, an appropriate, more specific error message is
    displayed.

  • When selecting a style in the export module, hovering on the style
    name in the popup menu displays a thumbnail previewing the effect of
    appending the style to the active image's edit (first selected image
    in lighttable, center-view image in darkroom).

  • Allow for selecting the utility modules to be displayed on the
    panels in the different views.

    • Right-click on the empty panel area below the modules to get a
      menu where they can be hidden or shown. This allows additional
      modules to be added to the darkroom, like metadata editor and
      styles.

    • This replaces the options in the "collections" and "recently used
      collections" modules' preferences to show or hide the latter and
      show a "history" button in the former instead. Users that want the
      separate module will need to reenable it once via the new
      Right-click menu.

    • The menu also contains an option "restore defaults" that resets
      the selection and position of modules in the current view. In the
      preferences dialog, on the general tab, there's a "reset view
      panels" button that resets all views, including visibility and
      width of the panels themselves.

  • Added a global preference to swap the left and right side panels in
    the darkroom view.

  • The first time a new user presses Tab, they will be warned that this
    will hide all panels and how to get them back. Hopefully this
    prevents some confusion or frustration.

  • Drag&drop utility module headers to reposition them across the left
    and right panels (lighttable) as well as vertically (all
    views). Each view can have a different layout.

  • Drag&drop of processing modules in the darkroom right panel has been
    improved to auto-scroll when reaching the top or bottom and to not
    get confused when images get dragged into the area. This functionality
    no longer requires Ctrl+Shift modifiers.

  • Improved the message displayed at startup when the database is
    locked by another instance of darktable.

  • Replaced the icon of the operator button in the color label filter
    for working with multiple selected color labels
    (union/intersection).

Performance Improvements

  • Added OpenCL implementation of color equalizer.

  • Improved the speed of bulk image operations by improving the speed
    of sidecar writes, and by moving sidecar updates for many operations
    into a background task, allowing the user to proceed before the
    writes complete.

  • Significantly accelerated loading of PFM files due to loops
    parallelization and optimization that eliminated additional
    processing.

Other Changes

  • Switched default scope for new installations from histogram to
    waveform to display more detailed information about image color and
    tonality.

  • The ISO 12646 color assessment condition is kept until unset by user
    action.

  • Exposure bias can now be used to form collections and as a display filter.

  • Improved visualization of the color equalizer's effect.

  • Improved debugging support for verifying CPU vs. GPU results.

  • Add Calibrite alias for X-Rite ColorChecker in color calibration.

  • The scan for updated sidecar files now ignores timestamp differences
    of two seconds or less.

  • The macOS installation package now has a background image to direct
    the user on installing darktable.app.

  • Changed the user interface of the import dialog to make it easier to
    delete custom places.

  • Numerous rounds of code cleanup.

  • The copy-parts dialog does not select any module by default now.

  • Add support for undo/redo for actions done on the filmstrip while in
    darkroom.

  • In darkroom, add action (binding to Ctrl+x by default) for
    synchronizing the last edited module on current edited module to the
    selection.

  • Adjusted the internal AVIF encoder parameter to significantly boost
    encoding speed without compromising the output quality.

  • Tag names can now easily be copied to the clipboard via popup
    context menu in the tagging module.

  • The Piwigo export storage now supports to specify a file name
    pattern for the exported file.

  • The directory where darktable will write the log file under Windows
    has been changed to %USERPROFILE%\Documents\Darktable. This allows
    the user to easily see where the log file is located without even
    having to search for it in the documentation or FAQ. The previous
    location was deep in the system subdirectories of the user profile,
    and also under a hidden directory (so it was impossible to click to
    it in File Explorer with default system settings).

  • Allow import of JPEG 2000 files with .jpf and .jpx file extensions.

  • Add a visible indicator to the color calibration module when its
    color mapping section has non-neutral settings which will affect
    color rendition.

  • Added new substitution variables $(IMAGE.TAGS.HIERARCHY) to insert
    tags with full hierarchy and $(IMAGE.ID.NEXT) to insert the image ID
    to be assigned to the image being imported, allowing the image ID to
    be part of the filename generated during a copy&import operation.

  • Exporting to floating-point JPEG XL with a quality of 100 will try
    to do it as losslessly as possible. That is now consistent with the
    behavior of integral JPEG XL formats.

  • Improved visibility of shortcuts that can be changed by users by
    using bold text.

  • The histogram-exposure interface now supports all standard bauhaus
    features (Ctrl+click, Right-click...).

  • Introduce image module order v5.0 to have the final-scale done before
    color-out to fix some issues with color difference between darkroom
    view and exported files.

  • Add support for editing any live color-picker samples. Using
    Right-click on a sample it is possible to edit it
    (changing location and/or size of the box) and either add a new
    sample based on the edit or store the edit into an existing live
    sample.

  • Added more substitution variables for using EXIF data fields,
    enabled autocompletion of variables in the watermark module.

    The new variables are $(EXIF.FLASH), $(EXIF.METERING),
    $(EXIF.EXPOSURE.PROGRAM), $(EXIF.WHITEBALANCE) and
    $(GPS.LOCATION.ICON).

  • Increase maximum focal length for filtering auto-applied presets to
    2000mm.

  • Added an expanded color-checker preset to the Color Look Up Table
    module with seven-level red/green/blue/gray ramps, IT8/CC24-like
    skin tones, and miscellaneous color patches for more targeted color
    adjustments across the full spectrum.

  • Added support for EXIF tags 'AnalogBalance' used for color
    calibration and 'LinearResponseLimit' used in highlights
    reconstruction.

  • If we find currently unsupported color calibration data in DNG
    specific tags, we tag the image by darktable|issue|no-samples for
    better support.

  • Added read support for HEIF files with AVC (H.264) compression and
    .avci file extension.

  • Added read support for JPEG 2000 encoded images in HEIF containers
    with .hej2 file extension.

Bug Fixes

  • Fixed a performance regression for redrawing mipmaps.

  • Fixed handling of old (2020) edits using Filmic RGB.

  • Various OpenCL fixes to reduce differences between CPU and GPU
    processing: colorspace conversion, saturation gradient filter in
    color equalizer.

  • Fixed gallery export not working on Windows.

  • Fixed printer discovery in the print module, which could cause
    available printers to be missed.

  • Work around out-of-spec EXIF date field caused by buggy software.

  • Fixed reading embedded color profiles from PNG images.

  • Fixed certain boundary cases in the crop module.

  • Fixed crash when loading corrupted .gpx file in the geotagging module

  • Fix preset handling in the export module not saving all parameters.

  • Fix an issue in FilmicRGB where one of the parameter could be above
    the maximum allowed range making the validation failing and the
    whole set of parameters reset to default.

  • Fix overlay recording to work in all cases (discarding history or
    copy/paste history for example) ensuring that an image not
    referenced anymore as overlay in a composite module can be removed.

  • Properly reset darktable internal tag darktable|style| and
    darktable|changed when resetting history.

  • Fixed crash in the Piwigo export storage when not logged in to the
    Piwigo server.

  • Fixed a bug in the export module where it was impossible to export a
    file again if "on conflict: overwrite if changed" was selected.

  • Fixed a bug where double clicking on a label in darkroom modules
    does not reset the control.

  • The composite module now prevents assigning an overlay that would
    lead to a loop. Previously, only direct references
    (image #1 <-> image #2) were checked; this has now been extended
    to also cover chains (image #1 -> image #2 -> image #3 -> image #1)
    of arbitrary length.

  • Fix a bug in overlay module which incorrectly apply a color profile
    and so creating an unwanted and wrong color cast. This bug was a
    regression added just before the 4.8 release.

  • Fixed a bug in color calibration module where switching between
    various illuminants could lead to unpredictable settings.

  • Various fixes In the demosaic module. Non-usable options are hidden
    now. Fixed dual demosaicing for xtrans sensors and OpenCL code.

  • Fixed a bug in the history module where style creation fails if a
    style with that name already exists.

  • Fixed guides drawing in case a module is expanded and active.

  • Ensure that the list of images in the culling view remains up to
    date when hidden.

  • Fixed minor glitches in color calibration module.

  • Fixed issues with wrong corrections in highlight opposed OpenCL
    code.

  • Fixed surface blur radius calculation possibly resulting in garbled
    output.

Lua

API Version

  • API version is now 9.4.0

New Features

  • Added new event, inter-script-communication, to permit sending messages
    from one running script to another running script.

  • Added new function darktable.util.message(), for sending messages using
    the inter-script-communication event.

  • Added new EXIF data fields to dt_lua_image_t:

    • exif_whitebalance

    • exif_flash

    • exif_exposure_program

    • exif_metering_mode

  • Added new event, image-group-information-changed, that is raised any time
    an images group information changes.

Bug Fixes

  • Fixed a bug with dt_imageio_module_format_t.write_image so it returns
    true on success and false on failure.

Add action support for Lua

Other Lua changes

  • Lua scripts are now better integrated into Darktable and can be
    fully translated. The design for the scripts manager has been
    reworked to be more in line with the current Darktable GUI modules.

Notes

  • When exporting to AVIF, EXR, JPEG XL, or XCF, selecting specific
    metadata (e.g. geo-tag or creator) is not currently possible. For
    AVIF, EXR, JPEG XL, and XCF formats, darktable will not include any
    metadata fields unless the user selects all of the checkboxes in the
    export module's preference options.

  • Since 4.8 release the support for macOS versions older than 13.5 has been dropped.

Changed Dependencies

Mandatory

  • Bump SQLite requirement to 3.26

Optional

  • n/a

RawSpeed changes

  • Fujifilm GFX cameras now use the vendor supplied crop

Camera support, compared to 4.8

Base Support

  • Fujifilm X-M5 (compressed)
  • Fujifilm X-T50 (compressed)
  • Leica D-Lux 8 (DNG)
  • Leica M11-D (DNG)
  • Leica Q3 43 (DNG)
  • Minolta Alpha Sweet Digital
  • Minolta Alpha-7 Digital
  • Nikon Z50_2 (14bit-compressed)
  • Nikon Z6_3 (14bit-compressed)
  • Panasonic DC-FZ80D (4:3)
  • Panasonic DC-FZ82D (4:3)
  • Panasonic DC-FZ85 (4:3)
  • Panasonic DC-FZ85D (4:3)
  • Panasonic DC-G100D (4:3)
  • Phase One P20+
  • Sony ILCE-1M2

White Balance Presets

  • Nikon Z6_3
  • Sony ILCE-6700

Noise Profiles

  • Canon PowerShot G1 X
  • Leica M11
  • Nikon Z6_3

Missing Compression Mode Support

  • Apple ProRAW DNGs
  • CinemaDNG lossless (Blackmagic, some DJI, etc.) and lossy (Blackmagic)
  • DNG 1.7 using JPEG XL (Adobe enhanced, Samsung Expert RAW)
  • Fujifilm lossy RAFs
  • Nikon high efficiency NEFs
  • OM System 14-bit high resolution ORFs
  • Sony downsized lossless ARWs ("M" for full-frame, "S" for full-frame & APS-C)

Suspended Support

Support for the following cameras is suspended because no samples are available on https://raw.pixls.us:

  • Creo/Leaf Aptus 22(LF3779)/Hasselblad H1
  • Fujifilm IS-1
  • Kodak EasyShare Z980
  • Leaf Aptus-II 5(LI300059)/Mamiya 645 AFD
  • Leaf Credo 60
  • Leaf Credo 80
  • Minolta DiMAGE 5
  • Olympus SP320
  • Phase One IQ250
  • Sinar Hy6/ Sinarback eXact
  • ST Micro STV680

Translations

  • Czech
  • German
  • European Spanish
  • Finnish
  • French
  • Japanese
  • Dutch
  • Brazilian Portuguese
  • Slovenian
  • Albanian
  • Ukrainian
  • Chinese (Simplified)
  • Chinese (Traditional)

Don't miss a new darktable release

NewReleases is sending notifications on new releases.