Changes in version 1.4.0 o Multiple changes to scoreMarkers(): • Setting all.pairwise= to an integer will now return the top markers by effect size for each pairwise comparison. This is more efficient than creating the 3D array of effects and then ranking the genes in each comparison. • The min-rank summary is now limited to the top min.rank.limit= genes, for efficiency. All other genes will have their reported min-rank set to a maximum placeholder. • Added compute.group.mean= and compute.group.detected= options to disable reporting of the group-wise means. o Setting universe=NULL in testEnrichment() will automatically define the universe as the union of all genes. o Updated correctMnn() to the new algorithm used by the mnncorrect C++ library. This aims to improve correction accuracy and reduce sensitivity to the choice of reference. o Bugfix to runAllNeighborSteps() to return an empty list when no step is requested. o Set bound=0 by default in chooseHighlyVariableGenes(), for more convenient use with residuals. o Modified testEnrichment() to return a data frame with the number of overlapping genes and the size of each gene set. Changes in version 1.2.0 o Added the aggregateAcrossGenes() function, to compute an aggregate expression value for gene sets. o Added compute.cohens.d=, compute.delta.mean= and compute.delta.detected= options to scoreMarkers(). o Support top=Inf in chooseHighlyVariableGenes(). Also added the bound= argument to set a hard upper/lower bound. o Bugfix for correct filtering with block= in the various filter*QcMetrics() functions when not all blocking levels are present. o Bugfix to clusterKmeans() to respect the user-supplied seed= in relevant initialization methods. o Added a return.graph= option to return the SNN graph from runAllNeighborSteps(). o Added a testEnrichment() function for quick and dirty gene set enrichment testing. o Modified runPca() so that it caps number= to the maximum number of available PCs. o Added an analyze() function that provides a one-click approach for analyzing single-cell data. o Added a reportGroupMarkerStatistics() function to combine all marker statistics for a single group into one data frame. o Switch clusterGraph() to use C++ wrappers around the igraph community detection algorithms via Rigraphlib. This replaces the dependency on the igraph R package. o Added a delayed= option to avoid wrapping the matrix in a DelayedArray in normalizeCounts().