User-visible changes in version 1.3.1  (2016-12-21):
* GUI: more options in the peak-top menu
* GUI: Tools > XPS KE <-> BE
* added utilities F.findx(), F.extremum(), centile(N, expr), %peak.IB
* bug fixes, as always

User-visible changes in version 1.3.0  (2015-05-25):
* support filenames with non-ascii characters
* simple-variable ~NUM can be followed by domain, e.g.: %f=Linear(~3[2:5], ~8)
  and also default parameters can have domain (...shape=~0.5 [0:1],...),
  Voigt and PseudoVoigt have now shape with default domain [0:1]
* if variable has a domain (example: $a = ~1.2 [-3:4]) then
   "$a = ~3" keeps domain of $a (also "a={$a}; $a=~{a}" preserves domain)
   "$a = ~3 [:]" unsets domain
   "$a = copy($x) - copy $x with domain
* new boolean box_constraints option decides if domains are used as box
  constraints in fitting methods that support it (default: on)
* GUI: added auto-completion to Lua script editor
* xyConvert is now part of xylib (removed flag --disable-xyconvert)
* command "reset" does not reset Lua VM (to allow "reset" from Lua scripts)
* Lua: add Python-style formatting (e.g."%d pigs" % 3) using __mod for strings

User-visible changes in version 1.2.9  (2014-04-13):
* fitting:
  - a few optimization methods from the NLopt library have been added
  - MPFIT and NLopt methods support box constraints
  - simplifications that made using external libraries easier:
    - removed stopping criterium based on iterations. The max. number of
      WSSR evaluations can be used instead.
    - removed fit continuation (fit +N)
* new function Sigmoid and new category of functions (S-shaped/step/sigmoidal)
* GUI: added menu Session > Recent Scripts
* GUI: added checkbox to Functions > Export Peak Parameters
* GUI: added "decimal comma" option to Data > Load dialogs.

User-visible changes in version 1.2.1  (2012-11-05):
* added commands '=' and 'exec=' - shorthands 'lua return' and 'lua F:execute'
* API: default dataset in a few functions changed from @0 to the currently used
* GUI: new dialog GUI > Configure > Default Directories
* a few tweaks and fixes related to printing, and other bug fixes

