darktable 2.2.0rc3 released

we’re proud to announce the fourth release candidate of darktable 2.2.0, with some fixes over the previous release candidate.

the github release is here: https://github.com/darktable-org/darktable/releases/tag/release-2.2.0rc3.

as always, please don’t use the tarball autogenerated by github, but only our .tar.xz with the following sha256sum:

f7b9e8f5f56b2a52a4fa51e085b8aefe016ab08daf7b4a6ebf3af3464b1d2c29  darktable-2.2.0~rc3.tar.xz
86293aded568903eba3b225d680ff06bc29ea2ed678de05a0fd568aed93a0587  darktable-2.2.0.rc3.3.g9af0d4fcb.dmg

the changelog vs. the stable 2.0.x series is below:

  • Well over 2k commits since 2.0.0

The Big Ones:

Quite Interesting Changes:

  • Split the database into a library containing images and a general one with styles, presets and tags. That allows having access to those when for example running with a :memory: library
  • Support running on platforms other than x86 (64bit little-endian, currently ARM64 only) (" Running on non-x86 platforms ")
  • darktable is now happy to use smaller stack sizes (no less than 256Kb). That should allow using musl libc
  • Allow darktable-cli to work on directories
  • Allow to import/export tags from Lightroom keyword files
  • Allow using modifier keys to modify the step for sliders and curves. Defaults: Ctrl – x0.1; Shift – x10
  • Allow using the [keyboard] cursor keys to interact with sliders, comboboxes and curves; modifiers apply too
  • Support presets in “more modules” so you can quickly switch between your favorite sets of modules shown in the GUI
  • Add range operator and date compare to the collection module
  • Add basic undo/redo support for the darkroom (masks are not accounted !)
  • Support the Exif date and time when importing photos from camera
  • Input color profile module, when profile is just matrix (and linear curve), is 1/3 faster now.
  • Rudimentary CYGM and RGBE color filter array support
  • Nicer web gallery exporter – now touch friendly!
  • OpenCL implementation of VNG/VNG4 demosaicing methods
  • OpenCL implementation of Markesteijn demosaicing method for X-Trans sensors
  • Filter-out some useless EXIF tags when exporting, helps keep EXIF size under ~64Kb
  • OpenCL: properly discard CPU-based OpenCL devices. Fixes crashes on startup with some partially-working OpenCL implementations like pocl.
  • darktable-cli: do not even try to open display, we don’t need it.
  • Hotpixels module: make it actually work for X-Trans
  • Cmstest tool should now produce correct output in more cases, especially in multi-monitor setups.
  • Darkroom histogram now uses more bins: use all 8-bit of the output, not just 6.

Some More Changes, Probably Not Complete:

  • Drop darktable-viewer tool in favor of slideshow view
  • Remove gnome keyring password backend, use libsecret instead
  • When using libsecret to store passwords then put them into the correct collection
  • Hint via window manager when import/export is done
  • Quick tagging searches anywhere, not just at the start of tags
  • The sidecar XMP schema for history entries is now more consistent and less error prone
  • Rawspeed: fixes for building with libjpeg (as opposed to libjpeg-turbo)
  • Give the choice of equidistant and proportional feathering when using elliptical masks (shift+click)
  • Add geolocation to watermark variables
  • Fix some crashes with missing configured ICC profiles
  • Support greyscale color profiles
  • Make sure that proper signal handlers are still set after GM initialization…
  • OSX: add trash support (thanks to Michael Kefeder for initial patch)
  • Attach Xmp data to EXR files
  • Several fixes for HighDPI displays
  • Use Pango for text layout, thus supporting RTL languages
  • Feathering size in some mask shapes can be set with shift+scroll
  • Many bugs got fixed and some memory leaks plugged
  • The usermanual was updated to reflect the changes in the 2.2 series
  • Tone curve: mode “automatic in XYZ” mode for “scale chroma”
  • Some compilation fixes

