		CHANGES IN VERSION 2.10.0:

SIGNIFICANT USER-VISIBLE CHANGES

   o	The method `libId` is deprecated. Use the fully equivalent function
	`makeIndex`. This method was mostly used internally, so it should not
	cause disruption.

NEW FEATURES

   o	New method `libUID` which sets or gets the metabolite library unique
	identifiers. Previously, there was no method to change them after
	import.

BUG FIXES

   o	Use `SET_INTEGER_ELT` to set an integer in the C code. The wrong
	macro was used for unknown reasons. This generated an error on newer R.

INTERNAL

   o	Replace the memory allocation functions due to STRICT_R_HEADERS being
	enabled (Calloc, Free => R_Calloc, R_Free)

		CHANGES IN VERSION 2.8.0:

NEW FEATURES

   o	Allow incompatible data when combining objects `tsLib` and `tsSample`.
	The idea is if the column names of the `data` slots are different,
	the `c` operator do not fail. There are, however, limitations with some
	data types (like lists or matrices). If this is the case, then throw
	a more meaningful error message. (commit 6fb2f59)

BUG FIXES

   o	Fix `FAMEoutliers` manual grouping: The comparison should use character
	vectors instead of numeric. Also, an error was thrown due to an `if`
	condition not having an scalar return (due to using `is.na`).

	Note that since this version, the default values of startDay and endDay
	have been set as NULL. (commit 69e8a2f).

INTERNAL

   o	Add tests for `FAMEoutliers`.

		CHANGES IN VERSION 2.6.2:
BUG FIXES

   o	Use \providecommand for missing defines in vignettes instead

		CHANGES IN VERSION 2.6.1:
BUG FIXES

   o	Fix vignettes building by adding missing latex commands due to
	an incompatibility between BiocStyle and knitr

		CHANGES IN VERSION 2.6.0:
NEW FEATURES

   o	New options for `ImportFameSettings`: New parameter `standard`
	can take the RI values. The input file can be also a matrix.
	Column names can now be specified.

   o	A function to plot reference spectra for `tsLib` objects in a
	similar style of other visualization tools.

BUG FIXES

   o	Check for out-of-bounds in binary search.

DOCUMENTATION

   o	Add note of arguments passed to `plot` via the `dots` operator.
	The functions `ri_plot_peak` and `ncdf4_plot_peak` accept extra
	arguments passed to `plot` and others via the `...` argument.
	However, not all parameters, in particular `panel.first` and
	`panel.last`, will have an effect.

   o	Fix misplaced dot man page (`RIcorrrect`).

   o	Fix wrong braces in man page (`tsSample-class`).

INTERNAL

   o	Tidy up `NAMESPACE` file.

   o	Add tests for function `ImportFameSettings`.

   o	Refactor internal code of `ImportLibrary` and improve the spectrum
	parser algorithm (allow NA and make sure the format is valid).
	Add tests cases.

   o	Improve `tsLib` spectrum handling by ensuring the internal data
	is consistent. Also allow for empty spectra.

   o	Improve validity checks for `tsProfile` and `tsMSdata` objects.
	Add tests cases.


		CHANGES IN VERSION 2.4.2:
BUG FIXES

   o	Fix `maybe-uninitialized` warning in some platforms. Set the struct
	elements to `NULL`.

   o	Fix RI files format incompatibility (affected versions: 2.4.0 and .1).
	Starting from 2.4.0, these files allow for empty spectra data, but
	older version raise an error. Therefore, we enforce non empty
	spectra data to keep compatibility.

		CHANGES IN VERSION 2.4.1:
BUG FIXES

   o	An error is thrown if all parameters passed to `FindAllPeaks` are
	integers (a rare occurrence). Make sure that arguments are doubles
	before passing them to the C interface. Also add a test for it.

		CHANGES IN VERSION 2.4.0:
