The Big Ones:
Add new automatic perspective correction module (
https://www.darktable.org/2016/03/a-new-module-for-automatic-perspective-correction/)
Liquify tool for all your fancy pixel moving (
https://www.darktable.org/2016/04/liquify-liquify/)
A new image module to use a Color Look Up Table (CLUT) to change colors in the image (
https://www.darktable.org/2016/05/colour-manipulation-with-the-colour-checker-lut-module/)
In Highlight reconstruction module, the mode LCh reconstruction was completely rewritten, and is no longer useless!
A new tool, darktable-chart, that goes along with the CLUT module, to create styles for the latter
Exposure fusion in the basecurve module to lower the dynamic range of images (
https://www.darktable.org/2016/08/compressing-dynamic-range-with-exposure-fusion/)
Add new raw overexposure indication (
https://www.darktable.org/2016/10/raw-overexposed/)
Darkroom: the preview (in top-left corner) is now no longer pre-demosaiced (but just downscaled without demosaicing it at the same time), thus the preview, color picker, histogram show the proper results, especially when there is highlight clipping.
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) (
https://www.darktable.org/2016/04/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
Lens correction module: switched back to normal Lensfun search mode for lens lookups.
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.
Remove gnome keyring password backend
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.
If anyone reading this owns such a camera, please do consider providing samples.
Nikon E8400
Nikon E8800
White Balance Presets:
Canon EOS 1200D
Canon EOS Kiss X70
Canon EOS Rebel T5
Canon EOS 1300D
Canon EOS Kiss X80
Canon EOS Rebel T6
Canon EOS 5D Mark IV
Canon EOS 5DS
Canon EOS 5DS R
Canon EOS 750D
Canon EOS Kiss X8i
Canon EOS Rebel T6i
Canon EOS 760D
Canon EOS 8000D
Canon EOS Rebel T6s
Canon EOS 80D
Canon EOS M10
Canon EOS-1D X Mark II
Canon PowerShot G7 X Mark II
Fujifilm X-Pro2
Fujifilm X-T2
Fujifilm X-T10
Fujifilm X100T
Fujifilm X20
Fujifilm X70
Nikon 1 V3
Nikon D5500
Olympus PEN-F
Pentax K-1
Pentax K-70
Pentax K-S1
Pentax K-S2
Sony ILCA-68
Sony ILCE-6300
Noise Profiles:
Canon EOS 5DS R
Canon EOS 80D
Canon PowerShot G15
Canon PowerShot S100
Canon PowerShot SX100 IS
Canon PowerShot SX50 HS
Fujifilm X-T10
Fujifilm X-T2
Fujifilm X100T
Fujifilm X20
Fujifilm X70
Nikon 1 V3
Nikon D5
Nikon D5500
Olympus E-PL6
Olympus E-PM2
Olympus PEN-F
Panasonic DMC-FZ1000
Panasonic DMC-GF7
Pentax K-1
Pentax K-S2
Ricoh GR
Sony DSLR-A900
Sony DSC-RX10
Sony ILCE-6300
Sony NEX-5
Sony SLT-A37
New Translations:
Hebrew
Slovenian
Updated Translations:
Catalan
Czech
Danish
Dutch
French
German
Hungarian
Italian
Polish
Russian
Slovak
Spanish
Swedish
Ukrainian