This release changes the default for keep_attrs such that attributes are preserved by default, adds support for DataTree in top-level functions, and contains several memory and performance improvements as well as a number of bug fixes.
Thanks to the 21 contributors to this release:
Aled Owen, Charles Turner, Christine P. Chai, David Huard, Deepak Cherian, Gregorio L. Trevisan, Ian Hunt-Isaak, Ilan Gold, Illviljan, Jan Meischner, Jemma Jeffree, Jonas Lundholm Bertelsen, Justus Magin, Kai Mühlbauer, Kristian Bodolai, Lukas Riedel, Max Jones, Maximilian Roos, Niclas Rieger, Stephan Hoyer and William Andrea
What's Changed
- Blank whats new for 2025.10.2 by @shoyer in #10830
- Change
keep_attrsdefault toTrueby @max-sixty in #10726 - Add support for DataTree to xarray.merge() by @shoyer in #10790
- Fix equivalent() for NumPy scalar NaN comparison by @max-sixty in #10838
- Fix Dataset.map to handle non-DataArray outputs by @max-sixty in #10839
- Support DataTree in xarray.concat() by @shoyer in #10846
- Fix typing for to_zarr() methods by @shoyer in #10847
- Add version requirement to matplotlib by @Illviljan in #10837
- Add chunks='auto' support for cftime datasets by @charles-turner-1 in #10527
- new dependency for zarr in the nightly ci by @keewis in #10857
- Add support for NETCDF4_CLASSIC to h5netcdf engine by @huard in #10686
- fix h5netcdf backend for format=None, use same rule as netcdf4 backend by @kmuehlbauer in #10859
- fix: be more cautious when guessing what a backend can open by @ianhi in #10804
- Update docs to reflect open_mfdataset default chunk behaviour by @jemmajeffree in #10567
pre-commithook maintenance by @keewis in #10871- Fix empty indexing by @kmuehlbauer in #10870
- Minimize concat memory usage by @dcherian in #10866
- DOC: Correct typos: lets -> let's by @star1327p in #10874
- Use version-independent Zenodo DOI by @gtrevisan in #10881
- Import h5netcdf.core to use EnumType by @maxrjones in #10779
- Fix typing issue with numpy 2.3.4 by @shoyer in #10882
- xfail pydap datatree tests by @shoyer in #10869
- remove notes pointing to non-existing projects by @KBodolai in #10877
- [docs] Remove duplicated example in ".where" by @jmeischner in #10884
- Update pydap link in installation guide by @nicrie in #10885
- Fix
drop_selfor a MultiIndex by @owena11 in #10863 - Switch to use cmap.with_extremes by @Illviljan in #10836
- fix: error handling decode_cf_var exceptions - use add_note by @jonaslb in #10886
- fix: don't expect string arrays to roundtrip in
pandasby @ilan-gold in #10894 - DOC: Typo in terminology.rst by @wjandrea in #10897
- support datatree in
assert_allcloseby @keewis in #10887 - DOC: Correct typos like a/an usage by @star1327p in #10905
- Fix fill_value handling during unstack by @peanutfun in #10901
- Simplify implementation of merge() for DataTree by @shoyer in #10844
- Rewrite test_iso8601_decode to work without cftime by @dcherian in #10914
- DOC: Correct minor grammar issues by @star1327p in #10915
- skip ci based on a label by @keewis in #10918
- Optimize padding for coarsening. by @dcherian in #10921
- release v2025.11.0 by @keewis in #10917
New Contributors
- @charles-turner-1 made their first contribution in #10527
- @KBodolai made their first contribution in #10877
- @jmeischner made their first contribution in #10884
- @owena11 made their first contribution in #10863
- @jonaslb made their first contribution in #10886
- @wjandrea made their first contribution in #10897
- @peanutfun made their first contribution in #10901
Full Changelog: v2025.10.1...v2025.11.0