NEW FEATURES

   o	`plotPeakRI`: new option to plot by RT. This, however, needs the
	parameter `dev` because the relationship between RI and RT is unknown.

   o	`FindPeaksAll`: new option to search by RT. Basically this change
	implements the functionality of `plotPeakRI`.

   o	C code: refactor or most part of the code that deals with file parsing,
	in particular the text parser. The parser is now based on regular
	expressions, which should be more robust in detecting errors.

   o	Tests: though is not relevant to the user, TargetSearch include more
	unit testing for several internal functions.

BUG FIXES

   o	Add assertion that the option `TS_RI_columns` has three elements and
	that it is a character or integer vector.

		CHANGES IN VERSION 2.2.0:
BUG FIXES

   o	C code: Refactor the function get_line due to failures in files
	with CR line terminators, commonly found in MacOS systems.

		CHANGES IN VERSION 2.0.0:

NEW FEATURES

   o	Despite being a 2.0 release, the new features are minimal as
	this release contains mostly documentation improvements,
	code refactoring and clean-ups, and bug fixes.

   o	New methods for combining `tsLib`, `tsRim` and `tsSample` objects.
	These objects can be combined with the `c` operator. The method
	`length` reports the number of markers for objects of class `tsRim`.

   o	The function `quantMatrix` has been fixed and now it accepts
	three methods to generate its output. `quantmass` uses the library's
	quantification mass (QM), `maxint` takes the most abundant mass as
	QM, and `maxobs` takes the QM with the most observations. In
	addition the parameter `selmass` allows for selection of selective
	masses only if turned on.

   o	The function `Write.Results` has a new parameter `selmass` that is
	passed to `quantMatrix`, and the argument `quantMatrix` accepts
	the value `quantmass`, also passed to `quantMatrix`. The argument
	`prefix` changed its default value from `NA` to `NULL`.

BUG FIXES

   o	C code: use variables of same size (size_t vs int)

   o	C code: replace and update user-controlled memory interface macros.

   o	Baseline quantiles. Update quantiles computation with partially sorted
	data instead of sorted data. This yields a three-fold speed increase.

   o	Function `Profile`: set correct rownames. The slots of the `msProfile`
	object did not have correct rownames.

   o	Example data: fix object inconsistencies due to incorrect rownames.

   o	Plotting functions: they should return `invisible()`.

   o	Modernize the DESCRIPTION file.

   o	Import the whole `stats` package instead of listing each function.

   o	Replace instances of T/F with TRUE/FALSE in functions and vignettes.

   o	Add examples to functions that lacked them.

   o	Fix `quantMatrix`. The function has been broken for years as it did
	not work as intended. Nevertheless, the default option `quantmass`
	means that the output is now correct (formerly, the options `maxint`
	and `maxobs` were simply ignored).

		CHANGES IN VERSION 1.52.0:

SIGNIFICANT USER-VISIBLE CHANGES

   o	Deprecate parameter 'libId' and replace it with 'libID'

	The parameter `libId` conflicts with the method libId, and in other
	functions we already use a variable `libID` that correspond with the
	library identifier. Therefore, we replace it for consistency.

	This change affects the functions `plotRIdev` and `plotSpectra`.

BUG FIXES

   o	plotRIdev: use near equality for comparison.

	The function compares the selective or top masses against the columns
	of the intensity matrix. However, their lengths are variable, so the
	for `if` condition threw a warning if the lengths didn't match.

   o	Refactor functions binsearch and find_peaks.

	Minor optimization to the function binsearch in which the starting
	RT scan is found directly. This will reduce a couple of CPU cycles.

   o	Extra CDF integrity checks. Check that the length of the variables
	are all greater than zero and replace logical OR operator for its
	longer form.

		CHANGES IN VERSION 1.50.1:
BUG FIXES

   o	Fixes the gcc warning produced by passing a pointer and with an incorrect
	size to the function `swapb`. This went undiscovered for years because
	the code is only executed in big-endian machines.

		CHANGES IN VERSION 1.50.0:
