=========================================
Version 0.2.8

* New features:

- [raw processing] added fallback RAW decoding based on RawTherapee code.
  Used for example for opening floating-point DNGs not supported by RawSpeed
- [film CLUTs] added support for reading bundled gmic_film_cluts.gmz file
- [plugin] moved GIMP plugin to external project
- Added optional support for sidecar files. 
  When exporting an image to TIFF or Jpeg format,
  the editing configuration is saved into a file named .tif.pfi or .jpg.pfi.
  Also, when opening an image named image.ext, the program looks for a sidecar
  file named image.pfi or image.ext.pfi (in this order) in the same folder.
  If a sidecar .pfi file is found it is opened instead of image.ext.
  The sidecar files functionality is disabled by default, and can be enabled
  via the settings dialog.

* Improvements:

- Re-worked the UI layout, now with a single left panel showing both the layers tree and
  the controls for the active tool. Masks editing is now also performed in the same panel.
- Various improvements and polishing of widgets layout
- Removed dependency on GExiv2. Code now only depends on Exiv2. A bundled 0.2.6 version is used if
  not found on the system.
- [tools/raw processing] reduced memory usage during RAW image loading
- [tools/raw processing] RAW decoding updated to current RawSpeed/DT git version (as of 2017-05-25)
- [tools/raw processing] added support for per-cahnnel black levels
- [tools/lens corrections] completed optical corrections support, now also included in the RAW processing module
- [tools/lens corrections] added support for fixed-lens camera (from Darktable)
- [tools/crop] added top/left handles and fixed handling of image boundaries
- [gui] replaced GTK idle callbacks with Glib::Dispatcher signals, and improved thread-safety
- [gui] added expander for grouping additional tool controls, like horizontal/vertical shifts
- [gui] added more keyboard shortcuts (layer copy/cut/paste/deletion)
- [gui] using vips_resize() for fit-to-screen scaling
- [batch] enable outputting of .PFI files
- [build] moved GMIC code into a separate static library, to speed up parallel compilation

* Bug fixes:

- [base] fixed threading of cache buffers for VIPS versions 8.4.*
- [tools/raw processing] fixed issue with SPOT WB when output is gamma-encoded
- [tools/raw processing] fixed spot WB when output image is in Lab colorspace
- [tools/shadows-highlights] Fixed processing of highlights
- [tools/clone-stamp] fixed various bugs leading to unpredictable crashes
- [tools/uniform fill] fixed initialisation of color selector button in UI
- [tools/lens corrections] fixed crash due to un-initialised pointers when camera/lens not found

=========================================
Version 0.2.7

* New features:

- Added default application icon and desktop file
- [base] implemented "insert image as layer" funcionality
- [raw processing] added initial support for X-Trans sensors
- [tools] added wavelet-based multi-scale decomposition tool based on GIMP "wavelet decompose" filter (*)
- [tools] added "hot pixels filter" algorithm ported from Darktable (*)
- [tools] added non-local means noise reduction algorithm ported from Darktable
- [tools] added initial implementation of shadows/highlights tool from Darktable (only gaussian blurring)
- [tools] added "defringe" algorithm ported from Darktable (*)
- [freehand drawing] added option for choosing a transparent background
- [basic adjustments] added "gamma" adjustment
- [gimp plug-in] the plug-in configuration gets now stored as meta-data in the associated GIMP layer
  This gives the possibility to directly paint over a layer with the pencil
- Added (optional) bundling of GExiv2 v0.10.3

(*) contributed by Edgardo Hoszowski

* Improvements:

- [base] implemented sharing of cache buffers between preview and export
  This dramatically improves the export speed when caching is completed
- [base] changed pixel format of preview pipeline to float
  All computations are now performed in floating-point precision
