What's Changed
- new release section by @keewis in #10985
- Address pandas-related upstream errors in #10973 by @spencerkclark in #10988
- make error message more clear by @d-v-b in #10994
- Change behavior of
keep_attrsinxr.wherewhen x is a scalar by @jsignell in #10997 - Backend fastpath by @slevang in #10937
- Switch from
sphinx-llms-txt=>sphinx-llmby @jacobtomlinson in #11003 - Unpin array api strict by @JJFlorian in #10983
- Fix RTD builds by restricting test-nightly platforms by @max-sixty in #11021
- add
drop_existingkwarg toset_xindexby @ianhi in #11008 - fix paths in readme by @JJFlorian in #11032
- Automatically create xindex by @ianhi in #11029
- FIX:
assert_identicalnow considersxindexes+ improveRangeIndexequals by @ianhi in #11035 - fix: where for
cupy.arrayby @hoxbro in #11026 - Ensure
SeasonResamplerpreserves datetime resolution by @spencerkclark in #11049 - Address upstream failures revealed in #11043 by @spencerkclark in #11050
- re-enable the minimum versions ci by @keewis in #11027
- Fix indexing bugs in
CoordinateTransformIndexby @dcherian in #10980 - DOC: Correct grammatical errors such as 'a xarray' -> 'an xarray' by @star1327p in #11058
- documenting how xarray.dot() interacts with coordinates by @dhruvak001 in #10958
- Remove special mapping of
autoto {} inopen_zarrby @jsignell in #11010 - fix group by > 1 group, then map by @joshua-gould in #11005
- Add cross-links for apply_ufunc in top-level API documentation by @Sakshee-D in #11063
- Make parallel documentation builds threadsafe by @jacobtomlinson in #11009
- bug fix combined-lock-locked issue #10843 by @samay2504 in #11022
- Fix mypy errors with newer pandas-stubs by @max-sixty in #11066
- Bump the minimum version of h5netcdf to 1.4.0 in accordance with nep29 by @hmaarrfk in #11068
- chore(pixi): fix solvability on windows by @lucascolley in #11084
- Add an
arithmetic_compatoption toxr.set_optionsby @mjwillson in #10943 - Improve HTML reprs by @shoyer in #10816
- use a pixi-build-python version compatible with the newest pixi by @keewis in #11090
Dataset.evalworks with >2 dims by @max-sixty in #11064- create a development environment by @keewis in #10995
- Better ordering of coords in repr by @jsignell in #11091
- DOC: Correct more typos in xarray documentation by @star1327p in #11092
- rolling window doc update by @barronh in #11094
- Coerce
pd.StringDtypetonp.dtypes.StringDTypeby @jsignell in #11102 - MAINT: Update pixi pin to v0.63.2 by @VeckoTheGecko in #11106
- DOCS: Update contributing instructions with note on pixi version by @VeckoTheGecko in #11108
- Use
StringDTypewhen reading from zarr string variables by @jsignell in #11097 - Optimize CFMaskScale decoder. by @dcherian in #11105
- Ensure netcdf4 is locked while closing by @dschwoerer in #10788
- Prep for new combine kwargs: improve combine docstrings, tidy up tests by @jsignell in #11080
- Improve error message when scipy is missing for NDPointIndex by @Sakshee-D in #11085
- Update whats-new for v2026.01.0 release by @dcherian in #11109
New Contributors
- @JJFlorian made their first contribution in #10983
- @joshua-gould made their first contribution in #11005
- @Sakshee-D made their first contribution in #11063
- @samay2504 made their first contribution in #11022
- @lucascolley made their first contribution in #11084
Full Changelog: v2025.12.0...v2026.01.0