What's Changed
- New blank whatsnew after v2024.10.0 by @TomNicholas in #9679
- Fix inadvertent deep-copying of child data in DataTree by @shoyer in #9684
- Raise
ValueError
for unmatching chunks length inDataArray.chunk()
by @lkstrp in #9689 - Typing annotations for arithmetic overrides (e.g., DataArray + Dataset) by @shoyer in #9688
- Add
DataTree.persist
by @slevang in #9682 - Use the same function to floatize coords in polyfit and polyval by @aulemahal in #9691
- Refactor out utility functions from to_zarr by @dcherian in #9695
- update mypy to 1.13 by @headtr1ck in #9687
- add pydap-server dependencies to environment.yml by @kmuehlbauer in #9709
- DOC: mention attribute peculiarities in docs/docstrings by @kmuehlbauer in #9700
- GroupBy(chunked-array) by @dcherian in #9522
- Fix writing of DataTree subgroups to zarr or netCDF by @shoyer in #9677
- Add missing xarray.core.missing import by @shoyer in #9714
- Fix groupby tests by @dcherian in #9716
- Move to micromamba 2 by @kmuehlbauer in #9732
- Enforce ruff/pygrep-hooks rules (PGH) by @DimitriPapadopoulos in #9729
- Apply ruff/flake8-pie rules (PIE) by @DimitriPapadopoulos in #9726
- Apply ruff/flake8-implicit-str-concat rules (ISC) by @DimitriPapadopoulos in #9722
- Apply ruff/flake8-simplify rules (SIM) by @DimitriPapadopoulos in #9727
- support for additional scipy nd interpolants by @hollymandel in #9599
- Fix typos found by codespell by @DimitriPapadopoulos in #9721
- Aplpy ruff rules (RUF) by @DimitriPapadopoulos in #9731
- chmod -x by @DimitriPapadopoulos in #9725
- Apply ruff rule RUF007 by @DimitriPapadopoulos in #9739
- Enforce ruff/Perflint rules (PERF) by @DimitriPapadopoulos in #9730
- Enforce ruff/flake8-comprehensions rules (C4) by @DimitriPapadopoulos in #9724
- Enforce ruff/flake8-pie rules (PIE) by @DimitriPapadopoulos in #9740
- MNT: use new conda-forge package pydap-server by @kmuehlbauer in #9741
- Reorganise ruff rules by @DimitriPapadopoulos in #9738
- pin array-api-strict<=2.1 by @kmuehlbauer in #9751
- Use micromamba 1.5.10 where conda is needed by @kmuehlbauer in #9737
- Apply ruff/flake8-simplify rule SIM401 by @DimitriPapadopoulos in #9749
- Discard useless
!s
conversion in f-string by @DimitriPapadopoulos in #9752 - http:// → https:// by @DimitriPapadopoulos in #9748
- Updates to Dask page in Xarray docs by @scharlottej13 in #9495
- Dispatch to Dask if nanquantile is available by @phofl in #9719
- Compress PNG files by @DimitriPapadopoulos in #9747
- Specify copyright holders in main license file by @TomNicholas in #9756
- CI runs ruff instead of pep8speaks by @DimitriPapadopoulos in #9759
- rewrite the
min_deps_check
script by @keewis in #9754 - unpin array-api-strict as issues are resolved upstream by @kmuehlbauer in #9762
- Fix html repr indexes section by @benbovy in #9768
- Use
map_overlap
for rolling reductions with Dask by @phofl in #9770 - Optimize polyfit by @dcherian in #9766
- Allow wrapping
np.ndarray
subclasses by @slevang in #9760 - fix cf decoding of grid_mapping by @kmuehlbauer in #9765
- Optimize
ffill
,bfill
with dask whenlimit
is specified by @josephnowak in #9771 - add 'User-Agent'-header to pooch.retrieve by @kmuehlbauer in #9782
- Fix open_mfdataset for list of fsspec files by @phofl in #9785
- Add download stats badges by @headtr1ck in #9786
- Buffer types by @headtr1ck in #9787
rolling.construct
: Addsliding_window_view_kwargs
to pipe arguments down tosliding_window_view
by @dcherian in #9720- Add prettier and pygrep hooks to pre-commit hooks by @Armavica in #9644
- Namespace-aware
xarray.ufuncs
by @slevang in #9776 - Bump minimum versions by @dcherian in #9796
- Soft import by @scott-huberty in #9561
- Add utility for opening remote files with
fsspec
by @jrbourbeau in #9797 - Add
GroupBy.shuffle_to_chunks()
by @dcherian in #9320 - Minor format tweak to unrecognized engine error by @jrbourbeau in #9809
- Compatibility with Zarr v3b2 by @dcherian in #9795
- Faster chunk checking for backend datasets by @dcherian in #9808
- Add note on DataTree.map_over_datasets to migration guide by @TomNicholas in #9804
- ListedColormap: don't pass N colors by @mathause in #9811
- release notes for v2024.11.0 by @dcherian in #9794
New Contributors
- @lkstrp made their first contribution in #9689
- @scharlottej13 made their first contribution in #9495
- @scott-huberty made their first contribution in #9561
Full Changelog: v2024.10.0...v2024.11.0