- [icc conversion] disabled ICC transforms when input and output colorspaces are the same
- Removed dependency on LibRAW
- [clone layer] it is now possible to select a single channel as clone target
- [denoise] it is now possible to restrict the noise reduction to a single channel
- [sharpening] it is now possible to restrict the noise reduction to a single channel
- [gui] last visited folders saved into options file
- [base] changed application data folder under Windows to %PROGRAMDATA%
- [processing] optimised VipsImage processing order to avoid over-computation of tiles
- [raw processing] improved speed of RAW decoding
- [base] introduced memory-based caching. 
  The caching reverts to disk storage if the buffer is larger than 500MB or if memory allocation fails
- [gimp plug-in] added ICC conversion to GIMP working profile when returning the output image from the PhotoFlow plug-in
- [rescaling] the image rescaling tool now uses the default high-quality algorithm from vips_resize() function
- [gimp plug-in] improved RAW file matching
- [gimp plug-in] improved detection of input BABL format and GIMP working profile
  Now the code works correctly for both gamma-encoded and linear input image data

* Bug fixes:

- [gmic/film emulation] fixed malformed gmic commands for B&W and print film presets
- [raw processing] Fixed output to Lab colorspace
- [demosaicing] Fixed corrupted image border for "Fast" and "IGV" methods
- [lensfun] using LoadDirectory() to open database for bundled lensfun version
- [scale/rotate tool] fixed issue with non-initialized crop area
- [hand drawing] fixel various bugs related in the strokes rendering
- [noise reduction] fixed impulse NR for Lab colorspace
- Fixed crash when closing the application or one of the image tabs (see issue #106)
- [gimp plug-in] Fixed crash when closing the GIMP plug-in from either the "Close"button or the window close button
- [gui] increased size of preview tile cache to accommodate 4k displays
- [gui] fixed crashed due to GUI updates inside processor thread

=========================================
Version 0.2.6

* New features:

- Implemented GIMP plug-in
- Processing pipeline:
  - Disabled pre-caching of layers at image loading. Added output tilecache operations to cached layers.
  - Updated G'MIC to version 1.6.9
- Raw processing:
  - Added temperature/tint white-balance controls
  - Added chromatic aberrations correction module (automatic and manual), based on RawTherapee code
  - Added "clip" and "blend" highlights reconstruction modes.
    "clip" mode just clips the output of the demosaicing phase to the [0..1] range.
    "blend" mode is derived from the similar mode of RawTherapee and is equivalent to DCRAW's "-H 2" option
  - Added correction of RAW black/white points. The corrections are applied to the RAW data BEFORE the white balancing step
  - The camera input profile is now assigned to the image data when the working profile is set to NONE
  - Added possibility to define a default processing preset for all opened RAW files, to be stored as "$HOME/.photoflow/presets/default.pfp" under Linux/OSX. This feature is not yet working under Windows
- Scale/rotate tool: added horizontal and vertical image flipping
- GUI:
  - Added vertical panel with tools shortcuts on the left of the layers list
  - Implemented preview image panning via Ctrl-left-click-n-drag
  - Added persistent application settings and settings dialog
  - Added "about" section in settings dialog
  - Added possibility to choose a custom monitor profile from disk, which is then used to render the image in the preview area
  - Added help dialogs specific for each tool
  - The clipping warning logic has been changed: now it gets activated whenever at least one channel exceeds the threshold
  - Changed logic for tools activation: now only one tool at a time can be expanded and thus activated, and it also grabs control of the mouse clicks in the preview area. The "editing flag" button has therefore been removed.
  - Improved slider widgets appearance and added reset button
  - Completed GTK3 compatibilty and added initial GTK3 theme, based on TooWaBoo's RawTherapeeBlue.css theme (add link)
  - Improved file handling icons. New icons are adapted from the LibreIcons iconset (add link)
  - Added rule-of-thirds guidelines to "crop" tool
  - Added possibility to move the selected control point in the curves tool via the keyboard up/down/left/right arrows.
  - Enabled Ctrl+Alt+left_click sampling of curve points for the "H/S/L mask" and the "brightness/contrast/saturation/hue" tools
  - The expanded/collapsed state of group layers in GUI is now kept when the processing pipeline is re-built and saved in the PFI files
- Build system: added building option to choose among the bundled and system-wide LensFun libraries

* Bug fixes:

- Fixed various bugs in processing threads synchronization
- Fixed various bugs in objects clean-up at program end
- Fixed mouse coordinates conversion for "perspective" tool
- Fixed laggynesh of path tool during path creation and bug in falloff rendering
- Fixed bugs in freehand drawing pencil rendering at the image borders. 
- Fixed bug in clone-stamp realtime update while dragging pencil.
- Fixed bug in dirty flag updating for layers inside a group
- Fixed various bugs in cache updates when moving/deleting/hiding layers


=========================================
Version 0.2.5

* New features:

- [freehand drawing] Added brush feathering and improved painting performances.
  Added Ctrl+Alt+left_click mouse combination to continue last stroke.
- Implemented first version of spline path mask tool.
- [HSL mask] Added mask inversion.
- [lens correction] Bundled LensFun version 0.3.2. This fixes a crash of the lensfun module under Ubuntu.

* Bug fixes

- [clone stamp] Fixed bug in region selection affecting strokes after the first one
- Fixed compilation issues under Fedora 23


=========================================
Version 0.2.4

* Bug fixes:

- The tools reset button now works also with curves
- The target channel selector has been removed from tools that do not correctly implementing this feature
- Impulse noise reduction tool: fixed memory leak
- Fixed crashes on some Xfce-based systems
- Perspective correction tool: initial region set to rectangle (therefore no correction is initially applied)
- Curves tool: sampling of curve points is now associated to Ctrl+Alt+left_click mouse gesture. For this to work, the curves tool has to be set in "edting" mode
- Clone stamp tool: the sampling region is now selected by a Ctrl+Alt+left_click in the preview area.
- Image preview: fixed possible memory corruption when drawing vertical lines on top of the preview image
- Improved compatibility with GTK3. GTKMM3 support can now be activated via -DUSE_GTKMM3=1 cmake option.

=========================================
Version 0.2.3

* New Features:

- Updated G'MIC to version 1.6.7
- Updated adobe camera matrix coefficients and white balance presets to Darktable 1.6.9
- Added partial support for FUJIFILM SL1000 (only adobe matrices, no WB prests)
- Added LMMSE demosaicing from RawTherapee
- Added new "impulse noise reduction" tool, based on the equivalent tool from RawTherapee
- Added new "perspective correction" tool, based on the "keystone perspective correction" from Darktable.
- The "RAW developer" tool is now automatically added above the "RAW loader" when opening RAW images
- Added reset button to restore the tools parameters to their default values
- Added target channel selector for tools that allow opacity blend
- File open dialog: updated list of recognized image file formats to include all known RAW extensions
- Lensfun: improved pixel interpolation


* Bug fixes:

- Fixed preview of un-processed RAW images
- Fixed borken preview when using the freehand drawing and clone stamp tools
- Fixed application freeze when using the spot and color spot white balance tools
- The un-processed RAW image is displayed when no suitable adobe camera matrix is found, to prevent application crash
- Fixed layer dirty flag setting when moving or deleting a layer

=========================================
Version 0.2.2

* New Features:

- Added histogram visualization
- Implemented handling of auto-orientation EXIF flag
- Added interactive editing of horizontal and vertical gradients shape
- Changed assignment of mouse clicks in preview area:
  - Ctrl-clicks are now reserved for zooming/panning.
  - Ctrl-double-click is now used to toggle between 100% and zoom-to-fit
  - Sampling of curve points is for now on associated to Alt-click (was Ctrl-click before)

* Bug fixes:

- Improved accuracy of Lab->RGB conversion. This guarantees for example a neutral greyscale image 
  when desaturating with the "Lab L channel" method

=========================================
Version 0.2.1

* New features:

- Re-added GUI controls for horizontal/vertical shifting of layers
- Gradient tool: the tool controls now include a curve adjustment, which allows to easily create 
  arbitrary colored and/or non-linear gradients starting from a linear grayscale one.
- Scale/rotate tool: added mouse-driven rotation and automatic cropping of rotated image
- Few changes have been introduced into the "Volume" tool, now called "Local contrast":
  - the "Unsharp mask" method has been renamed to "Gaussian"
  - the option to use G'MIC "Bilateral smoothing" as blurring operator has been added. 
    This usually produces results with less evident halos. Idea taken from here:
- Added shadows/highlights clipping warning in preview area
- Replaced text of zoom buttons with icons from http://studiojunkyard.github.io/LibreICONS/
- Added status indicator at the bottom of the image preview area. The possible configurations are:
  - "ready" + green indicator: the preview area is up-to-date and the processing engine is idle
  - "processing" + red indicator: the preview area is being updated
  - "caching" + orange indicator: the preview area is up-to-date but the processing engine is performing some background caching. In this case, further updates of the preview area might be slower than usual
  - "exporting" + red indicator: the processing engine is busy exporting the current image
- The buttons for switching maps on/off, making a layer sticky and enabling/disabling the layer editing mode
  are now duplicated in the auxiliary controls panel above the layers list
- When opening a PFI file, if an input image is not found in the path stored in the PFI file it is
  searched in the same folder as the PFI file itself. This allows PFI files to behave as "sidecars",
  and to be easily distributed toghether with the original images.
- Improved color scheme for tools controls (lighter background)
- Added alternative overlay blend mode equivalent to GIMP one (very close to soft light)
- Improved/simplified rendering of preview image:
  - the centering in zoom-to-fit mode is now handled directly by GTK, instead of drawing a black
    border explicitely has it was done before.
  - when in zoom-to-fit mode, the preview image gets properly scaled and re-centered when the right
    controls panel is shown/hidded (see issue #36: https://github.com/aferrero2707/PhotoFlow/issues/36)
- Updated G'MIC to version 1.6.5.2
- Updated French translations (thanks to Patrick Depoix)

* Bug fixes:

- Fixed bug in G'MIC filters under OSX (see https://discuss.pixls.us/t/gmic-stability-under-osx/)
- Fixed various issues related to the deletion of layers
  (see issue #35: https://github.com/aferrero2707/PhotoFlow/issues/35)
- Reduced accuracy of spin button that adjusts the rotation angle in the "scale/rotate" tool
  (see issue #37: https://github.com/aferrero2707/PhotoFlow/issues/37)
- Opening a layer map whose tab exists already now activates the tab itself, instead of adding a new one 
  (see issue #39: https://github.com/aferrero2707/PhotoFlow/issues/39)
- Fixed memory corruption in RAW histogram filling 
  (see issue #40: https://github.com/aferrero2707/PhotoFlow/issues/40)
- Improved behaviour of image blender: when two images have a different number of channels or pixel format,
  the blending is set automatically to "passthrough" 
  (see issue #40: https://github.com/aferrero2707/PhotoFlow/issues/40)

=========================================
Version 0.2.0

- Implemented new GUI layout
- Updated G'MIC to 1.6.5.2_pre version
- Removed current directory change on preset loading
- Added OSX build environment and scripts
- Grouped mask-related tools in a new "mask" tab

=========================================
Version 0.1.6

- Improved selection of curve points
- The curve points for the generation of the mask for the the B/C/S/H (Brightness/Contrast/Saturation/Hue) tool 
  can now be added by ctrl-clicking on the preview area.
- Added feathering of B/C/S/H mask
- Added H/S/L mask tool. The generated grayscale image is equivalent to the mask of the B/C/S/H tool, 
  however the advantage is that it can be used as a generic layer mask to be associated to other tools
  (like curves, blurs, etc...)
- Improved gaussian blur filter:
  - added memory caching at the filter input (improves performance significantly)
  - blur method is now the same for preview and rendering, and can be choosen from configuration dialog
  - blur method is fixed to "accurate" for radii below 5 pixels
  - blur method defaults to "fast" (sii) for radii larger than 5 pixels
- Modified sinkscreen_pf.c to allow for parallel processing of dirty tiles (one thread for each available CPU core).
  This improves the responsiveness of the preview area on multi-core machines.
- Input EXIF/XMP/IPTC metadata are now saved to the exported TIFF and JPG images, using GExiv2.
  Starting from this version, GExiv2 is therefore needed to compile PhotoFlow
- Added default layer names for several tools (instead of the generic "New Layer")
- Icons for the layer masks now represent the actual status of the mask:
  - white if mask is empty
  - a gradient if the mask contains one or more layers
  - a crossed gradient if the mask is not empty, but disabled
- Updated French transaltions

G'MIC:
- Added optional in-memory tile caching for G'MIC operations (one cache for each iteration)
- Improved G'MIC bilateral smoothing (or "surface blur" filter):
  - added padding parameter based on spatial variance (scaled to actual zoom level)
  - "value variance" is now independent of zoom level (was incorrectly scaled together with the spatial variance)
  - enabled tile caching
- Fixed multi-threaded processing of G'MIC filters under OSX 
  (by protecting all sscanf calls with a global mutex)
- The film processing presets have been moved from the "G'MIC" to the "color" category

=========================================
Version 0.1.5

- Added new "Brightness/Contrast/Saturation/Hue Adjustment" tool, which replaces the previous "Hue/Saturation Adjustment"
- Added "Volume" tool (similar to "Clarity", i.e. local contrast targeting the mid-tones), inspired by ...
- LibRAW is now compiled as a separate library (like in darktable)
- Updated darktable code to version 1.6.7
- Updated G'MIC code to version 1.6.5.0

=========================================
Version 0.1.4

- Fixed bug in update of layer's "visible" flag

=========================================
Version 0.1.3

- Fixed opacity blending of "Color" mode in RGB and Lab colorspaces
- Fixed opacity blending of "Luminosity" mode in Lab colorspace
- Fixed filling of layer list of clone tool: for clone layers inserted
  in layer masks, the parent layer was incorrectly included in the list,
  leading to a possible unresolvable circular dependency between 
  the clone layer and its source. Now the parent layer is not included
  anymore in the list of possible clone sources.
- original "visible" flag of layers renamed to "enabled", and added a new "visible"
  flag to indicate if a given layer is either directly hidden or indirectly hidden
  because some of its parents are hidden.
  The "enabled" flag now indicates if the layer is directly hidden.
- Removed fatal assertion on the validity of the output image from layer extra inputs.
  Now if the image is invalid a NULL pointer is simply added to the list of extra inputs,
  without causing a program crash. Nevertheless, a notification mechanism should be
  introduced to inform the user of the abnormal situation.
- Fixed corruption of RAW image metadata at zoom levels below 100%
- Fixed bug in the image preview at program startup
- Fixed several clang compilation warnings


=========================================
Version 0.1.2

- Added "invert" parameter to gradient tool (to reverse the direction of the gradient)
- Fixed bug that prevented correct loading of presets with multiple layers into a layer mask
- Fixed locale support (only tested with french translations under Linux)
- pfconv: output file is now overwritten in place by exiftool

=========================================
Version 0.1.1

- Added file name widget to RAW loader dialog. This allows
  to edit multiple RAW files simultaneously in the same image.

- Added digital watermarking tool based on G'MIC "watermark_fourier" filter.

- Modified Hue/saturation and brightess/contrast tools to work correctly also in Lab colorspace.
- Fixed computation of saturation adjustment. Now the saturation slider produces exactly the same
  output as the equivalent tool in GIMP (except that computations are in 32-bits floating point
  precision and are applied non-destructively). Internally, the hue/saturation tool now works 
  in the HSL colorspace like GIMP (instead of the HSV colorspace used before).
  
- Moved "RAW developer" tool into "Load" tab and removed "raw" tab.
- Moved "Color profle conversion" tool into "Color" tab and removed "conv" tab.

- Quality of Jpeg output set to "100".

=========================================
Version 0.1.0

Initial release

Test
