You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* choose the right version number
* formatting
* move a breaking change entry to the right section
* remove the deprecations section
* missing entry
* remove the empty internals section
* another missing entry
* more missing entries
* remove empty line
* bad merge
* remove the empty documentation section
* newline
* use the old style of setting release dates
* set the release date
* formatting
* back to bold
* release summary
This release changes the default for ``keep_attrs`` such that attributes are preserved by default, adds support for :py:class:`DataTree` in top-level functions, and contains several memory and performance improvements as well as a number of bug fixes.
14
+
15
+
Thanks to the 21 contributors to this release:
16
+
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
13
17
14
18
New Features
15
19
~~~~~~~~~~~~
16
20
17
21
- :py:func:`merge` and :py:func:`concat` now support :py:class:`DataTree`
18
22
objects (:issue:`9790`, :issue:`9778`).
19
23
By `Stephan Hoyer <https://github.com/shoyer>`_.
20
-
- The ``h5netcdf`` engine has support for pseudo ``NETCDF4_CLASSIC`` files, meaning variables and attributes are cast to supported types. Note that the saved files won't be recognized as genuine ``NETCDF4_CLASSIC`` files until ``h5netcdf`` adds support with version 1.7.0. (:issue:`10676`, :pull:`10686`).
24
+
- The ``h5netcdf`` engine has support for pseudo ``NETCDF4_CLASSIC`` files, meaning variables and attributes are cast to supported types. Note that the saved files won't be recognized as genuine ``NETCDF4_CLASSIC`` files until ``h5netcdf`` adds support with version 1.7.0 (:issue:`10676`, :pull:`10686`).
21
25
By `David Huard <https://github.com/huard>`_.
22
26
- Support comparing :py:class:`DataTree` objects with :py:func:`testing.assert_allclose` (:pull:`10887`).
23
27
By `Justus Magin <https://github.com/keewis>`_.
28
+
- Add support for ``chunks="auto"`` for cftime datasets (:issue:`9834`, :pull:`10527`).
29
+
By `Charles Turner <https://github.com/charles-turner-1>`_.
24
30
25
31
Breaking Changes
26
32
~~~~~~~~~~~~~~~~
27
-
28
-
29
-
Deprecations
30
-
~~~~~~~~~~~~
31
-
32
-
33
-
Bug Fixes
34
-
~~~~~~~~~
35
-
- Fix h5netcdf backend for format=None, use same rule as netcdf4 backend (:pull:`10859`).
36
-
By `Kai Mühlbauer <https://github.com/kmuehlbauer>`_
37
-
- ``netcdf4`` and ``pydap`` backends now use stricter URL detection to avoid incorrectly claiming
38
-
remote URLs. The ``pydap`` backend now only claims URLs with explicit DAP protocol indicators
39
-
(``dap2://`` or ``dap4://`` schemes, or ``/dap2/`` or ``/dap4/`` in the URL path). This prevents
40
-
both backends from claiming remote Zarr stores and other non-DAP URLs without an explicit
41
-
``engine=`` argument. (:pull:`10804`). By `Ian Hunt-Isaak <https://github.com/ianhi>`_.
42
-
- Fix indexing with empty arrays for scipy & h5netcdf backends which now resolves to empty slices (:issue:`10867`, :pull:`10870`).
43
-
By `Kai Mühlbauer <https://github.com/kmuehlbauer>`_
44
-
- Fix error handling issue in ``decode_cf_variables`` when decoding fails - the exception is now re-raised
45
-
correctly, with a note added about the variable name that caused the error (:issue:`10873`, :pull:`10886`).
46
-
By `Jonas L. Bertelsen <https://github.com/jonaslb>`_
47
-
48
-
Performance
49
-
~~~~~~~~~~~
50
-
51
-
- Speedup and reduce memory usage of :py:func:`concat`. Magnitude of improvement scales
52
-
with size of the concatenation dimension. By `Deepak Cherian <https://github.com/dcherian>`_.
53
-
:issue:`10864` :pull:`10866`.
54
-
- Speedup and reduce memory usage when coarsening along multiple dimensions.
55
-
By `Deepak Cherian <https://github.com/dcherian>`_. :pull:`10921`.
56
-
57
-
Documentation
58
-
~~~~~~~~~~~~~
59
-
60
-
61
-
Internal Changes
62
-
~~~~~~~~~~~~~~~~
63
-
64
-
.. _whats-new.2025.10.1:
65
-
66
-
v2025.10.1 (October 7, 2025)
67
-
----------------------------
68
-
69
-
This release reverts a breaking change to Xarray's preferred netCDF backend.
70
-
71
-
Breaking changes
72
-
~~~~~~~~~~~~~~~~
73
-
74
-
- Xarray's default engine for reading/writing netCDF files has been reverted to
75
-
prefer netCDF4 over h5netcdf over scipy, which was the default before
76
-
v2025.09.1. This change had larger implications for the ecosystem than we
77
-
anticipated. We are still considering changing the default in the future, but
78
-
will be a bit more careful about the implications. See :issue:`10657` and
79
-
linked issues for discussion. The behavior can still be customized, e.g., with
- Coordinates are ordered to match dims when displaying Xarray objects. (:pull:`10778`).
87
-
By `Julia Signell <https://github.com/jsignell>`_.
88
-
89
-
Bug fixes
90
-
~~~~~~~~~
91
-
- Fix error raised when writing scalar variables to Zarr with ``region={}``
92
-
(:pull:`10796`).
93
-
By `Stephan Hoyer <https://github.com/shoyer>`_.
94
-
95
-
96
-
97
-
.. _whats-new.2025.09.1:
98
-
99
-
v2025.09.1 (September 29, 2025)
100
-
-------------------------------
101
-
102
-
This release contains improvements to netCDF IO and the
103
-
:py:func:`DataTree.from_dict` constructor, as well as a variety of bug fixes.
104
-
In particular, the default netCDF backend has switched from netCDF4 to h5netcdf,
105
-
which is typically faster.
106
-
107
-
Thanks to the 17 contributors to this release:
108
-
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
109
-
110
-
New Features
111
-
~~~~~~~~~~~~
112
-
113
-
- :py:func:`DataTree.from_dict` now supports passing in ``DataArray`` and nested
114
-
dictionary values, and has a ``coords`` argument for specifying coordinates as
115
-
``DataArray`` objects (:pull:`10658`).
116
-
- ``engine='netcdf4'`` now supports reading and writing in-memory netCDF files.
117
-
All of Xarray's netCDF backends now support in-memory reads and writes
118
-
(:pull:`10624`).
119
-
By `Stephan Hoyer <https://github.com/shoyer>`_.
120
-
121
-
Breaking changes
122
-
~~~~~~~~~~~~~~~~
123
-
124
-
- **All xarray operations now preserve attributes by default** (:issue:`3891`, :issue:`2582`).
33
+
- All xarray operations now preserve attributes by default (:issue:`3891`, :issue:`2582`).
125
34
Previously, operations would drop attributes unless explicitly told to preserve them via ``keep_attrs=True``.
126
35
Additionally, when attributes are preserved in binary operations, they now combine attributes from both
127
36
operands using ``drop_conflicts`` (keeping matching attributes, dropping conflicts), instead of keeping
@@ -131,7 +40,7 @@ Breaking changes
131
40
132
41
.. code-block:: python
133
42
134
-
# Before (xarray <2025.09.1):
43
+
# Before (xarray <2025.11.0):
135
44
data = xr.DataArray([1, 2, 3], attrs={"units": "meters", "long_name": "height"})
- Coordinates are ordered to match dims when displaying Xarray objects. (:pull:`10778`).
173
+
By `Julia Signell <https://github.com/jsignell>`_.
174
+
175
+
Bug fixes
176
+
~~~~~~~~~
177
+
- Fix error raised when writing scalar variables to Zarr with ``region={}``
178
+
(:pull:`10796`).
179
+
By `Stephan Hoyer <https://github.com/shoyer>`_.
180
+
181
+
182
+
.. _whats-new.2025.09.1:
183
+
184
+
v2025.09.1 (Sep 29, 2025)
185
+
-------------------------
186
+
187
+
This release contains improvements to netCDF IO and the
188
+
:py:func:`DataTree.from_dict` constructor, as well as a variety of bug fixes.
189
+
In particular, the default netCDF backend has switched from netCDF4 to h5netcdf,
190
+
which is typically faster.
191
+
192
+
Thanks to the 17 contributors to this release:
193
+
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
194
+
195
+
New Features
196
+
~~~~~~~~~~~~
197
+
198
+
- :py:func:`DataTree.from_dict` now supports passing in ``DataArray`` and nested
199
+
dictionary values, and has a ``coords`` argument for specifying coordinates as
200
+
``DataArray`` objects (:pull:`10658`).
201
+
- ``engine='netcdf4'`` now supports reading and writing in-memory netCDF files.
202
+
All of Xarray's netCDF backends now support in-memory reads and writes
203
+
(:pull:`10624`).
204
+
By `Stephan Hoyer <https://github.com/shoyer>`_.
205
+
206
+
Breaking changes
207
+
~~~~~~~~~~~~~~~~
208
+
210
209
- :py:meth:`Dataset.update` now returns ``None``, instead of the updated dataset. This
211
210
completes the deprecation cycle started in version 0.17. The method still updates the
212
211
dataset in-place. (:issue:`10167`)
@@ -288,8 +287,8 @@ Internal Changes
288
287
289
288
.. _whats-new.2025.09.0:
290
289
291
-
v2025.09.0 (September 2, 2025)
292
-
------------------------------
290
+
v2025.09.0 (Sep 2, 2025)
291
+
------------------------
293
292
294
293
This release brings a number of small improvements and fixes, especially related
295
294
to writing DataTree objects and netCDF files to disk.
@@ -365,8 +364,8 @@ Internal Changes
365
364
366
365
.. _whats-new.2025.08.0:
367
366
368
-
v2025.08.0 (August 14, 2025)
369
-
----------------------------
367
+
v2025.08.0 (Aug 14, 2025)
368
+
-------------------------
370
369
371
370
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.
372
371
@@ -442,8 +441,8 @@ Performance
442
441
443
442
.. _whats-new.2025.07.1:
444
443
445
-
v2025.07.1 (July 09, 2025)
446
-
--------------------------
444
+
v2025.07.1 (Jul 09, 2025)
445
+
-------------------------
447
446
448
447
This release brings a lot of improvements to flexible indexes functionality, including new classes
449
448
to ease building of new indexes with custom coordinate transforms (:py:class:`indexes.CoordinateTransformIndex`)
0 commit comments