NEW FEATURES

   o	FindAllPeaks: Allow for asymmetric RT deviations. Formerly, the window
	search parameter was plus o minus a tolerance; now it can be different on either
	side of the expected RT.

   o	ncdf4_convert_from_path: New flag to convert CDF files recursively.

   o	checkRimLim: show multiple samples at the same time, as opposed to a
	single sample in previous versions.

BUG FIXES

   o	Make sure that the assertion that checks for NULL or NA is operating in a
	scalar. For vectors use another assertion.

   o	Code clean-up. Remove unneeded files.

		CHANGES IN VERSION 1.48.0:

NEW FEATURES

   o	Function `ri_data_extract` allows for a time range for each searched m/z,
	instead of a single range for all masses.

   o	Man-pages typos and clarifications. No more user-significant changes.

BUG FIXES

   o	Add extra assertions on `ncdf4_convert`.

   o	The dependency package `ncdf4` should be on `Imports` rather than `Depends`
	on the DESCRIPTION file.

		CHANGES IN VERSION 1.46.3:

BUG FIXES

   o	Function `ri_plot_peak`: Correct description of arguments on man-page and
	fix typos.

   o	Update NEWS for version 1.46.2

		CHANGES IN VERSION 1.46.2:

BUG FIXES

   o	Baseline correction: Cast window parameter as double rather than integer.

   o	Fix off-by-line error in quantile-based baseline calculation. This bug
	caused an out-of-bound memory access on edge cases, which it was why it
	took long to be found.

		CHANGES IN VERSION 1.46.1:

BUG FIXES

   o	Functions `plotPeakSimple`, `plotPeakRI`, and `plotRIdev` now correctly
	reset the graphics parameters by `on.exit()` calls.

		CHANGES IN VERSION 1.46.0:

NEW FEATURES

   o	New function `ri_data_extract` to extract peaks from RI files. It works
	similar to `FindAllPeaks` but uses different (simpler) input parameters,
	comparable to ncdf4_data_extract.

   o	New function `ri_plot_peak` to plot peaks from RI files, built upon
	`ri_data_extract`. It can be used as an alternative to `plotPeakRI` as it
	has a simple interface.

   o	New function `ncdf4_plot_peak`. An alternative to function `plotPeakSimple`
	with a simple interface to plot peaks from NetCDF format 4. This function
	supersedes `plotPeakSimple`.

BUG FIXES

   o	Remove unneeded ICO file.

   o	Man pages improvements. Mostly grammar and spelling changes.

SIGNIFICANT USER-VISIBLE CHANGES

   o	The function `peakPlotSimple` is considered deprecated, and its
	use should be avoided. Use the function `ncdf4_plot_peak` instead.

   o	The parameter `column` in many columns is now `NULL` by default. To
	change the column names use the global option `TS_RI_columns` instead

		CHANGES IN VERSION 1.44.0:

NEW FEATURES

   o	The class tsRim allows subsetting by the `[` operator. This makes
	possible to choose specific marker for plotting, eg, in `checkRimLim`.

   o	New function `updateRI` to update/correct/force the time of the RI
	markers. Just like the old function `fixRI`, but it also corrects
	CDF files.

BUG FIXES

   o	Make sure matrix dimensions are not dropped in NCDF extraction.

   o	Fix check warnings due to plot() being moved to `base`.

   o	Clean-up NAMESPACE

		CHANGES IN VERSION 1.42.0:

SIGNIFICANT USER-VISIBLE CHANGES

   o	As announced in version 1.40.0, the graphical user interface is
	gone for good (i.e., defunct). The source code is available in
	my github repository.

NEW FEATURES

   o	The most interesting feature is the introduction of a custom CDF-4 format
	which hold the same data as a normal CDF-3 (as exported by the software
	vendors), but allows faster read-access (specially for plotting) and
	compression (among other features). This is at the cost of compatibility
	as the CDF-4 files are unlikely to be used outsied TargetSearch

   o	A new baseline correction method based on quantiles around a retention
	time window. In addition, the new CDF-4 file format allows storing
	of baseline-corrected values so it is not needed to recompute the baseline
	each time like in older TargetSearch versions.

   o	New function to transform to nominal mass. Some GC instruments export
	CDF not in nominal mass format (some even export high mass accuracy).
	Formerly, this type of files were not supported and TargetSearch would
	refuse to process them. Now, all types of mass accuracy are allowed,
	obviously at the cost of losing that accuracy.

