(v1.8.0)=
### 1.8.0 {small}`2021-06-28`

#### Metrics module

- Added {mod}`scanpy.metrics` module!

  - Added {func}`scanpy.metrics.gearys_c` for spatial autocorrelation {pr}`915` {smaller}`I Virshup`
  - Added {func}`scanpy.metrics.morans_i` for global spatial autocorrelation {pr}`1740` {smaller}`I Virshup, G Palla`
  - Added {func}`scanpy.metrics.confusion_matrix` for comparing labellings {pr}`915` {smaller}`I Virshup`

#### Features

- Added `layer` and `copy` kwargs to {func}`~scanpy.pp.normalize_total` {pr}`1667` {smaller}`I Virshup`
- Added `vcenter` and `norm` arguments to the plotting functions {pr}`1551` {smaller}`G Eraslan`
- Standardized and expanded available arguments to the `sc.pl.rank_genes_groups*` family of functions. {pr}`1529` {smaller}`F Ramirez` {smaller}`I Virshup`
  - See examples sections of {func}`~scanpy.pl.rank_genes_groups_dotplot` and {func}`~scanpy.pl.rank_genes_groups_matrixplot` for demonstrations.
- {func}`scanpy.tl.tsne` now supports the metric argument and records the passed parameters {pr}`1854` {smaller}`I Virshup`
- {func}`scanpy.pl.scrublet_score_distribution` now uses same API as other scanpy functions for saving/ showing plots {pr}`1741` {smaller}`J Manning`

#### Ecosystem

- Added [Cubé](https://github.com/connerlambden/Cube) to ecosystem page {pr}`1878` {smaller}`C Lambden`
- Added `triku` a feature selection method to the ecosystem page {pr}`1722` {smaller}`AM Ascensión`
- Added `dorothea` and `progeny` to the ecosystem page {pr}`1767` {smaller}`P Badia-i-Mompel`

#### Documentation

- Added {doc}`/community` page to docs {pr}`1856` {smaller}`I Virshup`
- Added rendered examples to many plotting functions {issue}`1664` {smaller}`A Schaar` {smaller}`L Zappia` {smaller}`bio-la` {smaller}`L Hetzel` {smaller}`L Dony` {smaller}`M Buttner` {smaller}`K Hrovatin` {smaller}`F Ramirez` {smaller}`I Virshup` {smaller}`LouisK92` {smaller}`mayarali`
- Integrated [DocSearch], a find-as-you-type documentation index search. {pr}`1754` {smaller}`P Angerer`
- Reorganized reference docs {pr}`1753` {smaller}`I Virshup`
- Clarified docs issues for {func}`~scanpy.pp.neighbors`,
  {func}`~scanpy.tl.diffmap`, {func}`~scanpy.pp.calculate_qc_metrics` {pr}`1680` {smaller}`G Palla`
- Fixed typos in grouped plot doc-strings {pr}`1877` {smaller}`C Rands`
- Extended examples for differential expression plotting. {pr}`1529` {smaller}`F Ramirez`
  - See {func}`~scanpy.pl.rank_genes_groups_dotplot` or {func}`~scanpy.pl.rank_genes_groups_matrixplot` for examples.

#### Bug fixes

- Fix {func}`scanpy.pl.paga_path` `TypeError` with recent versions of anndata {pr}`1047` {smaller}`P Angerer`
- Fix detection of whether IPython is running {pr}`1844` {smaller}`I Virshup`
- Fixed reproducibility of {func}`scanpy.tl.diffmap` (added random_state) {pr}`1858` {smaller}`I Kucinski`
- Fixed errors and warnings from embedding plots with small numbers of categories after `sns.set_palette` was called {pr}`1886` {smaller}`I Virshup`
- Fixed handling of `gene_symbols` argument in a number of `sc.pl.rank_genes_groups*` functions {pr}`1529` {smaller}`F Ramirez` {smaller}`I Virshup`
- Fixed handling of `use_raw` for `sc.tl.rank_genes_groups` when no `.raw` is present {pr}`1895` {smaller}`I Virshup`
- {func}`scanpy.pl.rank_genes_groups_violin` now works for `raw=False` {pr}`1669` {smaller}`M van den Beek`
- {func}`scanpy.pl.dotplot` now uses `smallest_dot` argument correctly {pr}`1771` {smaller}`S Flemming`

#### Development Process

- Switched to [flit] for building and deploying the package, a simple tool with an easy to understand command line interface and metadata {pr}`1527` {smaller}`P Angerer`
- Use [pre-commit](https://pre-commit.com) for style checks {pr}`1684` {pr}`1848` {smaller}`L Heumos` {smaller}`I Virshup`

#### Deprecations

- Dropped support for Python 3.6. [More details here](https://numpy.org/neps/nep-0029-deprecation_policy.html). {pr}`1897` {smaller}`I Virshup`
- Deprecated `layers` and `layers_norm` kwargs to {func}`~scanpy.pp.normalize_total` {pr}`1667` {smaller}`I Virshup`
- Deprecated `MulticoreTSNE` backend for {func}`scanpy.tl.tsne` {pr}`1854` {smaller}`I Virshup`

[docsearch]: https://docsearch.algolia.com/
[flit]: https://flit.readthedocs.io/en/latest/
