Changes in 4.1:
  * Much improved icons for dark mode
  * Provide preference for forcing dark/light mode or setting other
    color themes (includes breeze light and dark)
  * Provide portable zip executable for Windows
  * Add WebP export image format
  * Provide 600 DPI in list in export dialog
  * Bug fixes
     * Fix for formatting dock when deleting widgets (korintje)
     * Bind icon to desktop file on Wayland (antohami)
     * Fix for dual monitors under Wayland
     * Disable export formats if not supported by built Qt
     * Add missing TIF image format in binaries

Changes in 4.0:
  * Update to using Qt6 (jeremysanders/korintje)
  * Documentation updates
  * Copying SVG or image widgets copies image data (from slowphil)
  * Bug fixes:
     * HDF5 import
     * 3D rotation
     * Swap attributes for 2D data if transposing
     * Hide stderr from embedded usage unless debug=True
     * Fix histogram2d fro normed to density
     * Fix for datasets of different lengths if using gap_handling='ignore'
     * Rename nan_handling to gap_handling
     * Continue loading if error in plugins
     * Fix overlapping formatting dock on Mac (korintje)
  * Binaries now built using GitHub actions

Changes in 3.6.2:
  * Fix broken resource symlink handling

Changes in 3.6.1:
  * Fix appdata file
  * Fix issue in setup.cfg

Changes in 3.6:
  * Interactive rotation of 3D plots
  * Add 12-bit rainbow colormap
  * Fix crash in contour key values
  * Fix breakage with recent numpy versions due to removal of bool
  * Fix error in colormap sequence
  * About dialog shows software versions
  * Rewrite install instructions in INSTALL.md
  * Fix for Python 3.11 due to opening with universal newlines
  * Remove use of distutils
  * Fix MacOS binary

Changes in 3.5.3:
  * Fix missing documentation

Changes in 3.5.2:
  * Fix broken ChangeLog

Changes in 3.5.1:
  * Fixes for EMF generating code (requires pyemf-3.1)

Changes in 3.5:
  * Improvements in fitting (thanks to Sebastian Koenig), including:
    - Assume absolute errors by default
    - Introduce minimum and maximum fit ranges
    - Add setting to give default error value and type (absolute/relative)
  * Fixes for macOS button appearance (Takuro Hosomi)
  * Plugin fixes, renaming --plugin to --veusz-plugin option
    (also thanks to Takuro Hosomi)
  * Bug fix for broken axis drawing
  * Mirrored axis bug fix
  * More keyboard shortcuts
  * Fix build system to use sip-build, which works with recent SIP versions
  * Change high DPI scaling policy
  * Support _FillValue and missing_data attributes in HDF5 files for NetCDF
  * Switch to pyemf3 module for emf output

User-visible changes in 3.4:
  * Font styles can be chosen
  * Add setting to specify minor ticks in axis
  * Add setting to ignore NaN values in point plotter, rather than breaking lines
  * Add copy and paste of images (thanks to chakuro)
  * Add embedding SVG graphics (thanks to korintje)
  * New tight-Bezier line style (thanks to korintje)
  * Add hide icon (eye) in settings and grey tabs as appropriate
  * Add \ddot latex command
  * Axis auto ranges (e.g. 5-95%) can now have decimals
  * Filename set after Load()
  * Fix renaming 2D datasets
  * Fix for blank dataset output names in dataset plugin
  * Fix for crash in QDP plugin
  * Linux dark mode improvements
  * Font foundry name removed from SVG files
  * Add page colour or fill setting
  * Change default xy plotter marker size and fill colour for new documents
  * Add function widget global colour setting

Internal changes in 3.4:
  * Add new compatibility level functionality for new documents
  * Iminuit2 fixes (thanks to korintje)
  * Drop Python 2 compatibility
  * Source code reformatting
  * Updated appdata (thanks to kevinsmia1939)
  * Import sip from PyQt5.sip if available
  * Update to require SIP 5+ build system (thanks to mitya57)
  * Python 3.10 fixes

Changes in 3.3.1:
  * New tools for zooming into plot on click, zooming out, moving plot
    center and resetting plot axes
  * Double clicking on axis range resets endpoint to Auto
  * Add key entries for histo widget
  * MacOS improvements
    * Big Sur compatibility fix
    * Fix file associations
  * Python 3.10 prerelease fixes
  * Fix for reproducible builds

