Changes in 1.24:
 * Text labels can now include Python expressions inside %{{ }}%
 * Added built-in functions DATE([fmt]), TIME([fmt]), FILENAME() and BASENAME()
   when evaluating expressions, which are useful when used in labels
 * Added Python dictionary ENVIRON when evaluating expressions, to obtain
   values from environment variables
 * Added DATA(name, [part]) function to expression environment for accessing
   values from datasets, useful for function evaluation or labels
 * Added SETTING(path) function for expression evaluation to obtain values
   of settings
 * Added ESCAPE(text) function to environment, which allows LaTeX special
   characters to be displayed in labels
 * Add fractions and percentages units to polar plot
 * Allow number of spokes to be varied in polar plot
 * Widgets can be clicked holding down shift or ctrl, to add or toggle their
   selection
 * Add K. Moreland's cool-warm colormap (thanks to S. Richardson)
 * Added further green-map, blue-darkred, blue-darkorange, brown-blue and
   blue-orange colormaps from Oregon geography dept.
 * Add logarithm and exponential dataset plugins
 * Add Wipe() command to embedding interface to clear document
 * Add File->Reload menu option to reload from saved document
 * Add tooltip to items in FieldWidget showing widget path

Bux fixes:
 * Fix transparency with bar plot
 * Use getcwdu() for python2 to avoid bugs combining paths
 * Handle inf/nan when converting to human readable form in plots
 * Fix CreateHistogram on command line without binparams parameter
 * Handle empty 2D dataset import with grid at edge enabled
 * Do not allow error bars on imported CSV non-numeric data
 * Handle missing argument in \size
 * For data edit dialog, allow 1D dataset to replace 2D dataset
 * Crash if zoom to be height when height is zero
 * Fix problem with 2D import if error message is in unicode
 * With axis-function widget catch result if greater than 1 dimension
 * Fix cloning for datasets with / in name
 * Fix crash in embedding if plot window closed while rendering in progress

Changes in 1.23.2:
 * Add data clipping dataset plugin
 * Fix boxplot with manual settings
 * Fix plugin normalize and divide by maximum for new numpy versions
 * Avoid error in 2d data creation
 * Fix problems with unicode characters in plugins in Python 2.x
 * Clip axis to sensible range -1e100->1e100
 * Handle unicode errors from operating system in Veusz scripts
 * Handle unicode errors in error reports
 * Fix crash in \color

Changes in 1.23.1:
 * Enable compression in exported files (Benjamin K. Stuhl)
 * Fix saving histogram datasets
 * Add option to "thin" error bars plotted
 * Fix label colour in contour labelling
 * Remove use of deprecated Qt functions
 * Fix clone widget tools plugin
 * Fix EPS/PDF crash with broken axis widget
 * Do not crash filter plugin if using date datatype
 * Avoid crashes in normalise, subtract minimum and divide maximum plugins
 * Avoid crash in image widget
 * Avoid issue in identifying spacing in 1D->2D conversion
 * Add Gnuplot 2D data import plugin (Joerg Meyer)
 * When loading data from import plugins, provide default values
 * Remove some deprecated Qt uses
 * Fix issue when plotting non-plain datasets with nan values

Changes in 1.23:
 * Add new export dialog box which can export multiple pages and
   modify the export options
 * Add new dataset filtering dialog
 * Add cubehelix() functional colormap
 * Add -stepN suffix for colormaps to make arbitrary numbers of steps
 * Fix incorrect colors in log images and log color scales
 * Fix unsafe commands not being run

