sha,message,author_date,committer_date,raw_author,raw_committer,repo,author,committer
aaa778cffb89baaece31882e03a7f4af0adfe798,"call `np.cross` with 3D vectors only (#8993)

* convert the expected parameters to arrays

* manually zero-pad to avoid calling `np.cross` with 2D vectors",2024-05-03T15:22:25Z,2024-05-03T15:22:25Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
748bb3a328a65416022ec44ced8d461f143081b5,"avoid a couple of warnings in `polyfit` (#8939)

* use `numpy.finfo` instead of `numpy.core.finfo`

* add `copy` to the signature of `__array__`

* don't pass `copy` to `asarray`

The `copy` kwarg appears to only exist in `numpy>=2`.

* try making the typing the same for all overloads

* change the typing for `NamedArray.__array__`

* fix the signature of `__array__`

* revert the change to the signature of `__array__`

* ignore all deprecation warnings about `__array__` gaining a new kwarg

I don't know enough about typing to ignore typing issues within a
protocol, so that was the only way I could figure out how to get this
PR unstuck. Once we know what to do here, we can remove the ignore in
a new PR.

* add back the `copy` kwarg if the protocol does not have type hints

* Update xarray/core/dataset.py

---------

Co-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>",2024-05-01T15:34:20Z,2024-05-01T15:34:20Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
bfcb0a7a97ee83d6fb93e67ef7a5127b59135464,"clean up the upstream-dev setup script (#8986)

* try not to build `numcodecs` in CI [skip-ci] [skip-rtd]

* don't remove `numcodecs` from the upstream-dev environment

* also don't remove `pint`, it's not in the environment at the moment

* [skip-ci][skip-rtd]

* don't build `bottleneck` without build isolation

`bottleneck` uses the release candidate on PyPI to build `numpy>=2`
compatible wheels.

* also build `cftime` without build isolation

(same as `bottleneck`: it builds against `numpy>=2.0.0rc1`)

* remove the build-deps

* [skip-ci][skip-rtd]

* try removing the upstream-dev build of `pyarrow` [skip-ci][skip-rtd]

Supposedly `pyarrow>=16.0` is compatible with `numpy>=2`, but I don't
know whether the version on `conda-forge` is built against the release
candidate of `numpy`.

* Revert ""try removing the upstream-dev build of `pyarrow`"" [skip-ci][skip-rtd]

This reverts commit 48a656f0ead2271446c7e56a699782f3d91fe169.",2024-04-30T20:59:56Z,2024-04-30T20:59:56Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
a05fe82a16a29234d9e3c6f1cab550e5e7a34034,"more engine environment tricks in preparation for `numpy>=2` (#8978)

* build-deps for numcodecs

* temporarily remove `pydap` from the upstream-dev CI

* try adding back `h5netcdf`

* skip h5netcdf ros3 tests if h5py was compiled without support for ros3

* invert the condition

* also invert the other condition

* replace `numpy.core.defchararray.add` with `numpy.strings.add`

* use `numpy.char.add` instead

