Changes in version 1.12.0                        

    o   Added BPPARAM= to read10xCounts() for parallelized reading of
	multiple samples.

    o   Gave all the *Ambience() functions better names, and
	soft-deprecated the current versions.

    o   Added ambientContribSparse() to estimate the ambient
	contribution under sparsity assumptions.

    o   Added cleanTagCounts() to remove undesirable barcodes from tag
	count matrices.

    o   Converted all matrix-accepting functions to S4 generics to
	support SummarizedExperiment inputs.

    o   emptyDrops() will now coerce all DelayedArray inputs into
	wrapped SparseArraySeeds.

    o   Setting test.ambient=TRUE in emptyDrops() will no longer alter
	the FDRs compared to test.ambient=FALSE. Added test.ambient=NA
	to retain back-compatible behavior.

    o   Bugfix for correct use of redefined lower when by.rank= is set
	in emptyDrops().

    o   Added a constant.ambient=TRUE option to hashedDrops() to better
	support experiments with very few HTOs.

                       Changes in version 1.10.0                        

    o   Migrated downsampleMatrix() to scuttle with a re-export.

    o   Added features= to downsampleReads() for per-feature-set
	downsampling.

    o   Added matrix support for y= and ambient= in maximumAmbience().

    o   Added controlAmbience() for easy estimation of ambient
	contamination with control features.

    o   Added removeAmbience() function to remove the ambient solution
	from a count matrix, mostly for aesthetics.

    o   Report library index and feature type in output of
	read10xMolInfo().

    o   Support subsetting by library index/type in functions that use
	the molecule information file, such as swappedDrops() and
	chimericDrops().

    o   Added by.rank= option to estimateAmbience() and emptyDrops(),
	for estimation of the ambient profile by excluding barcodes
	with the largest totals.

    o   Added exclude.from= option to barcodeRanks(), to avoid problems
	with instability at low ranks for knee/inflection calculations
	(contributed by Stefano Mangiola).

    o   Minor bugfix in barcodeRanks() calculation of the knee point.
	Note that this affects the default choice of retain= in
	emptyDrops().

    o   Split off HTO ambience inferences into a separate
	inferAmbience() function.

    o   Added support for combinatorial barcodes in hashedDrops().

                        Changes in version 1.8.0                        

    o   Added the downsampleBatches() function for convenient
	downsampling of batches.

    o   Preliminary support for using the output of write10xCounts()
	back in Cellranger.

    o   Support reading in 10X output files via prefixes in
	read10xCounts(). Automatic detection of whether a file is
	Gzipped or not.

    o   Added chimericDrops() to remove chimeric molecules due to
	within-sample re-priming.

    o   Added hashedDrops() to demultiplex cell hashing experiments.

    o   Added maximumAmbience() to estimate the maximum contribution of
	the ambient profile.

                        Changes in version 1.6.0                        

    o   Switched emptyDrops() to use Boost's discrete_distribution for
	weighted sampling.  This results in some minor stochastic
	changes to the Monte Carlo p-values. Automatically round
	non-integer count matrices.

                        Changes in version 1.4.0                        

    o   Removed read10xMatrix().

    o   Supported CellRanger v3 output files in read10xMolInfo(),
	read10xCounts(), write10xCounts().

    o   Modified barcodeRanks() to return a DataFrame with
	knee/inflection estimates in metadata.

    o   Slight change to random number generation in emptyDrops() to be
	agnostic to number of cores.

                        Changes in version 1.2.0                        

    o   Added removeSwappedDrops() for removing swapping in other types
	of droplet-based data.

    o   Added alpha= argument to testEmptyDrops() to support
	overdispersion during sampling. Returned arguments and
	estimates in metadata of testEmptyDrops(), emptyDrops().

    o   Added encodeSequences() for convenient 2-bit encoding of
	sequences.

    o   Added get10xMolInfoStats() function to compute per-cell
	statistics from a molecule info file.

    o   Deprecated read10xMatrix(), as it does not add much practical
	value over Matrix::readMM().

    o   Support the 10X sparse HDF5 format in read10xCounts().

    o   Support the 10X sparse HDF5 format in write10xCounts().

                        Changes in version 1.0.0                        

    o   
	New package DropletUtils, for handling droplet-based
	single-cell RNA sequencing data.