CHANGES IN VERSION 1.50.1
-------------------------

BUG FIXES:
+ Backport fix for wrong sample indexing in getEIC (closes #92)

NEW FEATURE:
+ silently return the data used in plotQC()

CHANGES IN VERSION 1.50.0
-------------------------

+ Release of BioC-3.4

CHANGES IN VERSION 1.49.7
-------------------------

BUG FIXES:
+ Fix documentation warnings

CHANGES IN VERSION 1.49.6
-------------------------

USER VISIBLE CHANGES:
+ Peak Picking function findPeaks.centWaveWithPredictedIsotopeROIs() and findPeaks.addPredictedIsotopeFeatures(),
  which allow more sensitive detection of isotope features.

CHANGES IN VERSION 1.49.5
-------------------------

USER VISIBLE CHANGES:
+ Some documentation updates.
+ Preparation for a new binning function 


CHANGES IN VERSION 1.49.4
-------------------------

BUG FIXES:
+ Fix getXcmsRaw that would prevent retention time correction to be applied
  (issue #44 reported by Aleksandr).


CHANGES IN VERSION 1.49.3
-------------------------

NEW FEATURE:
+ updateObject method for xcmsSet.

USER VISIBLE CHANGES:
+ xcms uses now BiocParallel for parallel processing. All other parallel
  processing functions have been deprecated.

BUG FIXES:
+ Added missing package imports.
+ Fix bug in fillPeaksChromPar referencing a non-existing variables i and
  object.
+ Fix bug in group.nearest: variable scoreList was mis-spelled (coreList).
+ Remove all DUP = FALSE from the .C calls as they are ignored anyways.

OTHER CHANGES
+ Re-organization of class, function and method definitions in R-files.
+ Use roxygen2 to manage the DESCRIPTION's collate field.


CHANGES IN VERSION 1.49.2
-------------------------

NEW FEATURE:

+ Initial support for exporint mzTab format. Since Changes are
  still to be expected, xcms:::writeMzTab() is not yet exported.

CHANGES IN VERSION 1.49.1
-------------------------

NEW FEATURE:

+ The raw CDF/mzXML/mzData/mzML is assumed to have scans sorted by m/z.
  Instead of throwing an "m/z sort assumption violated !" error,
  the data is re-read and on-demand sorted by m/z.

CHANGES IN VERSION 1.47.3
-------------------------
+ Disable parallel processing in unit tests causing a timeout
  on BioC build machines

CHANGES IN VERSION 1.47.2
-------------------------

BUG FIXES
+ Fix problem in getEIC on xcmsSet objects reported by Alan Smith in issue #7 and
  add a RUnit test case to test for this (test.issue7 in runit.getEIC.R).
+ Changed some unnecessary warnings into messages.


CHANGES IN VERSION 1.47.2
-------------------------

USER VISIBLE CHANGES:
+ Disabled parallel processing in unit tests
* migrate dependencies from ncdf -> ncdf4

CHANGES IN VERSION 1.45.7
-------------------------

USER VISIBLE CHANGES:
+ Disabled Rmpi support and usage on Windows


CHANGES IN VERSION 1.45.6
-------------------------

NEW FEATURE:
+ J. Rainer implemented a [ method that allows to subset an xcmsSet.

BUG FIXES:
+ Fixed a problem in split.xcmsSet that did not split the phenoData properly.
  Added some details to the documentation of xcmsSet-class.


CHANGES IN VERSION 1.45.5
-------------------------

USER VISIBLE CHANGES:
+ The sampclass method for xcmsSet will now return the content of the
  column "class" from the data.frame in the phenoData slot, or if not
  present, the interaction of all factors (columns) of that data.frame.
+ The sampclass<- method replaces the content of the "class" column in
  the phenoData data.frame. If a data.frame is submitted, the interaction
  of its columns is calculated and stored into the "class" column.

BUG FIXES:
+ Fixed a bug that resulted in a cryptic error message
  when no input files are available to the xcmsSet function.


CHANGES IN VERSION 1.45.4
-------------------------

BUG FIXES:
+ Fixed a bug in the levelplot method for xcmsSet.


CHANGES IN VERSION 1.45.3
-------------------------

NEW FEATURE:

+ xcmsSet now allows phenoData to be an AnnotatedDataFrame.
+ new slots for xcmsRaw:
  - mslevel: store the mslevel parameter submitted to xcmsRaw.
  - scanrange: store the scanrange parameter submitted to xcmsRaw.
+ new slots for xcmsSet:
  - mslevel: stores the mslevel argument from the xcmsSet method.
  - scanrange: to keep track of the scanrange argument of the xcmsSet method.
+ new methods for xcmsRaw:
  - levelplot: similar to the image method, plots m/z vs RT with color coded intensities.
  - mslevel: returns the value for the .mslevel slot. For downstream compatibility, this method returns NULL if the object does not have the same named slot.
  - profinfo: same functionality as the profinfo method for xcmsSet.
  - scanrange: returns the value for the scanrange slot. For downstream compatibility, this method returns NULL if the object does not have the same named slot.
+ new methods for xcmsSet:
  - getXcmsRaw: returns a xcmsRaw object for one or more files in the xcmsSet, eventually applying retention time correction etc.
  - levelplot: similar to the image method, plots m/z vs RT with color coded intensities. Allows in addition to highlight identified peaks.
  - mslevel: returns the value for the mslevel slot. For downstream compatibility, this method returns NULL if the object does not have the same named slot.
  - profMethod: same functionality as the profMethod method of xcmsRaw.
  - profStep: same functionality as the profStep method of xcmsRaw.
  - scanrange: returns the value for the scanrange slot. For downstream compatibility, this method returns NULL if the object does not have the same named slot.

USER VISIBLE CHANGES:
+ show method for xcmsSet updated to display also informations about the mslevel and scanrange.
+ Elaborated some documentation entries.
+ rtrange and mzrange for xcmsRaw method plotEIC use by default the full RT and m/z range.
+ Added arguments "lty" and "add" to plotEIC method for xcmsRaw.
+ getEIC without specifying mzrange returns the ion chromatogram for the full m/z range (i.e. the base peak chromatogram).

BUG FIXES:
+ Checking if phenoData is a data.frame or AnnotatedDataFrame and throw an error otherwise.
+ xcmsSet getEIC method for water Lock mass corrected files for a subset of files did not evaluate whether the specified files were corrected.

CHANGES IN VERSION 1.45.2
-------------------------

BUG FIXES:
    o The xcms split() function now accepts factors that are shorter
      than the number of samples in the xcmsSet, following more closely
      the standard split() behaviour


CHANGES IN VERSION 1.45.1
-------------------------

NEW FEATURE:
    o plotrt now allows col to be a vector of color definition,
      same as the plots for retcor methods.
    o Added $ method to access phenoData columns in a eSet/ExpressionSet like manner.
    o Allow to use the "parallel" package for parallel processing of the functions xcmsSet and fillPeaks.chrom.
    o Thanks to J. Rainer!

CHANGES IN VERSION 1.43.3
-------------------------

BUG FIXES:
    o Give a more verbose error message when file not found

CHANGES IN VERSION 1.43.2
--------------------------

BUG FIXES:
    o Use ProtGenerics, adapted xcms peaks()

CHANGES IN VERSION 1.43.1
--------------------------

NEW FEATURE:
    o function plotQC() for plotting various QC plots on RT and m/z

CHANGES IN VERSION 1.41.1
--------------------------

BUG FIXES:
    o fix sampclass generation from phenoData if some combinations of factors don't exist
    o disable parallel code in manpages to avoid issues on BioC windows build farm machines

CHANGES IN VERSION 1.39.6
--------------------------
USER VISIBLE CHANGES:
     o Massifquant reports the maximum intensity for each isotope trace
(peak). This is useful for interactive parameter optimization.
BUG FIXES:
    o Major memory reduction in parallel fillPeaks() thanks to
      Jan Stanstrup. Now using an environment to mirror gvals
      to each list item in the very large argList.

CHANGES IN VERSION 1.39.4
--------------------------
BUG FIXES:
    o Fixed write.cdf(), which had an intensity offset of +1, added a unit test

CHANGES IN VERSION 1.39.3
--------------------------
BUG FIXES:
    o New R-devel check unload better. Lingering ramp code removed, import from mzR. Cleaned up other errors in package check.

CHANGES IN VERSION 1.39.1
--------------------------
BUG FIXES:
    o Updated doubleMatrix c code to allow for larger profile matrixes

REQUIRED CHANGES
	o Moved inst/doc to vignettes

CHANGES IN VERSION 1.37.6
--------------------------
NEW FEATURE:
     o Introducing write.mzQuantML(xcmsSet) to export the peak list and grouped matrix to the PSI format mzQuantML (see http://www.psidev.info/mzquantml)
USER VISIBLE CHANGES:
     o Add Brigham Young University to LICENSE file for copyright purposes.
     o Add copyright information display when running findPeaks.massifquant()
     within xcmsRaw.R
     o Clean and update documentation for findPeaks.massifquant-methods.Rd
BUG FIXES:
     o Remove unused parameters in findKalmanROIs() within xcmsRaw.R
CHANGES IN VERSION 1.37.5
--------------------------
BUG FIXES
    o fixed bug in retcor.obiwarp where the scanrange of the first sample would be checked instead of the center sample

CHANGES IN VERSION 1.37.4
--------------------------
BUG FIXES
    o Skip t-test in diffreport() if one class has less than 2 samples.

CHANGES IN VERSION 1.37.3
--------------------------
BUG FIXES
    o fixed bug in patternVsRowScore (group.nearest) that was introduced by the
      modifications in rev 65169 and caused features to be aligned that were far outside the given m/z and retention time windows.


CHANGES IN VERSION 1.37.1
--------------------------
BUG FIXES
    o fixed fillPeaks, which 1) dropped non-standard columns
    and 2) failed if nothing to do, based on patches by Tony Larson.

CHANGES IN VERSION 1.37.1
--------------------------

NEW FEATURES:
     o Introducing msn2xcmsRaw, to allow findPeaks() on MS2 and MSn data


CHANGES IN VERSION 1.35.7
--------------------------
BUG FIXES
    o fixed indexing bug in group.nearest, which under certain circumstances caused all peaks in the first sample to be ignored (reported by Tony Larson)

CHANGES IN VERSION 1.35.6
--------------------------
BUG FIXES
    o Obiwarp retention time alignment error-ed if scanrange was used as a parameter setting during xcmsSet/peak detection
        The method now tries to automatically find the set scanrange and uses this range for alignment.

CHANGES IN VERSION 1.35.4
--------------------------

NEW FEATURES:
     o Introducing parallel fillPeaks

USER VISIBLE CHANGES
    o Replace snow requirement with minimum R version 2.14.0


CHANGES IN VERSION 1.35.3
--------------------------
BUG FIXES
  o if group.density was used with very low minfrac settings (< 0.5) it did not return all feature groups,
    but only those that include features from at least 50% of samples in a group. This limitation was removed.


CHANGES IN VERSION 1.35.2
--------------------------

UPDATED FEATURES:
     o Behind the scenes xcms now uses the xcmsSource class to read raw data.
       This allows e.g. to write a class that pulls raw data
       from e.g. a database
BUG FIXES
     o massifquant: simplified logic structure of Tracker::claimDataIdx
     resolved failure on new test case.
     o massifquant: reporting features data structure compatible with
     multiple sample comparison within XCMS.

CHANGES IN VERSION 1.35.1
--------------------------

UPDATED FEATURES:
     o The mzData export is now much faster and uses less memory

CHANGES IN VERSION 1.33.16
--------------------------

USER VISIBLE CHANGES

    o diffreport and plotEIC have a new parameter mzdec, with is the number of decimal places
      of the m/z values in the EIC plot title

CHANGES IN VERSION 1.33.16
--------------------------

UPDATED FEATURES:
Lock mass gap filler now works with netCDF lock mass function file to find the exact times of the scans and works with
the newer Waters MS instruments.

CHANGES IN VERSION 1.33.15
--------------------------

BUG FIXES

    o scanrage is now honoured in xcmsSet, also when in parallel mode

CHANGES IN VERSION 1.33.14
--------------------------

BUG FIXES

    o scanrage is now honoured in xcmsRaw, and consequently
      also in xcmsSet(matchedFilter), where previously
      it was ignored.

CHANGES IN VERSION 1.33.13
--------------------------

BUG FIXES

    o write.cdf() has been fixed to write files AMDIS can read

CHANGES IN VERSION 1.33.12
--------------------------

BUG FIXES

    o write.mzData adds Polarity to the file if available

CHANGES IN VERSION 1.33.11
--------------------------

USER VISIBLE CHANGES

    o centWave uses a new method to estimate local noise which improves detection of closely spaced peaks

NEW FEATURES

    o placeholder

BUG FIXES

    o group.mzClust was failing when result had one peak


For more details and all changes before May 2012 please see the (now discontinued) CHANGELOG in the source package (inst/ folder).

CHANGED BEHAVIOUR since Version 1.32:

Other Changes since Version 1.32:

* improved mzData writing, now includes MSn spectra and less verbose.
* improved netCDF writing, but not yet good enough for AMDIS


CHANGED BEHAVIOUR since Version 1.14:

* centWave may report a smaller set of peaks, due to a small bug
  in the ROI algorithm some features with mass deviation > ppm were retained.

Other Changes since Version 1.14:

* New method for grouping: an algorithm inspired by mzMine
  group(method="nearest") has been implemented. It is slower
  than group(method="density"). It can individually group
  close-eluting peaks of very similar mass

* New method for retention time correction:
  The retcor(method="obiwarp") algorithm operates on the raw data,
  and thus allows to correct runs without well-behaving
  peak groups, or without peak picking at all.

* fillPeaks(method="MSW") is now also available
  for direct infusion spectra. The findPeaks(method="MSW")
  now returns several intensities, and correctly reports
  mzmin and mzmax for peaks.

* centWave now uses dynamic memory allocation, needs much less memory,
  and these BUF related errors should be a thing of the past.

* centWave gains an optional argument "noise",
  which is useful for data that was centroided without any intensity threshold,
  centroids with intensity < "noise" are omitted from ROI detection

* the fillPeaks() methods now remember which was
  an observed, and which was a "filled" peak.

* For direct infusion spectra diffreport() now shows
  the raw peak shapes, and also indicated "real" and "filled" peaks.

* xcmsRaw can now filter for positive/negative spectra,
  if the file includes both polarities. xcmsSet() can pass
  the polarity to contain positive/negative peaks only.
