Changes in version 1.43                         

    o   v1.43.1 Tightened the recognition code for 27k data to avoid
	conflict with the next release of the Allergy and Asthma array.

                        Changes in version 1.39                         

    o   v1.39.1 Initial support for the Allergy and Asthma array.

    o   v1.39.2 More support for the Allergy and Asthma array.

    o   v1.39.3 Bug fix that prevented R CMD build from working.

                        Changes in version 1.29                         

    o   v1.29.4 Fixed a bug in detectionP where the function always
	returned NA for a 27k array. Reported by Laurenz Holcik.

    o   v1.29.4 Fixed a bug in preprocessNoob where the function would
	error when supplied an input data set with only 1 sample (when
	using default arguments). Reported by Matt Oldach.

                        Changes in version 1.27                         

    o   v1.27.2 Fix bug in preprocessQuantile() that arose when
	checking input for previous preprocessing method. Thanks to
	@DelnazR for the report (<URL:
	https://github.com/hansenlab/minfi/issues/165>).

    o   v1.27.3 Fixed bug related to switch A and B for SNPs of type I
	when using convertArray / combineArrays.  Reported by Jenny van
	Dongen.

    o   v1.27.3 Fixed error in dmpFinder.

    o   Added preliminary support for HorvathMammalMethylChip40.

                        Changes in version 1.26                         

    o   v1.26.1: dmpFinder() again works when dat is a numeric matrix.
	This bug was introduced in v1.26.0 during the transition to
	support DelayedArray-backed minfi objects. Thanks to @ralowe
	for the report (#163).

    o   Changed default annotation for EPIC arrays to B4 from B2.

                        Changes in version 1.25                         

    o   Added preliminary support for DelayedArray-backed minfi
	objects. This allows disk-backed minfi objects (e.g., using
	HDF5). This functionality is currently recommended only for
	developers and advanced users. A user-friendly interface is
	currently in development. All existing minfi functionality and
	serialized objects should continue to work as it did in
	versions prior to 1.25. Please report any problems to the
	GitHub issue tracker.

    o   Fixing bug in functions readGEORawFile() and
	getGenomicRatioSetFromGEO(). These two functions did not work
	(reported an error). They should work now. Thanks to users who
	reported problems at GitHub issues.

    o   Updated CITATION and citations in the vignette.

                        Changes in version 1.23                         

    o   Fixed as() (coercion) from RGChannelSetExtended to
	RGChannelSet, to support the argument extended=TRUE in
	read.matharray(). The core issue is the
	new("RChannelSetExtended") is an invalid object because it does
	not have correct elements of the assay slot.  Instead of
	addressing this, I used a check for ncol=0, nrow=0 in the
	coercion function which asssumes the presence of correctly
	named assays. Original issue report by Stewart Morris
	<swmorris@exseed.ed.ac.uk>.

    o   Improved (made prettier) the printing of messages in
	read.metharray() and friends.

    o   Changed seqlevels(..., force = TRUE) to seqlevel(...,
	pruning.mode = "coarse").

                        Changes in version 1.21                         

    o   Moving RGChannelSet, MethylSet and RatioSet from building on
	eSet (from Biobase) to SummarizedExperiment (from
	SummarizedExperiment). Most important changes are that the
	constructor functions now uses the argument colData instead of
	pData; some of them have more arguments.  The updateObject
	methods have been extended to update to the new class backend.
	While the pData, sampleNames, featureNames methods still work,
	we recommend (at least for package writers) to move to colData,
	colnames and rownames.

    o   Reverted the bugfix to preprocessQuantile mentioned under news
	for version 1.19. Our fix was wrong; the original code did not
	have a bug. Thanks to users who reported issues with the
	function (Frederic Fournier and David Martino).

    o   bugfix for getSnpBeta for subsetted (and combined)
	RGChannelSets (reported and diagnosed by Warren Cheung).

    o   Accessing the manifest or annotation now fails for an 'unknown'
	array.

    o   We now support gzipped IDAT files.

    o   Fixed a bug in read.metharray() which resulted in an error in
	some situations when running the function with argument
	force=TRUE to read IDAT files of different length.  Reported by
	Maria Calleja Cervantes <mcalleja@idibell.cat>.

                        Changes in version 1.19                         

    o   preprocessNoob gets a dyeMethod argument which now allows for
	true single sample processing.

    o   combineArrayTypes is added; the intention is to be able to
	combine 450k and EPIC array data at the RGChannelSet level.

    o   Support for early access IDAT files form the EPIC array.

    o   message() is now used instead of cat().

    o   Some functions moved from deprecated to defunct.

    o   Addressing a bug in preprocessQuantile which led to reduced
	performance for Type I probes when run with default paramters
	(stratified=TRUE).  Users are strongly encouraged to update to
	the latest version (1.19.7 or greater) and rerun the function.

    o   Extended combineArrayTypes to deal with control probes with the
	same address, but different characteristics (Color, Type,
	ExtendedType). Discussions with Illumina support reveals that,
	for control probes, same address is same probe.

    o   Extended combineArrayTypes to support
	[Genomic](Methyl|Ratio)Set.

    o   Fixed a bug that made detectionP fail with an error if used on
	only 1 sample.

    o   Fixed a bug in read.metharray where we assumed a certain
	ordering is consistent in IDAT files from different samples.
	This is no longer assumed, but as a consequence the function is
	a bit slower.  Bug (indirectly) observed by Giovanni Calice
	<giovcalice@gmail.com>.

    o   Changing internals of MethylSet() to follow recent changes in
	assayDataElement<- in Biobase 2.33.1.

    o   Changing internals of MethylSet() (again) to follow recent
	changes in assayDataElement<- in Biobase 2.33.2.

    o   Fixing issues with combine() on various classes where pData
	columns doesn't have the same class. This translates to fixes
	for combineArrays and estimateCellType.

    o   estimateCellCounts gets a referencePlatform array (defaulting
	to 450k) and now silently converts the input data to the
	desired platform using convertArray.

    o   Major refactoring of the annotation packages to reduce memory
	consumption.

                        Changes in version 1.15                         

    o   Adding testing for preprocessNoob, preprocessFunnorm.

    o   Fxing some verbose output of preprocessNoob.

    o   Adding non-exported function .digestVector for testing.

                        Changes in version 1.13                         

    o   read.450k.exp has support for argument base when targets is
	supplied.  Thanks to Brent Pedersen <bpederse@gmail.com> for
	noticing this and providing an initial fix.

    o   changed the default behaviour of read.450k.exp.  If called
	using a targets argument created by read.450k.sheet, you should
	not also give it a base argument (which was always
	superfluous).

    o   Some NAMESPACE imports fixes.

    o   getGenomicRatioSetFromGEO added to read directly from GEO and
	create a GenomicsRatioSet. Thanks Tim Triche for writing the
	original function.

    o   makeGenomicRatioSetFromMatrix added. This function turns a
	matrix into a GenomicRatioSet. The 450K feature IDs need to be
	supplied or in the rownames of the matrix.

    o   makeGenomicRatioSetFromMatrix added to convert matrices to
	GenomicRatioSets. This can be useful for reading in files with
	beta values and turning into object that can be directly passed
	to bumphunter and blockFinder.

    o   readGEORawFile added to read raw intensity files provided as
	Supplementary Material on GEO. The files include the
	unmethylated and methylated signals. The new function returns a
	GenomicMethylSet which permits you to seamlessly apply minfi
	preprocessing functions.

    o   readTCGA is wrapper for makeGenomicRatioSetFromMatrix that
	reads in files in the TCGA format. The function is very
	specific to this format.

    o   Minor coding fixes including some NAMESPACE issues, missing
	pData<- methods, replace require() with requireNamespace().

    o   cpgCollapse now works for GenomicRatioSets since it no longer
	attempts to summarize CN data when passed a GenomicRatioSet.

    o   estimateCellCounts now works on only 2 cell types.

    o   Various NAMESPACE fixes.

    o   the gaphunter function by Shan Andrews has been added. We
	welcome Shan as a contributing author.

                        Changes in version 1.11                         

    o   Updated CITATION.

    o   Added dropLociWithSnps for easy exclusion of certain
	methylation loci.

    o   Add getAnnotationObject for easy printing of contents of the
	annotation object.

    o   Changes in 1.10 imported into 1.11.

    o   Fixed an issue with bumphunter calling the bumphunter package
	in a wrong way.

    o   Added getOOB and getSnpBeta convenience functions for accessing
	the OOB probes and the SNP probes.

    o   read.450k.sheet now forces a column named Slide to be
	character.

    o   The NOOB background correction method is now available throguh
	preprocessNoob.

    o   One can now supply the permutations to be used in permutation
	analysis. This is useful for cases in which the total number of
	possilbe permutations is small and one wants to use them all or
	in cases in which one wants to assure balance, for example,
	between cases and controls.

    o   The bumphunter method now has the option to create null
	distributions using a bootstrap approach.

    o   Fixed a man page issue.

    o   Added GitHub URL to DESCRIPTION.

    o   Functional normalization now supports background correction by
	NOOB (see preprocessNoob); this is recommended (and the new
	default).

                        Changes in version 1.10                         

    o   Modified read.450k.sheet to ignore case when identifying the
	data header "[DATA]".  This addresses an issue with sheets
	generated by some Illumina instruments.  Reported and partial
	fix provided by the github user nilsigem.

                         Changes in version 1.9                         

    o   Importing the changes from 1.8 into 1.9.

    o   Added the withColor argument to the getProbeType function,
	which allows the return of "IGrn", "IRed", "II", instead of
	only "I", "II".

    o   Added asList argument to getControlAddress to return result as
	a list.

    o   Moved reshape from Depends to Imports.

    o   Dramatic improvement in memory usage of preprocessRaw.

    o   Updated CITATION, the minif paper is in press.

    o   Fixed bug with mapToGenome(..., mergeManifest = TRUE) reported
	by Dale Watkins <dale.watkins@sahmri.com> and Allegra A. Petti
	<apetti@genome.wustl.edu>.

    o   Fixed bug with mapToGenome(rSet) with rSet being a RatioSet
	with the CN set to NULL reported byAllegra A. Petti
	<apetti@genome.wustl.edu>.

    o   Added preprocessFunnorm, a new preprocessing method.

    o   Improvements to the speed of getAnnotation by Martin Morgan
	<mtmorgan@fhcrc.org>.

                         Changes in version 1.8                         

    o   preprocessQuantile(object) would fail if object was a
	GenomicMethylSet.  This is now fixed.

    o   Cleanup of Rd markdown in various help files.

    o   estimateCellCounts would throw an error.  This is now fixed.
	The function arguments have changed.

    o   Bug in cpgCollapse led to incorrect results. Your output is
	affected if table(granges(output[[1]])$type) is all 'OpenSea'.
	Reported by Florence Cavalli <florence@ebi.ac.uk>.

    o   Encapsulated the example for estimateCellCounts() in 'dontrun',
	to disable it on the build servers.

    o   preprocessQuantile would work as if removeBadSamples=TRUE no
	matter the value of the argument.

    o   Fixing replace bug in fixMethOutliers; it would not work on the
	output of preprocessSWAN.  Reported by David McGaughey
	<david.mcgaughey@nih.gov>.

    o   The function mapToGenome would return something that looked
	like an unordered GenomicMethylSet.  Actually, loci were
	correctly ordered within chromosomes, the issue had to do with
	whether the chromosomes were ordered as chr1, chr2, chr3 (used
	in minfi) or chr1, chr10, chr11 (lexigraphically).  Reported by
	Florence Cavalli <florence@ebi.ac.uk>.

    o   Switched to using new author format in DESCRIPTION.

                         Changes in version 1.7                         

    o   Added getMethSignal(), a convenience function for programming.

    o   Changed the argument name of "type" to "what" for
	getMethSignal().

    o   Added the class "RatioSet", like "GenomicRatioSet" but without
	the genome information.

    o   Bugfixes to the "GenomicRatioSet()" constructor.

    o   Added the method ratioConvert(), for converting a "MethylSet"
	to a "RatioSet" or a "GenomicMethylSet" to a "GenomicRatioSet".

    o   Fixed an issue with GenomicMethylSet() and GenomicRatioSet()
	caused by a recent change to a non-exported function in the
	GenomicRanges package (Reported by Gustavo Fernandez Bayon
	<gbayon@gmail.com>).

    o   Added fixMethOutliers for thresholding extreme observations in
	the [un]methylation channels.

    o   Added getSex, addSex, plotSex for estimating sex of the
	samples.

    o   Added getQC, addQC, plotQC for a very simple quality control
	measure.

    o   Added minfiQC for a one-stop function for quality control
	measures.

    o   Changed some verbose=TRUE output in various functions.

    o   Added preprocessQuantile.

    o   Added bumphunter method for "GenomicRatioSet".

    o   Handling signed zero in minfi:::.digestMatrix which caused unit
	tests to fail on Windows.

    o   addSex and addQC lead to sampleNames() being dropped because of
	a likely bug in cbind(DataFrame, DataFrame).  Work-around has
	been implemented.

    o   Re-ran the test data generator.

    o   Fixed some Depends and Imports issues revealed by new features
	of R CMD check.

    o   Added blockFinder and cpgCollapse.

    o   (internal) added convenience functions for argument checking.

    o   Exposed and re-wrote getAnnotation().

    o   Changed getLocations() from being a method to a simple
	function. Arguments have been removed (for example, now the
	function always drops non-mapping loci).

    o   Implemented getIslandStatus(), getProbeType(), getSnpInfo() and
	addSnpInfo().  The two later functions retrieve pre-computed
	SNP overlaps, and the new annotation object includes SNPs based
	on dbSNP 137, 135 and 132.

    o   Changed the IlluminaMethylatioAnnotation class to now include
	genomeBuild information as well as defaults.

    o   Added estimateCellCounts for deconvolution of cell types in
	whole blood.  Thanks to Andrew Jaffe and Andres Houseman.

                         Changes in version 1.5                         

    o   Added unit testing for the preprocessing algorithms.

    o   Improved the speed of SWAN for large datasets.

    o   Added the new class "GenomicRatioSet".  It is akin to
	"GenomicMethylSet" but instead of containing Meth and Unmeth it
	contains M and/or Beta and copy number.

    o   We now depend on illuminaio instead of crlmm in order to get
	readIDAT.

    o   Added unsrturl.bst to minimize dependences for running Sweave.

                         Changes in version 1.3                         

    o   Updated preprocessSwan to fix a bug when mSet was not set to
	the default value of NULL.  Specifically, now the "counts"
	tables is used to construct "subset".

    o   Changed the function manifestNew() to
	IlluminaMethylationManifest().

    o   Added IlluminaMethylationAnnotation().

    o   Added placeholders for unit testing based on RUnit.

    o   Introduced a new show method for MethylSet and RGChannelSet,
	derived from the eSet method in Biobase.

    o   The annotation slot of a MethylSet/RGChannelSet is now intended
	to _not_ be a scalar, but instead have length 2 with components
	'array' and 'annotation'.  This foreshadows introdution of
	annotation packages for use with minfi.

    o   Reorganization of R files; rewriting of the man pages for
	MethylSet, RGChannelSet.

    o   getMeth, getUnmeth, getBeta, getM are now methods.

    o   bug fix to qcReport thanks to Tao Shi.

    o   Changes to getBeta / getM, both in terms of which arguments the
	methods take and how the values are computed.

    o   Changes to the manifest structure; it now has separate slots
	for genotype probes and these probes are no longer part of a
	MethylSet (using eg. preprocessRaw).  They can be accessed
	using getProbeInfo(rgSet, type) with type equal to "SnpI" or
	"SnpII".

    o   Introduction of mapToGenome, getLocations and the new class
	GenomicMethylSet.  man pages are reasonably complete, still
	need to add examples to the vignette.  This will be a standard
	part of an extended pipeline.

    o   Introduction of
	IlluminaHumanMethylation450lannotation.ilmn.v1.2 which contains
	some new annotation needed for mapToGenome/getLocations.  This
	package will be split into several packages moving forward, in
	an attempt to harmonize efforts by us and Tim Triche.
	getLocations/mapToGenome will stay the same.

    o   getControlTypes added (returns the different types of control
	probes).

    o   GenomicMethylSet now inherits a number of methods including
	granges(), start(), end() etc. from SummarizedExperiemnt.  They
	have therefore been deleted from minfi.

    o   Bugfix to getLocations(..., mergeManifest = TRUE).  It now
	longer throws an error.

    o   mapToGenome now returns a GenomicMethylSet ordered according to
	the chromosome name ordering chr1,..,chr22,chrX,chrY,unmapped,
	the last one not present if drop=TRUE (default).

                         Changes in version 1.1                         

    o   Changed NAMESPACE file

    o   Defined constructors for MethylSet, RGChannelSet,
	RGChannelSetExtended.

    o   Included a version number in the class definition for MethylSet
	and RGChannelSet.  Old objects can be updated by calls of the
	form updateObject(Mset).

    o   read.manifest (not exported) updated to include nCpGs.

    o   preprocessSwan was added.  Still work in progress.

    o   Changed background calculation in preprocessSwan.

    o   Added a section to the vignette describing preprocessSwan.

    o   Bug fix: ilogit2 is now in base (it used to be base e).  Thanks
	to Time Triche, Jr <tim.triche@gmail.com>.

    o   Added and dcoumented the IlluminaMethylationAnnotation class;
	still work in progess.

    o   Moved package vignette from inst/doc to vignettes.

                        Changes in version 0.99                         

    o   Initial release to Bioconductor.

    o   Added NEWS file.

    o   Bugfix to vignette.

    o   readIDAT is now exported by crlmm, implying that we can import
	this function through NAMESPACE.