Skip to content

Commit eda5f1d

Browse files
max-sixtykeewis
andauthored
Add 0.17.0 release notes (#4953)
* Add 0.17.0 release notes * _ * Apply suggestions from code review * reflow release message * fix some whats-new.rst entries * fix the deprecations section * fix more entries * minor fix * more fixes Co-authored-by: keewis <[email protected]> Co-authored-by: Keewis <[email protected]>
1 parent 351b0aa commit eda5f1d

File tree

1 file changed

+105
-64
lines changed

1 file changed

+105
-64
lines changed

doc/whats-new.rst

Lines changed: 105 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,24 @@ What's New
1515
np.random.seed(123456)
1616
1717
18-
.. _whats-new.0.16.3:
18+
.. _whats-new.0.17.0:
1919

20-
v0.17.0 (unreleased)
21-
--------------------
20+
v0.17.0 (24 Feb 2021)
21+
---------------------
22+
23+
This release brings a few important performance improvements, a wide range of
24+
usability upgrades, lots of bug fixes, and some new features. These include
25+
better ``cftime`` support, a new quiver plot, better ``unstack`` performance,
26+
more efficient memory use in rolling operations, and some python packaging
27+
improvements. We also have a few documentation improvements (and more planned!).
28+
29+
Many thanks to the 36 contributors to this release: Alessandro Amici, Anderson
30+
Banihirwe, Aureliana Barghini, Ayrton Bourn, Benjamin Bean, Blair Bonnett, Chun
31+
Ho Chow, DWesl, Daniel Mesejo-León, Deepak Cherian, Eric Keenan, Illviljan, Jens
32+
Hedegaard Nielsen, Jody Klymak, Julien Seguinot, Julius Busecke, Kai Mühlbauer,
33+
Leif Denby, Martin Durant, Mathias Hauser, Maximilian Roos, Michael Mann, Ray
34+
Bell, RichardScottOZ, Spencer Clark, Tim Gates, Tom Nicholas, Yunus Sevinchan,
35+
alexamici, aurghs, crusaderky, dcherian, ghislainp, keewis, rhkleijn
2236

2337
Breaking changes
2438
~~~~~~~~~~~~~~~~
@@ -48,24 +62,17 @@ Breaking changes
4862
============ ====== ====
4963

5064
(:issue:`4688`, :pull:`4720`, :pull:`4907`, :pull:`4942`)
51-
By `Justus Magin <https://github.com/keewis>`_.
52-
- use ``pyproject.toml`` instead of the ``setup_requires`` option for
53-
``setuptools`` (:pull:`4897`).
54-
By `Justus Magin <https://github.com/keewis>`_.
5565
- As a result of :pull:`4684` the default units encoding for
5666
datetime-like values (``np.datetime64[ns]`` or ``cftime.datetime``) will now
5767
always be set such that ``int64`` values can be used. In the past, no units
5868
finer than "seconds" were chosen, which would sometimes mean that ``float64``
5969
values were required, which would lead to inaccurate I/O round-trips.
6070
- Variables referred to in attributes like ``bounds`` and ``grid_mapping``
61-
are can be set as coordinate variables. These attributes
62-
are moved to :py:attr:`DataArray.encoding` from
63-
:py:attr:`DataArray.attrs`. This behaviour is controlled by the
64-
``decode_coords`` kwarg to :py:func:`open_dataset` and
71+
can be set as coordinate variables. These attributes are moved to
72+
:py:attr:`DataArray.encoding` from :py:attr:`DataArray.attrs`. This behaviour
73+
is controlled by the ``decode_coords`` kwarg to :py:func:`open_dataset` and
6574
:py:func:`open_mfdataset`. The full list of decoded attributes is in
6675
:ref:`weather-climate` (:pull:`2844`, :issue:`3689`)
67-
- remove deprecated ``autoclose`` kwargs from :py:func:`open_dataset` (:pull:`4725`).
68-
By `Aureliana Barghini <https://github.com/aurghs>`_.
6976
- As a result of :pull:`4911` the output from calling :py:meth:`DataArray.sum`
7077
or :py:meth:`DataArray.prod` on an integer array with ``skipna=True`` and a
7178
non-None value for ``min_count`` will now be a float array rather than an
@@ -79,75 +86,87 @@ Deprecations
7986
For now using ``dim`` issues a ``FutureWarning``. It will be removed in
8087
version 0.19.0 (:pull:`3993`).
8188
By `Tom Nicholas <https://github.com/TomNicholas>`_.
89+
- Deprecated ``autoclose`` kwargs from :py:func:`open_dataset` are removed (:pull:`4725`).
90+
By `Aureliana Barghini <https://github.com/aurghs>`_.
8291
- the return value of :py:meth:`Dataset.update` is being deprecated to make it work more
8392
like :py:meth:`dict.update`. It will be removed in version 0.19.0 (:pull:`4932`).
8493
By `Justus Magin <https://github.com/keewis>`_.
8594

86-
8795
New Features
8896
~~~~~~~~~~~~
89-
- Xarray now leverages updates as of cftime version 1.4.1, which enable exact I/O
90-
roundtripping of ``cftime.datetime`` objects (:pull:`4758`).
91-
By `Spencer Clark <https://github.com/spencerkclark>`_.
92-
- Most rolling operations use significantly less memory. (:issue:`4325`).
93-
By `Deepak Cherian <https://github.com/dcherian>`_.
9497
- :py:meth:`~xarray.cftime_range` and :py:meth:`DataArray.resample` now support
9598
millisecond (``"L"`` or ``"ms"``) and microsecond (``"U"`` or ``"us"``) frequencies
9699
for ``cftime.datetime`` coordinates (:issue:`4097`, :pull:`4758`).
97100
By `Spencer Clark <https://github.com/spencerkclark>`_.
98101
- Significantly higher ``unstack`` performance on numpy-backed arrays which
99-
contain missing values; 8x faster in our benchmark, and 2x faster than pandas.
100-
(:pull:`4746`);
102+
contain missing values; 8x faster than previous versions in our benchmark, and
103+
now 2x faster than pandas (:pull:`4746`).
101104
By `Maximilian Roos <https://github.com/max-sixty>`_.
102105
- Add :py:meth:`Dataset.plot.quiver` for quiver plots with :py:class:`Dataset` variables.
103106
By `Deepak Cherian <https://github.com/dcherian>`_.
104-
- add ``"drop_conflicts"`` to the strategies supported by the ``combine_attrs`` kwarg
107+
- Add ``"drop_conflicts"`` to the strategies supported by the ``combine_attrs`` kwarg
105108
(:issue:`4749`, :pull:`4827`).
106109
By `Justus Magin <https://github.com/keewis>`_.
107-
- :py:meth:`DataArray.swap_dims` & :py:meth:`Dataset.swap_dims` now accept dims
108-
in the form of kwargs as well as a dict, like most similar methods.
109-
By `Maximilian Roos <https://github.com/max-sixty>`_.
110110
- Allow installing from git archives (:pull:`4897`).
111111
By `Justus Magin <https://github.com/keewis>`_.
112-
113-
- :py:func:`open_dataset` and :py:func:`open_mfdataset` now accept ``fsspec`` URLs
114-
(including globs for the latter) for ``engine="zarr"``, and so allow reading from
115-
many remote and other file systems (:pull:`4461`)
116-
By `Martin Durant <https://github.com/martindurant>`_
117112
- :py:class:`DataArrayCoarsen` and :py:class:`DatasetCoarsen` now implement a
118113
``reduce`` method, enabling coarsening operations with custom reduction
119114
functions (:issue:`3741`, :pull:`4939`). By `Spencer Clark
120115
<https://github.com/spencerkclark>`_.
116+
- Most rolling operations use significantly less memory. (:issue:`4325`).
117+
By `Deepak Cherian <https://github.com/dcherian>`_.
118+
- Add :py:meth:`Dataset.drop_isel` and :py:meth:`DataArray.drop_isel`
119+
(:issue:`4658`, :pull:`4819`).
120+
By `Daniel Mesejo <https://github.com/mesejo>`_.
121+
- Xarray now leverages updates as of cftime version 1.4.1, which enable exact I/O
122+
roundtripping of ``cftime.datetime`` objects (:pull:`4758`).
123+
By `Spencer Clark <https://github.com/spencerkclark>`_.
124+
- :py:func:`open_dataset` and :py:func:`open_mfdataset` now accept ``fsspec`` URLs
125+
(including globs for the latter) for ``engine="zarr"``, and so allow reading from
126+
many remote and other file systems (:pull:`4461`)
127+
By `Martin Durant <https://github.com/martindurant>`_
128+
- :py:meth:`DataArray.swap_dims` & :py:meth:`Dataset.swap_dims` now accept dims
129+
in the form of kwargs as well as a dict, like most similar methods.
130+
By `Maximilian Roos <https://github.com/max-sixty>`_.
121131

122132
Bug fixes
123133
~~~~~~~~~
124134
- Use specific type checks in
125135
:py:func:`~xarray.core.variable.as_compatible_data` instead of blanket
126136
access to ``values`` attribute (:issue:`2097`)
127137
By `Yunus Sevinchan <https://github.com/blsqr>`_.
128-
- :py:meth:`DataArray.resample` and :py:meth:`Dataset.resample` do not trigger computations anymore if :py:meth:`Dataset.weighted` or :py:meth:`DataArray.weighted` are applied (:issue:`4625`, :pull:`4668`). By `Julius Busecke <https://github.com/jbusecke>`_.
129-
- :py:func:`merge` with ``combine_attrs='override'`` makes a copy of the attrs (:issue:`4627`).
130-
- By default, when possible, xarray will now always use values of type ``int64`` when encoding
131-
and decoding ``numpy.datetime64[ns]`` datetimes. This ensures that maximum
132-
precision and accuracy are maintained in the round-tripping process
133-
(:issue:`4045`, :pull:`4684`). It also enables encoding and decoding standard calendar
134-
dates with time units of nanoseconds (:pull:`4400`). By `Spencer Clark
135-
<https://github.com/spencerkclark>`_ and `Mark Harfouche <http://github.com/hmaarrfk>`_.
138+
- :py:meth:`DataArray.resample` and :py:meth:`Dataset.resample` do not trigger
139+
computations anymore if :py:meth:`Dataset.weighted` or
140+
:py:meth:`DataArray.weighted` are applied (:issue:`4625`, :pull:`4668`). By
141+
`Julius Busecke <https://github.com/jbusecke>`_.
142+
- :py:func:`merge` with ``combine_attrs='override'`` makes a copy of the attrs
143+
(:issue:`4627`).
144+
- By default, when possible, xarray will now always use values of
145+
type ``int64`` when encoding and decoding ``numpy.datetime64[ns]`` datetimes. This
146+
ensures that maximum precision and accuracy are maintained in the round-tripping
147+
process (:issue:`4045`, :pull:`4684`). It also enables encoding and decoding standard
148+
calendar dates with time units of nanoseconds (:pull:`4400`).
149+
By `Spencer Clark <https://github.com/spencerkclark>`_ and `Mark Harfouche
150+
<http://github.com/hmaarrfk>`_.
136151
- :py:meth:`DataArray.astype`, :py:meth:`Dataset.astype` and :py:meth:`Variable.astype` support
137152
the ``order`` and ``subok`` parameters again. This fixes a regression introduced in version 0.16.1
138153
(:issue:`4644`, :pull:`4683`).
139154
By `Richard Kleijn <https://github.com/rhkleijn>`_ .
140155
- Remove dictionary unpacking when using ``.loc`` to avoid collision with ``.sel`` parameters (:pull:`4695`).
141-
By `Anderson Banihirwe <https://github.com/andersy005>`_
156+
By `Anderson Banihirwe <https://github.com/andersy005>`_.
142157
- Fix the legend created by :py:meth:`Dataset.plot.scatter` (:issue:`4641`, :pull:`4723`).
143158
By `Justus Magin <https://github.com/keewis>`_.
144-
- Fix a crash in orthogonal indexing on geographic coordinates with ``engine='cfgrib'`` (:issue:`4733` :pull:`4737`).
145-
By `Alessandro Amici <https://github.com/alexamici>`_
159+
- Fix a crash in orthogonal indexing on geographic coordinates with ``engine='cfgrib'``
160+
(:issue:`4733` :pull:`4737`).
161+
By `Alessandro Amici <https://github.com/alexamici>`_.
146162
- Coordinates with dtype ``str`` or ``bytes`` now retain their dtype on many operations,
147163
e.g. ``reindex``, ``align``, ``concat``, ``assign``, previously they were cast to an object dtype
148-
(:issue:`2658` and :issue:`4543`) by `Mathias Hauser <https://github.com/mathause>`_.
149-
- Limit number of data rows when printing large datasets. (:issue:`4736`, :pull:`4750`). By `Jimmy Westling <https://github.com/illviljan>`_.
150-
- Add ``missing_dims`` parameter to transpose (:issue:`4647`, :pull:`4767`). By `Daniel Mesejo <https://github.com/mesejo>`_.
164+
(:issue:`2658` and :issue:`4543`).
165+
By `Mathias Hauser <https://github.com/mathause>`_.
166+
- Limit number of data rows when printing large datasets. (:issue:`4736`, :pull:`4750`).
167+
By `Jimmy Westling <https://github.com/illviljan>`_.
168+
- Add ``missing_dims`` parameter to transpose (:issue:`4647`, :pull:`4767`).
169+
By `Daniel Mesejo <https://github.com/mesejo>`_.
151170
- Resolve intervals before appending other metadata to labels when plotting (:issue:`4322`, :pull:`4794`).
152171
By `Justus Magin <https://github.com/keewis>`_.
153172
- Fix regression when decoding a variable with a ``scale_factor`` and ``add_offset`` given
@@ -158,8 +177,9 @@ Bug fixes
158177
- Raise DeprecationWarning when trying to typecast a tuple containing a :py:class:`DataArray`.
159178
User now prompted to first call `.data` on it (:issue:`4483`).
160179
By `Chun Ho Chow <https://github.com/chunhochow>`_.
161-
- Add :py:meth:`Dataset.drop_isel` and :py:meth:`DataArray.drop_isel` (:issue:`4658`, :pull:`4819`). By `Daniel Mesejo <https://github.com/mesejo>`_.
162-
- Ensure that :py:meth:`Dataset.interp` raises ``ValueError`` when interpolating outside coordinate range and ``bounds_error=True`` (:issue:`4854`, :pull:`4855`).
180+
- Ensure that :py:meth:`Dataset.interp` raises ``ValueError`` when interpolating
181+
outside coordinate range and ``bounds_error=True`` (:issue:`4854`,
182+
:pull:`4855`).
163183
By `Leif Denby <https://github.com/leifdenby>`_.
164184
- Fix time encoding bug associated with using cftime versions greater than
165185
1.4.0 with xarray (:issue:`4870`, :pull:`4871`). By `Spencer Clark <https://github.com/spencerkclark>`_.
@@ -177,15 +197,17 @@ Bug fixes
177197

178198
Documentation
179199
~~~~~~~~~~~~~
180-
- add information about requirements for accessor classes (:issue:`2788`, :pull:`4657`).
200+
- Add information about requirements for accessor classes (:issue:`2788`, :pull:`4657`).
181201
By `Justus Magin <https://github.com/keewis>`_.
182-
- start a list of external I/O integrating with ``xarray`` (:issue:`683`, :pull:`4566`).
202+
- Start a list of external I/O integrating with ``xarray`` (:issue:`683`, :pull:`4566`).
183203
By `Justus Magin <https://github.com/keewis>`_.
184-
- add concat examples and improve combining documentation (:issue:`4620`, :pull:`4645`).
204+
- Add concat examples and improve combining documentation (:issue:`4620`, :pull:`4645`).
185205
By `Ray Bell <https://github.com/raybellwaves>`_ and
186206
`Justus Magin <https://github.com/keewis>`_.
187207
- explicitly mention that :py:meth:`Dataset.update` updates inplace (:issue:`2951`, :pull:`4932`).
188208
By `Justus Magin <https://github.com/keewis>`_.
209+
- Added docs on vectorized indexing (:pull:`4711`).
210+
By `Eric Keenan <https://github.com/EricKeenan>`_.
189211

190212
Internal Changes
191213
~~~~~~~~~~~~~~~~
@@ -197,30 +219,49 @@ Internal Changes
197219
- Run the tests in parallel using pytest-xdist (:pull:`4694`).
198220

199221
By `Justus Magin <https://github.com/keewis>`_ and `Mathias Hauser <https://github.com/mathause>`_.
200-
222+
- Use ``pyproject.toml`` instead of the ``setup_requires`` option for
223+
``setuptools`` (:pull:`4897`).
224+
By `Justus Magin <https://github.com/keewis>`_.
201225
- Replace all usages of ``assert x.identical(y)`` with ``assert_identical(x, y)``
202-
for clearer error messages.
203-
(:pull:`4752`);
226+
for clearer error messages (:pull:`4752`).
204227
By `Maximilian Roos <https://github.com/max-sixty>`_.
205-
- Speed up attribute style access (e.g. ``ds.somevar`` instead of ``ds["somevar"]``) and tab completion
206-
in ipython (:issue:`4741`, :pull:`4742`). By `Richard Kleijn <https://github.com/rhkleijn>`_.
207-
- Added the ``set_close`` method to ``Dataset`` and ``DataArray`` for beckends to specify how to voluntary release
208-
all resources. (:pull:`#4809`), By `Alessandro Amici <https://github.com/alexamici>`_.
209-
- Update type hints to work with numpy v1.20 (:pull:`4878`). By `Mathias Hauser <https://github.com/mathause>`_.
228+
- Speed up attribute style access (e.g. ``ds.somevar`` instead of ``ds["somevar"]``) and
229+
tab completion in IPython (:issue:`4741`, :pull:`4742`).
230+
By `Richard Kleijn <https://github.com/rhkleijn>`_.
231+
- Added the ``set_close`` method to ``Dataset`` and ``DataArray`` for backends
232+
to specify how to voluntary release all resources. (:pull:`#4809`)
233+
By `Alessandro Amici <https://github.com/alexamici>`_.
234+
- Update type hints to work with numpy v1.20 (:pull:`4878`).
235+
By `Mathias Hauser <https://github.com/mathause>`_.
210236
- Ensure warnings cannot be turned into exceptions in :py:func:`testing.assert_equal` and
211-
the other ``assert_*`` functions (:pull:`4864`). By `Mathias Hauser <https://github.com/mathause>`_.
212-
- Performance improvement when constructing DataArrays. Significantly speeds up repr for Datasets with large number of variables.
213-
By `Deepak Cherian <https://github.com/dcherian>`_
237+
the other ``assert_*`` functions (:pull:`4864`).
238+
By `Mathias Hauser <https://github.com/mathause>`_.
239+
- Performance improvement when constructing DataArrays. Significantly speeds up
240+
repr for Datasets with large number of variables.
241+
By `Deepak Cherian <https://github.com/dcherian>`_.
214242

215243
.. _whats-new.0.16.2:
216244

217245
v0.16.2 (30 Nov 2020)
218246
---------------------
219247

220-
This release brings the ability to write to limited regions of ``zarr`` files, open zarr files with :py:func:`open_dataset` and :py:func:`open_mfdataset`, increased support for propagating ``attrs`` using the ``keep_attrs`` flag, as well as numerous bugfixes and documentation improvements.
221-
222-
Many thanks to the 31 contributors who contributed to this release:
223-
Aaron Spring, Akio Taniguchi, Aleksandar Jelenak, alexamici, Alexandre Poux, Anderson Banihirwe, Andrew Pauling, Ashwin Vishnu, aurghs, Brian Ward, Caleb, crusaderky, Dan Nowacki, darikg, David Brochart, David Huard, Deepak Cherian, Dion Häfner, Gerardo Rivera, Gerrit Holl, Illviljan, inakleinbottle, Jacob Tomlinson, James A. Bednar, jenssss, Joe Hamman, johnomotani, Joris Van den Bossche, Julia Kent, Julius Busecke, Kai Mühlbauer, keewis, Keisuke Fujii, Kyle Cranmer, Luke Volpatti, Mathias Hauser, Maximilian Roos, Michaël Defferrard, Michal Baumgartner, Nick R. Papior, Pascal Bourgault, Peter Hausamann, PGijsbers, Ray Bell, Romain Martinez, rpgoldman, Russell Manser, Sahid Velji, Samnan Rahee, Sander, Spencer Clark, Stephan Hoyer, Thomas Zilio, Tobias Kölling, Tom Augspurger, Wei Ji, Yash Saboo, Zeb Nicholls,
248+
This release brings the ability to write to limited regions of ``zarr`` files,
249+
open zarr files with :py:func:`open_dataset` and :py:func:`open_mfdataset`,
250+
increased support for propagating ``attrs`` using the ``keep_attrs`` flag, as
251+
well as numerous bugfixes and documentation improvements.
252+
253+
Many thanks to the 31 contributors who contributed to this release: Aaron
254+
Spring, Akio Taniguchi, Aleksandar Jelenak, alexamici, Alexandre Poux, Anderson
255+
Banihirwe, Andrew Pauling, Ashwin Vishnu, aurghs, Brian Ward, Caleb, crusaderky,
256+
Dan Nowacki, darikg, David Brochart, David Huard, Deepak Cherian, Dion Häfner,
257+
Gerardo Rivera, Gerrit Holl, Illviljan, inakleinbottle, Jacob Tomlinson, James
258+
A. Bednar, jenssss, Joe Hamman, johnomotani, Joris Van den Bossche, Julia Kent,
259+
Julius Busecke, Kai Mühlbauer, keewis, Keisuke Fujii, Kyle Cranmer, Luke
260+
Volpatti, Mathias Hauser, Maximilian Roos, Michaël Defferrard, Michal
261+
Baumgartner, Nick R. Papior, Pascal Bourgault, Peter Hausamann, PGijsbers, Ray
262+
Bell, Romain Martinez, rpgoldman, Russell Manser, Sahid Velji, Samnan Rahee,
263+
Sander, Spencer Clark, Stephan Hoyer, Thomas Zilio, Tobias Kölling, Tom
264+
Augspurger, Wei Ji, Yash Saboo, Zeb Nicholls,
224265

225266
Deprecations
226267
~~~~~~~~~~~~

0 commit comments

Comments
 (0)