Minor changes
 * Fix incorrect use of None in (x,...) pattern
 * Catch crash if plotting nan/inf value in log space
 * Fix getData in dataset plugin for dimensions=2
 * Catch error in too large float to date time conversion
 * Catch disappeared file during import
 * Index error fixed in pickable
 * Catch error in data edit dialog if 2d dataset size changes
 * If root widget is selected with others, do not error on hide
 * Fix undo for dataset histogram with a single output dataset
 * Fix error resizing ellipse with a tuple width, height or position setting
 * Only use finite values in histogram
 * Rewrite Line/FillSet setting controls for internal consistency and to fix
   new style extended fills
 * Do not crash with log date-time axes
 * Also ignore non-finite values when fitting with minuit
 * Avoid syntax error with invalid colormap
 * Updates to setup.py and desktop files
 * Recreate dataset now works if dialog hasn't been opened already
 * Restore dock layout when using Python3
 * Fix undo after loading stylesheet/custom definitions
 * Support unicode example filenames
 * Clip bezier lines to avoid problems with log axes

Changes in 1.22:
 * Add option to ignore white space following delimiters when importing CSVs
 * Allow x/yedge and x/ycent to be inverted to change data order
   when import 2D data
 * Rewrite of widget tree internals to fix miscellaneous bugs
 * Optionally use astropy for SAMP
 * Add setting to extend the python import path
 * Add option to select widgets with same name on page
 * Resize rectangular shapes keeping other corners fixed. Old symmetric
   resize behaviour is retained if shift is pressed.

Bug fixes
 * Fix faulty caching of datasets expressions
 * Do not auto mirror axes if shared axis placed in grid and ignore
   other hidden axes for mirroring purposes
 * gridatedge 2D import option inverts values in rows
 * y values for 2D datasets in data edit dialog are inverted
 * Fix crash when constructing 2D dataset with constants
 * Fix crash when interpreting date values with unicode
 * Fix for crash when moving ellipses on broken axes
 * Fix crash when editing datetime data
 * Fix crash when renaming 2D datasets in dataset editor
 * If 2d dataset does not exist, don't crash when using colorbar
 * Ignore HDF5 data types which are not supported by h5py
 * Catch recursion limit errors properly
 * In sort and text sort plugins, clip length to minimum
 * Do not plot functions with more than 1D in function plotter
 * Catch error for shapes widgets with no coordinates
 * Handle zero length datasets in subtract minimum or mean
 * Clip range of zoom between 0.05 and 20x
 * Catch errors in CSV date format
 * Do not allow 2D datasets to be used for labels in label widget
 * Handle unicode data correctly in clipboard data
 * Fix data import dialog for fits files in unicode paths

Changes in 1.21.1
 * Add swap option on keys, swapping symbol and text

Bug fixes
 * Fix missing labels if colorbar out of plot
 * Preserve tags when reloading datasets
 * Handle nan/inf/-inf when as value in UI
 * Remove dependence on pyqtconfig in build system
 * Handle errors properly in 2D CSV read
 * Do not crash if selecting siblings of document widget
 * Fix accidental modification of data by line widget
 * Improve PDF bounding box rounding to prevent chopping near edge
 * Fix function plotter in embedding
 * Fix astropy version checking
 * Fix crash for error bar in CSV with blank previous column

Changes in 1.21:
 * Add HDF5 saved document format
 * Add filled curve error bar style
 * Add fill left/right options for point plotter
 * Add filetype filters to import dialog file browser dialog
 * In file completer in import dialog, use selected tab as filter
 * Move code to use PyQt new style signals
 * Add a master color setting for xy point and nonorthpoint plot
 * Line labelling algorithm much improved in contour plots, which
   rotates text to match line angle and avoids label overlaps
 * More accurate axis tick label bounding boxes, allowing rotated
   labels to be placed close together
 * Add reflection and rotation options to vector field widget
 * Switch to scientific notation earlier when showing float settings

Bug fixes:
 * Direction combo did not work in import dialog
 * Saving text datasets did not work in Python3
 * Fix partial dataset evaluation issue when loading documents
 * 2D non-regular pixel spaced images give error if clipped in y
 * Handle Unicode quoted characters in simple text data files
 * xcent/ycent in Dataset2D import plugins were ignored
 * promote_tab broken for import plugins
 * Full screen view when all pages are deleted
 * Crash with empty dataset and boxplot widget
 * Fix copy and paste of datasets
 * Python 3 resizing axis bug
 * Crash if picking/zooming on document with no pages
 * Crash if reediting histogram dataset with blank output entry
 * Use end of text formatting string beyond format specifier
 * When writing SVG text as text, use xml:space="preserve" to
   avoid missing whitespace
 * Embedding socket issue on Python 3.4+

