#---------------------------------------------------------------------
# ChangeLog
#
# $Id$
#---------------------------------------------------------------------

changes since 0.9.0
===================================
NEW added minimal NeXus IDF 2 support. 
NEW Added the online documentation to the repository. It can be found under "doc/html".
NEW added chisq per run block information (all fit types). The same output rules as for the expected chisq are in place.
NEW calculate expected chisq (Pearson's chisq) for single histogram fits. It always will send this information to the stdout
    but only writes it to the msr-file if a corresponding flag in the musrfit_startup.xml is enabling it. The following
    expected chisq's are calculated: total expected chisq, and the per histo expected chisq. (MUSR-194)
NEW the chi^2 calculation in single-histogram and asymmetry fits is parallelized
    if musrfit is built using a compiler supporting OpenMP (e.g. GCC >= 4.2)
    Using --disable-omp this feature can be disabled on the configure level.
NEW any2many: force the user to define the exact NeXus ouput format (HDF4,HDF5,XML)
FIXED broken run-list interface to msr2data in musredit/musrgui (MUSR-202)
FIXED some severe issues in the run-number-digit determination of msr2data introduced in late 2010
FIXED a musrview exception error when starting with t0's very much off to the positive side in the msr-file (MUSR-199)
FIXED a linking problem when only shared libraries are built on Cygwin
FIXED the problem that in certain environments XML files could not be parsed (MUSR-122)
FIXED crash of musrview in case the XML startup file is present but cannot be parsed correctly
FIXED crash in case a non-existing userFcn is called from an existing library (MUSR-159)
FIXED slightly wrong chisq since the 0-bin entries were treated wrongly for scaled N0/Bkg data (MUSR-193)
FIXED the evaluation of the LF depolarization functions (before numerous unnecessary calculations were performed)
FIXED casting problem between uint32 and time_t for some compilers (MUSR-185)
FIXED bug reported in MUSR-183: missing background for 2nd histo in asymmetry fits when using musrt0.
FIXED Makefiles so that the NeXus support will not be built if it has not been enabled during the configure stage
FIXED ASCII export from musrview in case of a Fourier-Power- or Fourier-Phase-difference plot
FIXED bug in asymmetry fit with fixed background
CHANGED Integrated building and installing the Qt editor into the musrfit installation.
CHANGED musredit/musrgui msr2data interface such that it is hopefully closer to the command line (MUSR-162, MUSR-173)
CHANGED the behavior of msr2data so that
        * it proceeds to the next run if a fit did not converge (and does not stop as before)
        * it always tries to read the data files if the nosummary option is not present
          (before this was switched off for the next runs when the data file of the present run could not be read)
CHANGED in case first good bin (fgb) is not given, it is now fgb=t0+(10ns/time resolution) (MUSR-190) 
CHANGED improved handling of 'old' ROOT LEM data files (2006 and earlier) for any2many (MUSR-178)
CHANGED improved handling of WKM/ASCII in PRunDataHandler for any2many (MUSR-172)
CHANGED the data-file-name handling (MUSR-195).
        It is now possible to specify the full file name in the RUN block (including the extension).
CHANGED cosmetics in the musrview legend concerning the units
CHANGED the user-function dependency from libPMusr to libPUserFcnBase

musrfit 0.9.0 - changes since 0.8.0
===================================
NEW added NeXus support. Still a lot of testing will be needed, documentation updated, etc.
NEW added a magnetic proximity user function to the ASlibs
NEW added the command SCALE_N0_BKG TRUE | FALSE to the command-block. This can be used to force a single histogram fit 
    to use either 1/ns scaling for N0 and background or 1/bins one. 
NEW any2many: some more work, including the PSI-BIN write routines which are officially not released yet.
NEW extended global mode in msr2data
NEW any2many: an attempt to write the universial musr-data-file converter. Just started, needs still some work.
NEW musrt0: added the possibility to show the t0 saved in the data file 's'. Furthermore added the option
    --getT0FromPromptPeak, -g with <firstGoodBinOffset>: will, in non-interactive mode estimate the t0's from 
    the prompt peak and write it into the msr-file (MUSR-133).
FIXED formatting issues in the FUNCTIONS block (MUSR-171)
FIXED plotting issues described in MUSR-174.    
FIXED accidental casting of a NULL pointer in msr2data
FIXED crash of musrfit if a run-data-file is not found (MUSR-176)
FIXED corrected time resolution for WKM from (ns) -> (us)
FIXED the formating of fixed parameters (step=0) where wrongly formatted (connected to MUSR-167). This
      should be done correctly now.
FIXED for single histogram fits, the chisq given was wrong (not the fit-result though). I missed some needed scaling
      when normalizing to 1/ns rather than bins. The same is true for log max. likelihood. I am rather depressed that
      nobody so far found this but only R. Scheuermann pointed out there might be a problem.    
FIXED background range correction, such that it is a multiple of the proton cycle time
FIXED linking of BMWlibs on Cygwin
FIXED various bugs in msr2data
FIXED 2 little annoying problems: (i) now it is possible to zoom down to the single bin in musrview. 
     (ii) when switching between data- and difference-view, the x-range doesn't change anymore.
FIXED musrt0 crash for histogram number out of range (MUSR-157)
FIXED fixes the inadequate attempt to use log max likelihood fit for asymmetry/non-muSR fit (MUSR-148)
CHANGED the file name of the XML startup file for some of the libraries included in the BMWlibs to "BMW_startup.xml"
CHANGED added an additional layer for process killing to musrgui/musredit which hopefully should help to reduce the number of 
        musrfit/musrview corpses with high CPU load.
CHANGED the formating of the parameters such that they show the precision corresponding to the error. At the
        same time some other parameter formating is improved (MUSR-167) 
CHANGED the default behavior of msr2data for writing output-file headers (see svn-log 4758)
CHANGED the behavior of msr2data when non-existing files are encountered---as far as possible they should be ignored now
CHANGED less strict handling of empty FUNCTION block
CHANGED cosmetics in the y-labelling (MUSR-154)
CHANGED maximum possible run number for the use in msr2data to numeric_limits<unsigned int>::max() (MUSR-155)
UPDATED built-in cuba-library to version 2.1 in BMWlibs

musrfit 0.8.0 - changes since 0.7.0
===================================
NEW added y-range option to usr_fit_ranges in the PLOT block (MUSR-144).
NEW added the option to split a user function into a global and run-block related part (see MUSR-134). If the 
    global option is used, this can potentially increase the efficiency up to the number of run-blocks since 
    the time consuming calculations are done only once per changed parameter set. Examples where this approach
    is profitable are: Abrikosov vortex lattice fits, Nonlocal Meissner screening.
FIXED compilation of BMWlibs with gcc 3.x
FIXED hanging musrt0's should be eliminated now (MUSR-153)
FIXED wrong WARNING message for use_fit_ranges
FIXED bug in event handling leading to crash for non-muSR when switching between view and difference view
CHANGED improved y-range scaling for Fourier

musrfit 0.7.0 - changes since 0.6.0
===================================
NEW added FIT_RANGE RESET | start end | s1 e1 s2 e2 .. sN eN command to the COMMAND block
NEW added FIX/RELEASE/RESTORE minuit2 command to the COMMAND block 
NEW implemented more checks on the integrity of the msr-file
NEW [MUSRGUI/MUSREDIT] msr2data default option flags in musredit_startup.xml
NEW 'global fit' option for msr2data
NEW implementation of SCAN/CONTOURS/MNPLOT (MUSR-100)
NEW possibility to use sqrt() and pow(base, exponent) in the FUNCTIONS block
NEW grouping of histograms
NEW [MUSREDIT] port of musrgui (Qt3.x) to musredit (Qt4.6)
NEW [MUSRGUI] better handling of font changes, and adding the possibility to define default font and font size in musrgui_startup.xml (MUSR-105)
NEW RRF option for single histograms and asymmetry plot
NEW integration of a few external musrfit plug-ins into the standard build process (disabled by default, see log of svn rev 4313)
NEW default estimates for 'data' and 'background' entries in RUN blocks
NEW directory with some msr- and data-files for quick testing of new musrfit installations
NEW option to musrt0: the key 'T' will set the t0 cursor to the maximum of the histogram
FIXED chisq/maxLH labels in the statistics block are properly handled now (MUSR-148)
FIXED y-unzoom failure for musrt0 (MUSR-77)
FIXED fitting issue for boundaries none/none (MUSR-136)
FIXED formatting of the ASCII fit output file for long parameter names (MUSR-142)
FIXED time window frame bug in musrview (MUSR-138)
FIXED calculation of LF relaxation functions for big static widths (MUSR-139)
FIXED minor msr2msr issue concerning the statistic block
FIXED Abragam function
FIXED removed phase parameter in Fourier power plots (MUSR-116)
FIXED segmentation fault in musrview when pressing d-f-d (MUSR-115)
FIXED wrong 'fixed background feeding'
FIXED [MUSRGUI] system variable access bugs
FIXED bug in lifetimecorrection-plot (MUSR-123)
FIXED axis labeling in non-muSR-plot (MUSR-124)
FIXED non-muSR ascii export first point missing (MUSR-119)
FIXED handling of wrong run numbers in PLOT block (MUSR-121)
FIXED reading of MUD data files in 64-bit environments (at least for EM64T)
FIXED compilation with GCC 4.4/4.5
FIXED [MUSRGUI] problems if started with an msr-file from the command line which is not in the current directory (MUSR-117)
FIXED [MUSRGUI] calls to musrview, musrt0 and msr<->mlog when paths contain spaces, etc.
FIXED usage of signs in the FUNCTIONS block
FIXED difference of Fourier != Fourier of difference (MUSR-107)
FIXED handling such that the proper initial phase is fitted
FIXED segmentation fault if number of histograms is smaller as the specified histogram number (MUSR-110)
FIXED warning messages
FIXED db data tag reading error
FIXED usage of BOOST >= 1.38.0
FIXED the extraction of the time resolution for the mud data format, since MUD_getHistFsPerBin seems sometimes to return just crap.
CHANGED musredit: change into the msr-file directory before calling musrview. This is needed if userFcn's are using startup XMLs.
CHANGED musredit: improved file system watcher notification mechanism to prevent multiple user notifications.
CHANGED fit range decimal precision handling of PMsrHandler improved (MUSR-150 request). It is now
        handling up to 4 decimal places.
CHANGED musredit: now it is keeping the directory from which the last msr-file has been loaded. This directory is 
        used when a new open dialog is called.
CHANGED another attempt to get proper zooming/unzooming. This time I tried to disentangle the rather messy PMusrCanvas class.
        Most of the checks seems to work, though still for non-muSR style, musrview is crashing once in a while which seems to 
	come from root rather than musrview. I will try to investigate that on root macro level. 
CHANGED in root-5.27.04 the zooming/unzooming handling was modified which forced me to add some more code for 
        proper zooming/unzooming via 'u' key
CHANGED write the ROOT histogram of the correlation matrix to the output file as well as not only the graph
CHANGED allow case insensitive 'run' as first entry in a runlist-file as input to msr2data
CHANGED [MUSRGUI/MUSREDIT] '(Un)comment' is splitted into 'Comment' and 'Uncomment'
CHANGED handling for invalid MUSRFITPATH
CHANGED build process: checks for MINUIT2, disable static libraries, disable F77 checks
CHANGED stricter handling of ADDRUN (MUSR-106)
CHANGED ASCII export from musrview
CHANGED check for subsequent numbered parameters (MUSR-103)
CHANGED WKMFULLDATAPATH to MUSRFULLDATAPATH
UPDATED triumf mud file support. Now the mud source from triumf is officially published under LGPL
UPDATED source code documentation
UPDATED PSIBIN/MDU class from AA/AR

musrfit 0.6.0 - changes since 0.5.2
===================================
NEW support for reading PSI MDU-ASCII data files
NEW estimate of t0 for the case it is not present, neither in the msr-file nor in the data-file (MUSR-73).
FIXED 0/1 problem in data and background ranges
FIXED crash of musrfit in case no 'background' line is present in the RUN-block (MUSR-99)
FIXED bug with t0 handling in case of ADDRUN and missing t0's in the msr-file, but t0's present in the data file (MUSR-94)
FIXED 'unwanted empty line problem of mlog-files' (MUSR-95)
FIXED building of PSI-BIN library on MacOSX
FIXED severe memory leaks
FIXED bug in the spin glass function for negative times
CHANGED improved handling for musrt0
CHANGED musrfit_startup.xml, added ALC and LEM AFS paths to the default paths
CHANGED ascii export: Produce now two files, one for the data and one for the theory (MUSR-87, MUSR-92)
CHANGED encapsulation of data structures in classes
REMOVED 'save db' support from musrview

musrfit 0.5.2 - changes since 0.5.1
===================================
NEW initial support for reading TRIUMF MUD data files

musrfit 0.5.1 - changes since 0.5.0
===================================
NEW Read _measured_ temperature(s) from data files (ROOT, PSIBIN, WKM)
NEW msr2data rewritten in C++
NEW in msr2data added support for taking parameters like temperatures and the applied field from the data files (PSIBIN, WKM)
NEW in msr2data LEM-data RA-HVs are taken from the RunSummary in the ROOT file (if present) - other data is taken from the TLemRunHeader

musrfit 0.5.0
=============
NEW Initial release supporting building by autotools on Linux, MS Windows (Cygwin), Mac OS X

#---------------------------------------------------------------------
# this is the end ...
#---------------------------------------------------------------------
