Photoprint-0.3.1

  * Fixed Greyscale BMPs printing in negative!

  * Possibly fixed bug that sometimes causes prints to be offset by about 3mm

  * Added a dedicated ProfileSelector widget

  * Created a PathEditor widget

  * Created an ImageSelector widget (used for selecting masks)

  * Added a new "Paths" dialog for selecting profile and border paths.

  * Batch mode works again
  
  * Reworked the ConfigFile code a little to ease the storing of paths.

  * Moved some of the more general-purpose and reusable UI code into support/

  * Cleaned up a minor signal-handling bug in the poster layout.

  * Should now be able to do full-bleed printing when Borderless is selected
    in the print options.

  * pixbuf_from_imagesource can now cope with GreyScale images.


PhotoPrint-0.3.0

  * Fixed uncaught exception if a bad / non-existent mask filename is provided.

  * Fixed a problem with detecting libpnm on systems that don't have it linked
    to the math library.
    
  * Fixed a double-free in imagesource_lanczossinc.cpp.

  * Added new ProfileManager class.

  * Reworked all four layout classes to use the new ProfileManager.
	Much tidier now.

  * Added some much-needed comments to the hairier parts of the
    ProfileManager.

  * DeviceLink profiles are now supported.  If the printer's profile is 
    a DeviceLink, then ordinarily the default profile is ignored; images
    that have an embedded profile are transformed first to the default
    profile and then the printer profile is applied.  Therefore, the default
    profile should be the same one used as a source profile when the DeviceLink
    was made.

  * PhotoPrint's version is now encoded into the preset files.
    The ProfileManager's parameters now have their own section within the
    preset file; PhotoPrint will automatically transfer these parameters
    from old presets, but newly-saved presets will now be incompatible with
    previous versions.


PhotoPrint-0.2.9

  * JPEG loader doesn't now initialise the decompressor until the first row
    is requested.  I'd hoped this would improve performance when querying image
    dimensions and resolution, but it seems to make no appreciable difference.

  * Layout::TransferImages now accepts a Progress object, and is cancellable.
  
  * Greyscale images are now "promoted" to RGB.
  
  * Multi-selection now works in N-Up mode, and "Remove Image", "Allow Cropping"
    and "Allow Rotation" are correctly applied to all selected images.

  * New "Image" menu - duplicating the functionality of the context menus; allows
    settings to be applied en masse.

  * Context menu is no longer handled by the individual pageview widgets; instead
    they emit a "popupmenu" signal which the pp_layout_* widget propagates back to
    the pp_mainwindow widget.

  * Layouts now provide a bitwise mask defining their capabilities; this is used to
    enable and disable entries in the menus.

  * Layouts now support explicit rotation to 0, 90, 180 and 270 degrees, and also
    support "Auto" rotation - similar to the old behaviour.

  * Auto layout now supports shift-click multi-selection
  
  * Cleaned up multipage handling, which was failing to deal with the possibility
    of removing more than a pagefull of images in one go.

  * Added multi-selection to Carousel mode, plus selection highlighting.

  * Fixed a page numbering problem with the Single layout.


PhotoPrint-0.2.8

  * Fixed an uninitialised variable that was wreaking havok in stpui_combo

  * Created a search-path system for the ICC profiles.  The program will now use
    the following search paths by default (in this order):
    $HOME/.color/icc
    $HOME/.photoprint/icc
    /usr/share/color/icc
    /usr/local/share/color/icc
    When a profile is selected in the file selector, its path is checked to see
    whether it's in any of the standard paths.  If so, the path component is removed.
    The paths are checked one by one to locate the profile when it's needed.
    (This makes sharing preset files much easier, since the path to the profile is
    no longer absolute.)

  * Added #include <math.h> to imagesource_segmentmask.cpp


PhotoPrint-0.2.7

  * Added (at last!) the ability to create the .photoprint directory if necessary.

  * Splash screen no longer appears in batch mode.

  * Fixed a problem with the "changed" signal not being caught after a layout change.

  * Renamed and rearranged the layout names - Single is not useful except in
    specific circumstances, so should be less "inviting".

  * Can now cancel the adding of multiple images.

  * The problem with previewing multiple pages in poster mode is fixed.

  * The manual sizing mode now automatically shrinks newly-placed images if their
    natural size would be too large to fit the page.

  * Fixed some problems with the Carousel mode's UI.  Layout_Single was used as a
    starting point for Layout_Carousel, and I'd missed a few references to
    Layout_Single.


PhotoPrint-0.2.6

  * Fixed (I hope) the problem on some machines with the unit conversion
    macros failing.  Something seems to be interfering with the use of round()

  * Fixed a problem with the options system, which caused PhotoPrint's output to
    be considerably darker than the print plugin's with the same settings.
    WARNING: THIS WILL INVALIDATE ALL EXISTING PROFILES - but by vastly reducing
    the gamma setting you should be able to reproduce the old behaviour!

  * Added spin buttons to control number of segments and overlap for Carousel layout.

  * Fixed double free error in the layouts (transformed preview)


