Releases: pydata/xarray
v2026.04.0
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
v2026.02.0
What's Changed
- Add empty whats-new section for v2026.02.0 by @dcherian in #11110
- Add a suggestion for how to resolve chunk manager not available error by @jsignell in #11056
- DOC: Fix broken link in gallery by @VeckoTheGecko in #11115
- DOC: Various Numpydoc fixes by @VeckoTheGecko in #11122
- DOC: Correct some wording mistakes in xarray documentation by @star1327p in #11120
- DOC: Fix "latest" version displayed on landing page by @VeckoTheGecko in #11119
- Fix silent data corruption when writing dask arrays to sharded zarr stores by @kkollsga in #11117
- Slightly Amend Zarr Encoding Specification Doc #8749 by @eshort0401 in #11013
- DOC: Options A and A -> Options A and B by @star1327p in #11127
- Fix
.ploterror when using positional args withcolandrowby @jsignell in #11111 - Add a fast path that doesn't include normalized chunks in tokenize by @jsignell in #11017
- DOC: Fix link by @VeckoTheGecko in #11135
- create issue if nightly wheel upload fails by @ianhi in #11132
- Support negative step in normalize_indexer by @avalentino in #11044
- Allow 1D coords in NDPointIndex by @ianhi in #11116
- Replace
DeprecationWarningwithFutureWarningby @jsignell in #11112 - Fix sortby descending order placing NaNs at beginning instead of end by @kkollsga in #11118
- Update docstrings for pandas 3 by @jsignell in #11130
- Raise FileNotFoundError for missing local files in guess_engine by @kkollsga in #11150
- add osx-64 to the pixi config. by @ChrisBarker-NOAA in #11137
- Skip one more hypothesis test for dtype string by @jsignell in #11152
- temporarily silence shape assignment warnings raised in
netCDF4by @keewis in #11146 - DOC: Fix broken links (404 errors) by @VeckoTheGecko in #11161
- Refactor
cache-pixi-lock.ymlworkflow into external action by @VeckoTheGecko in #11096 - MAINT: Add linkcheck Pixi task by @VeckoTheGecko in #11160
- DOC: Add descriptions for pixi tasks by @VeckoTheGecko in #11155
- DOC: Update open_zarr decode_cf docstring by @VeckoTheGecko in #11165
- DOC: Add myst markdown support by @VeckoTheGecko in #11167
- raise error on slice-based selection of multi-index levels by @Mr-Neutr0n in #11168
- Update whats-new for v2026.02.0 release by @ianhi in #11163
- Add #11168 to whats-new by @ianhi in #11169
New Contributors
- @kkollsga made their first contribution in #11117
- @eshort0401 made their first contribution in #11013
- @avalentino made their first contribution in #11044
- @ChrisBarker-NOAA made their first contribution in #11137
- @Mr-Neutr0n made their first contribution in #11168
Full Changelog: v2026.01.0...v2026.02.0
v2026.01.0
What's Changed
- new release section by @keewis in #10985
- Address pandas-related upstream errors in #10973 by @spencerkclark in #10988
- make error message more clear by @d-v-b in #10994
- Change behavior of
keep_attrsinxr.wherewhen x is a scalar by @jsignell in #10997 - Backend fastpath by @slevang in #10937
- Switch from
sphinx-llms-txt=>sphinx-llmby @jacobtomlinson in #11003 - Unpin array api strict by @JJFlorian in #10983
- Fix RTD builds by restricting test-nightly platforms by @max-sixty in #11021
- add
drop_existingkwarg toset_xindexby @ianhi in #11008 - fix paths in readme by @JJFlorian in #11032
- Automatically create xindex by @ianhi in #11029
- FIX:
assert_identicalnow considersxindexes+ improveRangeIndexequals by @ianhi in #11035 - fix: where for
cupy.arrayby @hoxbro in #11026 - Ensure
SeasonResamplerpreserves datetime resolution by @spencerkclark in #11049 - Address upstream failures revealed in #11043 by @spencerkclark in #11050
- re-enable the minimum versions ci by @keewis in #11027
- Fix indexing bugs in
CoordinateTransformIndexby @dcherian in #10980 - DOC: Correct grammatical errors such as 'a xarray' -> 'an xarray' by @star1327p in #11058
- documenting how xarray.dot() interacts with coordinates by @dhruvak001 in #10958
- Remove special mapping of
autoto {} inopen_zarrby @jsignell in #11010 - fix group by > 1 group, then map by @joshua-gould in #11005
- Add cross-links for apply_ufunc in top-level API documentation by @Sakshee-D in #11063
- Make parallel documentation builds threadsafe by @jacobtomlinson in #11009
- bug fix combined-lock-locked issue #10843 by @samay2504 in #11022
- Fix mypy errors with newer pandas-stubs by @max-sixty in #11066
- Bump the minimum version of h5netcdf to 1.4.0 in accordance with nep29 by @hmaarrfk in #11068
- chore(pixi): fix solvability on windows by @lucascolley in #11084
- Add an
arithmetic_compatoption toxr.set_optionsby @mjwillson in #10943 - Improve HTML reprs by @shoyer in #10816
- use a pixi-build-python version compatible with the newest pixi by @keewis in #11090
Dataset.evalworks with >2 dims by @max-sixty in #11064- create a development environment by @keewis in #10995
- Better ordering of coords in repr by @jsignell in #11091
- DOC: Correct more typos in xarray documentation by @star1327p in #11092
- rolling window doc update by @barronh in #11094
- Coerce
pd.StringDtypetonp.dtypes.StringDTypeby @jsignell in #11102 - MAINT: Update pixi pin to v0.63.2 by @VeckoTheGecko in #11106
- DOCS: Update contributing instructions with note on pixi version by @VeckoTheGecko in #11108
- Use
StringDTypewhen reading from zarr string variables by @jsignell in #11097 - Optimize CFMaskScale decoder. by @dcherian in #11105
- Ensure netcdf4 is locked while closing by @dschwoerer in #10788
- Prep for new combine kwargs: improve combine docstrings, tidy up tests by @jsignell in #11080
- Improve error message when scipy is missing for NDPointIndex by @Sakshee-D in #11085
- Update whats-new for v2026.01.0 release by @dcherian in #11109
New Contributors
- @JJFlorian made their first contribution in #10983
- @joshua-gould made their first contribution in #11005
- @Sakshee-D made their first contribution in #11063
- @samay2504 made their first contribution in #11022
- @lucascolley made their first contribution in #11084
Full Changelog: v2025.12.0...v2026.01.0
v2025.12.0
This release rolls back the default engine for HTTP urls, adds support for DataTree objects in combine_nested and contains numerous bug fixes.
Thanks to the 16 contributors to this release:
Benoit Bovy, Christine P. Chai, Deepak Cherian, Dhruva Kumar Kaushal, Ian Hunt-Isaak, Ilan Gold, Illviljan, Julia Signell, Justus Magin, Lars Buntemeyer, Maximilian Roos, Miguel Jimenez, Nick Hodgskin, Richard Berg, Spencer Clark and Stephan Hoyer
What's Changed
- new release section by @keewis in #10926
- Fix numpy typing issue with numpy=2.3.5 by @shoyer in #10935
- support combine_nested on DataTree objects by @shoyer in #10849
- [pydap backend] enables downloading multiple dim arrays within single http request by @Mikejmnez in #10629
- Fix flaky Hypothesis stateful test for unique name generation by @max-sixty in #10946
- normalize the first indexer by @keewis in #10948
- Mostly restore
netcdfbackend behavior with URLs by @ianhi in #10931 - Adapt to change in behavior of
pandas.Timestampconstructor by @spencerkclark in #10944 - DOC: Correct many grammatical issues by @star1327p in #10959
- avoid casting custom indexes in
Dataset.drop_attrsby @keewis in #10961 - Fix type annotation for DataVariables to use Hashable instead of Any by @dhruvak001 in #10960
- Coerce
IndexVariabletoVariablewhen assigning to data variables or coordinates by @jsignell in #10909 - (fix): handle internal type promotion and
nas for extension arrays properly by @ilan-gold in #10423 - Migrate development workflow to Pixi by @VeckoTheGecko in #10888
- Fix workflow name to embed
matrix.pytest-addoptsby @VeckoTheGecko in #10970 - Add GitHub Codespaces config for Pixi by @VeckoTheGecko in #10929
- small changes to the pixi env definitions by @keewis in #10976
- Use
._datainVariable._replaceby @dcherian in #10969 - Support decoding unsigned integers to timedelta by @dcherian in #10972
- DOC: Remove RTD htmlzip output format by @VeckoTheGecko in #10977
- document limitations of cftime arithmetics by @larsbuntemeyer in #10653
- DOC: Add
llms.txtgeneration to build process by @VeckoTheGecko in #10978 - release v2025.12.0 by @keewis in #10981
- set the release date by @keewis in #10984
New Contributors
- @larsbuntemeyer made their first contribution in #10653
Full Changelog: v2025.11.0...v2025.12.0
v2025.11.0
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
v2025.10.1
This release actually reverts a breaking change to Xarray's preferred netCDF backend.
v2025.10.0
This release reverts a breaking change to Xarray's preferred netCDF backend.
v2025.09.1
This release contains improvements to netCDF IO and the DataTree.from_dict() constructor, as well as a variety of bug fixes. In particular, the default netCDF backend has switched from netCDF4 to h5netcdf, which is typically faster.
Thanks to the 17 contributors to this release: Claude, Deepak Cherian, Dimitri Papadopoulos Orfanos, Dylan H. Morris, Emmanuel Mathot, Ian Hunt-Isaak, Joren Hammudoglu, Julia Signell, Justus Magin, Maximilian Roos, Nick Hodgskin, Spencer Clark, Stephan Hoyer, Tom Nicholas, gronniger, joseph nowak and pierre-manchon
v2025.09.0
This release brings a number of small improvements and fixes, especially related to writing DataTree objects and netCDF files to disk.
Thanks to the 13 contributors to this release: Benoit Bovy, DHRUVA KUMAR KAUSHAL, Deepak Cherian, Dhruva Kumar Kaushal, Giacomo Caria, Ian Hunt-Isaak, Illviljan, Justus Magin, Kai Mühlbauer, Ruth Comer, Spencer Clark, Stephan Hoyer and Tom Nicholas
New Features
Support rechunking by SeasonResampler for seasonal data analysis (GH10425, PR10519). By Dhruva Kumar Kaushal.
Add convenience methods to Coordinates (PR10318) By Justus Magin.
Added load_datatree() for loading DataTree objects into memory from disk. It has the same relationship to open_datatree(), as load_dataset() has to open_dataset(). By Stephan Hoyer.
compute=False is now supported by DataTree.to_netcdf() and DataTree.to_zarr(). By Stephan Hoyer.
open_dataset will now correctly infer a path ending in .zarr/ as zarr By Ian Hunt-Isaak.
Breaking changes
Following pandas 3.0 (pandas-dev/pandas#61985), Day is no longer considered a Tick-like frequency. Therefore non-None values of offset and non-"start_day" values of origin will have no effect when resampling to a daily frequency for objects indexed by a xarray.CFTimeIndex. As in pandas-dev/pandas#62101 warnings will be emitted if non default values are provided in this context (GH10640, PR10650). By Spencer Clark.
The default backend engine used by Dataset.to_netcdf() and DataTree.to_netcdf() is now chosen consistently with open_dataset() and open_datatree(), using whichever netCDF libraries are available and valid, and preferring netCDF4 to h5netcdf to scipy (GH10654). This will change the default backend in some edge cases (e.g., from scipy to netCDF4 when writing to a file-like object or bytes). To override these new defaults, set engine explicitly. By Stephan Hoyer.
The return value of Dataset.to_netcdf() without path is now a memoryview object instead of bytes (PR10656). This removes an unnecessary memory copy and ensures consistency when using either engine="scipy" or engine="h5netcdf". If you need a bytes object, simply wrap the return value of to_netcdf() with bytes(). By Stephan Hoyer.
Bug fixes
Fix contour plots not normalizing the colors correctly when using for example logarithmic norms. (GH10551, PR10565) By Jimmy Westling.
Fix distribution of auto_complex keyword argument for open_datatree (GH10631, PR10632). By Kai Mühlbauer.
Warn instead of raise in case of misconfiguration of unlimited_dims originating from dataset.encoding, to prevent breaking users workflows (GH10647, PR10648). By Kai Mühlbauer.
DataTree.to_netcdf() and DataTree.to_zarr() now avoid redundant computation of Dask arrays with cross-group dependencies (GH10637). By Stephan Hoyer.
DataTree.to_netcdf() had h5netcdf hard-coded as default (GH10654). By Stephan Hoyer.
Internal Changes
Run TestNetCDF4Data as TestNetCDF4DataTree through open_datatree (PR10632). By Kai Mühlbauer.
v2025.08.0
This release brings the ability to load xarray objects asynchronously, write netCDF as bytes, fixes a number of bugs, and starts an important deprecation cycle for changing the default values of keyword arguments for various xarray combining functions.
Thanks to the 24 contributors to this release:
Alfonso Ladino, Brigitta Sipőcz, Claude, Deepak Cherian, Dimitri Papadopoulos Orfanos, Eric Jansen, Ian Hunt-Isaak, Ilan Gold, Illviljan, Julia Signell, Justus Magin, Kai Mühlbauer, Mathias Hauser, Matthew, Michael Niklas, Miguel Jimenez, Nick Hodgskin, Pratiman, Scott Staniewicz, Spencer Clark, Stephan Hoyer, Tom Nicholas, Yang Yang and jemmajeffree
What's Changed
- Add dev whats-new by @dcherian in #10522
- Improve warning message and tests for timedelta decoding by @shoyer in #10508
- Remove test skip by @VeckoTheGecko in #10523
- Pydap flaky tests by @Mikejmnez in #10525
- drop_vars: use emit_user_level_warning by @mathause in #10528
- Fix labeler for
topic-documentationby @VeckoTheGecko in #10524 - CI: update actions location by @bsipocz in #10529
- Call
super().__init__()inst.SearchStrategysubclasses by @spencerkclark in #10543 - Fix kerchunk error in docs build by @dcherian in #10545
- Fix convert calendar with different dimension name by @ej81 in #10544
- Restructure API documentation into organized sections by @dcherian in #10540
- Unnecessary literal by @DimitriPapadopoulos in #10552
- Fix
DatetimeAccessor.strftimeerrors due to upstream changes by @spencerkclark in #10550 - Fix transpose of BoolTypeArray, NativeEndiannessArray by @dcherian in #10546
- Pythagorean calculation with sub-optimal numerics by @DimitriPapadopoulos in #10575
- interp - Prefer broadcast over reindex when possible by @Illviljan in #10554
- Update documentation to copy tags when forking, so versioning is reasonable by @jemmajeffree in #10576
- install
pyarrowfrom its official repo by @keewis in #10577 - fix: Filter out
StringDTypeeven when the backing array is notNumpyExtensionArrayby @ilan-gold in #10559 - fix: pd.Series in pandas>=3 does not preserve object dtype metadata by @ilan-gold in #10564
- Fix
_get_default_engine_netcdfto check forh5netcdfby @scottstanie in #10557 pre-commithook maintenance:typosby @keewis in #10586- bump the build metadata by @keewis in #10592
- New defaults for
concat,merge,combine_*by @jsignell in #10062 - Fix doctests by ignoring warning from netcdf by @jsignell in #10599
- Fix typo found by codespell by @DimitriPapadopoulos in #10601
- change the type of
ogp_custom_meta_tagstotupleby @keewis in #10603 - Fix docstring in find_independent_seasons by @Illviljan in #10615
- Make warning message clearer when assigning to
PandasMultiIndexby @jsignell in #10610 - Update pre-commit hooks by @pre-commit-ci[bot] in #10604
- Support for DataTree.to_netcdf to write to a file-like object or bytes by @mjwillson in #10571
- add kwarg to handle invalid files in open_mfdataset by @pratiman-91 in #9955
- Bump actions/download-artifact from 4 to 5 in the actions group by @dependabot[bot] in #10621
- Sanitize unlimited_dims when writing
to_netcdfby @kmuehlbauer in #10608 - slicing a slice with an array without expanding the slice by @keewis in #10580
- Skip call to
.tolist()when creating pd.Index by @y4n9squared in #10619 - fix: Empty
RangeIndexDisplay by @ianhi in #10594 - clarify lazy behaviour and eager loading chunks=None in open_*-functions by @kmuehlbauer in #10627
- Avoid refining parent dimensions in NetCDF files by @shoyer in #10623
- Add DataTree.prune() method … by @aladinor in #10598
- Add asynchronous load method by @TomNicholas in #10327
- Fix
ds.mergeto prevent altering original object depending on join value by @jsignell in #10596 - release notes for v2025.08.0 by @TomNicholas in #10641
New Contributors
- @bsipocz made their first contribution in #10529
- @jemmajeffree made their first contribution in #10576
- @mjwillson made their first contribution in #10571
- @pratiman-91 made their first contribution in #9955
- @y4n9squared made their first contribution in #10619
Full Changelog: v2025.07.1...v2025.08.0