Changes in 1.20.1:
 * Include free-desktop appdata, MIME and desktop files
 * When plotting xy widget filled error regions, plot line on top

Bug fixes:
 * Fix embedding interface startup problem in 1.20
 * Additional embedding interface fixes for Python 3
 * Fix crash in tutorial if flashing widget deleted
 * Fix polar plot crash with reverse minumum and maximum radii
 * Fix crash when changing range of broken axes interactively
 * Fix object deletion crash in setting menu
 * Check output dataset is not same as an input for histograms
 * Fix for compilation on Qt 4.6
 * Catch socket errors on embed client
 * Fixes for formatting strings, including fixes for arguments of
   the extended %Vg format and properly supporting %%
 * When restoring window position, do not restore offscreen

Changes in 1.20:
 * Add HDF5 file data import
 * Allow expressions to be edited for linked 2D datasets
 * Add support for 2D datasets with irregular gridpoints
 * Add 2D data CSV import
 * Allow safe renaming of linked datasets
 * Support importing text from FITS files

Bug fixes:
 * When capturing data from a file/named pipe, do not stop when no
   more data are available
 * Fixes mangling of text in saved files using Windows binary
 * Fix encoding for standard file import
 * Fix FITS import for python3

Changes in 1.19.1:
 * Add option to disable scaling of marker border with point scaling
 * Implement label at-minimum/at-maximum for ternary plot
 * Add border and background fill settings for text label widget
 * Enable FITS support with astropy

Bug fixes:
 * Fix broken drag and drop in documents
 * Fix deleted C/C++ object crash when using undo and in tutorial
 * Fix compilation in MSVC for Python 3
 * Remove warning/error in compilation in gcc in SUSE
 * Add Python version classifiers
 * Fix document icons in Windows binary
 * Error bars can be plotted incorrectly for histogrammed data

Changes in 1.19:
 * Make code compatible with python3
 * Separation of python module and resources in source package
   (packagers may need to consult INSTALL)
 * Move to v2 of PyQt API
 * Remove deprecated numpy API from helpers module
 * Allow FITS dataset names to be blank if prefix/suffix are not
 * New ast-based code security checker
 * Picker uses 1-based index for consistency
 * Allow non-text datasets to be used for labels
 * Add number->text conversion dataset plugin
 * Add binning dataset plugin
 * Allow more significant figures in float values
 * Intelligent choice of significant figures when interactively
   changing axis range
 * Decrease minimum range of axis
 * Add notes setting to document, pages and graphs

Bug fixes:
 * Fix crash if other linked axis not initialized
 * Fix crash if trying to edit non-editable datasets
 * Make ignore exception work in error reporting dialog
 * Renaming datasets, widgets and editing data now allow original
   text to be edited, rather than being cleared
 * Fix line positions on broken axes
 * OS X Mavericks - fixes for opening files from finder and fonts

Changes in 1.18:
 * Add support for dataset expressions when plotting
 * Add axis-function widget for plotting axes which have a scale given
   by a function, or are linked to a different axis via a function
 * Add stepped colour maps
 * Support editing multiple datasets simultaneously in editor
 * Add setting to fix aspect-ratio of graphs
 * Add 'vcentre' line step mode for vertical step plots
 * Add internal margin setting for grids to separate sub-plots
 * Add pixel, pixel_wcs, fraction and linear_wcs FITS import
   coordinate system modes
 * Add drop down toolbar button menu to create axis widgets
 * More efficient widget dependency resolution

