(v1.10.2)=
### 1.10.2 {small}`2024-06-25`

#### Development Process

* Add performance benchmarking {pr}`2977` {smaller}`R Shrestha`, {smaller}`P Angerer`

#### Documentation

* Document several missing parameters in docstring {pr}`2888` {smaller}`S Cheney`
* Fixed incorrect instructions in "testing" dev docs {pr}`2994` {smaller}`I Virshup`
* Update marsilea tutorial to use `group_` methods {pr}`3001` {smaller}`I Virshup`
* Fixed citations {pr}`3032` {smaller}`P Angerer`
* Improve dataset documentation {pr}`3060` {smaller}`P Angerer`

#### Bug fixes

* Compatibility with `matplotlib` 3.9 {pr}`2999` {smaller}`I Virshup`
* Add clear errors where `backed` mode-like matrices (i.e., from `sparse_dataset`) are not supported {pr}`3048` {smaller}`I gold`
* Write out full pca results when `_choose_representation` is called i.e., {func}`~scanpy.pp.neighbors` without {func}`~scanpy.pp.pca` {pr}`3078` {smaller}`I gold`
* Fix deprecated use of `.A` with sparse matrices {pr}`3084` {smaller}`P Angerer`
* Fix zappy support {pr}`3089` {smaller}`P Angerer`
* Fix dotplot group order with {mod}`pandas` 1.x {pr}`3101` {smaller}`P Angerer`

#### Performance

* `sparse_mean_variance_axis` now uses all cores for the calculations {pr}`3015` {smaller}`S Dicks`
* `pp.highly_variable_genes` with `flavor=seurat_v3` now uses a numba kernel {pr}`3017` {smaller}`S Dicks`
* Speed up {func}`~scanpy.pp.scrublet` {pr}`3044` {smaller}`S Dicks` and {pr}`3056` {smaller}`P Angerer`
* Speed up clipping of array in {func}`~scanpy.pp.scale` {pr}`3100` {smaller}`P Ashish & S Dicks`