Changes in 3.3:
  * New histogramming widget (histo)
  * Add keyboard shortcut for showing/hiding widgets (Ctrl+[ and Ctrl+])
  * New security model allows running arbitrary code for documents in
    allowed locations
  * Allow Python-level module imports
  * New separate lo and hi error bar styles (#428)
  * Use same colour for key title as key text (#414)
  * Add preferences for number of significant figures in picker
  * New colormaps: inferno, magma, moreland, parula, plasma and viridis
  * Add CurrentPath() API command to get current widget path
  * Add dataset operations for reversing and subtracting dataset maximum
  * Now supports building using sip5
  * Bugfix for values in boxplots (#455)
  * Add setting to optionally omit paths in document files
  * New flight-recorder and histogram examples
  * Make sure line around arrows is solid (#429)
  * README is now renamed to README.md
  * Switch to unsigned long long for widget IDs to fix build
  * Add multiline FieldTextEdit (#392) field
  * Windows binary now built only for 64 bit
  * MacOS binary now built for High Sierra (10.13) or later

Changes in 3.2.1:
 Bug fixes:
  * Fix too large page size in SVG export
  * Reenable compression for PNG export
  * Fix crash in HDF5 import dialog
  * If filename extension is missing in export dialog, add it
    and avoid crash
  * Take account of QT_LIBINFIX setting for unusual Qt installs

 Improvements:
  * Add \wtilde text command to place a tilde over text

Changes in 3.2:
 Improvements:
  * Add ability to plot image widget using boxes rather than a bitmap,
    with new drawing mode option
  * Add widget order option in key widget
  * Export dialog now uses multiple threads
  * Python 3.9 compatibility fixes

 Minor changes:
  * Show exception dialog if crash occurs outside main thread
  * Added Brazilian Portuguese description for desktop file
  * Use python3 by default for in-place run

 Bug fixes:
  * Fix icons in tutorial
  * Fix case when positions in bar widget are set, then removed
  * Truly all files are shown in import dialog, if requested
  * Fix browse button in export dialog
  * Fix stylesheet for polygon widget
  * Fix invalid escape sequences warnings
  * Fix parametric date creation for non-English locales

Changes in 3.1:
 Improvements:
  * Do not print or export hidden pages
  * Allow expressions in dataset of contour widget
  * Allow widgets to be excluded in key (thanks to Alexander Book)
  * Make bezier line better fit data
  * Switch linux binary from x86 -> x86-64 for better compatibility

 Bug fixes:
  * Compilation fix for PyQt>=5.12 (thanks to Dimitry Shachnev)
  * Ensure fit settings are sorted in output file
  * Fix crash in contour labelling
  * Fix 3D axis crash bug
  * Fix problem with broken axis with null-sized regions
  * Fix issue with 0-sized images in image widget
  * Fix function widget crash with certain plotting range
  * Fix for axis crash with large magnitude ranges
  * Fix CSV importing issues for 2D and ND data
  * Fix zero division error in 2D import
  * Fix crash on importing HDF5 files with variable length text
  * Catch issue with zero range axes
  * Fix crash is using set in dataset expression
  * Fix crash when moving line coordinates
  * Remove deprecation warnings when compiling with recent Qt versions

Changes in 3.0.1:
 * Change in build system to use qmake to find Qt locations. This is to fix
   the build inside Anaconda. Also Qt and sip parameters can now be given
   as environment variables.
 * Fix problem when picking points with too many non-finite values
 * Change default SVG export DPI to 96 to match inkscape and provide
   option in dialog to choose export DPI
 * Allow %PAGE% and %PAGENAME% in export filename for single page output
 * Fix failing fitting due to iminuit differences
 * Fix crash if both ends of part of broken axis widget are the same for
   EMF exporting
 * Update to Qt 5.11.1 and update PyQt and sip in Windows binary
 * Build Mac and Linux binaries with EMF export

Changes in 3.0:
 * New 3D support for plotting points, functions, surfaces and volumes
 * Add --export-option parameter for command line exporting control
 * Add templates in preferences for exported file names, add %PAGE00% and
   %PAGE000% options for zero-prefixed page numbers, and change %PAGENUM%
   to %PAGE%
 * In export dialog allow user to specify arbitrary pages to export
 * Change miter limit for lines, which fixes some problems when exporting
   arrow to PDFs
 * Use flat cap on lines with arrows, to avoid line showing through head
 * Support datetime64 and string/unicode characters in npy/npz import
 * Add \hat LaTeX support

Changes in 2.2.2:
 * Fix zoom for polar, ternary and broken axis plots
 * For mean and add dataset operations, allow datasets to be different
   lengths, expanding to the maximum
 * Fix broken axis if the ends of the axis are not the edge of the plot
 * Fix image embedding in Python 3
 * Update h5py to newer version in Windows binary (supporting HDF 1.10.1)
 * Fix 'fractions' and 'percentages' units in polar plot
 * Add LANG(mapping) function when evaluating labels, allowing translation
   of strings in documents

Changes in 2.2.1:
 * Fix mouse control for Key widget for different zoom levels
 * Correct coordinates shown on bottom of screen for different zoom levels
 * Fix zoom into graph functionality for different zoom levels
 * Fix plot picking for different zoom levels
 * When choosing a text dataset, fix the mini dataset browser
 * Fix crash when previewing in binary import using Python 3
 * Fix crash when picking points in certain circumstances

Changes in 2.2:
 * Notify user updates to Veusz are available
 * Add support for high DPI displays
 * Change zoom code scale plots, rather than changing the size of elements,
   so that plots look more similar at different zoom levels
 * Send automatic anonymous feedback to developers giving software version
   information and counts of the features used.
 * Fix colormap sequence and randomize plugins
 * Change hyphen to minus sign when using standard C formatting in tick labels
 * Fix for Chinese and Korean characters in filenames on Windows
 * Sort DatasetPlugin arguments for diffing
 * Fix bitmap EMF export in Python 3
 * The redo operation can now be done multiple times
 * Hide fully transparent objects, rather than trying to draw them
 * Fix bug report script in Python 3
 * Fallback for paint device metrics, fixing bugs when PyQt is older than Qt
 * If barplot positions setting is blank but set, treat as unset

Changes in 2.1.1:
 * Fix dashed/dotted custom lines in EMF output
 * Fix Fields in dataset plugins
 * Fix data import plugins
 * Use deprecated sipconfig if available to find SIP files
 * Fix problems with opening files using command line arguments with
   some encodings
 * Hide splash if program takes too long to start

Changes in 2.1:
 * If file cannot be imported on document load, ask user for a new filename
 * Only open HDF5 files in readonly mode
 * Do not simply log errors when loading data with ImportPlugins
 * Cleanup of stylesheet, setting and widget code
 * Fix filename chooser and embedding in ImageFile widget
 * Force C++11 compilation on Unix
 * Fix document reload, export warning and unsafe loading dialogs
 * Parameterize number of line steps in covariance widget
 * Report error line number for csv reading exceptions
 * Convert values from expressions to 1D arrays when required
 * Take account of endsize setting for bar plot error bars
 * Remove dependence on sipconfig in build and add sip build parameters

Changes in 2.0.1:
 * Fix crash setting manual bins in histogram dialog box
 * Add missing DLLs to Windows installer
 * Fix version number in Mac OS package
 * Add new colormaps (thanks to yingchaolu)

Changes in 2.0:
 * Update to PyQt5 and Qt5
 * Use Ghostscript to write EPS/PS formats
 * Use pyinstaller for MacOS builds instead of py2app
 * Windows build requires Windows 7 minimum
 * MacOS build requires MacOS 10.10 minimum
 * Move to using Sphinx for documentation
 * Add Makefile for documentation and remove build script
 * Use isfinite() on FreeBSD
 * Drop old veusz_listen script in favour of veusz --listen

Changes in 1.27:
 * New FITS import code and user interface, allowing much more
   flexible and convenient FITS importing
 * Fix half pixel error in linear WCS FITS support
 * Save custom definitions after importing data, to allow customs
   to depend on datasets.
 * Add preference for loading translation file
 * Fix logical errors in transparency in image widget
 * If cannot find translation or plugin, do not end app after showing error
 * Fix for Python 3 for reloading datasets

Changes in 1.26.1:
 * Change homepage in program to new site https://veusz.github.io/
 * Change new version checking to use veusz.github.io

Changes in 1.26:
 * Add color themes and automatic coloring of widgets
 * Custom color definitions
 * Improved custom definition dialog box
 * Fix loading translator via command line
 * Show horizontal error lines/fills in key
 * Use iMinuit if available for fitting
 * Fix for dataset plugins returning nD datasets
 * Add editable automatic axis range, including support for shrinking
   range (-X%), percentage ranges (X-Y%) and limits (<X% and >Y%)
 * Fix for key if invalid dataset
 * For log scaling on image widget, show invalid values as being transparent

Bug fixes in 1.25.1:
 * Fix 2D dataset expressions
 * Fix 2D X,Y,Z dataset expressions
 * Better error checking in Gnuplot import plugin
 * Catch non-single character delimiters for 2D CSV import
 * Fix SETTING(), BASENAME(), FILENAME() and DATA() in function evaluation
 * More self tests

Changes in 1.25:
 * Add n-dimensional dataset support
 * Add GetColormap command to return RGBA values
 * Add Colormap sequence plugin for choosing colors of widgets
 * Fill above/below setting shown in key for xy widget
 * Add Covariance widget for plotting covariance ellipses
 * Add lineup, linedown, lineleft and lineright markers
 * Add lineup, linedown and lineextend arrows

Bug fixes:
 * Fix pick indices if non-finite values in data
 * Fix drag and drop of files into Veusz on Windows
 * Raise exception if functions in console request input, avoiding hang
 * Initialise unsafe_mode, in case Veusz used in PyQt embedding
 * Fix crash if setting default setting in default setting window
 * Fix crash in Clone() command on python3

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
>>>>>>> master

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
