66What's New
77==========
88
9- .. _whats-new.2026.05 .0 :
9+ .. _whats-new.2026.07 .0 :
1010
11- v2026.05.0 (unreleased)
12- -----------------------
11+ v2026.07.0 (Jul 9, 2026)
12+ ------------------------
13+
14+ This release adds support for Dask's query-optimizing expression arrays, along
15+ with new ``day_of_week `` and ``day_of_year `` datetime accessor attributes. It
16+ also includes a number of bug fixes, notably for a performance regression in
17+ :py:meth: `Coordinates.to_index `, Zarr ``fill_value `` round-tripping, and
18+ excessive memory use in ``drop_encoding ``.
19+
20+ Thanks to the 25 contributors to this release:
21+ Davis Bennett, Deepak Cherian, Ian Hunt-Isaak, Illviljan, Jonathan Dung, Julia
22+ Signell, Justus Magin, Kai Mühlbauer, MJSHANG, Mark Harfouche, Mathias Hauser,
23+ Matt Van Horn, Matthew Rocklin, Max Jones, Maximilian Roos, Nick Hodgskin,
24+ S Anand, Spencer Clark, Sreekant Baheti, Timothy Hodson, Tom Nicholas,
25+ Vincent Gao, Wali Reheman, Wei Ji and eeshsaxena
1326
1427New Features
1528~~~~~~~~~~~~
29+ - Added support for Dask's `query-optimizing expression arrays
30+ <https://github.com/mrocklin/dask-array> `_. Xarray now implements the
31+ ``__dask_exprs__ `` protocol so that Dask can identify and optimize xarray
32+ :py:class: `Variable ` objects without materializing their graphs, together
33+ with a chunk manager and :py:meth: `~xarray.Dataset.map_blocks ` support for
34+ these arrays (:pull: `11382 `, :pull: `11398 `, :pull: `11423 `).
35+ By `Matthew Rocklin <https://github.com/mrocklin >`_.
1636- Following pandas, xarray's
1737 :py:class: `~xarray.core.accessor_dt.DatetimeAccessor ` now supports
1838 :py:attr: `~xarray.core.accessor_dt.DatetimeAccessor.day_of_week ` and
@@ -35,6 +55,21 @@ Deprecations
3555Bug Fixes
3656~~~~~~~~~
3757
58+ - :py:meth: `Dataset.drop_encoding ` and :py:meth: `DataArray.drop_encoding ` no
59+ longer copy the underlying data, avoiding excessive memory use on large
60+ datasets (:issue: `11390 `, :pull: `11394 `).
61+ By `Wali Reheman <https://github.com/wali-reheman >`_.
62+ - Fix :py:func: `open_dataset ` raising ``OSError `` when opening data from GDAL
63+ virtual filesystems (e.g. ``/vsicurl/ ``, ``/vsis3/ ``) or other URI-like paths
64+ that do not support ``stat `` (:pull: `11392 `).
65+ By `Vincent Gao <https://github.com/gaoflow >`_.
66+ - Fix :py:func: `testing.assert_equal ` with ``check_dim_order=False `` for
67+ :py:class: `Dataset ` objects containing variables with different dimension
68+ orders (:issue: `10704 `, :pull: `10718 `).
69+ By `Maximilian Roos <https://github.com/max-sixty >`_.
70+ - :py:meth: `~xarray.indexes.RangeIndex.linspace ` now handles ``num=1 `` like
71+ :py:func: `numpy.linspace ` (:issue: `11397 `, :pull: `11401 `).
72+ By `S Anand <https://github.com/sanand0 >`_.
3873- Fix a major performance regression in :py:meth: `Coordinates.to_index ` (and
3974 consequently :py:meth: `Dataset.to_dataframe `) caused by converting the cached
4075 code ndarrays into Python lists (:issue: `11305 `).
0 commit comments