(v1.11.2)=
### 1.11.2 {small}`2025-05-28`

### Bug fixes

- Fix zappy compatibility for clip_array {smaller}`P Angerer` ({pr}`3351`)
- Fixes an error where `regress_out` would fail to work with `integer` types {smaller}`S Dicks` ({pr}`3461`)
- Prevent plotting with `mask_obs` from mutating data {smaller}`V Menon` ({pr}`3496`)
- Prevent {func}`scanpy.pp.scale` from creating a dask {class}`~dask.array.Array` with {class}`numpy.matrix` chunks {smaller}`P Angerer` ({pr}`3597`)
- Allow using {mod}`sklearn` ≥1.6, {doc}`dask:index` ≥2024.8, and `sphinx` ≥8.2.1 {smaller}`P Angerer` ({pr}`3611`)
- Fixed handling of `ext` argument in {func}`scanpy.read` {smaller}`I Gold` {pr}`3643`
- Fix error message when trying to use `sc.pp.pca(x, zero_center=False)` with a sparse dask array. {smaller}`P Angerer` ({pr}`3646`)

### Documentation

- Clarify use of implementations in {func}`scanpy.pp.pca` docs. {smaller}`P Angerer` ({pr}`3655`)

### Performance

- Speed up for a categorical regressor in {func}`~scanpy.pp.regress_out` {smaller}`S Dicks` {smaller}`I Gold` ({pr}`3353`)
- In `pp.normalize_total`, the median is now computed in-memory when using Dask {smaller}`S Dicks` ({pr}`3379`)
- Speed up `pp.normalize_total` with a numba kernel for `csr-matrices`  {smaller}`S Dicks` ({pr}`3571`)