Lua specific changes:

  • All asynchronous calls have been rewritten
  • The darktable-specific implementation of yield was removed
  • darktable.control.execute allows to execute some shell commands without blocking Lua
  • darktable.control.read allows to wait for a file to be readable without blocking Lua
  • darktable.control.sleep allows to pause the Lua execution without blocking other Lua threads
  • darktable.gui.libs.metadata_view.register_info allows to add new field to the metadata widget in the darkroom view
  • The TextView widget can now be created in Lua, allowing input of large chunks of text
  • It is now possible to use a custom widget in the Lua preference window to configure a preference
  • It is now possible to set the precision and step on slider widgets

Changed Dependencies:

  • CMake 3.0 is now required.
  • In order to compile darktable you now need at least gcc-4.7+/clang-3.3+, but better use gcc-5.0+
  • Drop support for OS X 10.6
  • Bump required libexiv2 version up to 0.24
  • Bump GTK+ requirement to gtk-3.14. (because even debian stable has it)
  • Bump GLib requirement to glib-2.40.
  • Port to OpenJPEG2
  • SDL is no longer needed.

Base Support:

  • Canon EOS-1D X Mark II
  • Canon EOS 5D Mark IV
  • Canon EOS 80D
  • Canon EOS 1300D
  • Canon EOS Kiss X80
  • Canon EOS Rebel T6
  • Canon EOS M10
  • Canon PowerShot A720 IS (dng)
  • Canon PowerShot G7 X Mark II
  • Canon PowerShot G9 X
  • Canon PowerShot SD450 (dng)
  • Canon PowerShot SX130 IS (dng)
  • Canon PowerShot SX260 HS (dng)
  • Canon PowerShot SX510 HS (dng)
  • Fujifilm FinePix S100FS
  • Fujifilm X-Pro2
  • Fujifilm X-T2
  • Fujifilm X70
  • Fujifilm XQ2
  • GITUP GIT2 (chdk-a, chdk-b)
  • (most nikon cameras here are just fixes, and they were supported before already)
  • Nikon 1 AW1 (12bit-compressed)
  • Nikon 1 J1 (12bit-compressed)
  • Nikon 1 J2 (12bit-compressed)
  • Nikon 1 J3 (12bit-compressed)
  • Nikon 1 J4 (12bit-compressed)
  • Nikon 1 J5 (12bit-compressed, 12bit-uncompressed)
  • Nikon 1 S1 (12bit-compressed)
  • Nikon 1 S2 (12bit-compressed)
  • Nikon 1 V1 (12bit-compressed)
  • Nikon 1 V2 (12bit-compressed)
  • Nikon 1 V3 (12bit-compressed, 12bit-uncompressed)
  • Nikon Coolpix A (14bit-compressed)
  • Nikon Coolpix P330 (12bit-compressed)
  • Nikon Coolpix P340 (12bit-compressed, 12bit-uncompressed)
  • Nikon Coolpix P6000 (12bit-uncompressed)
  • Nikon Coolpix P7000 (12bit-uncompressed)
  • Nikon Coolpix P7100 (12bit-uncompressed)
  • Nikon Coolpix P7700 (12bit-compressed)
  • Nikon Coolpix P7800 (12bit-compressed)
  • Nikon D1 (12bit-uncompressed)
  • Nikon D100 (12bit-compressed, 12bit-uncompressed)
  • Nikon D1H (12bit-compressed, 12bit-uncompressed)
  • Nikon D1X (12bit-compressed, 12bit-uncompressed)
  • Nikon D200 (12bit-compressed, 12bit-uncompressed)
  • Nikon D2H (12bit-compressed, 12bit-uncompressed)
  • Nikon D2Hs (12bit-compressed, 12bit-uncompressed)
  • Nikon D2X (12bit-compressed, 12bit-uncompressed)
  • Nikon D3 (14bit-compressed, 14bit-uncompressed, 12bit-compressed, 12bit-uncompressed)
  • Nikon D300 (14bit-compressed, 14bit-uncompressed, 12bit-compressed, 12bit-uncompressed)
  • Nikon D3000 (12bit-compressed)
  • Nikon D300S (14bit-compressed, 14bit-uncompressed, 12bit-compressed, 12bit-uncompressed)
  • Nikon D3100 (12bit-compressed)
  • Nikon D3200 (12bit-compressed)
  • Nikon D3300 (12bit-compressed, 12bit-uncompressed)
  • Nikon D3400 (12bit-compressed)
  • Nikon D3S (14bit-compressed, 14bit-uncompressed, 12bit-compressed, 12bit-uncompressed)
  • Nikon D3X (14bit-compressed, 14bit-uncompressed, 12bit-compressed, 12bit-uncompressed)
  • Nikon D4 (14bit-compressed, 14bit-uncompressed, 12bit-compressed, 12bit-uncompressed)
  • Nikon D40 (12bit-compressed, 12bit-uncompressed)
  • Nikon D40X (12bit-compressed, 12bit-uncompressed)
  • Nikon D4S (14bit-compressed)
  • Nikon D5 (14bit-compressed, 14bit-uncompressed, 12bit-compressed, 12bit-uncompressed)
  • Nikon D50 (12bit-compressed)
  • Nikon D500 (14bit-compressed, 12bit-compressed)
  • Nikon D5000 (12bit-compressed, 12bit-uncompressed)
  • Nikon D5100 (14bit-compressed, 14bit-uncompressed)
  • Nikon D5200 (14bit-compressed)
  • Nikon D5300 (12bit-uncompressed, 14bit-compressed, 14bit-uncompressed)
  • Nikon D5500 (12bit-uncompressed, 14bit-compressed, 14bit-uncompressed)
  • Nikon D60 (12bit-compressed, 12bit-uncompressed)
  • Nikon D600 (14bit-compressed, 12bit-compressed)
  • Nikon D610 (14bit-compressed, 12bit-compressed)
  • Nikon D70 (12bit-compressed)
  • Nikon D700 (12bit-compressed, 12bit-uncompressed, 14bit-compressed)
  • Nikon D7000 (14bit-compressed, 12bit-compressed)
  • Nikon D70s (12bit-compressed)
  • Nikon D7100 (14bit-compressed, 12bit-compressed)
  • Nikon D80 (12bit-compressed, 12bit-uncompressed)
  • Nikon D800 (14bit-compressed, 12bit-compressed, 12bit-uncompressed)
  • Nikon D800E (14bit-compressed, 12bit-compressed, 12bit-uncompressed)
  • Nikon D90 (12bit-compressed, 12bit-uncompressed)
  • Nikon Df (14bit-compressed, 14bit-uncompressed, 12bit-compressed, 12bit-uncompressed)
  • Nikon E5400 (12bit-uncompressed)
  • Nikon E5700 (12bit-uncompressed)
  • Olympus PEN-F
  • OnePlus One (dng)
  • Panasonic DMC-FZ150 (1:1, 16:9)
  • Panasonic DMC-FZ18 (16:9, 3:2)
  • Panasonic DMC-FZ300 (4:3)
  • Panasonic DMC-FZ50 (16:9, 3:2)
  • Panasonic DMC-G8 (4:3)
  • Panasonic DMC-G80 (4:3)
  • Panasonic DMC-G81 (4:3)
  • Panasonic DMC-G85 (4:3)
  • Panasonic DMC-GX80 (4:3)
  • Panasonic DMC-GX85 (4:3)
  • Panasonic DMC-LX3 (1:1)
  • Panasonic DMC-LX10 (3:2)
  • Panasonic DMC-LX15 (3:2)
  • Panasonic DMC-LX9 (3:2)
  • Panasonic DMC-TZ100 (3:2)
  • Panasonic DMC-TZ101 (3:2)
  • Panasonic DMC-TZ110 (3:2)
  • Panasonic DMC-ZS110 (3:2)
  • Pentax K-1
  • Pentax K-70
  • Samsung GX20 (dng)
  • Sony DSC-F828
  • Sony DSC-RX100M5
  • Sony DSC-RX10M3
  • Sony DSLR-A380
  • Sony ILCA-68
  • Sony ILCA-99M2
  • Sony ILCE-6300

We were unable to bring back these 2 cameras, because we have no samples.


This is a companion discussion topic for the original entry at https://www.darktable.org/2016/12/darktable-2-2-0rc3-released/