BUG FIXES

   o	Mostly code refactoring and house-keeping.

		CHANGES IN VERSION 1.40.0:

SIGNIFICANT USER-VISIBLE CHANGES

   o	The graphical user interface (TargetSearchGUI) is being deprecated.
	This is due to old source code, lack of time for maintenance, and
	lack of interest. The GUI it is still part of this release and it
	will be removed in the next release, ie, 1.42.0

BUG FIXES

   o	Fix NA handling in quantMass method.

		CHANGES IN VERSION 1.38.0:

NEW FEATURES

   o	New function `checkRimLim` to visualise a retention index markers
	before the actual time correction. It can be useful to fix the search
	limits.

   o	Peak detection method (NetCDFPeakFinding) has the option to use a gaussian
	smoothing in addition to usual moving average.

   o	Detects if CDF files are not found during sample description import. In
	addition, search for column names matching a pattern if the expected names
	are not found.

   o	Add support for a custom CDF file for faster data retrieval.

SIGNIFICANT USER-VISIBLE CHANGES

   o	The parameter `massRange` (m/z mass range) which used to be needed in
	some functions is deprecated. It was used mostly as a hint and usually
	detected automatically. If it is passed, there would be no effect.

BUG FIXES

   o	Big refactor of C code to eliminate duplicated code and to separate
	what is R-C code (ie, SEXP structs) out of the C code that actually does
	something.

   o	General R code refactoring and housekeeping.

		CHANGES IN VERSION 1.36.0:

NEW FEATURES

   o	New dataset object TSExample. This dataset contains data that used to
	be stored in package TargetSearchData.

   o	New low-level function to search peaks (FindAllPeaks). This allows advanced
	users to refine peak-searches.

   o	New function to plot peaks across samples (plotPeakRI). Used for quality
	checks of peak annotation and fine-tunning search parameters.

SIGNIFICANT USER-VISIBLE CHANGES

   o	Add extra checks when manipulating tsLib objects. Extra care needs to
	be taken if changes to the quant/selective/top masses are done.

   o	Sample IDs (names) must be unique. These might generate errors when
	loading old TargetSearch workspaces.

BUG FIXES

   o	tsLib: ensure that every slot in the object contain a library ID.

   o	Fix warnings during R CMD check.

   o	Refactor C code for finding peaks. It is possible to return all peaks
	instead of only the most abundant. No visible changes for the end user.

   o	Refactor C code for NetCDF manipulation and peak finding to reduce
	code duplication. No visible changes for the end user.

   o	General R code housekeeping: Removal of mixed tabs and spaces, fix
	tabulation, add Rbuildignore.

		CHANGES IN VERSION 1.26.0:

SIGNIFICANT USER-VISIBLE CHANGES

   o	TargetSearch now depends on "ncdf" rather than mzR.

BUG FIXES

   o	Fix potential potential pearson correlation errors that occur when the
	standard is deviation zero. If that is the case, replace the resulting
	NA/NaN by zero.

   o	Fix R check warnings.

		CHANGES IN VERSION 1.24.0:

BUG FIXES

   o	Add clarification note for "Window" parameter in "RIcorrect" function.

		CHANGES IN VERSION 1.22.0:

BUG FIXES

   o	Fix bug in quantMatrix. make sure that selection mass IDs match
	the library IDs. Add an attribute to indicate that the quantification
	mass is also a correlation mass.

		CHANGES IN VERSION 1.20.0:

BUG FIXES

    o	Write the actual retention index value instead of the work 'RI' in
	`ProfileCleanUp`.

		CHANGES IN VERSION 1.18.0:

NEW FEATURES

    o	New options for function 'ProfileCleanUp' that allow fine tuning of the
	suggested metabolite in case of redundancy. This problem occurs when the
	reference library contains two or more metabolites in the same
	retention time window.

    o	The function 'Write.Results' can create a quantification matrix based
	in one quantification mass. This mass can be selected automatically or
	specified by the user.

    o	The above options have been incorporated in the GUI as well.

		CHANGES IN VERSION 1.16.0:

SIGNIFICANT USER-VISIBLE CHANGES

    o	Function 'fixRIcorrection' is now defunct (previously was deprecated).
	Use 'fixRI'.

BUG FIXES

    o	Removed references to deprecated R functions.

    o	Fixed bug in 'ImportLibrary.msp' that occurs if there is only one
	metabolite.

		CHANGES IN VERSION 1.14.0:

NEW FEATURES

    o	New function 'fixRI'. This function can be used to correct RI markers
	or to manually force their location to specific retention times if,
	for example, the RI markers were not co-injected with the biological
	samples. Replaces the now deprecated 'fixRIcorrection'.

    o	New function 'riMatrix'. This function searches RI markers in RI
	files instead of CDF files.

    o	Improvements in CDF import functions:
	 - Automatic detection of m/z range.
	 - Detection and correction of CDF files with non-integer m/z values.
	   These values are converted to nominal mass.

    o	ImportLibrary:
	 - New parameter 'file.opt'. A list containing arguments to
	   be passed to 'read.delim'.
	 - It can take a data frame instead of a file to create a library
	   object.

SIGNIFICANT USER-VISIBLE CHANGES

    o	Function 'fixRIcorrection' is deprecated. Use 'fixRI'.

BUG FIXES

    o	The .Call function in FindPeaks.R would incorrectly coerce RI limits
	to integers instead of double.

    o	ImportLibrary:
	 - Fixed bug when reading one-metabolite libraries.
	 - Check for unexpected quotation mark characters in input file or
	   input data.frame. They will be removed.

    o	Profile: check for at least three top masses to calculate spectra
	similarity scores.

    o	quantMatrix: use character indices instead of numeric indices.

		CHANGES IN VERSION 1.12.0:

SIGNIFICANT USER-VISIBLE CHANGES

    o	New binary file format for the peak-list files, a.k.a. RI files.
	This speeds up metabolite searches by 5-10 fold. The old TEXT format
	is kept for compatibility. See method 'fileFormat'. Also see
	'bin2text' and 'text2bin' functions.

    o	New plot peak function 'plotPeak'. The old function was renamed as
	plotPeakSimple. The function show also the regions in which the
	searches were performed to provide better quality controls.

BUG FIXES

    o	Changed to check.names=TRUE in 'read.delim' call in functions
	TargetSearchGUI() and ImportLibrary(). This prevents empty column names
	that might produce errors in downstream functions.

		CHANGES IN VERSION 1.10.0:

NEW FEATURES

    o	New function "writeLibText" to save "tsLib" objects in a tab-delimited
	text file (which can consecuently be re-imported). It might be also used to
	convert a MSP file into a TEXT file.

BUG FIXES

    o   Added some 'drop=FALSE' in plotSpectra function.

    o	Calls to 'pdf' are now followed by 'on.exit(dev.off())' to make sure that
	the device is closed after unexpected errors or user interruption.

		CHANGES IN VERSION 1.8.2:

BUG FIXES

    o	bug fixed error due to changes in TargetSearch object definitions in
	function writeMSP.

		CHANGES IN VERSION 1.8.1:

BUG FIXES

    o	'sampleRI' and 'Profile' functions would return NA if the minPairCor
	parameter was greater than the number of samples.

    o	Change GUI message to a more suitable one.

    o	'FAMEoutliers' failed if only one sample was analyzed.

    o	'ProfileCleanUP' accepts a minPairObs parameter like 'Profile'

    o	The parameter minPairObs is now checked so that cannot take a value
	lower than 5 in 'sampleRI', 'Profile', and 'ProfileCleanUP' functions.

		CHANGES IN VERSION 1.6.0:

NEW FEATURES

    o	The Retention Time information is now imported from the RI files.
	This means that the RT slot of the "tsMSdata" object contains the R.T.
	values (formerly it was just an empty slot).

BUG FIXES

    o	Several fixes, improvements, and code cleaning.

		CHANGES IN VERSION 1.4.3:

NEW FEATURES

    o	Function NetCDFPeakFinding: 'ppc' is now the default peak picking
	method.

		CHANGES IN VERSION 1.4.2:

BUG FIXES

    o	Bug creating a new library in GUI. Fixed.

		CHANGES IN VERSION 1.4.1:

BUG FIXES

    o	Fixed bug in "[" method, "tsLib" object.

		CHANGES IN VERSION 1.3.7:

    o	Column Sample_Count of metabolite Profile renamed to
	Sample_Count_per_Mass.

		CHANGES IN VERSION 1.3.6:

NEW FEATURES

    o	ImportLibrary.tab() now have a new parameter 'libdata'.

BUG FIXES

    o	Fixed bug with corrupted CDF files. Now TS will try to process it
	and issue a warning to the user.

    o	Fixed bugs in the GUI:
	- Quantitative masses were not loaded into the tsLib object.
	- Fixed bug ExcludedMasses parameter.

		CHANGES IN VERSION 1.3.5:

NEW FEATURES

    o	New method 'sampleData<-' for 'tsSample' class.

    o	New method 'libData<-' for 'tsLib' class.

DOCUMENTATION

    o	Vignette corrections and rewriting.

BUG FIXES

    o	plotFAME(): plot title changed to 'RI marker' to be consistent
	with the manual.

    o	Fixed examples that did not pass R CMD check.

    o	Object validation bug fixes and new checks (all classes).

		CHANGES IN VERSION 1.3.4:

BUG FIXES

    o	Fixed GUI error that occurred when creating/editing a library.

    o	Fixed Write.Result() file format output: columns were missing and
	column names were wrong. The file format should be compatible with older
	versions.

		CHANGES IN VERSION 1.3.3:

NEW FEATURES

    o	New function ImportSamplesFromDir. It makes easier to create a
	tsSample object from CDF files in a directory.

    o	A new GUI layout and new features: Now it is not required to
	have all the files in the working directory. Baseline, Peak detection,
	and RI correction options gray out when 'Apex data' is selected.

		CHANGES IN VERSION 1.3.2:

NEW FEATURES

    o	New 'tsProfile' and 'tsMSdata' definitions. Many functions were
	internally changed to conform to the changes, however, the changes
	should be (more or less) transparent for the user.

    o	classes.R:
	- new 'quantMass' slot in class 'tsLib'
	- class 'tsMSdata': slots changed from matrix to list
	- class 'tsProfile': new slots profInt, profRI and ProfRT

    o	Function FindPeaks: Now the parameter refLib can be either a list
	or a 3-column matrix. If it is a list, the function will iterate for
	every component, given that the components are 3-column matrices.

    o	Function ImportLibrary: code changed to incorporate the 'quantMass'
	slot.

    o	methods-tsLib.R: new methods to access quantMass slot. Also, new
	methods profileInt, profileRI and profileRT to access slots profInt,
	profRI and ProfRT. New method as.list

    o	Write.Results: Same as before, but the parameter peakData was
	removed, since the raw data is now included in the 'tsProfile' object.

    o	The following files were changed to conform to the new definicions.
	No changes in terms of functionality: dayNorm.R, peakFind.R, plot.R,
	profile.R, profileCleanUp.R, and sampleRI.R.

    o	new function quantMatrix.

    o	Changes in the GUI. Now two new parameters are accepted: topMasses
	and ExcludedMasses.

		CHANGES IN VERSION 1.3.1:

BUG FIXES

    o	Fixed NetCDFPeakFinding and tsSample-class manpages because
	of an error caused by wrong regular expressions in the example
	section at check.

DOCUMENTATION

    o	CITATION file of TargetSearch paper at BMC bioinformatics.