User-visible changes in version 1.2.0  (2012-05-24):
* added fitting method "mpfit" -- wrapper around MINPACK-1 based MPFIT library
  (http://www.physics.wisc.edu/~craigm/idl/cmpfit.html)
* changed public API of libfityk; now cfityk uses only public API
* added C API and Ruby and Java bindings to libfityk
* enhanced Python API and added Python equivalent of cfityk (samples/cfityk.py)
* CLI: cfityk can be built with libedit (but it works better with readline)
* in scripts, backslash (\) at the end of line means line continuation
* bug fixes, as usually

User-visible changes in version 1.1.1  (2011-09-28):
* option exit_on_warning=0/1 was replaced with on_error=stop/exit; new option
  on_error=nothing allows to ignore errors in script.
* current working directory can be changed using new option `cwd'
* GUI: a new dialog for Model > Export Formula
* minor bug fixes

User-visible changes in version 1.1.0  (2011-07-18):
* embedded Lua (lightweight programming language)
* syntax changes and enhancements in dataset transformations (@n = ...);
  example: "@0 = @0 - 0.23 * @1" removes (background) @1 with y's scaled
  by factor 0.23 from dataset @0; if @0 and @1 have different x's, linear
  interpolation is used.
* added calculation of Polyline derivatives, what enables weighted least
  squares approximation by broken lines
* gzipped fit files can be read directly (extension .fit.gz or .fityk.gz)
* new option max_fitting_time -- stopping criterium based on elapsed time
* GUI: mouse wheel and mouse extra buttons can be used to zoom in/out
* Mac GUI: added Session > New Window that opens new window (open -n Fityk.app)
* GUI: added optional, configurable description in the corner of the main plot
* GUI: Session > Copy to Clipboard works differently and on all platforms now
* GUI: enhanced file dialogs: Data > Quick Load and Session > Save as Image
* fixed all reported bugs

User-visible changes in version 1.0.2  (2011-06-08):
* changed Data > Load File dialog
* fixed a few minor problems and a major one (GUI not working on OSX 10.5)

User-visible changes in version 1.0.1  (2011-03-30):
* corrected calculation of Exponentially Modified Gaussian
* added calculation of confidence intervals
* GUI: anti-aliasing (can be switched off in menu GUI > Anti-aliasing)
* added (experimental) option guess_uses_weights that changes peak "guessing"
* as usually, a few bug fixes and minor changes in the GUI

User-visible changes in version 1.0.0  (2011-03-18):
* fixed bugs: several bugs in the powder diffraction add-on,
  problem with negative simple-variables, crash when the status bar has an
  extra value set
* GUI: several changes necessary to make the program working on OSX (>= 10.4)
* GUI: new configuration dialogs for plots
* GUI: all configs including the default one are now stored in .fityk/configs/
* samples are always installed, removed configure option --with-samples,
  added menu Help > Examples in the GUI
* requires wxWidgets >= 2.9.1

User-visible changes in version 0.9.8  (2011-06-08):
* several bug fixes ported from version 1.0.2
  (unlike 1.x, this version can be built with wxWidgets 2.8)

User-visible changes in version 0.9.7  (2011-02-08):
* bug fixes: UDFs (user-defined functions) did not work in ver. 0.9.5-6,
  a few fixes in the powder diffraction add-on and in other places
* data operations: added aggregate functions argmin, argmax and count
* GUI: redesigned the Data > Export dialog

User-visible changes in version 0.9.6  (2011-01-26):
* fixed three bugs, one of them was sometimes crashing the program at startup

User-visible changes in version 0.9.5  (2011-01-24):
* libfityk: the parser has been completely rewritten and the syntax was
  slightly changed:
  - major changes in the `info' command; two new commands, `print' and `debug', 
    partially took over some functionality of the old `info'
  - "commands" replaced by "set"/"exec"
  - "dump" replaced by "info state"
  - values of the fitting_method setting changed to lower case
  - "set @0.title = ..." replaced with "@0: title = ..."
  - settings: removed formula_export_style, guess_at_center_pm and
    can_cancel_guess, changed autoplot and verbosity,
    added logfile, log_full, fit_replot,
    info_numeric_format renamed to numeric_format, data_default_sigma to
    default_sigma, cut_function_level to function_cutoff,
    variable_domain_percent to domain_percent
  - in "define ... where param=expr" expr is substituted in brackets now
  - added syntax: delete file 'filename'
  - "guess": changed argument order
  - F.param = $variable   ->   F[*].param = $variable
  See the wiki for details (there is a tool that upgrades fityk scripts).
* new website address (fityk.nieto.pl) and new code repository (GitHub)
* GUI: simplified two dialogs: Edit Script and Definition Manager
* error in script stops the script

User-visible changes in version 0.9.4  (2010-10-09):
* removed syntax `delete[range]', use `delete(condition)' instead
* syntax `y[x=15]' replaced with `y[index(15)]'
* removed data range syntax, e.g. X[3...10]=15. It can be replaced
  with X = n >= 3 and n < 10 ? 15 : x
* removed syntax "order="
* removed syntax "commands < file[m:n]", only the whole file can be executed
* modulo syntax changed from a%b to mod(a,b)
* syntax: '-' replaced with '_' in settings and 'info fit_history'
* syntax: 'fit history clear' replaced with 'fit clear_history'
* added Perl bindings (manual compilation: cd swig/ && make perl)
* GUI: remember recently subtracted baselines (GUI > Baseline Mode > Recent)
* bug fixes

User-visible changes in version 0.9.3  (2010-06-24):
* changed implementation of gamma and related functions (using boost.math now)
* syntax: so-called parametrized-functions spline[] and interpolate[]
  are replaced by so-called variadic functions Spline() and Polyline().
  The GUI in the Baseline Mode handles a separate baseline for each dataset now.
* abandoned syntax like 5<x<10, use 5<x and x<10
* syntax: '*' wildcard can be used when deleting functions and variables
* GUI: changed numeric format in a few place (eg. coordinates on the status bar)
* GUI: added Functions > Auto-Freeze option that automatically locks/unlocks
  parameters of a peak when a data range containing the center of this peak 
  is disactivated/activated
* GUI: added option GUI > Zoom All Shows Y=0
* required Boost version (only in the compilation time) is now >= 1.36

User-visible changes in version 0.9.2  (2010-05-07):
* To compile fityk, Boost (only headers) and xylib must be installed first.
  Fityk tarball does not contain a copy of boost and xylib now.
* user-defined functions: split functions can be defined in this way:
  SplitG(h, c, w1, w2) = x < c ? Gaussian(h, c, w1) : Gaussian(h, c, w2)
* added info-numeric-format option
* a couple of bug fixes

User-visible changes in version 0.9.1  (2010-03-25):
* added cfityk to Windows installer
* Unix only: fitting can be interrupted by the INT signal
* changed output of "info errors", see the manual for details
* GUI: "plot in @n" changes selected datasets (useful in scripts)
* many bugs fixed

User-visible changes in version 0.9.0  (2010-01-05):
* GUI: Data > Editor dialog was replaced with two dialogs: Data > Table
  and Data > Edit Transformations
* added Lua bindings (configure option --enable-lua)
* a syntax to execute output from external program: command ! program [args...]
* xyConvert (which requires wx 2.9) is built by default.
  Added flag --disable-xyconvert, which must be used with wx 2.8.
* parsing of info command was rewritten, but functionality is almost the same
* bug fixes

User-visible changes in version 0.8.9  (2009-08-20):
* manual was converted from DocBook to reStructuredText
* GUI: On Linux fitting was very slow, this was fixed. A new option
  `refresh-period` was added to control refreshing during fitting.
* define supports variable substitution with "define ... where ...", e.g. 
   define Foo(alpha) = alpha * eta * (eta / tanh(eta) - ln (2*sinh(eta))) \
   where eta = 2*pi/alpha * sin(theta/2), theta=x*pi/180
* added access to symmetric errors from scripts (e.g. $variable.error 
  or %func.height.error)
* category "Education" was added to fityk.desktop

User-visible changes in version 0.8.8  (2009-06-21):
* added two flags to the configure script: --with-xylib and --with-samples
  (xylib from the fityk tarball is not used by default now)

User-visible changes in version 0.8.7  (2009-06-10):
* fityk license was changed from GPLv2 to GPLv2+ (2 or at your option any later)
* all config files are stored in a single directory:
       Unix: ~/.fityk
    Windows: C:\Documents and Settings\username\Application Data\fityk
        Mac: ~/Library/Application Support/fityk
  This changes the path to the default and alt. configs on Windows and Mac.
* now works also with GCC 4.4 and Boost 1.35
* minimum wxWidgets version increased to 2.8.0
* added functions LogNormal and LogNormalA (Mirko Scholz)
* abs() can be used in user-defined functions
* added syntax for loading data from all columns in file: file.csv:1:2..::
* bug fixes, most notably bugs with saving/loading session

User-visible changes in version 0.8.6  (2008-04-15):
* bug fixes (drawing baseline, "zoom all" with log scale)
* GUI: parameters (at the bottom of the sidebar) can be changed with Page-Up
  and Page-Down keys or with mouse wheel. Shift, Ctrl, Alt keys modify speed.
* GUI: two buttons added to the "functions" pane in the sidebar. They make 
  HWHM and shape equal for all functions (works only with a few function types)

User-visible changes in version 0.8.5  (2008-03-17):
* minor changes in syntax: 
    info @0             ->   info data in @0
    info @0.title       ->   info title in @0
    info @0.filename    ->   info filename in @0
    @0.title = abc      ->   set @0.title = abc
    @+                  ->   @+ = 0
    @0.revert           ->   @0 < .
   data is exported with "info" now: info @n ( expr1, ... ) > filename
     where: columns have to be given, @* can be used, F() and Z() can 
            be used without "@n." prefix,  *F() can not be used.
* xylib: RIET7/LHPM/CSRIET/ILL_D1A5/PSI_DMC .dat filetypes added
* non-Windows platforms: using HTML manual (in default browser) instead of HTB
* GUI: command line history is stored in ~/.fityk/history
* --disable-3rdparty configure flag prevents building with xylib from 3rdparty/
* GUI: added Session -> Save as Image
* !foo: executes a command foo by calling system() (from stdlib.h)
* bug fixes (there are some bug fixes in every release)
* xyConvert tool (can be built only with wxWidgets >= 2.9)

User-visible changes in version 0.8.4  (2008-02-15):
* xylib: pdCIF format was added

User-visible changes in version 0.8.3  (2008-01-25):
* data import is done using (modified) xylib library. 
  VAMAS and a few other new file formats are supported.
* added hyperbolic functions
* command "@n.revert" reloads data points from file
* GUI: menu item "Apply to all datasets" was removed. Now all data-related
  menu items and buttons are applied to datasets selected at the sidebar
* GUI: new dataset is opened in a new slot now (it was replacing an active 
  dataset before)

User-visible changes in version 0.8.2  (2007-08-21):
* multiple fixes for MacOSX, added macosx/ directory (Ken McIvor)
* reading multiple y columns from data file: "@+ < foo.xy:0,5/6/7" (or :0,5-7)
* "Tip of the day" removed (tips.txt deleted). 
* added SVG icon (fityk.svg) and MIME type info (fityk.xml) 
* removed files AUTHORS and ChangeLog
* the API is now a Fityk class
* GUI: setting baseline as convex hull of data points (experimental)
* XPS Shirley background removing
* minor improvements and bug fixes (e.g. "reset" was not working in 0.8.1)

User-visible changes in version 0.8.1  (2007-04-23):
* extended version info can be shown by "info+ version"
* displaying Gaussian-FWHM and Lorentzian-FWHM of Voigt function
* GUI, MS Windows: configuration is now stored in files, not in registry
* GUI: support for any numbers of config files. 
* changes in command-line parameters
* "_EXECUTED_SCRIPT_DIR_/" in scripts is replaced with the script directory
* GUI: logarithmic x scale and reversed y scale 
* bug fixes

User-visible changes in version 0.8.0  (2007-03-19):
* libfityk (fityk library) if introduced. About half of the fityk source code 
  goes into the library; the rest is GUI and CLI.
  The library has minimal public well-documented C++ API.
* experimental(!) python bindings to the library are prepared using SWIG
* bug fixes, of course

User-visible changes in version 0.7.8  (2007-03-02):
* syntax changed for dataset sum (was: @+ < @0 + @1; is: @+ = @0 + @1)
* introduced dataset operations sum_same_x and avg_same_x, 
  eg. "@+ = sum_same_x @0 + @1" (in GUI: Data > Merge points)
* command "info version"
* changed options to "set verbosity"
* GUI: error bars for data
* voigt(x,y) function for data transformations and variable definitions
* new option in settings "epsilon" used for floating point comparision.
* GUI: script debugger dialog was finished; "Edit init file" was added to menu
* option data-default-sigma with possible values: one, sqrt.
* plot command: dataset can be specified using "in @n" or "in @*", 
  default view may not contain y=0, if it's far enough from data points
* corrected calculation of covariance matrix (new C_ij = old C_ij / 2)
* several bug fixes (most of them reported by Wolfgang Christen)


User-visible changes in version 0.7.7  (2007-01-08):
* fixed GCC 4.1 compilation problem 
* GUI: plot buffering (as a bitmap); disabling menu, toolbar, etc. when fitting
* new option guess-at-center-pm (float), used by "guess Type center=$variable"
* ascii data loading: column number of 0 generates a number increasing 
  with each point
* parameters history ("fit undo", "fit redo", and related commands)
* syntax changes: "%a[hwhm]" replaced with "%a.hwhm" 
                  "@n.F[hwhm]" replaced with "@n.F.hwhm"
                  "%f -> F" replaced with "F += %f"
		  "%f -> N" replaced with "F -= %f"
                  the dataset can be specified in data expression: {y[0] in @1}
                  @0.F[3] means 4th function in @0.F (the same with Z)


User-visible changes in version 0.7.6  (2006-09-15):
* changes to the manual sent by Michael Richardson
* erf and erfc functions can be used in data transformations and UDFs
* command "dump" works now
* changed syntax for exporing function parameters and formulae
  (info peaks in @0 > filename; info formula in @0 > filename) 
* guess command supports now not only "peaks", but also "linear" functions
* GUI: improved peak dragging, full-screen mode (F11), configurable status bar,
  minor tics on plot axes, function parameters can be locked (frozen) using
  buttons at sidebar, improved "Data->Load File (custom)" dialog
* a bunch of other improvements, bugs fixes and optimizations

User-visible changes in version 0.7.5  (2006-07-31):
* GUI: Definition Manager dialog
* user defined functions (UDF) 
* GUI: gradient dialog for changing color of many datasets at once
* GUI: new Fit->Run dialog
* So-called domain of simple-variables can be specified ($a = ~3.5 [3 +- 2]),
  it is used only for randomization of the variable by some fitting methods.
* "info" can be redirected to file using "info ... > filename" syntax 
   to truncate the file and "info ... >> file" to appends to the file
* variables with names starting with "_" are auto-deleted when not used
* parameters of Lev-Mar methods can be changed (it was disabled in 0.7.0)
* GUI: pressing Shift in data range mode allows (dis)activate data in rectangle
* r-squared shown in "info fit" output (Emmanuel Lamprecht)
* a few bug fixes

User-visible changes in version 0.7.4  (2006-05-31):
* improved data and sum export
* GUI: optional grid in main plot (see axes configuration dialog) 
* defined function types can be undefined using "undefine Function" syntax
* with option=value[, option2=value2 ...] command ...
  sets value of options for this command only
* GUI: if cut-function-level is set, function limits are shown when cursor 
  is over peak top
* aggregate functions in data expressions: min, max, sum, avg, stddev, darea 
  eg. min(y if 20<x<25)
* "commands[n:m]" replaced with "info commands[n:m]"
* GUI: option "reverse" in auxiliary plot 
* GUI: background removing can be undone (like in version 0.4)
* gamma function for data transformations and variables.
* built-in area-based Pearson VII function.

User-visible changes in version 0.7.3  (2006-04-11):
* extended data transformations: numarea(%f, x1, x2, n) gives area integrated
  numerically (from x1 to x2, n steps), Y = y-%f(x) substracts function from
  data, findx(%f, x1, x2, y) finds x in (x1, x2) such that %f(x)=y,
  extremum(%f, x1, x2) finds x in (x1, x2) such that %f'(x)=0,
  transformations can be joined with ',' (previously '&' was used),
  randuniform(a, b), randnormal(mu, sigma) generate random numbers,
  y[x=21] gives y at x=21 using linear interpolation between two points
* user defined functions derived from other functions, eg:
   define Ga(area,center,hwhm) = Gaussian(area/fwhm/sqrt(pi*ln(2)),center,hwhm)
* optional logarithmic scaling of y axis
* bug fixes (Debian Bug #360795 and others) 

User-visible changes in version 0.7.2  (2006-03-08):
* area-based Voigt function (VoigtA)
* GUI, MS Windows only, Session > "Copy to Clipboard" copies plots to clipboard
* added fityk.desktop file for Linux desktop integration (Niklas Volbers)
* GUI: "directories" tab in settings dialog 

User-visible changes in version 0.7.1  (2006-02-23):
* new functions: EMG (exponentially modified gauss) and Doniach-Sunjic
* GUI: fixes and improvements in printing
* GUI: new aux. plot type: cumulative chi2 
* minor bug fixes

User-visible changes in version 0.7.0  (2006-02-08):
* program can be compiled with unicode-enabled wxWidgets
* GUI: more configurable axes (eg. a reversed x axis option)
  and peak labels (eg. horizontal/vertical labels)

User-visible changes in version 0.7.0pre1  (2006-01-23):
* ###########################################################################
  #                      completely changed syntax                          #
  ###########################################################################
* GUI: dataset/function/variable lists at right-hand panel
* new built-in functions: split-Gaussian (a.k.a Bifurcated Gaussian) and others
* there where many other changes not listed here. More then half of the
  code was either written from scratch or refactored.
* some features available in previous version are temporarily disabled,
  most notably:  
     powder diffraction part - c.xxx commands
     parameters history

User-visible changes in version 0.5.1 (2005-07-21):
* new toolbar icons 
* data tranformations: treat "3 < x < 4" like "3 < x and x < 4"
* GUI data viewer - "Fit Zoom" button 


User-visible changes in version 0.5.0 (2005-06-09):
* d.load -- possibility of loading of only selected points from file 
            was removed (it can be done with d.tranform after loading)
            new option: adding data points from file to currently loaded data 
* d.transform  --  new quite powerful command for transforming data, 
  Commands d.deviation, d.range, d.background, d.calibrate, d.set were removed.
  Handling of background (and calibration) is now a little different.
* added Data Editor dialog and Data->Fast DT menu. 

User-visible changes in version 0.4.4 (2005-03-04):

* fixed Pseudo-Voigt formula in manual (program was not changed) (David Hovis)
* peak labels (above each peak) that can display peak area, position etc.
* fonts used for scale labels can be changed 
* data viewer (it is first step in implementing data editor)
* input field: up/down arrow keys work as in bash (wxComboBox was replaced
  by wxTextCtrl)
* optionally drawing sum and peaks as smooth curves (computed at every pixel)
* info about wxWidgets version in About box and --version switch for fityk-GUI. 

User-visible changes in version 0.4.3:

* wxWidgets 2.5 compatible
* data files (in addition to scripts) can be specified as command line 
  arguments to fityk-GUI. Scripts should either have .fit or .fityk extensions
  or start with "# Fityk" string. 
* crosshair cursor (GUI->Crosshair cursor)
* "Data->Load File" dialog (simple) allows to open many files 
* unix man page (Carlo Segre)

User-visible changes in version 0.4.2:

* "File" menu name was replaced with "Session", and "Manipulate" with "FindPeak"
* "s.info ^number" prints more informations.
* fixed problem with locales, that have decimal point different than dot. 
  Now LC_NUMERIC variable is ignored. (Vincent Favre-Nicolin)
* new configure flags: --enable-debug and --enable-optimization 
* ambiguous 'log(2)' in "export as function" was replaced by numeric value
  (in gnuplot log means natural log, in Excel log=log10). 
* program version is written in scripts (session dumps and log files) 
  and in configuration files

User-visible changes in version 0.4.1:

* two independent auxiliary plots (by default one is visible)
* implemented s.guess command that adjusts existing peak - also in peak pop-up 
  menu (based on patch sent by Jonathan Hunt)
* config file can store info, what windows are visible (see GUI->Show)

User-visible changes in version 0.4.0:

* multiple datasets in one plot
* multiple plots - all can be fitted simultaneously
* New menu items - GUI->Show->..., GUI->Scroll...

User-visible changes in version 0.3.4:

* enhanced peak dragging
* commands from ${HOME}/.fityk/init are executed on start-up
* added Data->Recent files->... to menu
* minor fixes

User-visible changes in version 0.3.3:

* Major changes in graphical interface (mouse usage, toolbar etc.)
* Added support for Siemens .raw data file format (Stefan Krumm) 

User-visible changes in version 0.3.2:

* Voigt function  
* File->Re-Include menu item
* File->Print Setup menu item
* Zoom All menu item added to main plot popup menu
* Zooming with left mouse button in normal mode 
* Auto-scaling auxiliary plot when changing type of the plot
* Exporting peak parameters (Sum->Export or s.export)
* Sum/Data Export: optionally appending to a file, instead of overwritting 
* Minor changes and bug fixes

User-visible changes in version 0.3.1:

* Saving GUI configuration to file (Unix) or registry (Windows)
* s.export ---> XFIT format 
* d.load ---> CPI format
* Minor bug fixes
* Minor changes in documentation (XSLT stylesheet for generating command and option indices)
* fityk.spec for creating RPMs
* Windows installer (produced with InnoSetup) 
* Using HtmlHelp (*.chm) manual format in Windows version