Bug fixes:
 * Fix reversed 'broken'-axes
 * Do not always draw axes above other widgets (fixes problem with key
   below axis)
 * Fix use of transparency image when plotting non-square images
 * Allow lists passed as xrange and yrange to create 2D dataset
 * Fix FieldBool positioning for plugins
 * QDP import: fix "no" values when used mixed with numbers
 * Remove warning of log images with zeros
 * For embedded mode, always return string for __repr__
 * Workaround for windows appearing behind for Mac OS X
 * Improve property spacing on Mac OS X

Changes in 1.17.1:
 * Allow coloured points for non-orthogonal plots (polar, ternary)
 * Remove unnecessary exception data

Bug fixes:
 * Fix Print dialog
 * Fix command-line "Print" command
 * Fix duplicate axes drawn in grid
 * Fix crash adding empty polar plot
 * Exit properly on Mac OS X with --export option
 * Fix highlighted button icons missing (Mac OS X binary)

Changes in 1.17:
 * Add new broken axis widget with gaps in the numerical sequence
 * Grid lines are plotted always under (or over) the data
 * Shift+Scroll wheel scrolls left/right (thanks to Dave Hughes)
 * Polar plots can have a "minimum" radius and log axes
 * Many more LaTeX symbols added
 * Add SAMP/VoTable support (thanks to Graham Bell)
 * New shifted-points xy line mode, which plots a stepped line with
   the points shifted to lie between the coordinates given
 * Points can be picked to console and/or clipboard
   (thanks to Valerio Mussi)
 * Allow reversed ternary plot

Bug fixes:
 * Fix unicode characters for \circ and \odot
 * Fix for data type of pickable points
 * Fix sort by group crash bug
 * Many crashes fixed
 * Fix width of key when using long titles/and or multiple columns
 * Fix bold and italic output in SVG output

Changes in 1.16:
 * Experimental MathML support
 * Add upper/lower-left/right arrows
 * Add options to clip text/lines/shapes to graphs
 * Add stacked-area option to bar plot widget
 * Draw stacked bar plots top-down for better overlapping line behaviour
 * Axis labels can be placed at left or right of axes, in addition to centre
 * Line widget now has length-angle or point-to-point modes. Better support
   for only specifying some coordinates.
 * Exception dialog records more detailed traceback
 * Use top level windows for non-modal dialogs, giving minimize in window
   and no always-on-top behaviour
 * Zero length vectors and arrows in vector fields are not plotted
 * Add support for strings to be translated
 * Add "Sort" dataset plugin
 * Add "Histogram 2D" dataset plugin
 * Add "Divide by Maximum" and "Normalize" dataset plugins
 * Support for *args and **kwargs for custom functions
 * Custom colormaps can be defined in the custom editing dialog

Bug fixes:
 * Use correct definition of 1pt = 1/72in
 * Workaround for splash screen problem
 * Fix numerous problems reported by pyflakes
 * Histograms fail when saved
 * Fix plot with nan functions
 * Fix failure of self tests on ARM platforms
 * Force pages/documents to have physical sizes
 * Fix crash if deleting multiple datasets in data edit dialog
 * Check dimensions of datasets in SetData
 * Handle better zero bytes in data files
 * Fix error if page size zero
 * Fix error if vector baselength is zero
 * If dataset plugin parameter not given in saved file, use default
 * Fix crash for axes with same minimum and maximum
 * Fix CSV import problem when same dataset has multiple types
 * Thinning markers works when using marker sizes / colors

Changes in 1.15:
 * Improved hatching:
    - More hatch styles
    - Adjust spacing of hatching
    - Change hatching line style
    - Allow hatching background color
 * Axes will not extend beyond specified min and max values
 * Add options to extend axes by 2, 5, 10 and 15% of data range
 * Ctrl+MouseWheel zooms in and out of plot
 * Full screen graph view mode
 * New dataset plugins
    - Linear interpolation
    - Cumulative value
    - Rolling average
    - Subtract mean / minimum
 * Allow grid widgets to be placed in grid widgets
 * Catch EnvironmentError exceptions on Windows
 * Allow multiple datasets to be selected in dataset browser
 * Allow tagging of datasets and allow datasets be grouped by tags
   in dataset browser
 * Allow text to be written as text in SVG, rather than curves
 * Add DBus interface to program, if DBus is installed
 * 2D QDP support
 * Add setup.py options for packagers
    --veusz-resource-dir : location of data files
    --disable-install-docs
 * Add title option for keys

