Changes in version 1.4.0: o Switched default BPPARAM to SerialParam() in all functions. o Added run argument to selectorPlot(). Bug fix to avoid adding an empty list. o Added exploreData() function for visualization of scRNA-seq data. o Minor bug fix to DM() when extrapolation is required. o Added check for centred size factors in trendVar(), decomposeVar() methods. Refactored trendVar() to include automatic start point estimation, location rescaling and df2 estimation. o Moved spike-in specification to the scater package. o Deprecated isSpike<- to avoid confusion over input/output types. o Generalized sandbag(), cyclone() to work for other classification problems. o Added test="f" option in testVar() to account for additional scatter. o Added per.gene=FALSE option in correlatePairs(), expanded accepted value types for subset.row. Fixed an integer overflow in correlatePairs(). Also added information on whether the permutation p-value reaches its lower bound. o Added the combineVar() function to combine results from separate decomposeVar() calls. o Added protection against all-zero rows in technicalCV2(). o Added the improvedCV2() function as a more stable alternative to technicalCV2(). o Added the denoisePCA() function to remove technical noise via selection of early principal components. o Removed warning requiring at least twice the max size in computeSumFactors(). Elaborated on the circumstances surrounding negative size factors. Increased the default number of window sizes to be examined. Refactored C++ code for increased speed. o Allowed quickCluster() to return a matrix of ranks for use in other clustering methods. Added method="igraph" option to perform graph-based clustering for large numbers of cells. o Added the findMarkers() function to automatically identify potential markers for cell clusters. o Added the overlapExprs() function to compute the overlap in expression distributions between groups. o Added the buildSNNGraph() function to build a SNN graph for cells from their expression profiles. o Added the correctMNN() function to perform batch correction based on mutual nearest neighbors. o Streamlined examples when mocking up data sets. Changes in version 1.2.0: o Transformed correlations to a metric distance in quickCluster(). o Removed normalize() in favour of scater's normalize(). o Switched isSpike()<- to accept a character vector rather than a logical vector, to enforce naming of spike-in sets. Also added warning code when the specified spike-in sets overlap. o Allowed compute*Factors() functions to directly return the size factors. o Added selectorPlot() function for interactive plotting. o Switched to a group-based weighted correlation for one-way layouts in correlatePairs() and correlateNull(), and to a correlation of residuals for more complex design matrices. o Added phase assignments to the cyclone() output. o Implemented Brennecke et al.'s method in the technicalCV2() function. o Updated convertTo() to store spike-in-specific size factors as offsets. o Moved code and subsetting into C++ to improve memory efficiency. o Switched to loess-based trend fitting as the default in trendVar(), replaced polynomial with semi-loess fitting. o Added significance statistics to output of decomposeVar(), with only the p-values replaced by NAs for spike-ins. o Updated documentation and tests. Changes in version 1.0.0: o New package scran, for low-level analyses of single-cell RNA sequencing data.