`numpy.strings` exists since `numpy>=2`",2024-04-29T14:56:21Z,2024-04-29T14:56:21Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
5a35ca42d5372980c6cf5ccb6c6767324dee5ebf,use `nan` instead of `NaN` (#8961),2024-04-21T22:01:03Z,2024-04-21T22:01:03Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
af085283024472d7e5c7f653eb1786791cf6afc7,"adapt more tests to the copy-on-write behavior of pandas (#8940)

* mirror the `Dataset` `copy_coords` test

* avoid modifying the values of a `pandas` series",2024-04-13T14:44:50Z,2024-04-13T14:44:50Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
aa08785265265c270ff2450812e1cefc1cd2124f,use `pd.to_timedelta` instead of `TimedeltaIndex` (#8938),2024-04-13T12:32:13Z,2024-04-13T12:32:13Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
14fe7e077a59d530f18ea2e4d7c38fb4a62c0b19,"try to get the `upstream-dev` CI to complete again (#8823)

* install upstream-dev h5py and enable h5netcdf again

* try installing nightly `pyarrow` [skip-ci]

* use `micromamba` to speed up the force-removal of packages

* add a missing trailing backslash [skip-ci]

* revert the enabling of upstream-dev h5netcdf [skip-ci]

* also build `numexpr`

* replace the removed `numpy.array_api` with `array-api-strict`

* don't install upstream-dev `h5py`

* remove `numexpr` from the environment instead [skip-ci]

* ignore the missing typing in `array_api_strict`

* restore the old `numpy.array_api` import for `numpy<2`

* ignore the redefinition of `Array`",2024-03-12T16:04:52Z,2024-03-12T16:04:52Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
8e1dfcf571e77701d5669fd31f1576aed1007b45,new whats-new section (#8767),2024-02-20T10:35:34Z,2024-02-20T10:35:34Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
626648a16568a19d4a90e425c851570a7b3ecac0,actually release (#8766),2024-02-18T23:06:21Z,2024-02-18T23:06:21Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
537f4a74ffc58d1dbe65b1e1d32ccce6740fb9b0,"release summary for 2024.02.0 (#8764)

* move author names to a separate line

* style fixes

* first attempt at a summary

* add contributors

* move entry to the right place

* more style

* reflow

* remove additional indentation

* point intersphinx to the new home of cubed

* add flox to intersphinx

* [skip-ci]",2024-02-18T22:52:14Z,2024-02-18T22:52:14Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
d34ebff531b5c02ead95b9dcd9b1c8fdf101260a,"implement `isnull` using `full_like` instead of `zeros_like` (#7395)

* use `full_like` to implement `isnull` on non-nullable dtypes

* remove the unused import of `zeros_like`

* add tests to make sure non-nullable dtypes still return all-`False`

* remove the now unused `zeros_like`",2024-01-23T18:29:13Z,2024-01-23T18:29:13Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
96f9e948d85bb0c1b1a511971606d23e0f7cc122,"import from the new location of `normalize_axis_index` if possible (#8483)

* import from the new location of `normalize_axis_index` if possible

* disable build isolation for `cftime` [skip-ci] [skip-rtd]

* actually apply the `--no-build-isolation` [skip-ci] [skip-rtd]

* install `cython`, which is needed to build `cftime`

* use `micromamba` instead of `conda` for removing packages

* switch the main uninstall back to `conda`

* temporarily remove `cf_units`, `h5py`, and `netcdf4`

* also remove `hdf5` [skip-ci]

* try building `numcodecs` from github and without build isolation

* build `cftime` separately from `numcodecs` and install more deps [skip-ci]

* don't uninstall packages that are already removed [skip-ci]

* also build `bottleneck` without build isolation

* use `module_available` instead of eagerly importing

* add a `minversion` kwarg to `module_available`

* use `module_available` in `nputils` as well

* more type ignores

* move the type ignores to the import

* ignore complaints about unused ignores

(the point here is compatibility between multiple versions)

* a couple of other `type: ignore` comments (only relevant for nightly)",2024-01-18T15:34:56Z,2024-01-18T15:34:56Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
e91ee89edbdec4299897e60c9d97d0cf915353c9,"run CI on `python=3.12` (#8605)

* enable a special 3.12 ci job

* add the special environment files

* update the trove classifiers

* remove `pint` from the 3.12 environment

The reason is that `pint` currently does not explicitly define
`dtype`, causing our runtime checkable protocols not to match.",2024-01-17T21:54:12Z,2024-01-17T21:54:12Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
c47f35db4e73507b4ac729ec23b0faf8ceb5ace1,"ignore a `DeprecationWarning` emitted by `seaborn` (#8576)

* move the ignore from the cli to `xarray.tests`

* ignore `seaborn` using deprecated API",2023-12-30T22:10:07Z,2023-12-30T22:10:07Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
7c1bb8dffcfc2fba08b470676884200f035b5051,"explicitly skip using `__array_namespace__` for `numpy.ndarray` (#8526)

* explicitly skip using `__array_namespace__` for `numpy.ndarray`

* actually use the array in question

---------

Co-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>",2023-12-06T17:58:46Z,2023-12-06T17:58:46Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
b6eaf436f7b120f5b6b3934892061af1e9ad89fe,"migrate the other CI to python 3.11 (#8416)

* migrate the additional CI to py311

* migrate the upstream-dev CI to python 3.11

* switch to the default environment file

* convert a left-over use of `provision-with-micromamba`

* silence the `cgi` deprecation warning from `pydap`

---------

Co-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>",2023-11-17T15:27:21Z,2023-11-17T15:27:21Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
28053ba09cb8262f4ba3e73fb884ea4f236c5704,"remove `cdms2` (#8441)

* remove `cdms2` from all environments

* remove any code related to `cdms2`

* remove the `mypy` override for `cdms2`

* remove the special environment files for python 3.11

* whats-new

* more info on the replacement

* remove the `cdms2` methods from the api docs

* remove all mentions of UV-CDAT / cdms2 from the faq

* also change the binder environment",2023-11-14T17:15:49Z,2023-11-14T17:15:49Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
bac90ab067d7437de875ec57d90d863169e70429,"adapt to NEP 51 (#8064)

* convert string and bytes items to standard python types

* [test-upstream]

* modify the expected error message",2023-09-25T04:46:48Z,2023-09-25T04:46:48Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
e00e31b9ea7fcd562f75f6c657d02c4f81867095,"fix the failing docs (#8188)

* don't try to build with `pandas=2.1.0`

one of the docstrings we inherit from `pandas` is malformatted in that version

* reorder the project metadata sections

* source the exhaustive list of optional deps from `pyproject.toml`

* link to the new location of the colormap tutorial in matplotlib

* also convert the narrative documentation to `pyproject.toml`",2023-09-15T13:26:24Z,2023-09-15T13:26:24Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
2951ce0215f14a8a79ecd0b5fc73a02a34b9b86b,"fix miscellaneous `numpy=2.0` errors (#8117)

* replace `np.unicode_` with `np.str_`

* replace `np.NaN` with `np.nan`

* replace more instances of `np.unicode_`

note that with more modern versions of `numpy` the `.astype(np.str_)`
don't actually change the dtype, so maybe we can remove those.

* more instances of renamed / removed dtypes

* more dtype replacements

* use `str.encode(encoding)` instead of `bytes(str, encoding)`

* explicitly import `RankWarning`

* left-over `np.RankWarning`

* use `float` instead of the removed `np.float_`

* ignore missing stubs for `numpy.exceptions`

---------

Co-authored-by: Kai Mühlbauer <kmuehlbauer@wradlib.org>
Co-authored-by: Mathias Hauser <mathause@users.noreply.github.com>
Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>
Co-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>",2023-09-11T03:55:51Z,2023-09-11T03:55:51Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
ab096b05821a039f7a5b416e83227462625687ff,"unpin `numpy` (#8061)

* unpin `numpy`

* dispatch to `np.empty_like` if there's no missing value

* make sure there's no code path without `create_template`

* declare `create_template` as callable

* ignore the intentionally wrong typing

* mark the ignore as intentional, even if it might not be used

this important because the fix in `numpy` that now means we *don't*
need it anymore has been around for less than 3 months (requires a
sufficiently new version of `mypy`).

* also directly check that `Variable.unstack` does not raise warnings

* fix the unstack test",2023-08-17T18:14:21Z,2023-08-17T18:14:21Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
6b1ff6d13bf360df786500dfa7d62556d23e6df9,"join together duplicate entries in the text `repr` (#7225)

* group the variable names of common indexes

* implement option 1: separate with just newlines

* implement option 2: list-like presentation of the indexes

* implement option 3: light box components in front of the coord names

* implement option 4: light box components after the coord names

* fix the repr of `Indexes`

* only add combine markers for xarray indexes

* select option 3

Support for the box components should be common enough that we can use
it (and the worst that can happen is that those characters are
displayed with a replacement glyph – usually a diamond with a question
mark)

* improve typing

Co-authored-by: Illviljan <14371165+Illviljan@users.noreply.github.com>

* whats-new.rst

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* simplify the visual hint construction

* improve the existing index repr test

* check that the hints are constructed correctly

* convert the names to tuples

* revert the typing of `index`

* more conversion to tuple

* type hint the instance variable

* whats-new entry

* don't type-check the monkeypatching

* adjust the typing, again

* use a subclass instead of monkeypatching and type-ignores

---------

Co-authored-by: Illviljan <14371165+Illviljan@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>",2023-07-20T21:13:56Z,2023-07-20T21:13:56Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
4a79b32d80bb6e2200754c4b65f5d17530b2ab4c,"manually unshallow the repository on RTD (#7961)

RTD is deprecating the feature flag we made use of before.",2023-07-05T15:44:09Z,2023-07-05T15:44:09Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
073a57f372496533966645691712e988605f1b13,"use trusted publishers instead of a API token (#7899)

* use trusted publishers instead of a API token

* same for TestPyPI",2023-06-16T08:37:07Z,2023-06-16T08:37:07Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
f4e0523be0ce8babaa8eff38365e5308b1fdb76b,"don't use `CacheFileManager.__del__` on interpreter shutdown (#7880)

* store a reference to the acquire function on the object

This keeps the function from being garbage collected before we can
call it.

* whats-new.rst

* make `lock_acquire` a static method

* fix rst link

* comment on the existence of the static method `lock_acquire`

* also store a reference to `OPTIONS`

* revert storing additional references

* remove `CachingFileManager.__del__` on interpreter shutdown

* rephrase the changelog [skip-ci]

* [skip-ci]

---------

Co-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>",2023-06-06T15:14:36Z,2023-06-06T15:14:36Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
46ef0ca86c8a8cd9e28a1a38c45e2ebb7d022ae0,retire the TestPyPI workflow (#7889),2023-06-04T18:46:13Z,2023-06-04T18:46:13Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
960f15ce35826b85745adf5a7b5d8f7decbfa16d,"move to `setup-micromamba` (#7878)

* transition to setup-micromamba

* transition the last few ci to setup-micromamba

* remove the obsolete and unused `parse_logs` script

* don't specify `environment-file: false`",2023-06-01T16:21:55Z,2023-06-01T16:21:55Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
d4edd70190f3e57a39e2cf330a411b5a17543ee7,"deprecate the `cdms2` conversion methods (#7876)

* emit deprecation warnings for the cdms2 conversion methods

* add the deprecation notice to the docstring

* check that the deprecation warnings are properly raised

* actually check that the deprecation message mentions cdms2

* skip cdms2 checks for new numpy / python versions

* whats-new entry

* make the deprecation message consistent

* functions → methods

* adjust the skip condition

* maintenance mode → deprecated",2023-05-29T19:01:20Z,2023-05-29T19:01:20Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
b319d8671b178407927b5878ed878ffab22b6352,"add `numba` to the py3.11 environment (#7867)

* add `numba` back to the py311 environment

* try cdms2

* remove `cdms2`, it's not available for `python=3.11`",2023-05-28T06:30:09Z,2023-05-28T06:30:09Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
fcb81756a1d81f334e84f35e4b6cb59a448e367e,"defer to `numpy` for the expected result (#7875)

* simplify the test for unary funcs

* use `full_like` to construct the expected result

* Revert ""use `full_like` to construct the expected result""

This reverts commit a14aeb51f6787a93ce12958bc3e9634fb0e84cdb.",2023-05-27T19:53:06Z,2023-05-27T19:53:06Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
fd0ac3e09a09567a4b584f1429219ff72b5fa4dd,"adapt the `pint` + `dask` test to the newest version of `pint` (#7855)

* use the registry to create the quantities

* skip the `pint` + `dask` test before `pint=0.21`

* also parse the static version",2023-05-25T17:24:33Z,2023-05-25T17:24:33Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
6d17fa0bea187ccba7247dd2bd9b6179636017b0,"adjust the deprecation policy for python (#7793)

* extend the policy interval for python to 30 months

* extend the hard-coded list of python release dates

* changelog",2023-05-01T22:26:55Z,2023-05-01T22:26:55Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
6d98dbd644ac264c9c67db78d9a5ae011019b0ec,remove the `black` hook (#7756),2023-04-14T16:36:18Z,2023-04-14T16:36:18Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
388387b834a9763d24c5d028ec7727a4a56a71f3,"reword the what's new entry for the `pandas` 2.0 dtype changes (#7755)

* move and rewrite the what's new entry for the pandas 2.0 dtype PR

* [skip-ci]",2023-04-14T14:30:49Z,2023-04-14T14:30:49Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
db2d414c6af236be2df4f5ca353e154b2f4cf885,"`pandas=2.0` support (#7724)

* unpin pandas in the package metadata

* unpin pandas in the ci environments [skip-rtd]

* create the input arrays in the parametrization

* split `test_sel_float` into variants

* skip the float16 variant if pandas>=2.0 is installed

* [skip-rtd]

* add tests for `days_in_month` and its alias

* make sure the name and dtype match the expected

* actually verify that the dtype stays the same

* apply the dtype for non-dask

* always use `int32` to follow `pandas=2.0`

* back to `int64`

* same for the test

* final undo of `int64` → `int32`

* update the comment to make more sense

* simplify the conversion of the expected data

* change back to the old condition

* cast float16 to float64 when creating indexes (but warn anyways)

* convert float16 to float64 when selecting using arrays

(all except 0d)

* move the float16 variant to a separate test

this allows us to check for expected warnings

* explicitly type the kwargs as a mapping of str → str

* reword the warning message

* restore the pin

* [skip-ci] [skip-rtd]

* rerun to make sure we don't introduce failures with `pandas<2`

* changelog",2023-04-12T13:04:11Z,2023-04-12T13:04:11Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
a61d73b39c5e62631378348e49fc6febe2595622,"use the `files` interface instead of the deprecated `read_binary` (#7664)

* use the `files` interface instead of the deprecated `read_binary`

* use `read_text(encoding=...)` instead of `read_bytes(...).decode(...)`

Co-authored-by: Michael Niklas  <mick.niklas@gmail.com>

---------

Co-authored-by: Illviljan <14371165+Illviljan@users.noreply.github.com>
Co-authored-by: Michael Niklas  <mick.niklas@gmail.com>",2023-03-30T14:58:42Z,2023-03-30T14:58:42Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
635b9d0f2db4cc3ff005983c4af46ef6801258e2,"add timeouts for tests (#7657)

* install `pytest-timeout` into all environments

* don't also install it into the upstream-dev environment

* set a timeout of 5 minutes

This is plenty for a test to run: we shouldn't have tests that take
more than 30 seconds, but the windows / macos runners tend to be
slower than the linux ones.

* add `pytest-timeout` to the remaining test environments

* add `pytest-timeout` to the ignored dependencies [skip-rtd]

* reduce the timeout from 5 minutes to 90 seconds

* double the test timeout",2023-03-24T15:49:22Z,2023-03-24T15:49:22Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
821dc24b5f3ed91b843a634bf8513a26046269ef,ignore the `pkg_resources` deprecation warning (#7594),2023-03-08T13:41:53Z,2023-03-08T13:41:53Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
43ba095712de12c957e0a4acf956df01d84b2046,"update the docs environment (#7442)

* use python 3.10 in the docs environment

* require a more recent `sphinx` version

* [skip-ci]

* remove the unused pydata-sphinx-theme [skip-ci]

* pin `sphinx-book-theme` to a more recent version [skip-ci]

* try working around the theme bug [skip-ci]

* use string interpolation markers for the extlink text

* try specifying the project of a intersphinx link

* remove the empty `extra_navbar` and `navbar_footer_text` theme options

* [skip-ci]

---------

Co-authored-by: Joe Hamman <joe@earthmover.io>
Co-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>
Co-authored-by: Illviljan <14371165+Illviljan@users.noreply.github.com>",2023-03-03T10:14:13Z,2023-03-03T10:14:13Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
f128f248f87fe0442c9b213c2772ea90f91d168b,"RTD maintenance (#7477)

* upgrade the os

* get the correct version in builds

Even if we don't display it in the built documentation anymore, some
functionality like `pandas.DataFrame.to_xarray` have a version check.

* print the last 5 commits [skip-rtd] [skip-ci]

* remove the ""unshallow""

apparently, it does not make sense for complete repos, so git fails.

* also remove the history print

The idea was to check whether there was a special commit on top of the
most recent commit of the PR (this seems to be the case on GH
actions). There's none, so we don't need the print.

* [skip-ci] [skip-rtd]

* [skip-ci] [skip-rtd]",2023-01-25T14:58:46Z,2023-01-25T14:58:46Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
c3032cdcf732d3387778d8718476cf7b68ef0c5c,"fix the RTD build skipping feature (#7476)

* treat the pattern as a fixed string

* skip-rtd [skip-ci]

Intentionally misspell to make sure the skip is *not* triggered.

* [skip-rtd] [skip-ci]",2023-01-25T11:17:56Z,2023-01-25T11:17:56Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
9b3014649380b537c35054732eaf9aabfc80e9c2,"allow skipping RTD builds (#7470)

* configure rtd to skip builds if `[skip-rtd]` is found in the subject

* properly cancel the build early

* try if it actually works [skip-rtd]",2023-01-24T16:09:50Z,2023-01-24T16:09:50Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
8be93496a4ef8d09889b835ea57c94d02f933f00,"create separate environment files for `python=3.11` (#7469)

* add new environment files for python 3.11

These should be deleted after all the remaining dependencies (cdms2,
numba, numbagg, sparse) support python 3.11.

* enable python 3.11

* use the special environment files for python 3.11

* officially support `python=3.11`",2023-01-23T13:03:12Z,2023-01-23T13:03:12Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
19838dce11faeea8dc629cea1607a646ee7be86e,"install `numbagg` from `conda-forge` (#7415)

* install `numbagg` from conda-forge

* temporarily pin `numpy<1.24` to get CI to pass

Co-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>",2023-01-20T19:46:42Z,2023-01-20T19:46:42Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
b93dae4079daf0fc4c042fd0d699c16624430cdc,"remove `numbagg` and `numba` from the upstream-dev CI (#7416)

* temporarily remove `numba` from the upstream-dev environment

* don't explicitly install the matplotlib dependency

* use `pip` to remove `numbagg`

* [test-upstream]

* remove `numba` and `numbagg` first [test-upstream]

Co-authored-by: Joe Hamman <joe@earthmover.io>",2023-01-04T20:07:28Z,2023-01-04T20:07:28Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
db68db6793bdd10f740e1ff7f68d821e853e3d73,"`keep_attrs` for pad (#7267)

* make use of `keep_attrs` in `Variable.pad`

* propagate `keep_attrs`

* resolve the default `keep_attrs` in `Dataset.pad`

* add tests for `Variable.pad`

* add tests for `Dataset.pad` and keep the `Dataset` attrs

* actually pad the variable

* also check that untouched variables are not modified

* add tests for `DataArray.pad`

* update whats-new.rst

* Set True by default

* move the whats-new.rst entry to the dev section

Co-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>
Co-authored-by: Illviljan <14371165+Illviljan@users.noreply.github.com>",2022-12-12T15:59:41Z,2022-12-12T15:59:41Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
cc7e09a3507fa342b3790b5c109e700fa12f0b17,pin mypy to a known good version (#7269),2022-11-08T16:49:12Z,2022-11-08T16:49:12Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
4b65245b79b3549b057824fd2aa3228aa0a47226,"use the moving release tag of `issue-from-pytest-log` (#7260)

* use the moving release tag

* [skip-ci] [test-upstream]",2022-11-07T14:32:02Z,2022-11-07T14:32:02Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
93d1eabca4392eeab6a7cbe34e583a7195520dc8,actually test different python versions (#7242),2022-10-31T13:16:45Z,2022-10-31T13:16:45Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
ca57e5cd984e626487636628b1d34dca85cc2e7c,"use the new action to create an issue from the output of reportlog (#7212)

* use the new action to create an issue from the output of reportlog

* move report generation from a separate job to a step

* [test-upstream]

* remove the output declaration [skip-ci][test-upstream]

* specify a version for the action [skip-ci][test-upstream]

* consistent step name spelling [skip-ci]",2022-10-26T09:12:42Z,2022-10-26T09:12:42Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
519abb7bde020f2b27cb7e3dfddec8c6eecb7722,"use the moving release tag of ci-trigger (#7213)

* use the moving release tag of ci-trigger

* [test-upstream]",2022-10-25T14:29:50Z,2022-10-25T14:29:50Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
8f34b32cd77c7e7e2e559c1ced9adf3100ecf40d,"indexes section in the HTML repr (#7185)

* borrow `Index._repr_inline_` and `inline_index_repr` from a different PR

* implement a crude HTML repr for indexes

* css fixes and tweaks

* escape inline repr

* show one section item per unique index

Show the names of all corresponding coordinates in the same
item (separated by line return).

* also add the indexes section to the DataArray html repr

* make the grouper a bit easier to understand

* add documentation for the display_expand_indexes option

* collapse the indexes section by default

* update the HTML formatting tests

* Update xarray/core/options.py

Co-authored-by: Benoit Bovy <bbovy@gfz-potsdam.de>

* whats-new.rst

* improve the index preview contrast

* add the repr_inline PR to the changelog [skip-ci]

Co-authored-by: Benoit Bovy <benbovy@gmail.com>
Co-authored-by: Benoit Bovy <bbovy@gfz-potsdam.de>",2022-10-19T21:12:45Z,2022-10-19T21:12:45Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
7379923de756a2bcc59044d548f8ab7a68b91d4e,"use `_repr_inline_` for indexes that define it (#7183)

* use the inline repr, if available

* remove the unused max_width argument

* also remove the unused is_index parameter

* add tests for the index summarizer

* add a basic _repr_inline_ implementation

* don't delegate to __repr__ since _repr_inline_ is now guaranteed to exist

* update the test to check the default implementation

* don't strip the `Index` suffix

* undo the code simplification: pandas indexes use the same code path

and the raw pandas indexes don't define `_repr_inline_`.

* move the inline index repr formatting to a separate function

* properly use the max_width setting

* fix the definition of the `_repr_inline_` method

* disable `mypy` for the index formatting test

It does not allow reassigning the method, and it also complains about
an attribute created in the constructor.

* styling [skip-ci]

* trigger CI

* add a comment explaining why we need the `repr` fallback",2022-10-19T14:06:47Z,2022-10-19T14:06:47Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
b80d97381e224b7f8cc83e4082d3b5b659c30617,"display the indexes in the string reprs (#6795)

* add indexes to the string repr

* switch indexes_repr to use _mapping_repr

* only print the indexes if there are any

* make use of col_width and max_rows

* display the wrapped index to get rid of the test collection errors

* skip default indexes by default

* update the doctest for indexes

Co-authored-by: Deepak Cherian <dcherian@users.noreply.github.com>",2022-10-12T16:52:53Z,2022-10-12T16:52:53Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
d3c15fe34ee32934ca41d6e00138bfea3879e787,"use a hook to synchronize the versions of `black` (#7153)

* use the synchronization hook

* [skip-ci]",2022-10-12T08:00:06Z,2022-10-12T08:00:06Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
8417f495e6b81a60833f86a978e5a8080a619aa0,"rely on `numpy`'s version of `nanprod` and `nansum` (#6873)

Co-authored-by: dcherian <deepak@cherian.net>",2022-08-09T14:55:20Z,2022-08-09T14:55:20Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
0c8a78b3080884d985eed74789ee5da62ed043e0,skip creating a cupy-backed IndexVariable (#6872),2022-08-03T15:04:55Z,2022-08-03T15:04:55Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
cc183652bf6e1273e985e1c4b3cba79c896c1193,"resolve the timeouts on RTD (#6727)

* explicitly set the dataset for demonstration with `to_dict`

* show the dataset for reference",2022-06-25T11:00:50Z,2022-06-25T11:00:50Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
a1b052360b3fae74ebe19961ed83720b0434dd00,"try to import `UndefinedVariableError` from the new location (#6701)

* try to import `UndefinedVariableError` from the new location

* [test-upstream]

* mention when to clean up [test-upstream]",2022-06-22T10:33:24Z,2022-06-22T10:33:24Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
d7931f9014a26e712ff5f30c4082cf0261f045d3,"use `pytest-reportlog` to generate upstream-dev CI failure reports (#6699)

* rely on pytest-reportlog to produce the log file

* use the new script to generate the report

* install the dependencies of the parser script

* temporarily enable report generation [test-upstream]

* actually upload the log file [skip-ci][test-upstream]

* print the created report [skip-ci][test-upstream]

* Undo the temporary changes [test-upstream]",2022-06-16T08:11:21Z,2022-06-16T08:11:21Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
a7799fb38a6fec0252d7d4e2d0243d647e70c454,"use micromamba instead of mamba (#6674)

* use micromamba instead of mamba

* specify the version of the micromamba GA

* use a commit hash instead, cache-env has never been released yet

* properly access the environment variable

* use micromamba in the additional CI

* uses micromamba in the upstream-dev CI [test-upstream]

* synchronise the minimum tested pandas version with setup.cfg

* fix the workflow

* try if removing the environment cache works [skip-ci]

* synchronise the minimum numpy version

* don't cache the upstream-dev environment [test-upstream]

* specify the environment name and don't use a file [skip-ci]

* trigger ci

* use conda-forge

* set manual cache keys

* fix the mypy job's caching

* fix the date call

* assign a name to the extra step to get the date

* rerun all CI [test-upstream]

* include the python version in the cache key

* rerun CI",2022-06-10T11:32:59Z,2022-06-10T11:32:59Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
27d6266f0c6bd5b810171812d7df67dabf6ce97e,"install the development version of `matplotlib` into the upstream-dev CI (#6675)

* install matplotlib from pypi.anaconda.org/scipy-wheels-nightly/

* [skip-ci][test-upstream]

* install pytest-timeout at the end of the file [test-upstream]

* install matplotlib before pandas [test-upstream]

* temporarily install contourpy

This will not be necessary anymore once `matplotlib>=3.6.0` has been released.

* [skip-ci][test-upstream]",2022-06-10T11:25:30Z,2022-06-10T11:25:30Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447
b6c5be2e35d20c95d7ba323abcdd272850049a3b,"release notes for the pre-release (#6676)

* add a section for the release candidate

* add the known regressions

* add a small summary of the most notable changes.

* pynio

* rephrase [skip-ci]

* whats-new.rst fixes [skip-ci]

* rephrase and remove the mention of `numpy-groupies`",2022-06-09T14:41:31Z,2022-06-09T14:41:31Z,f48b8f0d94dbaa4588e3a965a600d38e311eab17,cd792325681cbad9f663f2879d8b69f1edbb678f,13221727,14808389,19864447