PhotoPrint-0.2.5

  * Added a LayoutRectangle class, with a Fit() function.
  
  * Migrated all fitting functions to use the new LayoutRectangle class
    (Went suspiciously smoothly!)

  * Fixed major screwup in the poster-mode preview caused in
    migrating to LayoutRectangle.

  * Finally added support for physical dimensions in Print Setup.
  
  * Added dummy menu item for Print Preview

  * New layout mode: Image Carousel (for CDs) - arranges the images in a circular
    fashion and blends between images.
    (It's done by placing half the images hard-masked to a segment shape, and
    overlaying the other half with an alpha blend, so only works well for an
    even number of images.)

  * Fixed bug when loading a new preset of the same type as the current preset.
    (Stale pointer to the stp_vars, which is flushed and replaced on preset load.)

  * Added routines to calculate image bounds of Image Carousel segments
    and to provide an imagesource with an appropriate mask applied.

  * Moved thumbnail drawing (common between n-up and poster mode) into the
    layout superclass, along with allowcropping and new allowrotation flags
    to replace the old cropfit flag.

  * Fixed misplaced semicolon in thumbnail "stealing" code.

  * Layout_ImageInfo now generates a thumbnail in the constructor so that
    unsupported file formats are caught earlier.

  * Masking is now implemented for the n-up, single and poster layouts.

  * "Retired" imagesource_signature.  It's too specific to belong in the general
    imagesource library, and with imagesource_montage factored out, it was very
    small anyway.  The functionality is now included in layout_nup.cpp, which
    makes adding the masks much tidier.


PhotoPrint-0.2.4

  * Added a unit widget for physical dimensions
  
  * Added rounding to neat increments to the unit widget.

  * Printer settings are now cleared before loading a preset.
  
  * Added Scaling Quality dialog.
  
  * The file selector now remembers the most recently added image.
  
  * Refactored the Montage imagesource.  Montage is now more general,
    and the specific n-up layout is now handled by a subclass,
    ImageSource_Signature.

  * Added support for alpha channels to TIFF loader and compositing functions.
  
  * Added a PS/PDF loader that generates a temporary TIFF file using GhostScript
  
  * Fixed #ifndef in rotatepixbuf.h (Thanks to regisr for pointing this out)

  * Removed dependency on ini.h in lcmswrapper.*, and created new types to
    deal with whitepoint, primaries, etc.
  
  * Created new subdirectory, "support", containing non-photoprint specific routines.
  
  * Added a splashscreen, in "splashscreen" directory.
  
  * Eliminated several compiler warnings - should now compile cleanly with -Wall
 

PhotoPrint-0.2.3

  * Added support for CMYK images
  
  * Re-worked the colour-management dialog - invalidates old presets

  * Optional parameters now have a check box to disable them

  * Fixed resetting of margins with every print-setup operation.
  
  * Relative pathnames now work
  
  * Fixed a couple of compilation warnings regarding non-virtual destructors
  
  * Fixed a C++/C99 declaration in some C code.

  * Created a Bilinear filter


PhotoPrint-0.2.2

  * Batch mode now implemented

  * Infrastructure is in place for multiple layout types,
    including swapping between them at runtime

  * Single layout now implemented
  
  * Poster layout now implemented
  
  * Added a Lanczos-windowed Sinc interpolation filter
    (currently used for scaling operations of more than 250% linear)
  
  * Infrastructure in place for selecting scaling type and
    rendering resolution at runtime.  (GUI to follow).
    Scaling strategy is currently automatically selected.

  * BMP Loader now fetches the image resolution from the file.

  * Should no longer segfault when fed a bad filename.
  
  * Layout controls are now in a scrollwindow widget, making the program
    more usable with low screen resolutions.

  * Window geometry is now saved with the preset.

  * Now allows more friendly printer configuration; displays a list of
    known printer queues, automatically generates suitable default commands,
    and (if linked against libcups) can deduce the correct Gutenprint driver
    to use.

  * A nasty bug fixed in pp_signature.cpp, where a typo was wreaking havoc with
    the sizegroup, due to a widget being added to it twice.


PhotoPrint-0.2.1

  * Now uses autotools for configuration.

  * Added a context menu to the images, allowing removal and cropping.

  * "Allow Cropping" menu item scales the image to fill the frame completely,
    as opposed to the default method, which scales as large as possible while
    still keeping the entire image within the frame.

  * Added a "crop-fit" fitting method to the ImageSource_Montage class,
    to support the "Allow Cropping" option.

  * Refactored the Layout class into a super- and sub-class, which should
	allow the relatively painless addition of alternative layout styles
	in the future.

  * Moved all the UI elements relating to the NUp layout into a composite
    widget, which again should allow the addition of alternative layouts
    in the future.

  * Added an optional cancel button to the progress indicator.

  * Both the TIFF saver and Printer now respect the cancel button.

  * Fixed a string-freeing error in stpui_widgets/stpui_printerselector.c.


PhotoPrint-0.2.0

  * First GUI-based release


PhotoPrint-0.1.0

  * Initial command-line driven utility.
