(v0.12.0rc4)=
### 0.12.0rc4 {small}`2025-06-18`

### Bug fixes

- Lower bound `xarray` by `2025.06.01`.  {class}`pandas.arrays.StringArray` was previously used as the in-memory `nullable-string-array` container in `xarray`, but due to {issue}`pydata/xarray#10419` now uses {class}`numpy.ndarray` with an object data type.  {user}`ilan-gold` ({pr}`2008`)

### Features

- {class}`anndata.experimental.backed.Dataset2D` now takes a compositional approach to wrapping {class}`xarray.Dataset` which may have breaking changes over the past release versions. {user}`ilan-gold` ({pr}`1997`)
- Use {attr}`numpy.dtypes.StringDType` with `na_object` set to {attr}`pandas.NA` for nullable string data with {class}`anndata.experimental.backed.Dataset2D` {user}`ilan-gold` ({pr}`2011`)

### Performance

- Improve {func}`~anndata.experimental.read_elem_lazy` performance for `h5ad` files by not caching `indptr`. {user}`ilan-gold` ({pr}`2005`)

#### Development

- Bound {mod}`zarr` to `<3.1` until {pr}`1995` is merged to handle the new data type structure.  {user}`ilan-gold` ({pr}`2013`)
