This release bumps the minimum supported zarr version to 3.0, finalizes the
deprecation of timedelta decoding via units, adds col_wrap='auto' for plots,
a new inherit='all_coords' option for :py:meth:DataTree.to_dataset, and a
facetgrid_figsize option for :py:func:~xarray.set_options.
Thanks to the 22 contributors to this release:
Adam Newgas, Alfonso Ladino, Copilot, Deepak Cherian, Emmanuel Ferdman, Ian Hunt-Isaak,
Ilan Gold, Illviljan, Jakob Harteg, Joe Hamman, Julia Signell, Justus Magin,
Kai Mühlbauer, Max Jones, Michael Niklas, Nick Hodgskin, Pieter Eendebak,
Spencer Clark, frostByte, kkollsga, rsignell and yaochengchen
What's Changed
- Add empty whats-new section for v2026.03.0 by @ianhi in #11170
- MAINT: Reduce Pixi RAM usage in RTD by @VeckoTheGecko in #11177
- Fix encoding of masked dask arrays by @jsignell in #11157
- Finalize change in behavior of
decode_timedelta=Noneby @spencerkclark in #11173 - documentation cleanup by @keewis in #11179
- allow triggering the upstream-dev CI if the check is skipped by @keewis in #11184
- Add stubtest to CI for type annotation validation by @kkollsga in #11124
- Fix a typo in dataarray.py by @yaochengchen in #11185
- Fix a typo in api.py by @yaochengchen in #11180
- Fix a typo in doc/user-guide/reshaping.rst by @yaochengchen in #11186
- Fix a typo in variable.py by @yaochengchen in #11182
- MAINT: Set requires-pixi in pixi.toml by @VeckoTheGecko in #11154
- Fix source linking for tagged docs by @ianhi in #11187
- MAINT: Bump version to pixi-lock caching action by @VeckoTheGecko in #11201
- Revert "Add osx-64 to the pixi config." by @VeckoTheGecko in #11203
- Test dependency fixes by @BorisTheBrave in #11172
- Fix a typo in dataset.py by @yaochengchen in #11181
- Fix nightly test failures by @jsignell in #11204
- Add TOAD to xarray ecosystem page by @Harteg in #11219
- Switch to using blockcache with size 4MB by default for h5netcdf by @jsignell in #11216
- Fix failing CI on main by @jsignell in #11237
- Fix code-block in contributing docs by @jsignell in #11228
- fix: support datetime variables in
Dataset.interpby @emmanuel-ferdman in #11081 - Allow writing StringDType variables to netCDF by @kkollsga in #11218
- maint: bump minimum dependency versions according to policy by @jhamman in #11231
- fix: handle
PandasIndexpromotion of dtypes by @ilan-gold in #11244 - DOC: Add Zulip announcement banner and mention in docs by @VeckoTheGecko in #11246
- DOC: Update docstring for Index.from_variables() by @VeckoTheGecko in #11256
- DOC: convert how-to-create-custom-index.rst code blocks by @VeckoTheGecko in #11255
- MAINT: Fix Variable.to_dict type hint by @VeckoTheGecko in #11258
- Add
inherit='all_coords'option toDataTree.to_dataset()by @aladinor in #11230 - MAINT: Remove setup.py by @VeckoTheGecko in #11261
- Add overloads for DataArray.argmin and DataArray.argmax on dim parameter by @SurfyPenguin in #11233
- Scipy stubs by @headtr1ck in #11225
- Add a bump-min-versions Claude skill by @dcherian in #11249
- Use cumsum from flox by @Illviljan in #10987
- MAINT: Add script for numpydoc linting of Public API by @VeckoTheGecko in #11121
- DOC: Update communication channels by @VeckoTheGecko in #11254
- Bump pixi-lock action version by @VeckoTheGecko in #11278
- Add AI policy by @VeckoTheGecko in #11257
- Fix generator exhaustion in
combine_by_coordsby @SurfyPenguin in #11265 - Improve performance of dataset indexing by @eendebakpt in #11276
- use
zizmorto lint github action workflows by @keewis in #11269 - Adapt to deprecation of generic
np.timedelta64dtype by @spencerkclark in #11281 - broken nightly wheels ci and permissions for the nightly tests by @keewis in #11282
- Fix h5netcdf backend module detection and ros3 tests by @kmuehlbauer in #11274
- Update pre commit by @jsignell in #11287
- Raise TypeError when Dataset passed as data_vars to Dataset constructor by @kkollsga in #11139
- Add complex dtype support to FillValueCoder for Zarr backend by @maxrjones in #11151
- fix copy-paste error in the release workflow by @keewis in #11289
- MAINT: Add Zizmor to CI and set hook to "offline" mode by @VeckoTheGecko in #11294
- Address additional upstream deprecation warnings by @spencerkclark in #11296
- DOCS: Clarify what mode means in docstring for
to_zarrby @jsignell in #11229 - Support col_wrap="auto" by @headtr1ck in #11266
- Add facetgrid_figsize option to set_options by @kkollsga in #11158
- Fix multi-coordinate indexes dropped in
_replace_maybe_drop_dimsby @rsignell in #11286 - Preparing Release v2026.04.0 by @jsignell in #11298
New Contributors
- @yaochengchen made their first contribution in #11185
- @BorisTheBrave made their first contribution in #11172
- @Harteg made their first contribution in #11219
- @emmanuel-ferdman made their first contribution in #11081
- @SurfyPenguin made their first contribution in #11233
- @rsignell made their first contribution in #11286
Full Changelog: v2026.02.0...v2026.04.0