Changes in version 1.28.0                        

    o   Change exprs_values (and similar) to assay.type.

    o   Tweak colouring of violin plots.

    o   Fix use of block arguments in plotGroupedHeatmap.

    o   Add scattermore and binning support to various plots (eg
	plotReducedDim).

    o   swap_rownames works in retrieveCellInfo for altExp now as well
	as in the main assay.

    o   Add point_shape argument to plotDots and plotPlatePosition.

                       Changes in version 1.26.0                        

    o   Add projectReducedDim function to project points into an
	existing reduced dimensionality embedding.

    o   Support "color" and "colour" spellings in all plotting
	functions.

    o   Add order_by argument to cellwise plot functions.

    o   Add rasterise argument to plotReducedDim using rasterise.

    o   Add use_densvis argument to runTSNE to add densvis support in
	UMAP and TSNE embeddings.

    o   Make multiplot defunct, remove deprecated args in plotHeatmap,
	plotDots.

    o   Add point_fun argument to plotColData and plotExpression
	determine the geom used to draw cells in those plots.

                       Changes in version 1.24.0                        

    o   Remove diffusion map functions that relied on destiny.

    o   Add point.padding,force args to plotReducedDim; passed to
	geom_text_repel.

    o   Add warning about unused use_dimred argument in runTSNE.

                       Changes in version 1.22.0                        

    o   Rename colour_columns_by in plotHeatmap to color_columns_by to
	match other arguments.

    o   Add color_rows_by and row_annotation_colors arguments to
	plotHeatmap, similar to analogous column arguments.

    o   Change text_by annotations in plotReducedDim to use
	geom_text_repel from ggrepel.

                       Changes in version 1.20.0                        

    o   runMDS can use user-supplied function for calculating the
	distance matrix. runMDS can optionally store the distance
	matrix computed. runMDS also stores the eig and GOF fields of
	the object returned.

    o   Made the handling of center, scale, color and limits similar in
	plotDots, plotHeatmap, and plotGroupedHeatmap

    o   Add use_fitsne argument to runTSNE allowing the use of fast
	interpolated t-SNE in place of Barnes-Hut t-SNE.

                       Changes in version 1.18.0                        

    o   Migrated many utilities to the scuttle package.

    o   Deprecated multiplot() in favor of gridExtras::grid.arrange().

    o   Added swap_rownames argument to plot functions, allowing
	selection of genes using a rowData column.

    o   Added column_annotation_colors argument to plotHeatmap

    o   Changed default point aesthetics for all plots.

    o   For runColDataPCA, reverted to documented behaviour of
	performing outlier detection on PCA coordinates rather than on
	non-transformed colData.

                       Changes in version 1.16.0                        

    o   Added coldata_merge= argument to aggregateAcrossCells() for
	custom column metadata aggregation.  Also include averaged
	reduced dimension results for each group.

    o   Added label_format= argument to plotReducedDim() for greater
	control over the axis labels.

    o   Added geometric= argument to librarySizeFactors() to compute
	size factors with a geometric mean.

    o   Added the runMultiUMAP() function to perform a combined UMAP on
	multiple feature sets.

    o   Added the medianSizeFactors() function to perform a DESeq2-like
	size factor calculation.

    o   Modified isOutlier() so that min_diff= now acts on the log2
	scale when log=TRUE.  Added share_medians=, share_mads= and
	share_missing= options for sharing information across batches.

    o   Exposed various developer utilities for downstream packages.

    o   Modified sumCountsAcrossCells() to always return a
	SummarizedExperiment object, regardless of the class of ids.
	Return the number of cells used for summation in the colData.

    o   Restored capability to create a data.frame from a SCE with
	makePerCellDF() and makePerFeatureDF().

    o   Added ggcells() and ggfeatures() for convenient creation of
	ggplot objects from a SCE.

                       Changes in version 1.14.0                        

    o   Removed deprecated dplyr verbs.

    o   Removed deprecated method= option in runPCA().  Increased
	ncomponents= default to 50.  Deprecated use_coldata= and
	related options in favour of runColDataPCA().  Switched
	BSPARAM= default to bsparam().

    o   Added runColDataPCA() function for running PCA on colData().
	Switch outlier detection strategy to avoid mvoutlier's
	dependency tree.

    o   Added the annotateBMFeatures() function to perform annotation
	without modifying the input.

    o   Pass all ... options to biomaRt::useMart() in
	getBMFeatureAnnos().

    o   Added name= arguments to runPCA(), etc. to change the name of
	the output reducedDim.

    o   Added the logNormCounts() function to compute log-normalized
	counts in an alternative experiment-aware manner.  Added a
	normalization-by-downsampling option via DropletUtils.

    o   Added the perCellQCMetrics() function to compute per-cell QC
	metrics in an alternative experiment-aware manner.

    o   Deprecated the normalize() method, which was considered too
	vague to describe what the function was actually doing.

    o   Added the perFeatureQCMetrics() function to compute per-feature
	QC metrics.

    o   Deprecated the calculateQCMetrics() function, to be replaced by
	the streamlined addQCPerCell() and addQCPerFeature().

    o   Generalized all functions, where possible, to operate on
	SummarizedExperiment and numeric matrices.  This involved
	converting a number of them to S4 methods to take advantage of
	dispatch.  Affected functions include normalizeCounts(),
	calculateCPM(), librarySizeFactors() and so on.

    o   Added calculateTSNE() and related methods to operate directly
	on an input matrix.

    o   Renamed the use_dimred= argument to dimred=, along with similar
	renamings of other arguments for consistency.

    o   Report all percentages of variances explained as actual
	variances in runPCA() and getVarianceExplained().

    o   Added aggregateAcrossCells() and aggregateAcrossFeatures() to
	create a summed SingleCellExperiment object.

    o   Added the mockSCE() function to generate example objects for
	the documentation.

    o   Support multiple factors for grouping cells in
	sumCountsAcrossCells().

    o   Support list of grouping vectors in sumCountsAcrossFeatures().

    o   Added the order_columns_by= argument to plotHeatmap() for easy
	plotting by a given factor.  Changed defaults to more common
	values.

    o   Added a plotDots() function to create a Seurat-style dot plot.

    o   Dropped default nmads= to 3 in isOutlier().

                       Changes in version 1.12.0                        

    o   Removed all functions deprecated in the last release.

    o   Added option in runTSNE() to perform an external nearest
	neighbors check with BiocNeighbors.  Removed the deprecated
	rand.seed= argument.

    o   Added text_by= and related options to plotReducedDim(), to
	overlay annotation labels onto the plot.

    o   Switched to BSPARAM= from BiocSingular for controlling SVD
	parameters.  Deprecated the approximate= argument for runPCA().

    o   Switched runUMAP() to use uwot::umap.  Added support for
	supplying a pre-defined set of nearest neighbors.

    o   Deprecated the various dplyr verbs, i.e., filter(), arrange(),
	mutate(), rename().

                       Changes in version 1.10.0                        

    o   Fixes to all violin plots to ensure scatter matches up with
	violin outlines.

    o   Rectangle categorical/categorical plots collapse to mirrored
	bar plots when either factor contains only one level.

    o   Removed scater_gui(), downsampleCounts(), read10xResults(),
	normalizeExprs().

    o   Simplified plotRLE() to avoid the need for internal faceting.

    o   Added option for row subsetting in librarySizeFactors().

    o   Ensured calcAverage() with subset_row= behaves as if the matrix
	was subsetted prior to the function call.  Added support for
	parallelization.

    o   Ensured calculateCPM() with subset_row= behaves as if the
	matrix was subsetted prior to the function call.

    o   Added support for parallelization in nexprs().

    o   Added readSparseCounts() for creating a sparse matrix from a
	dense array on file.

    o   Added normalizeCounts() for easy division of matrix columns by
	the size factors.  Modified to throw error upon encountering
	negative, NA or zero size factors.

    o   Added preserve_zeroes= option to normalizeSCE() for preserving
	sparsity with non-unity pseudo-counts.

    o   Added runUMAP() and plotUMAP() to use the UMAP dimensionality
	reduction method.

    o   Added plotExplanatoryPCs() and getExplanatoryPCs() to correlate
	PCs with known factors.  Deprecated findImportantPCs().

    o   Added getVarianceExplained() to get the variance in gene
	expression explained by known factors.

    o   Removed runKallisto() and runSalmon().

    o   Switched readTxResults() to use tximport.  Switched
	readSalmonResults() and readKallistoResults() to use
	readTxResults().

    o   Removed obsolete fields in calculateQCMetrics().  Moved
	processing into C++ for a single-pass algorithm.  Supported
	parallelization across cells for QC computations.

    o   Added sumCountsAcrossFeatures() to sum counts across multiple
	redundant features.  Deprecated summariseExprsAcrossFeatures().

    o   All plotting functions can now access internal fields by using
	a character vector with NA as the first element.

    o   Returned threshold values in the attributes of the output from
	isOutlier().

    o   Deprecated the ticks in plotReducedDim().

                        Changes in version 1.8.0                        

    o   Refactored calculateQCMetrics() to ignore potential
	non-linearity, rank genes by highest expression, rename
	automatically generated union sets, allow for output of a
	compact format.

    o   Refactored all plotting functions to allow access to nested
	fields in the colData() or rowData(), by supplying a character
	vector.

    o   Refactored plotTSNE(), plotPCA(), etc. to dispatch to the
	calculation functions (e.g., runTSNE(), runPCA()), with
	argument checks.

    o   Refactored plotColData() and plotRowData() to use the same
	argument types as other functions rather than aes= input.

    o   Removed all plotting functions that do not operate on
	SingleCellExperiment objects.

    o   Deprecated read10xResults(), downsampleCounts() in favour of
	methods from the DropletUtils package.

    o   Deprecated scater_gui() in favour of methods from the iSEE
	package.

    o   Deprecated normalizeExprs() as this function made very little
	sense.

    o   Added plotHeatmap() function, for easy plotting of heatmaps.

    o   Added librarySizeFactors() function, to compute size factors
	from library sizes.

    o   Added by_exprs_values= argument to many plotting functions, to
	distinguish direct plotting of expression values from their use
	in aesthetics.

    o   Renamed arguments in plotHighestExprs(), plotExprsVsTxLength(),
	plotExprsFreqVsMean() for greater clarity.

    o   Added centreSizeFactors() function for centralized size factor
	centering.

    o   Added size_factor_grouping= argument to normalizeSCE(),
	calcAverage() and calculateCPM().

    o   Added subset_row= argument to calculateCPM().

    o   Consolidated size_factors= argument into use_size_factors= for
	calcAverage(), calculateCPM().

    o   Modified normalizeSCE() so that centre_size_factors=FALSE does
	not use centred size factors at all during normalization.

                        Changes in version 1.6.0                        

    o   Complete refactoring of the package to use the
	SingleCellExperiment class.

                        Changes in version 1.4.0                        

    o   plotRLE() function to make relative log expression plots to
	assess and compare normalizations.

    o   Refactored newSCESet() with defined hierarchy of data types

    o   read10XResults() to read in results from 10x Chromium
	CellRanger output.

    o   Refined QC metrics.

    o   Bug fixes, efficiency improvements and more tests.

                        Changes in version 1.2.0                        

    o   Key code ported to C++ for greater computational and memory
	efficiency

    o   Added support/integration for SC3 package for single-cell
	clustering

    o   writeSCESet() function added to write SCESets to HDF5 format on
	disk

    o   mergeSCESet() function to merge two SCESet objects that share
	features

    o   plotPlatePosition() function to visualise gene expression and
	cell metadata for cells in their position on a plate

    o   Adding plotExprsVsTxLength() to plot expression against
	transcript length

    o   Added fitted line and some tweaks to plotExprsFreqVsMean().

    o   Adding support for scaled TPM counts when summarising
	expression at feature level.

    o   Adding NULL method for set_exprs(). Adding tests.

    o   Adding import of effective feature lengths with
	readKallistoResults()

    o   runSalmon() function for running Salmon from within R,
	following suggestions from Rob Patro.

    o   Added cellNames<- assignment function

    o   Added extra QC metrics

    o   Numerous other bug fixes and minor improvements

                        Changes in version 1.0.0                        

    o   Package added to Bioconductor

    o   Bioc-submission branch merged with master