Minor changes:
 * Use / rather than \ for path separator in saved file names for
   Windows/Unix compatibility
 * Add diamond fill error bar type
 * Add \color and \marker commands to text renderer
 * Support labels on xy datasets if one of x or y datasets missing
 * Reorganise dataset plugin menu
 * Fix links in INSTALL/README
 * Floating point intervals in capture dialog

Bug fixes:
 * Trap case where nan values could be plotted
 * Fix error if website not accessible in exception dialog
 * Crash when min and max of axes are too similar
 * Fix clipping of paths after transform in SVG files
 * Fix crash in picker
 * Fix crash if duplication of characters in CSV date format
 * Fix crash in tool tip in dataset browser
 * Fix GlobalColor error (on certain dark color sets)
 * Fix blocked data import if no descriptor
 * Fix crash if log contours and minimum is zero
 * Bug fix https://bugzilla.redhat.com/show_bug.cgi?id=800196

Changes in 1.14:
 * Added interactive tutorial
 * Points in graphs can be colored depending on another dataset and
   the scale shown in a colorbar widget
 * Improved CSV import
    - better data type detection
    - locale-specific numeric and date formats
    - single/multiple/none header modes
    - option to skip lines at top of file
    - better handling of missing values
 * Data can be imported from clipboard
 * Substantially reduced size of output SVG files
 * In standard data import, descriptor can be left blank to generate
   dataset names colX
 * Axis plotting range can be interactively manipulated
 * If axis is in date-time format, show and allow the min and max
   values to be in date-time format
 * ImageFile widget can have image data embedded in document file
 * Fit widget can update the fit parameters and fit quality to a
   label widget
 * Allow editing of 2D datasets in data edit dialog
 * Add copy and paste dataset command to dataset browser context menu

Minor and API changes:
 * Examples added to help menu
 * Picker shows date values as dates
 * Allow descriptor statement in standard data files after a comment
   character, e.g. "#descriptor x y"
 * Added some further color maps
 * Draw key symbols for vector field widget
 * Import plugin changes
    - Register classes rather than instances (backward compatibility
      is retained)
    - Plugins can return constants and functions (see Constant and
      Function types)
    - Add DatasetDateTime for returning date-time datasets
 * Custom definitions
    - Add RemoveCustom API to remove custom definitions
    - AddCustom API can specify order where custom definition is added
 * C++ code to speed up plotting points of different sizes / colors
 * Expand files by default in data navigator window
 * Select created datasets in data edit dialog
 * Tooltip wrapping used in data navigator window
 * Grid lines are dropped if they overlap with edge of graph

Bug fixes
 * Fix initial extension in export dialog
 * Fix crash on hiding pages
 * Fixed validation for numeric values
 * Position of grid lines in perpendicular direction for non default
   positions
 * Catch errors in example import plugin
 * Fix crash for non existent key symbols
 * Fix crash when mismatch of dataset sizes when combining 1D datasets
   to make 2D dataset

Changes in 1.13:
 * Graphs are rendered in separate threads for speed and a responsive
   user interface
 * A changed Graph is rendered immediately on document modification,
   improving latency
 * A new ternary plot widget is included
 * Size of pages can be modified individually in a document
 * Binary data import added
 * NPY/NPZ numpy data import added
 * Axis and tick labels on axes can be rotated at 45 deg intervals
 * Labels can be plotted next to points on non-orthogonal plots
 * Add an option for DPI of output EPS and PDF files

Minor improvements:
 * Import dialog detects filename extension to show correct tab
 * Polygon fill mode for non orthogonal plotting
 * --plugin command line option added, for loading and testing plugins
 * Plugin for swapping two colors in a plot
 * Dataset navigator is moved to right of window by default
 * Mac OS X binary release updated to Python 2.7.2
 * Import plugins can say which file extensions they support
 * Import plugins can be "promoted" to their own tab on the import dialog
 * ForceUpdate command added to embedding API, to force an update of
   the displayed plot (useful if SetUpdateInterval is set to 0)
 * X or Y dataset can be left blank in plotter to plot by row number

Bugs fixed:
 * Images plotted when axes are inverted are inverted too
 * Fixed crash when selecting datasets for plotting in the popup menu
 * Picker crashes with a constant function
 * 2D dataset creation using expressions fixed
 * CSV reader treated dataset names ending in + or - incorrectly
 * unique1d function no longer available in numpy

Changes in 1.12:
 * Multiple widgets can now be selected for editing properties
 * Add Edit->Select menu and context menu for above
 * Added context menu on dataset browser for filenames to reload,
   delete or unlink all associated datasets
 * New tree-like dataset browsing widget is shown in data edit dialog
 * Importing 1D fits images is now supported
 * Date / time data has its own dataset type
 * The data edit dialog box can create or edit date/time data in
   human-readable form

Minor improvements:
 * Add LaTeX commands \cdot, \nabla, \overline plus some arrows
 * Inform user in exception dialog if a new version is available
 * Add linevertbar and linehorzbar error bar styles

Bug fixes:
 * Fix crash on filling filled error regions if no error bars
 * Remove grouping separator to numbers in locale as it creates
   ambiguous lists of numbers
 * Undo works properly for boolean and integer settings
 * Prevent widgets getting the same names when dragging and dropping
 * Hidden plot widgets are ignored when calculating axis ranges
 * Combo boxes are now case sensitive when displaying matches with
   previous text
 * Fix errors if plotting DatasetRange or Dataset1DPlugin datasets
   against data with nan values
 * Fix division by zero in dataset preview
 * Do not leave settings pointing to deleted widgets after an undo
 * Fix errors when using super/subscripts of super/subscripts
 * Fix crash when giving positions of bar plot and labels
 * Do not allow dataset names to be invalid after remaining
 * Several EMF format bug fixes, including not showing hidden lines
   and not connecting points making curves
 * Stop crash when contouring zero-sized datasets

Changes in 1.11:
 * New data point picker for finding coordinates of points on plot
   (contributed by B.K. Stuhl)
 * New data navigator window for filtering, sorting and examining
   dataset statistics
 * ".." button next to dataset settings pops up data navigator for
   choosing datasets
 * Data fitting can now use PyMinuit, giving error estimates
   (B.K. Stuhl)
 * Console history now uses currently entered characters to select
   lines from history (B.K. Stuhl)
 * New self test script, comparing graph output with expected output
 * Put superscripts and subscripts above each other when
   formatting (B.K. Stuhl)
 * Key entries can have multiple lines (using \\) (B.K. Stuhl)
 * Option to treat blanks as data items in CSV files
 * Locale support added for number formatting
    - Can use current locale or US/English in documents
    - Can use US/English or current local in user interface
 * Contours avoid missing (nan) values

 * Linux binaries are now created on a more modern system
 * Windows binaries now use MSVC for compilation

Bug fixes:
 * CSV import with blank columns fixed
 * Embedding module now working when using binary
 * Remember current directory with unicode characters
 * Extension module now compiles under MSVC in Windows
 * Output is always appended to console (B.K. Stuhl)
 * \r characters sometimes break data import in Windows
 * If using --export option, add directory of script to import path

Minor bug fixes:
 * Zero sized dataset contour plot fix
 * Fix problem on context menu for axis match setting
 * Small values on log axis fix
 * Disable data edit dialog context menu when no datasets
 * Loading files with unicode filenames on command line
 * Do not allow non finite float settings

